pax_global_header00006660000000000000000000000064126477050170014523gustar00rootroot0000000000000052 comment=191e585d624e32f078af6c1f731ea9624431a671 spacefm-1.0.5/000077500000000000000000000000001264770501700131445ustar00rootroot00000000000000spacefm-1.0.5/.gitignore000066400000000000000000000003231264770501700151320ustar00rootroot00000000000000autom4te.cache/ Makefile config.log config.status *.desktop libtool po/.intltool-merge-cache po/POTFILES po/*.gmo po/stamp-it po/Makefile.in src/.deps/ src/*/.deps/ src/*/.dirstamp src/spacefm src/xml-purge *.o spacefm-1.0.5/AUTHORS000066400000000000000000000047501264770501700142220ustar00rootroot00000000000000SpaceFM Contributors Developer: IgnorantGuru Contributors: BwackNinja OmegaPhil Artwork: SpaceFM icons and logo by Goran Simovic Additional icons from the Tango Desktop Project icon set Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and packagers! Special thanks to: Jean-Philippe Fleury Vladimir Kudrya VastOne Hasufell SpaceFM is developed on geany, gcc, and git, with a little help from gdb. ============================================================================== PCManFM Legacy Code: Developer: (Hong Jen Yee, aka PCMan) Contributors: (in alphabetical order ) Cantona Orlando Fiol Jim Huang (jserv) Ying-Chun Liu (PaulLiu) Mamoru Tasaka Kirilov Georgi Martijn Dekker Eugene Arshinov (statc) PCManFM Legacy Translators: ( in alphabetical order ) Johan Andersson Fábio Antunes Inko Illarramendi Arancibia Rüdiger Arp SZERVÁC Attila Frederic Bezies Xisco Bonet Haifeng Chen Héonium - Christophe CRIER Flávio Costa Ersplus - Fraide Roxana Kolosova Hironao Komatsu Muhammad Ali Makki mario mazdac Nuno Miguel Claudio Riva Bekir SONAT Anton Dobkin External source code taken from other projects: pcmanfm-mod: IgnorantGuru pcmanfm v0.5.2: (Hong Jen Yee, aka PCMan) libmd5-rfc: Aladdin Enterprises Working area detection: Gary Kramlich ExoIconView: os-cillation e.K, Anders Carlsson, & Benedikt Meurer Text and icon renderer uses code from Jonathan Blandford Desktop icons use code from Brian Tarricone HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount spacefm-1.0.5/COPYING000066400000000000000000001045131264770501700142030ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. 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 state 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 3 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, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program 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, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU 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. But first, please read . spacefm-1.0.5/COPYING-LGPL000066400000000000000000000167431264770501700147460ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. spacefm-1.0.5/ChangeLog000066400000000000000000001067751264770501700147360ustar00rootroot000000000000001.0.5 2016-01-20: recreate too small cached thumbnails #584 read $XDG_TEMPLATES_DIR via glib for user-dirs.dirs support #581 Devices|Settings|Auto-Mount|Mount Dirs accept XDG vars, mkdir #558 fix Paste in dir tree pastes to wrong dir #596 menu key in dir tree changes dir and acts on correct dir #596 [desktop] show video thumbnails on desktop Prefs add 384x384 icon size option obey StartupNotify when opening with desktop app configure.ac set G_LOG_DOMAIN fix main.c debug_gdk_threads_leave change detection blacklist detect new files #478 #582 get mime type of only reg and link files, not char dev fix segfault in ptk_bookmark_view_reload_list to vfs_load_icon prevent filesystem find loop hang in new file/folder dialog #601 fix crash on GTK icon theme reload; fix liststore memory leaks #566 udevil iso unmount device handler new whitelist/blacklist #606 fix broken key shortcuts in Open|In Panel menu #610 add lxqt-sudo and lxsu to list of su frontends #617 add support for qterminal in list of terminals make Paste As Target paste canonicalized final target when possible 1.0.4 2015-10-17: new spacefm-installer replaces self-extrct and install #571 README rewritten and manual updated for new installer #571 ifdef malloc_trim for non GlibC libraries #574 fix HAL build #576; fix older GTK2 build Menu and Shift+F10 show side pane menus #575 Design Menu shown with Menu key in addition to F2 #575 dir tree allow keyboard navigation, keep focus #541 #575 dir tree double-click expands/collapses row #542 #575 dir tree context menu|New|Tab Here opens selected dir correct location for import GTK3 bookmarks; use basename #573 dont continuously refresh copying video thumbnails #508 new in /etc/spacefm/spacefm.conf: terminal_su and graphical_su #516 build system now installs /etc/spacefm/spacefm.conf new configure option --sysconfdir=/etc to set location of /etc add new event for tab change dir evt_tab_chdir; update manual replace show-menu socket method with activate for all item types [Dialog] add non-visible element --click to run cmd on click #572 [Dialog] fix some internal var names always set to %v #572 increase max icon/thumbnail size from 256x256 to 512x512 [Debian] control libffmpegthumbnailer4 | libffmpegthumbnailer4v5 #583 [GTK3] fix wrong colors with dark variant of GTK themes #578 1.0.3 2015-08-26: add Devices|Settings|Auto-Mount|Mount Dirs option #548 proto hand keep %a for lxterminal urxvtc konsole gnome-terminal #552 convert non-latin keycodes to latin #57 lang add ltg; update it lt pt_BR configure.ac define G_DISABLE_ASSERT to disable g_assert rename gphoto handler as ptp; whitelist ptp #555 [GTK3] add icon chooser dialog #532 Double-click in icon chooser clicks OK [GTK 3.14] Prevent empty rubberband selection GTK3.14 bug avoid #485 Provide export and import of handler plugin files; update manual #484 create %O archive in user-selected destination #562 fix LilyTerm not working correctly eg unzipping file #567 update spacefm.desktop for protocol handling 1.0.2 2015-06-02: toolbar redesign with design mode right-click ability add built-in toolbar items: Show Hidden, Show Thumbnails, Large Icons fix Compact view sometimes fails to scroll to selected file #502 malloc_trim calls to flush out the free heap back to the OS when needed fix forgets compress handler after extract to #517 no re-import bookmarks when up-down-upgrade from < 1.0.1 Missing pixbuf unref in main_task_view_update_task Add keyboard shortcut for handler list in handler dialogs fix ftp handler ignores custom port in URL #523 add Run As Task option to file handlers allow escape of underscore in item names #522 fix Item Prop context opposite of Disable is Show instead of Enable get mime type icon from .local XML file before guess fix right-click on Bookmarks activates bookmark after menu #521 fix right-click detailed view clears multiple-file selection #353 add icon chooser [GTK2 only, GTK3 pending] add panel View context menu to main View menu add View|Style|Thumbnails (global) add show_thumbnails socket property fix missing paths on command line hangs introduced in f167b283 #468 fix hang on access error on startup #539 introduced in f167b28 fix icon/compact view left-click doesn't unselect other files write/read new mimeapps.list Default Applications #450 archive handlers take precedence over file handlers scale menu item icons loaded from file force rebuild of folder_view for font change in exo_icon_view always reap async child with or without exec_keep_tmp #533 default scroll desktop fix openbox #524 always update status bar Reading msg item prop dlg text view scroll add shadow #532 [desktop] fix linefeeds in desktop item names #543 1.0.1 2015-05-04: extended bookmarks system added users manual Bookmarks section fix --enable-hal build errors #496 fix segfault in vfs_thumbnail_loader_free on abort thumbnail loading _vfs_thumbnail_load unref after gdk_pixbuf_apply_embedded_orientation MIME Menu prompt before creating files Open menu archive functions move to top if default rewrite ptk_file_browser_refresh; reselect cursor after refresh status bar shows Reading msg while dir loading #459 new protocol handler http/webdav to top of list Bookmarks|New Bookmark default key shortcut Ctrl+D 1.0.0 2015-04-13: revert desktop dialogs pop to top #424 bba93a50 dlgs on wrong desktop update translations cs de ja pl pt_BR ru sv tr add transparent background option [BwackNinja] fix Attempt to unlock mutex that was not locked startup error #468 fixed 'Invalid cross-device link' when renaming aufs dirs configure option --disable-desktop-integration hides Prefs|Desktop tab #448 fixed problem in command-line option --show-pref=N not showing Advanced tab add configure option --with-bash-path #452 new transifex slug add Device Protocol File Archive handlers add default handlers: ftp ssh mtp gphoto/ptp ifuse fusesmb add video thumbnails via ffmpegthumbnailer add configure option --disable-video-thumbnails add change detection blacklist add mount and unmount run-task socket commands new maximum Small and Large icon sizes to 256x256 new View|Style|Large Icons options for Detailed/Compact #478 #480 Show|Display Name %n devnum open block device on command line eg spacefm /dev/sdd1 allow bookmark block devices removed File|Save Session [GTK2] select next file after delete/rename current #411 detect subdir mount fix evt_device not executed if Devices pane unshown fix GLib-CRITICAL source ID not found warning on file prop close improve output dlg scroll on error design menu fix show edit commands for submenus fix design menu confirm remove submenu ignores no fix Source ID not found warning in vfs_thumbnail_loader_free 0.9.4 2014-03-30: improve inotify error messages configure.ac default make options; fix -Wformat-security warning #416 adjust new window maximized panel sizes #420 fix toolbar checkbox item properties icon insensitive #418 fix panel_sliders-key used as task height 0.9.2-0.9.3 #419 reset Use-as-opener on import/install plugin; update man task error continue no present open task dialog gnome-terminal 3.10 no longer accepts --disable-factory #428 desktop dialogs pop to top #424 [GTK2] Preferences|Desktop table row collision #427 [desktop] preserve location of renamed file(s) [dialog] remove blank lines reading file into drop, combo, m/list [dialog] remove linefeeds inserting value into input/-large [dialog] @FILE values not saved on cancel #321 update translations de ru Preferences|Desktop|Font dlg honor cancel fix new config devices shown not saved path bar middle-click replace contents and activate open .desktop treat %u/%U as %f/%F per freedesktop spec single-click method no hover selection option #154 update translations de ru sv 0.9.3 2014-01-17: fix memory leak on draw selection rectangle on desktop #397 [Dialog] fix returned windowsize=1x1 [GTK 3.8+] fix maximized panel sliders not restored #402 README, man: update kernel polling instructions #403 look in applications subdirs for .desktop file; debug info #405 clear g_ascii_strcasecmp warning on owner sort case insensitive app sort, tooltips, uniq in app chooser dialog #405 startup test for /bin/bash installed #413 task columns default expansion to avoid flicker #235 0.9.2 2013-12-06: README correct packages link manual note full/max col widths not saved #382 adjust maximized and fullscreen behavior #382 add su-to-root support detect rename of current folder and close tab #243 fix list view auto drag action on drop to last row #387 add design menu Edit Script; F4 opens script in editor task manager absolute height #380 fix icon/compact dbl-click selects file in selected dir #218 #389 fix open foldername.iso as automount iso allow ~/ prefix in bookmarks and hacked session files fix task auto scroll first show add design menu Edit Command update changed translations 0.9.1 2013-11-06: [gtk 3.8] fix run dialog reverts to minimum size fix icon change not saved (bookmark, tab, devices, etc) #367 sakura terminal use -x with single argument fix crash in save_settings #369 new panel config memory #372 fix build problem on gtk < 2.24 #368 new root window use HOME=/root incase no env reset fix Export from desktop menu man panel memory task man change default cols to current speed and remain fix identification of empty optical drive change default device icons add lilyterm to emulators list remove erroneous files from pkg branch README added wiki link Guidelines For Distributing Modifications limit evt_win_move events to 5 per second #380 0.9.0 2013-10-22: add browse-for options in Rename/New dialog Browse dialog run fm Devices menu functions in task man let vfs task show run-task missing file errors desktop prefs - insensitive wallpaper options if unchecked file props dlg - show target type of relative link Devices menu activate Open on left-click Devices menu activate Remove / Eject on middle-click Devices menu add Mount and Unmount device remove via desktop shows progress dialog fm Devices menu show and obey option Settings|New Tab allow HAL eject unmounted add HAL unmount optical in addition to eject fix HAL duplicate devices listed Devices list and menu Mount and Unmount sensitivity added desktop option Arrange Icons|Custom single-click or right-click on desktop or unselected unselects automatic desktop drag action Desktop prefs added margins, desktop single click add Open|Desktop Folder desktop name sort natural icase fix desktop center wallpaper larger than screen #296 new default desktop background colors fix desktop shifted with panel #248 revert mouse buttons 6 7 as back/forward (for horz scrolling) #294 move packages to pkg branch add desktop prefs option Open folders with MIME app Open|Default on dir now uses MIME app obey desktop file keys Path and Terminal (+full bash Exec) #232 execute separate commands on no desktop file Exec field code fix crash on special escape chars on command line #302 add desktop pref font button allow set default/assoc apps for application/octet-stream (unknown) popup task compliance new design menu; Menu Item Properties dialog update manual/homepage locations (github.io) session dont save default menu labels and icons add item prop Context Use as opener for option add Context verb pattern matches for wildcards #214 default Root|U/Mount commands use udevil remove translatable strings in exo view code clear hal build warnings for debian build issue #363 x-terminal-emulator link resolved, added to terminals list #358 drag to same dir sets auto drag action copy #304 #336 Dialog fix segfault with --chooser filespec #320 Translation strings adjusted #322 #318 #325 #326 save session delayed on tab change if save tabs path bar steal enter key improved overwrite dir #330 #312 support mips and other architectures - change to sys/inotify.h #311 manual Rename and New File dialogs; adjust Options menu keys #268 rename/new dlgs always focus first entry 0.8.7 2013-03-17: added translation files to transifex.com [Delix] Delix and Aqualung71 contributed to German translation Josué Hernández & CommanderC completed Spanish translation Teodoro Santoni contributed to Italian translation revert breadcrumbs to Ctrl+Click #266 and no auto seek on activate path fix broken key shortcut New|Link new desktop menu; new Devices menu fix open folder on desktop reuses browser on wrong desktop use menu key on desktop handle hyphened desktop references #118 add link indicator to desktop icons file props show link target - closes #192 file props allow change file dates Jui contributed to Czech translation fix spacefm -p 1 nospec opens wrong panel always present window on create dir change monitor truly canonicalize paths stabilize on fam/gamin server exited added socket properties: tab_count new_tab sort_... #225 #272 fix File Search|Content|Case Sensitive checkbox function inverted #276 added and documented socket method run-task #224 run_in_terminal and edit_file deprecated yet left-in list double-click activates in app chooser mount webdav shares in terminal for password entry - udevil issue 21 use mouse buttons 6,7 as back,forward in addition to 4,5 8,9 #279 add WM_WINDOW_ROLEs 0.8.6 2013-02-13: fix cannot create directory or file on CentOS #253 update russian translation case insensitive sort on Type, Owner columns move debian/ to distros/debian/ and update README Enter clicks Set, Esc twice clicks Unset in Set Key dialog added manual GUI|Find-As-You-Type Search New File/Folder/Link enabled if no write access for As Root fix cannot unset plugin key combo assignment added configure option --with-gtk2 to force gtk2 only build mount curlftpfs in terminal for password entry #251 update custom protocol handler script in manual to use run_in_terminal mouse back/fwd buttons work anywhere in window don't show empty (all items context hidden) custom submenus #215 path bar tab completion reworked, sorted added path bar option Auto Seek path bar unquote quoted paths path bar cmd history in completion popup path bar instance-wide cmd history path bar breadcrumbs on click no ctrl path bar limit/extend keys eaten un/select bookmarks and devices on change dir #259 Russian translation updated status bar show selected/visible debian build-from-source packages optimize CFLAGS=-O2 new link use target of current selected file #112 context dialog value combo popup width #43 0.8.5 2013-01-14: fix left-click ignored in Open context submenu #31 #228 Dialog fix progress bar; add auto-pulse [gtk3] task progress pulse don't show percent debian package add XXXXXXXX to mktemp template [dist] add key shortcut labels to Prefs default drag action left-click in toolbar config menu shows design menu fix Open|Default with multiple dirs selected gtk3 leaving beta; gtk3 debian package; ppa add spacefm-gtk3 navigation/activation keys on desktop #247 added Popups|Above Others and All Workspaces #226 desktop dialogs on current workspace #246 desktop Create New uses new creation dialog fix View|Events dialog formatting 0.8.4 2012-12-21: fix detail dbl click selects next #218 fix dlg command pipe fast added task property popup_handler; man update added task list Show Output internal socket cmds show and focus NAME optional to present dlg Dialog add [SAVEFILE] argument to --viewer fix text wrapping corner case #206 [BwackNinja] Added context for several strings #220 fix left-click ignored in context menu #31 #228 [gtk3] add expand property to app chooser dlg for gtk3 #223 Dialog --chooser --save DIR opens in DIR [gtk3] Dialog label wrap min width closes BwackNinja issue #25 Dialog send stdout of external commands to /dev/null socket add props edit_file and run_in_terminal [gtk3] create archive dlg expand options entry dbus and libdbus dependency changed to optional main-window.c include wait.h #239 0.8.3 2012-11-24: added --socket-cmd #142 added View|Events menu stop elapsed timer during overwrite query vfs no report access errors during total size configure --disable-pixmaps is now the default added beta test --with-gtk3 build option (merge gtk3 branch) updated README with BUILD GTK3 BETA instructions allow ctrl-rubberband add to selection #46 [BWackNinja] reduce spacing of icon and compact modes #188 [BWackNinja] automatic orient thumbnails #183 [BWackNinja] add wallpaper Zoom mode #4 [BWackNinja] fix icon label centering #51 [BWackNinja] fix icon/compact cannot drag multiple #194 restore Prefs SI File Sizes #117 move Prefs Rubberband Select to context View|Style as detailed only add secondary sort by name to desktop-window #196 updated russian translation hide unmounted /dev/ramN closes #202 fix make fail gtk2.18 replace gtk_dialog_get_widget_for_response dialog allow arbitrary text in progress bar dialog %(command) accepts bash command line document Unmount On Exit ignored on X logout kill #204 address debian packaging warnings #209 fix segfault on middle-click bookmarks empty #208 Dialog label --wrap|--nowrap, all --compact --expand command line add --version option add fm_edit function Dialog add --window-close; add [REVERSE] to close fix status bar text color not set on new tab 0.8.2 2012-10-25: fix --enable-hal build issues (affected 0.7.6 thru 0.8.1) overwrite dialog replace text view with labels add From: to task popup fix destination contained in source error fix cut paste directory replace error #174 task popup From/To adjustments 0.8.1 2012-10-21: added task manager queue/pause #147 disable task manager find set minimum dialog and task pane sizes #56 added Tasks user manual section fix clang compile error #162 fix hang on dir tree sel access error #164 fix file search find within symlink dir #122 add double-click opens file search result #109 fix vfs move dest symlink device determination abort copy/move remove incomplete file move Sort submenu from Style to View submenu gtk 2.18 compatibility #146 remove explicit libgdk-pixbuf2.0-0 dependency #146 added precision timer for more accurate/smooth copy speeds btrfs moint point detection workaround #165 fix segfault on blank Preferences Terminal setting #166 add rxvt to terminal programs list #166 desktop drop onto folder #45 fix new tab path merged if the last dir spec is / #167 libstartup-notification-0.9 or -1.0 optional #19 #146 adjustment for build on debian squeeze (gtk 2.20 glib 2.24) ctrl-Q as default Exit key allow stop of exited task #168 auto stop on bad exit status #168 updated Russian translation added partial Dutch translation by tct1501 remove vert scrollbar compact mode per task error and overwrite options; auto rename added View|Tasks|Queue|Pause On Error click in icon/compact unselects others rewrite vfs abort handling emit created on netfs rename rework overwrite dialog allow overwrite file with link icon view mode automatic vertical scrollbar rewrite get_name_extension rework stop if error first focus file list on task man hide exit status zero on dialog help popups|stay on top no longer default 0.8.0 2012-09-14: fix horiz scroll on single-click mode auto-select #137 deprecated keys in spacefm desktop files #136 fix path bar font not set on new browser default keys for Go|Tab|Tab N = Alt+1 thru Alt+0 license bumped to GPL3+ added SpaceFM Dialog Task Show Output raises only once custom default command script fix crash on no src paths #143 fix readlink buffer size 0.7.11 2012-08-15: added --no-saved-tabs, -n command line option to not load saved tabs #110 --reuse-tab can be used in conjunction with other options File|Root Window opens current folder #116 specifying --panel=N without a dir shows and focuses panel N handle network URLs on command line user manual Invocation updated added dependency libgtk2.0-bin [spacefm 0.7.10 with --disable-pixmaps] find-as-you-type search options #85 rename dialog name selection UTF-8 compliant #127 replace G_VALUE_INIT macro #126 added file list Edit|Select By Pattern adjust parse url Show Output option should open on additional output after closure Remove Text Type Association popup note display file sizes and times in overwrite query file change detection blacklist non-block nfs fuse cifs smbfs ftpfs #129 percent in path bar select by pattern fix hang on click on 5000+ selected files in list view clean udevil mount points on device removal, exit fix auto umount on eject fix icon view drag target #132 added custom Protocol Handler setting to Path Bar context menu status bar show canonicalized current dir added Go|Real Path added user manual GUI|Path Bar 0.7.10 2012-07-25: added sort options #87 #37 #23 completed russian translation ru.po smart size display for free space and tasks closes #115 case insensitive sort detect all created files #119 fix Skip All in overwrite query added configure option --disable-pixmaps to install icons to share/icons new icons for faenza theme by Goran Simovic G_VALUE_INIT undefined #126 allow file change detection on aufs and devtmpfs 0.7.9 2012-07-13: new threading for tasks network filesystem lag issues improved no file change detection on non-block filesystems timeout size calc after 5 sec don't calc total size of files to delete for speed improvement close copy read file on error handle progress gt 100% remove deadlock on quick dir change tforsman new swedish translation partially completed (40%) jpfleury updated french translation task manager Path column renamed Folder ellipsize Folder, Item, To task manager columns always enable Root submenu in devices set font new/rename file dialogs Target Template entries give errors accessing directories verbose tar extract/create fix for urxvtc #106 check non-zero size before thumbnail scale (pixbuf in #107) run update-desktop-database; mime docs 0.7.8 2012-06-16: use/update mimeapps.list over defaults.list closes #71 added design mode on mime apps opens MIME menu deprecated MimeType x-directory removed from spacefm desktop files new archive save dialog uses literal filename and extension fixes #82 accept options in terminal program setting added user manual MIME Menu section accept network urls mount iso files from Open context menu; auto-mount iso added Root|Edit udevil.conf to devices menu allow edit bookmark to network URL corrected Click runs executables pref not saved fixes #84 auto-unmount removed media and devices support xfce terminal improve new file/folder/link dialog change deprecated gdk_pixbuf_ref to g_object_ref don't remove .gz file when extracting closes #90 CLI added -r, --reuse-tab Open folder in current tab of last used window corrected non-translatable strings pulls #100 fixes #88 new french translation complete no cancel sel on desktop right-click in single-click mode fixes #76 dont open pipes for mime type even if size > 0 closes #80 mouse buttons 8 and 9 on file list go back and forward (like 4 and 5) fixes extract multiple zip,7z,rar files changed File Name Contains: to Filename: in File Search fixes #86 corrected duplicated menu key shortcuts fixes #92 error on missing edit udevil.conf fixes #98 sync new file open; select new closes #35 added Design Mode Style|Confirmation (dialog) #52 0.7.7 2012-05-27: escape mount point in dev props scripts fixes #70 fixed File|File Search keybinding extract zip, rar, 7z in terminal for output & password prompt fixes #72 if no 7za, use 7zr for 7zip extraction and creation closes #62 added rar creation closes #36 ; rar zip & 7z creation runs in terminal fixed hang on new tab added after mount fixed make errors with --disable-desktop-integration fixes #78 udevil discovery; pmount ahead of udisks 0.7.6 2012-04-19: unmount on exit no longer default (affects new installs) documented deb packages require $TMPDIR not be noexec closes #64 relax has media criteria fixes #68 hack for icon theme missing application-x-xz-compressed-tar fixes #55 added kernel polling recommendation to docs closes #66 desktop new tab present window fixes #16 file permissions show SUID and SGID bits file permissions show char device, block device, pipe, socket panel show inhibit tab creation on spec 0.7.5 2012-04-14: replaced udisks with libudev kernel support for device detection and info udisks v1 & v2 now supported for mount/unmount as normal user added device Settings|Un/Mount Command options to customize mount program corrected race condition create tmp dir status bar update fixes side box fixed size fixes #6 scroll setting retained between sessions fixes #13 fixed file info update on existing fixes #14 fixes #15 reuse window on open folder on desktop fixes #16 built-in archive functions on desktop closes #18 shift-click selects range on desktop closes #47 code review consistent 64bit file size support fixes #60 added Foresight Linux to README and manual closes #59 added automatic use of pmount if udisks not installed copy user config skeleton from /etc/xdg/spacefm default drag action option; repair automatic drag context file search size limit toggles sensitivity added translation instructions to the README support for kdesudo and $(kde4-config --path libexec)/kdesu 0.7.4 2012-04-01: added git build instructions to README better standards compliance for data doc dirs fixes #8 no del on move error independent of error control fixes #9 0.7.3 2012-03-29: new icons and logo by Goran Simovic plus alternates added context sensitive help on design menu changed/added design mode key and mouse shortcuts renamed Smartbar to Path Bar renamed View|Toolbox to View|Toolbar when copy context, copy plugin skin context equate display :0.0 & :0 fixes #5 changed debug info for sf ticket 88000 fixed panel bar always shown on cancel fullscreen no folder size display; right-align size column moved refresh to after home/default on left toolbar fixed issues affecting opensuse build added support for xdg-su and gnomesu corrected problem copying plugins fixed segfault on toolbar config menu? changed default drag action to copy (hold shift or ctrl+shift to override) 0.7.2 2012-03-05: exec function redesign (single script, noexec /tmp ok, ktsuss2 support, added /usr/bin/spacefm-auth) submitted ktsuss2 bug reports additional and updated language strings including shell prompts copy menu item now copies context can now create MBR and FSArchiver backups of mounted volumes changed 20x20 icon sizes to 22x22 to prevent blur from scaling apply prefs small icon size to devices, bookmarks, dirtree icons tab icons default to 16x16 if available in gtk icon theme fixed segfault on open multiple files in File Search window results completed open selected dir in File Search window results corrected folder selection history skipping empty selection user's manual updated to reflect changes, minor corrections 0.7.1 2012-02-21: changed temp file usage for better multiple instance separation removed sync/flush as default mount options auto run|on unmount no longer depends on auto-mount qualification auto run|on remove no longer depends on auto-mount qualification added auto run sensitivity corrected click on desktop icon obeys 'Click runs executables' corrected paste replace with linefeeds into multi-input corrected reversed order of files copied onto clipboard default plugin name converts spaces to hyphens corrected icon view change show hidden doesn't update status bar fixed segfault on open multiple files in File Search window results fixed File Search results right-click on unselected selects submitted gdk-pixbuf bug 670476 on segfault when loading drives.svg 3.2.0 allow rename of desktop items (desktop file Name[locale] value) fixed rename desktop file, extension != desktop fixed segfaults on desktop rename / delete / paste 0.7.0 2012-02-14: changed custom command/plugin dir structure added design menu Command|Browse corrected unrealized event on main window focus (directly to menu bar) fixed xfce4-terminal, gnome-terminal, lxterminal, konsole, terminator renamed eterm Eterm fixed 'please set your terminal' error does not close added user manual: design mode, plugins disallow spaces etc in tmp_dir and --config-dir pulse progress bar to 0% on error/about or 100% on finish added debug info for toolbar config button fixed invalid ->next->prev on custom separators - auto repair session configure and debian files updated to require libgtk >= 2.24 0.6.3 2012-02-08: updated POTFILES.in and translatable strings - ready for translations corrected makefile problems adding translations to desktop files added devices Settings|Show|Empty Drives option added unique separators click runs executables default to false removed pref Show SI deciaml file sizes added pref Right-click opens design menu click on blank area of devices and bookmarks unselects added View|Panel Bar option updated distributed licenses, Help|About|License corrected click on toolbar config menu icon clears smartbar --desktop mode now works with instance already running fixed item value memory for check/input style plugins fixed key assignments on plugins fixed paste custom command into toolbar (no Show option in design menu) completed custom toolbar command activation 0.6.2 2012-02-05: corrected multiple tasks listed for single function changed default name of context|Move to Rename removed color dialog and task list debug info 0.6.1 2012-02-01: dir monitor create/delete cache rewrite segfault on Highlight Bar/Text color dialog corrected? added debug info corrected segfault on Properties|Info keypress with no selected files Properties|Info/Permissions now shown with no selected files (cwd) disabled smartbar breadcrumb on middle-click (now ctrl-leftclick only) corrections to archive extractions Copy Name/Parent/Path now also copies to primary (middle-click) clipboard disabled default highlight of selected status bar due to theme issue removed single quotes from device volume label display corrected devices horiz scrollbar not disappearing when unneeded added sdebug info for task list issue 0.6.0 2012-01-31: added design menu > Style > Context added panel bar added status bar panel icons added status bar highlight colors added status bar mouse responses added ctrl-click breadcrumbs to smartbar (ctrl-click on part of path) disabled double-click on blank area of file list goes up due to complaints corrected new second tab if not always show tab bar causes horiz scrollbar added Open > Default to open all files with default apps / pre-context added Properties > Quick > rwxrwxrwt and Root > rwxrwxrwt added View > Fullscreen fixed File Search add All Local Disk Partitions (and rename Local Volumes) numerous minor UI adjustments 0.5.5 2012-01-22: added 100ms cache for inotify create/delete events corrected keys not responding: Open|Choose, Open|In Panel|Next/Prev corrected column size changing on new tab/panel corrected column width save if no folder spec on cmdline, open new window of same instance removed gnome-icon-theme as recommended dep reverted to single-click opens multiple files to fix drag/band breakage mouse buttons 4 and 5 on file list go back and forward mouse alt+left/right goes back/forward fixed New|File/Folder not grayed when no write access corrected broken close icon on tabs when gtk theme not set don't install mount.rules if not hal build (data/Makefile.am) corrected thumbnails for compact view not displayed pref dlg removed "(applies to icon view only)" from Show Thumbnails corrected refresh undisplays thumbnails optional /etc/spacefm/spacefm.conf to set tmp_dir (default /tmp) added additional default key shortcuts added item count to confirm delete dlg 0.5.4 2012-01-19: added CFLAGS+="-g" and !strip to Arch Linux PKGBUILD default icons now use only gtk icons removed startup warning for no gtk theme available fixed repeated pref dialog save root settings prompt added sensitivity to toolbar nav buttons and Go menu items corrected Go|Panel focus of previously hidden panel corrected change device Display Name triggers automount of unmounted added bookmarks Settings|Single Click option added shared_keys for toolbar items 0.5.3 2012-01-18: corrected segfault on File|Root Window (main-window.c - note to self: don't free memory immediately after allocation) remove udisks not installed sh error on startup (vfs-volume-nohal.c) corrected segfault on click device Properties? (ptk-location-view.c) changed device Open to always open in current tab, show error inhibit auto-open tab and exec-on if user manually mounts/remounts inhibit auto-open tab and exec-on during startup automounting show app icons of .desktop files in detailed file list .desktop files obey 'Click runs executables' corrected Open|Execute ignored fixed middle-click on bookmark pane opens in tab moved bookmark 'opens in new tab' setting to context menu added toolbar icon size option in preferences renamed Left/Right/Side toolbar config menus added device Settings|Display Name (custom device name format) added View|Window Title for custom title (new default: full path) added toolbar config menu help item removed "Detailed style only" qualifier from Rubberband Select in prefs changed single-click mode left click on multiple files now opens only one 0.5.2 2012-01-16: corrected segfault in devices list when changing settings with no devices shown (ptk-location-view.c) corrected gentoo make error? (ptk-file-task.h:17:29: error: redefinition of typedef PtkFileTask) corrected ./configure --help output not up to date removed 'udisks not installed' warning on startup 0.5.1 2012-01-14: corrected syntax error in Arch Linux PKGBUILD creation corrected problem in settings.c which caused reported make error on unidentified distro corrected deb pkg conflict with pcmanfm-mod - rename file libmimetype.xml 0.5.0 2012-01-13: initial test release spacefm-1.0.5/INSTALL000066400000000000000000000225221264770501700142000ustar00rootroot00000000000000Generic Installation Instructions ( Please see README for specific instructions ) ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not support the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Here is a another example: /bin/bash ./configure CONFIG_SHELL=/bin/bash Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent configuration-related scripts to be executed by `/bin/bash'. `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. spacefm-1.0.5/Makefile.am000066400000000000000000000010601264770501700151750ustar00rootroot00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = etc src data po mimedir = $(datadir)/mime/packages mime_DATA = src/mime-type/spacefm-mime.xml bin_SCRIPTS = spacefm-installer EXTRA_DIST = \ autogen.sh \ $(mime_DATA) \ intltool-extract.in \ intltool-merge.in \ intltool-update.in if NO_PIXMAPS all-local: @echo @echo "IMPORTANT: After installation, run:" @echo " sudo gtk-update-icon-cache -q -t -f $(datadir)/icons/hicolor" @echo " sudo gtk-update-icon-cache -q -t -f $(datadir)/icons/Faenza" @echo endif spacefm-1.0.5/Makefile.in000066400000000000000000000730541264770501700152220ustar00rootroot00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) mkinstalldirs \ COPYING compile config.guess config.sub depcomp install-sh \ missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(mimedir)" SCRIPTS = $(bin_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac DATA = $(mime_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best DIST_TARGETS = dist-bzip2 dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FAM_CFLAGS = @FAM_CFLAGS@ FAM_LIBS = @FAM_LIBS@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ G_CAST_CHECKS = @G_CAST_CHECKS@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_EXPORT_OPTIONS = @LIBTOOL_EXPORT_OPTIONS@ LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@ LIBUDEV_LIBS = @LIBUDEV_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SN_CFLAGS = @SN_CFLAGS@ SN_LIBS = @SN_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = etc src data po mimedir = $(datadir)/mime/packages mime_DATA = src/mime-type/spacefm-mime.xml bin_SCRIPTS = spacefm-installer EXTRA_DIST = \ autogen.sh \ $(mime_DATA) \ intltool-extract.in \ intltool-merge.in \ intltool-update.in all: all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-mimeDATA: $(mime_DATA) @$(NORMAL_INSTALL) @list='$(mime_DATA)'; test -n "$(mimedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(mimedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(mimedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(mimedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(mimedir)" || exit $$?; \ done uninstall-mimeDATA: @$(NORMAL_UNINSTALL) @list='$(mime_DATA)'; test -n "$(mimedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(mimedir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive @NO_PIXMAPS_FALSE@all-local: all-am: Makefile $(SCRIPTS) $(DATA) all-local installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(mimedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-mimeDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binSCRIPTS install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binSCRIPTS uninstall-mimeDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ dist-xz dist-zip distcheck distclean distclean-generic \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-binSCRIPTS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-mimeDATA install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binSCRIPTS \ uninstall-mimeDATA @NO_PIXMAPS_TRUE@all-local: @NO_PIXMAPS_TRUE@ @echo @NO_PIXMAPS_TRUE@ @echo "IMPORTANT: After installation, run:" @NO_PIXMAPS_TRUE@ @echo " sudo gtk-update-icon-cache -q -t -f $(datadir)/icons/hicolor" @NO_PIXMAPS_TRUE@ @echo " sudo gtk-update-icon-cache -q -t -f $(datadir)/icons/Faenza" @NO_PIXMAPS_TRUE@ @echo # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: spacefm-1.0.5/NEWS000066400000000000000000000000001264770501700136310ustar00rootroot00000000000000spacefm-1.0.5/README000066400000000000000000000407631264770501700140360ustar00rootroot00000000000000README for SpaceFM v1.0 Homepage http://ignorantguru.github.io/spacefm/ Downloads https://github.com/IgnorantGuru/spacefm/releases News http://ignorantguru.github.io/spacefm/news.html Wiki https://github.com/IgnorantGuru/spacefm/wiki Screenshots https://github.com/IgnorantGuru/spacefm/wiki/Screenshots Users Manual http://ignorantguru.github.io/spacefm/spacefm-manual-en.html Forum https://sourceforge.net/p/spacefm/discussion/general/ Report Issues https://github.com/IgnorantGuru/spacefm/issues CONTENTS DESCRIPTION PACKAGES INSTALLER DEPENDENCIES DOWNLOAD INSTALL BUILD DEBUG CREATE DEBIAN PACKAGE UNINSTALL USING GIT ENABLE KERNEL POLLING TRANSLATE RELEASE LICENSE DERIVATIVE WORKS DESCRIPTION SpaceFM is a multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customisable menu system, and bash integration. SpaceFM aims to provide a stable, capable file manager with significant customisation capabilities. PACKAGES SpaceFM is included in most distro repositories. To find packages, forum threads, and other info for your distro, see: https://github.com/IgnorantGuru/spacefm/wiki/Distros For other distros, or to build with custom options, see INSTALLER below. INSTALLER The easiest way to download and build SpaceFM is to use the net installer, which automates the instructions in this README. To download the installer: wget https://raw.github.com/IgnorantGuru/spacefm/next/spacefm-installer # OR using curl: curl -L -o spacefm-installer \ https://raw.github.com/IgnorantGuru/spacefm/next/spacefm-installer To run the installer (MUST be run in a terminal): bash spacefm-installer Most users can press Enter to accept default values at both prompts. The installer will display dependencies for your chosen build. If any dependencies are missing, examine the error, install missing packages, and try again. See DEPENDENCIES below for reference. If you have already downloaded the source, the installer can be run from within the source directory to automatically build and install: ./spacefm-installer When SpaceFM is installed, the installer is also installed to /usr/bin. For automated options, run: spacefm-installer --help To reinstall or upgrade, just run the installer again. For example, to upgrade to the latest rolling release, just run: spacefm-installer --version=next --prefix=/usr To uninstall: spacefm-installer --uninstall DEPENDENCIES Install required build dependencies (below are Debian package names - packages names on your distro may vary but should be similar): autotools-dev bash build-essential intltool pkg-config fakeroot shared-mime-info desktop-file-utils libc6 libcairo2 libglib2.0-0 libglib2.0-dev libpango1.0-0 libx11-6 libx11-6-dev libudev0 (>=143) libudev-dev libffmpegthumbnailer-dev Also, if using GTK2: libgtk2.0-0 (>=2.18) libgtk2.0-dev libgtk2.0-bin OR, if using GTK3: libgtk-3-0 libgtk-3-dev libgtk-3-bin Also, if you want to use startup notification: libstartup-notification0-dev For optional dbus support: dbus libdbus-1-3 libdbus-1-dev RECOMMENDED: udevil|pmount|udisks gksu|kdesu|ktsuss|lxqt-sudo eject lsof wget For additional mounting support: fuseiso curlftpfs jmtpfs gphotofs ifuse IMPORTANT: SpaceFM is highly integrated with bash and uses features of bash v4. Attempting to substitute another shell for bash WILL cause feature breakage, even if not immediately apparent. Use genuine bash. configure will report anything missing when you run it as shown below. DOWNLOAD SpaceFM is distributed via Github: https://github.com/IgnorantGuru/spacefm/releases First, make a temporary directory and enter it: mkdir /tmp/spacefm-build cd /tmp/spacefm-build To download a branch, particular version, or under-development commit, use: wget -O spacefm.tar.gz https://github.com/IgnorantGuru/spacefm/archive/next.tar.gz The above example downloads the 'next' branch, which is SpaceFM's rolling release. You can also substitute 'master' (stable release), a version number (eg '1.0.4'), or a commit (eg 1709b809) for 'next' in the above URL. Then, extract the archive, and enter the source directory: tar xzf spacefm.tar.gz && cd spacefm-* ALTERNATIVELY, instead of downloading the tarball with wget above, you can use git to clone the SpaceFM source repo, check signatures, and download upgrades. See the USING GIT section further below. INSTALL Use these commands to build and install: ./configure --prefix=/usr make -s sudo make install sudo update-mime-database /usr/share/mime > /dev/null sudo update-desktop-database -q sudo gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor sudo gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza # Remove Temporary Files cd / && rm -rf /tmp/spacefm-build If configure reports missing dependencies, install them and run configure again before proceeding to make. configure options for alternate builds: --with-gtk3 By default, configure will use GTK2 if installed. To force use of GTK3, add --with-gtk3. BE SURE to use a GTK3 theme which supports your CURRENT version of GTK3 (no theme warnings should appear when spacefm is run in a terminal), or use Adwaita. PACKAGERS: Due to other desktop components, some users may require or prefer GTK2. Please consider providing both spacefm-gtk2 and spacefm-gtk3 packages for your users. --disable-video-thumbnails Remove support for video thumbnails. Omit libffmpegthumbnailer. --enable-hal Use HAL instead of udev. Device manager functions are extremely limited. Use of this build is only recommended if udev or eudev is not available. SpaceFM HAL support is no longer actively developed, yet please report any build problems. Instead of libudev0 and libudev-dev, install: hal libhal-dev libhal-storage-dev libhal-storage1 libhal1 libdbus-glib-1-2 libdbus-glib-1-dev dbus libdbus-1-3 libdbus-1-dev --sysconfdir=/etc Set the correct location of /etc on your system for installing /etc/spacefm/spacefm.conf. For additional configure options, see: ./configure --help To run root commands, SpaceFM supports gksu, gksudo, gnomesu, kdesu, kdesudo, ktsuss, lxqt-sudo, xdg-su, su-to-root, su, and sudo. To configure an additional terminal or graphical su program see /etc/spacefm/spacefm.conf. Or, to build with an additional graphical su program ('/usr/bin/mysu' in this example), add: --with-preferable-sudo=/usr/bin/mysu Note: When using older distros, enabling kernel polling may be required. If you insert a CD and SpaceFM still says 'no media', please see the ENABLE KERNEL POLLING section further below. BUILD DEBUG If SpaceFM crashes or hangs on your system, you can help to correct this problem by reporting it, including a full backtrace. The easiest way to install a debug-compatible version of SpaceFM is using the installer. See INSTALLER section above. At the install options prompt, enter 1 for Debug. Or run: spacefm-installer --version=next 1 OR, to manually build for debugging: 1) Install build dependencies for your build (see DEPENDENCIES above). 2) Install the 'gdb' GNU Debugger, and debugging library symbols. For example on Debian (packages on other distros should have similar names): libc6-dbg libglib2.0-0-dbg libgtk2.0-0-dbg|libgtk-3-0-dbg librsvg2-dbg gdb 3) Follow the DOWNLOAD and INSTALL instructions above, substituting this configure command (add any other desired configure options): CFLAGS='-ggdb3' STRIP='!strip' ./configure --prefix=/usr 4) After completing the install, run spacefm with the debugger: gdb spacefm In gdb, enter 'run' at the prompt. Or, to make gdb halt on any warnings, use 'run --g-fatal-warnings'. SpaceFM will start. When the crash occurs, gdb will freeze SpaceFM. Or if SpaceFM hangs, press Ctrl-C in gdb to interrupt it, or in another terminal run: killall -s KILL spacefm 5) In gdb enter: thread apply all bt full Provide the output with your detailed bug report at https://github.com/IgnorantGuru/spacefm/issues NOTE: When SpaceFM is built this way, it may run more slowly and use more memory. Once you are done debugging, be sure to install a normal (optimized) build. CREATE DEBIAN PACKAGE It's easy to create a binary deb package of SpaceFM on your Debian-based distro. Please see the file distros/debian/README-DEBIAN. Also note that there are SpaceFM packages in the official Debian repos and elsewhere: https://github.com/IgnorantGuru/spacefm/wiki/Debian UNINSTALL If you installed from a package, use your package manager to remove SpaceFM. Or, use the installer to uninstall: spacefm-installer --uninstall Otherwise, run these commands AS ROOT: rm /usr/bin/spacefm /usr/bin/spacefm-auth /usr/bin/spacefm-installer rm -r /usr/share/spacefm # this may remove SpaceFM plugins rm /usr/share/pixmaps/spacefm.png rm /usr/share/pixmaps/spacefm-*.png rm /usr/share/icons/hicolor/*/apps/spacefm.png rm /usr/share/icons/hicolor/*/apps/spacefm-*.png rm /usr/share/icons/Faenza/apps/48/spacefm.png rm /usr/share/icons/Faenza/apps/48/spacefm-*.png rm /usr/share/*/LC_MESSAGES/spacefm.mo rm /usr/share/applications/spacefm*.desktop rm /usr/share/mime/packages/spacefm-mime.xml update-mime-database /usr/share/mime > /dev/null update-desktop-database -q gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor USING GIT Instead of downloading a tarball to install SpaceFM, you can download some or all of the source repo using git. See a tutorial for complete git instructions, but a few examples are provided below. To download just the source dir of a given branch, version, or commit, run: git clone --depth 1 -b next git://github.com/IgnorantGuru/spacefm.git spacefm cd spacefm You can substitute any branch or version (eg 1.0.4) for 'next' in the above command. To build and install, see INSTALL above, or run: ./spacefm-installer To pull in the latest changes to the next branch, run: git pull origin next Then you can proceed to INSTALL instructions to install the upgrade, or run: ./spacefm-installer Although git already includes strong integrity protection, SpaceFM release tags are also signed with GPG key: ignorantguru AT gmx.com 0x01937621. To verify the GPG signature on a release (1.0.4 in this example), run: git tag -v 1.0.4 To download the full SpaceFM source repo, with all branches and history: git clone git://github.com/IgnorantGuru/spacefm.git spacefm cd spacefm To find the sources for a particular branch (eg next or master), version, or commit (in this example, version 1.0.4), run: git checkout 1.0.4 Then you can proceed to INSTALL instructions or run spacefm-installer. To create a tar.xz archive of the sources for version 1.0.4: git archive 1.0.4 --prefix=spacefm-1.0.4/ | xz > spacefm-1.0.4.tar.xz ENABLE KERNEL POLLING Kernel polling, which allows for device and media change detection, is a newer feature of the Linux kernel and udev, so some distros don't yet have it enabled by default, but most already do. If you insert a CD and SpaceFM still says 'no media', this is a symptom that kernel polling is not enabled. To use kernel polling, your Linux kernel may need to be 2.6.38 or newer, and udev may need to be version 173 or newer. TO DETERMINE IF KERNEL POLLING IS ENABLED: cat /sys/module/block/parameters/events_dfl_poll_msecs cat /sys/block/sr0/events_poll_msecs If you get 0 or -1 from both of those commands, kernel polling may be disabled. TO ENABLE KERNEL POLLING PERMANENTLY (survives a reboot), add the following command to your /etc/rc.local file (anywhere before the 'exit' line in that file): echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs Any number between 2000 and 5000 (milliseconds) should be reasonable - the higher 5000 means poll every 5 seconds, which is less overhead but a little slower. OR pass this option to the kernel boot command line in grub: block.events_dfl_poll_msecs=2000 OR add a udev rule to enable kernel polling on removable devices: echo 'ACTION=="add", ATTR{removable}=="1", \ ATTR{events_poll_msecs}=="-1", ATTR{events_poll_msecs}="2000"' \ > /etc/udev/rules.d/61-removable-storage-polling.rules A reboot will be required for the above changes to take effect, or... TO ENABLE KERNEL POLLING TEMPORARILY AND IMMEDIATELY, enable common polling for the block module: sudo bash -c 'echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs' OR you can enable polling just for a single device like this (/dev/sr0 in this example): sudo bash -c 'echo 2000 > /sys/block/sr0/events_poll_msecs' This change should be immediate - media will be detected. However, the above change will be lost when you reboot. References: http://www.mail-archive.com/lfs-dev@linuxfromscratch.org/msg15714.html http://blogs.gentoo.org/mgorny/2011/06/20/uam-can-now-mount-cds-and-dvds/ https://bugs.archlinux.org/task/25609 http://unix.stackexchange.com/questions/38582/ TRANSLATE To help translate SpaceFM please visit: https://github.com/IgnorantGuru/spacefm/wiki/Translate At Transifex: https://www.transifex.com/ignorantguru/spacefm/ Just sign up for a free Transifex account. For instructions visit: http://help.transifex.com/intro/translating.html#translating RELEASE For developers: The 'release' script in the SpaceFM source dir is used by SpaceFM developers (or forks) to perform a release. To use this script, complete changes to the next branch (they don't have to be commited), then run: ./release Note the manual workflow items listed by the script before proceeding. The script will interactively perform a release of SpaceFM by increasing the version number, preparing the source dir for distribution, commiting the next branch, merging to master, signing the release tag, pushing master, starting the next version, and pushing next. You must have permission to push to git's origin. It also optionally pulls the wiki, and pushes gh-pages, if present. When the script is finished, master branch will contain the new release, next branch will be prepared for the next version, and Github will show the release tag in Releases. LICENSE SpaceFM - Copyright (C) 2016 IgnorantGuru GPL3+ 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 3 of the License, or (at your option) any later version. USE AT YOUR OWN RISK. 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. The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3). You should have received a copy of the GNU General Public License and the GNU Lesser 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. See COPYING and COPYING-LGPL files. DERIVATIVE WORKS If you plan to publish a significant amount of or the full source to SpaceFM with your modifications, please see the following wiki article: https://github.com/IgnorantGuru/spacefm/wiki/Guidelines-For-Distributing-Modifications spacefm-1.0.5/aclocal.m4000066400000000000000000013646141264770501700150230ustar00rootroot00000000000000# generated automatically by aclocal 1.14.1 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 1995-2002 Free Software Foundation, Inc. # Copyright (C) 2001-2003,2004 Red Hat, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # # Macro to add for using GNU gettext. # Ulrich Drepper , 1995, 1996 # # Modified to never use included libintl. # Owen Taylor , 12/15/1998 # # Major rework to remove unused code # Owen Taylor , 12/11/2002 # # Added better handling of ALL_LINGUAS from GNU gettext version # written by Bruno Haible, Owen Taylor 5/30/3002 # # Modified to require ngettext # Matthias Clasen 08/06/2004 # # We need this here as well, since someone might use autoconf-2.5x # to configure GLib then an older version to configure a package # using AM_GLIB_GNU_GETTEXT AC_PREREQ(2.53) dnl dnl We go to great lengths to make sure that aclocal won't dnl try to pull in the installed version of these macros dnl when running aclocal in the glib directory. dnl m4_copy([AC_DEFUN],[glib_DEFUN]) m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl dnl At the end, if we're not within glib, we'll define the public dnl definitions in terms of our private definitions. dnl # GLIB_LC_MESSAGES #-------------------- glib_DEFUN([GLIB_LC_MESSAGES], [AC_CHECK_HEADERS([locale.h]) if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi fi]) # GLIB_PATH_PROG_WITH_TEST #---------------------------- dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) # GLIB_WITH_NLS #----------------- glib_DEFUN([GLIB_WITH_NLS], dnl NLS is obligatory [USE_NLS=yes AC_SUBST(USE_NLS) gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= AC_CHECK_HEADER(libintl.h, [gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, [AC_TRY_LINK([ #include ], [return !ngettext ("","", 1)], gt_cv_func_ngettext_libc=yes, gt_cv_func_ngettext_libc=no) ]) if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return !dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CHECK_FUNCS(bind_textdomain_codeset) fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dgettext, gt_cv_func_dgettext_libintl=yes)])]) if test "$gt_cv_func_dgettext_libintl" != "yes" ; then AC_MSG_CHECKING([if -liconv is needed to use gettext]) AC_MSG_RESULT([]) AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv], :,-liconv)], :,-liconv) fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then AC_DEFINE(HAVE_GETTEXT,1, [Define if the GNU gettext() function is already present or preinstalled.]) GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" AC_CHECK_FUNCS(dcgettext) MSGFMT_OPTS= AC_MSG_CHECKING([if msgfmt accepts -c]) GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" ], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) AC_SUBST(MSGFMT_OPTS) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr], [CATOBJEXT=.gmo DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share and dnl and CATOBJEXT=.gmo in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [CATOBJEXT=.gmo DATADIRNAME=share], [CATOBJEXT=.mo DATADIRNAME=lib]) ;; *-*-openbsd*) CATOBJEXT=.mo DATADIRNAME=share ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac]) LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi ]) if test "$gt_cv_have_gettext" = "yes" ; then AC_DEFINE(ENABLE_NLS, 1, [always defined to indicate that i18n is enabled]) fi dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is not GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po AC_OUTPUT_COMMANDS( [case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac]) dnl These rules are solely for the distribution goal. While doing this dnl we only have to keep exactly one list of the available catalogs dnl in configure.ac. for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done dnl Make all variables we use known to autoconf. AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) AC_SUBST(DATADIRNAME) AC_SUBST(GMOFILES) AC_SUBST(INSTOBJEXT) AC_SUBST(INTLLIBS) AC_SUBST(PO_IN_DATADIR_TRUE) AC_SUBST(PO_IN_DATADIR_FALSE) AC_SUBST(POFILES) AC_SUBST(POSUB) ]) # AM_GLIB_GNU_GETTEXT # ------------------- # Do checks necessary for use of gettext. If a suitable implementation # of gettext is found in either in libintl or in the C library, # it will set INTLLIBS to the libraries needed for use of gettext # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() # on various variables needed by the Makefile.in.in installed by # glib-gettextize. dnl glib_DEFUN([GLIB_GNU_GETTEXT], [AC_REQUIRE([AC_PROG_CC])dnl GLIB_LC_MESSAGES GLIB_WITH_NLS if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else AC_MSG_CHECKING(for catalogs to be installed) NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS AC_MSG_RESULT($LINGUAS) fi dnl Construct list of names of catalog files to be constructed. if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) dnl Generate list of files to be processed by xgettext which will dnl be included in po/Makefile. test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ]) # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) # ------------------------------- # Define VARIABLE to the location where catalog files will # be installed by po/Makefile. glib_DEFUN([GLIB_DEFINE_LOCALEDIR], [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" glib_save_datarootdir="$datarootdir" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix datarootdir=`eval echo "${datarootdir}"` if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" datarootdir="$glib_save_datarootdir" AC_DEFINE_UNQUOTED($1, "$localedir", [Define the location where the catalogs will be installed]) ]) dnl dnl Now the definitions that aclocal will find dnl ifdef(glib_configure_ac,[],[ AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) ])dnl # GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) # # Create a temporary file with TEST-FILE as its contents and pass the # file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with # 0 and perform ACTION-IF-FAIL for any other exit status. AC_DEFUN([GLIB_RUN_PROG], [cat >conftest.foo <<_ACEOF $2 _ACEOF if AC_RUN_LOG([$1 conftest.foo]); then m4_ifval([$3], [$3], [:]) m4_ifvaln([$4], [else $4])dnl echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD fi]) dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 42 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [ AC_PREREQ([2.50])dnl AC_REQUIRE([AM_NLS])dnl case "$am__api_version" in 1.[01234]) AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "$1"; then AC_MSG_CHECKING([for intltool >= $1]) AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) fi AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_DEFAULT_VERBOSITY]) INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;' AC_SUBST(INTLTOOL_V_MERGE) AC_SUBST(INTLTOOL__v_MERGE_) AC_SUBST(INTLTOOL__v_MERGE_0) INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) AC_SUBST(intltool__v_merge_options_) AC_SUBST(intltool__v_merge_options_0) INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' _IT_SUBST(INTLTOOL_DESKTOP_RULE) _IT_SUBST(INTLTOOL_DIRECTORY_RULE) _IT_SUBST(INTLTOOL_KEYS_RULE) _IT_SUBST(INTLTOOL_PROP_RULE) _IT_SUBST(INTLTOOL_OAF_RULE) _IT_SUBST(INTLTOOL_PONG_RULE) _IT_SUBST(INTLTOOL_SERVER_RULE) _IT_SUBST(INTLTOOL_SHEET_RULE) _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) _IT_SUBST(INTLTOOL_UI_RULE) _IT_SUBST(INTLTOOL_XAM_RULE) _IT_SUBST(INTLTOOL_KBD_RULE) _IT_SUBST(INTLTOOL_XML_RULE) _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) _IT_SUBST(INTLTOOL_CAVES_RULE) _IT_SUBST(INTLTOOL_SCHEMAS_RULE) _IT_SUBST(INTLTOOL_THEME_RULE) _IT_SUBST(INTLTOOL_SERVICE_RULE) _IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) AC_PATH_PROG(MSGMERGE, msgmerge) AC_PATH_PROG(MSGFMT, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found]) fi AC_MSG_CHECKING([for perl >= 5.8.1]) $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then AC_MSG_ERROR([perl 5.8.1 is required for intltool]) else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then AC_MSG_RESULT([ok]) else AC_MSG_ERROR([XML::Parser perl module is required for intltool]) fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr]])], [DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share dnl in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [DATADIRNAME=share], [DATADIRNAME=lib]) ;; *) [DATADIRNAME=lib] ;; esac]) fi AC_SUBST(DATADIRNAME) IT_PO_SUBDIR([po]) ]) # IT_PO_SUBDIR(DIRNAME) # --------------------- # All po subdirs have to be declared with this macro; the subdir "po" is # declared by IT_PROG_INTLTOOL. # AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. dnl dnl The following CONFIG_COMMANDS should be executed at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" >"$1/stamp-it.tmp" [sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" ] [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.in" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: # AC_DEFUN([AC_PROG_INTLTOOL], ...) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 57 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified).], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([${with_sysroot}]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and in which our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS="$save_LDFLAGS"]) if test "$lt_cv_irix_exported_symbol" = yes; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) # ------------------------------------------------------ # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. m4_defun([_LT_PROG_FUNCTION_REPLACE], [dnl { sed -e '/^$1 ()$/,/^} # $1 /c\ $1 ()\ {\ m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: ]) # _LT_PROG_REPLACE_SHELLFNS # ------------------------- # Replace existing portable implementations of several shell functions with # equivalent extended shell implementations where those features are available.. m4_defun([_LT_PROG_REPLACE_SHELLFNS], [if test x"$xsi_shell" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"}]) _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl func_split_long_opt_name=${1%%=*} func_split_long_opt_arg=${1#*=}]) _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) fi if test x"$lt_shell_append" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl func_quote_for_eval "${2}" dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) fi ]) # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine which file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS # Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, # Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) # ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 3337 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.2]) m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.2' macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) # nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # PKG_INSTALLDIR(DIRECTORY) # ------------------------- # Substitutes the variable pkgconfigdir as the location where a module # should install pkg-config .pc files. By default the directory is # $libdir/pkgconfig, but the default can be changed by passing # DIRECTORY. The user can override through the --with-pkgconfigdir # parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ]) dnl PKG_INSTALLDIR # PKG_NOARCH_INSTALLDIR(DIRECTORY) # ------------------------- # Substitutes the variable noarch_pkgconfigdir as the location where a # module should install arch-independent pkg-config .pc files. By # default the directory is $datadir/pkgconfig, but the default can be # changed by passing DIRECTORY. The user can override through the # --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ]) dnl PKG_NOARCH_INSTALLDIR # PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # ------------------------------------------- # Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])# PKG_CHECK_VAR # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.14' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.14.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.14.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless 'enable' is passed literally. # For symmetry, 'disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], am_maintainer_other[ make rules and dependencies not useful (and sometimes confusing) to the casual installer])], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # -*- Autoconf -*- # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl AC_CONFIG_HEADERS($@)]) AC_DEFUN([AM_PROG_CC_STDC], [AC_PROG_CC am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should simply use the 'AC][_PROG_CC' macro instead. Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon 'ac_cv_prog_cc_stdc'.])]) AC_DEFUN([AM_C_PROTOTYPES], [AC_FATAL([automatic de-ANSI-fication support has been removed])]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR spacefm-1.0.5/autogen.sh000077500000000000000000000111111264770501700151400ustar00rootroot00000000000000#!/bin/sh # Run this to generate all the initial makefiles, etc. srcdir=`dirname $0` test -z "$srcdir" && srcdir=. configure_ac=configure.ac DIE=0 if [ -n "$GNOME2_DIR" ]; then ACLOCAL_FLAGS="-I $GNOME2_DIR/share/aclocal $ACLOCAL_FLAGS" LD_LIBRARY_PATH="$GNOME2_DIR/lib:$LD_LIBRARY_PATH" PATH="$GNOME2_DIR/bin:$PATH" export PATH export LD_LIBRARY_PATH fi (test -f $srcdir/$configure_ac) || { echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" echo " top-level package directory" exit 1 } (autoconf --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`autoconf' installed." echo "Download the appropriate package for your distribution," echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" DIE=1 } (grep "^AC_PROG_INTLTOOL" $srcdir/$configure_ac >/dev/null) && { (intltoolize --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`intltool' installed." echo "You can get it from:" echo " ftp://ftp.gnome.org/pub/GNOME/" DIE=1 } } (grep "^AM_PROG_XML_I18N_TOOLS" $srcdir/$configure_ac >/dev/null) && { (xml-i18n-toolize --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`xml-i18n-toolize' installed." echo "You can get it from:" echo " ftp://ftp.gnome.org/pub/GNOME/" DIE=1 } } (grep "^AM_PROG_LIBTOOL" $srcdir/$configure_ac >/dev/null) && { (libtool --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`libtool' installed." echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" DIE=1 } } (grep "^AM_GLIB_GNU_GETTEXT" $srcdir/$configure_ac >/dev/null) && { (grep "sed.*POTFILES" $srcdir/$configure_ac) > /dev/null || \ (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`glib' installed." echo "You can get it from: ftp://ftp.gtk.org/pub/gtk" DIE=1 } } (automake --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`automake' installed." echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" DIE=1 NO_AUTOMAKE=yes } # if no automake, don't bother testing for aclocal test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: Missing \`aclocal'. The version of \`automake'" echo "installed doesn't appear recent enough." echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/" DIE=1 } if test "$DIE" -eq 1; then exit 1 fi if test -z "$*"; then echo "**Warning**: I am going to run \`configure' with no arguments." echo "If you wish to pass any to it, please specify them on the" echo \`$0\'" command line." echo fi case $CC in xlc ) am_opt=--include-deps;; esac for coin in `find $srcdir -name $configure_ac -print` do dr=`dirname $coin` if test -f $dr/NO-AUTO-GEN; then echo skipping $dr -- flagged as no auto-gen else echo processing $dr ( cd $dr aclocalinclude="$ACLOCAL_FLAGS" if grep "^AM_GLIB_GNU_GETTEXT" $configure_ac >/dev/null; then echo "Creating $dr/aclocal.m4 ..." test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 echo "Running glib-gettextize... Ignore non-fatal messages." echo "no" | glib-gettextize --force --copy echo "Making $dr/aclocal.m4 writable ..." test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 fi if grep "^AC_PROG_INTLTOOL" $configure_ac >/dev/null; then echo "Running intltoolize..." intltoolize --copy --force --automake fi if grep "^AM_PROG_XML_I18N_TOOLS" $configure_ac >/dev/null; then echo "Running xml-i18n-toolize..." xml-i18n-toolize --copy --force --automake fi if grep "^AM_PROG_LIBTOOL" $configure_ac >/dev/null; then if test -z "$NO_LIBTOOLIZE" ; then echo "Running libtoolize..." libtoolize --force --copy fi fi echo "Running aclocal $aclocalinclude ..." aclocal $aclocalinclude if grep "^AM_CONFIG_HEADER" $configure_ac >/dev/null; then echo "Running autoheader..." autoheader fi echo "Running automake --gnu $am_opt ..." automake --add-missing --gnu $am_opt echo "Running autoconf ..." autoconf ) fi done conf_flags="--enable-maintainer-mode" # ensure pot file is not deleted by make clean sed -i 's/\(.*rm -f.*\)\$(GETTEXT_PACKAGE)\.pot \(.*\)/\1 \2/' po/Makefile.in.in if test x$NOCONFIGURE = x; then echo Running $srcdir/configure $conf_flags "$@" ... $srcdir/configure $conf_flags "$@" \ && echo "Now type 'make' to compile, then 'sudo make install' to install." || exit 1 else echo Skipping configure process. fi spacefm-1.0.5/compile000077500000000000000000000162451264770501700145320ustar00rootroot00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey . # # 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, 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: spacefm-1.0.5/config.guess000077500000000000000000001275341264770501700155000ustar00rootroot00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-01-23' # This file 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. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: spacefm-1.0.5/config.sub000077500000000000000000001011531264770501700151300ustar00rootroot00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-01-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file 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. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: spacefm-1.0.5/configure000077500000000000000000020741311264770501700150630ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for spacefm 1.0.5. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='spacefm' PACKAGE_TARNAME='spacefm' PACKAGE_VERSION='1.0.5' PACKAGE_STRING='spacefm 1.0.5' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="src/main.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_header_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS MKINSTALLDIRS POSUB POFILES PO_IN_DATADIR_FALSE PO_IN_DATADIR_TRUE INTLLIBS INSTOBJEXT GMOFILES CATOBJEXT CATALOGS MSGFMT_OPTS GETTEXT_PACKAGE NO_PIXMAPS_FALSE NO_PIXMAPS_TRUE FFMPEG_LIBS FFMPEG_CFLAGS DESKTOP_INTEGRATION_FALSE DESKTOP_INTEGRATION_TRUE FAM_LIBS FAM_CFLAGS USE_HAL_FALSE USE_HAL_TRUE LIBUDEV_LIBS LIBUDEV_CFLAGS HAL_LIBS HAL_CFLAGS G_CAST_CHECKS SN_LIBS SN_CFLAGS GTK_LIBS GTK_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG LIBTOOL_EXPORT_OPTIONS DATADIRNAME ALL_LINGUAS INTLTOOL_PERL GMSGFMT MSGFMT MSGMERGE XGETTEXT INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE intltool__v_merge_options_0 intltool__v_merge_options_ INTLTOOL_V_MERGE_OPTIONS INTLTOOL__v_MERGE_0 INTLTOOL__v_MERGE_ INTLTOOL_V_MERGE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE USE_NLS CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR DLLTOOL OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED host_os host_vendor host_cpu host build_os build_vendor build_cpu build LIBTOOL am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_maintainer_mode enable_static enable_dependency_tracking enable_shared with_pic enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock enable_nls with_bash_path with_gtk3 with_gtk2 enable_startup_notification enable_cast_checks enable_hal enable_inotify enable_largefile enable_superuser_checks with_preferable_sudo enable_desktop_integration enable_video_thumbnails enable_pixmaps ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR GTK_CFLAGS GTK_LIBS SN_CFLAGS SN_LIBS HAL_CFLAGS HAL_LIBS LIBUDEV_CFLAGS LIBUDEV_LIBS FFMPEG_CFLAGS FFMPEG_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures spacefm 1.0.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/spacefm] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of spacefm 1.0.5:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --enable-static[=PKGS] build static libraries [default=no] --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --disable-startup-notification disable use of libstartup-notification (default: enable if installed) --enable-cast-checks enable Glib casting checks (default: disable) --enable-hal build with Linux HAL support (disables udisks) (default: no) --disable-inotify disable Linux inotify kernel support (requires fam/gamin instead) (default: enable) --enable-largefile enable Large file support (default: yes) --disable-superuser-checks disable checks running as super user (no current function) (default: enable) --disable-desktop-integration disable desktop manager integration (default: enable) --disable-video-thumbnails disable libffmpegthumbnailer video thumbnails (default: enable) --enable-pixmaps use share/pixmaps dir instead of share/icons dir to store icons (default: disable) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-bash-path=PATH Absolute path to GENUINE bash v4 - other shells lack features REQUIRED by SpaceFM (default: /bin/bash) --with-gtk3 Build with GTK3 interface instead of GTK2 (default: with GTK2 unless GTK2 not installed) --with-gtk2 Build with GTK2 interface only (default: with GTK2 unless GTK2 not installed) --with-preferable-sudo=PROG Specify custom graphical su program to run root commands (or see /etc/spacefm/spacefm.conf) Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config SN_CFLAGS C compiler flags for SN, overriding pkg-config SN_LIBS linker flags for SN, overriding pkg-config HAL_CFLAGS C compiler flags for HAL, overriding pkg-config HAL_LIBS linker flags for HAL, overriding pkg-config LIBUDEV_CFLAGS C compiler flags for LIBUDEV, overriding pkg-config LIBUDEV_LIBS linker flags for LIBUDEV, overriding pkg-config FFMPEG_CFLAGS C compiler flags for FFMPEG, overriding pkg-config FFMPEG_LIBS linker flags for FFMPEG, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF spacefm configure 1.0.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by spacefm $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi as_fn_append ac_header_list " stdlib.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " sys/param.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.14' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='spacefm' VERSION='1.0.5' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=no fi DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_strerror=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_strerror+:} false; then : break fi done if ${ac_cv_search_strerror+:} false; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 $as_echo "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.2' macro_revision='1.3337' ltmain="$ac_aux_dir/ltmain.sh" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test "$GCC" != yes; then reload_cmds=false fi ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 $as_echo "${with_sysroot}" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_config_commands="$ac_config_commands libtool" # Only expand once: ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n ""; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= " >&5 $as_echo_n "checking for intltool >= ... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_MERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " $@;' INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< $@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< $@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.$$RANDOM && mkdir $$_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u $$_it_tmp_dir $< $@ && rmdir $$_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : DATADIRNAME=share else DATADIRNAME=lib fi ;; *) DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # sysconfdir defaults to /usr/local/etc if this is not done: test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc # libtool option to control which symbols are exported # right now, symbols starting with _ are not exported LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[^_].*"' # check for mmap() for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } if ${ac_cv_func_mmap_fixed_mapped+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_mmap_fixed_mapped=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #if !defined STDC_HEADERS && !defined HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # ifdef HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; const char *cdata2; int i, pagesize; int fd, fd2; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) return 1; for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) return 2; if (write (fd, data, pagesize) != pagesize) return 3; close (fd); /* Next, check that the tail of a page is zero-filled. File must have non-zero length, otherwise we risk SIGBUS for entire page. */ fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); if (fd2 < 0) return 4; cdata2 = ""; if (write (fd2, cdata2, 1) != 1) return 5; data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); if (data2 == MAP_FAILED) return 6; for (i = 0; i < pagesize; ++i) if (*(data2 + i)) return 7; close (fd2); if (munmap (data2, pagesize)) return 8; /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) return 9; if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) return 10; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) return 11; /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) return 12; if (read (fd, data3, pagesize) != pagesize) return 13; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) return 14; close (fd); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_mmap_fixed_mapped=yes else ac_cv_func_mmap_fixed_mapped=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } if test $ac_cv_func_mmap_fixed_mapped = yes; then $as_echo "#define HAVE_MMAP 1" >>confdefs.h fi rm -f conftest.mmap conftest.txt { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 $as_echo_n "checking for pow in -lm... " >&6; } if ${ac_cv_lib_m_pow+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pow (); int main () { return pow (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_pow=yes else ac_cv_lib_m_pow=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 $as_echo "$ac_cv_lib_m_pow" >&6; } if test "x$ac_cv_lib_m_pow" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XClearWindow in -lX11" >&5 $as_echo_n "checking for XClearWindow in -lX11... " >&6; } if ${ac_cv_lib_X11_XClearWindow+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char XClearWindow (); int main () { return XClearWindow (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_X11_XClearWindow=yes else ac_cv_lib_X11_XClearWindow=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XClearWindow" >&5 $as_echo "$ac_cv_lib_X11_XClearWindow" >&6; } if test "x$ac_cv_lib_X11_XClearWindow" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBX11 1 _ACEOF LIBS="-lX11 $LIBS" fi $as_echo "#define G_DISABLE_ASSERT 1" >>confdefs.h $as_echo "#define G_LOG_DOMAIN \"SpaceFM\"" >>confdefs.h # Check whether --with-bash-path was given. if test "${with_bash_path+set}" = set; then : withval=$with_bash_path; cat >>confdefs.h <<_ACEOF #define BASHPATH "$withval" _ACEOF else cat >>confdefs.h <<_ACEOF #define BASHPATH "/bin/bash" _ACEOF fi bash_path="$withval" # IMPORTANT: For security reasons, an absolute path must be used for genuine # bash v4. SpaceFM runs bash as root and you WILL open root exploits if you # disable this check, or run bash based on $PATH. if test ! -z "$bash_path"; then if test ! "${bash_path:0:1}" = "/"; then as_fn_error $? "Fatal Error: Option --with-bash-path requires absolute path." "$LINENO" 5 fi echo "Modifying spacefm-auth to use bash path..." bash_esc="${bash_path//\//\\/}" sed "s/\(\/bin\/bash\)/$bash_esc/" src/spacefm-auth.bash > src/spacefm-auth else cp -pf src/spacefm-auth.bash src/spacefm-auth fi # gtk2 or gtk3 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi gtk2_modules="gtk+-2.0 >= 2.18.0 \ gthread-2.0 \ gobject-2.0" gtk3_modules="gtk+-3.0 >= 3.0.0 \ gthread-2.0 \ gobject-2.0" # Check whether --with-gtk3 was given. if test "${with_gtk3+set}" = set; then : withval=$with_gtk3; with_gtk3=$withval else with_gtk3="no" fi # Check whether --with-gtk2 was given. if test "${with_gtk2+set}" = set; then : withval=$with_gtk2; with_gtk2=$withval else with_gtk2="no" fi if test x"$with_gtk3" = x"yes"; then # user enabled - gtk3 required pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk3_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk3_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "$gtk3_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk3_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk3_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "$gtk3_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$gtk3_modules" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$gtk3_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ($gtk3_modules) were not met: $GTK_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi $as_echo "#define HAVE_GTK3 1" >>confdefs.h elif test x"$with_gtk2" = x"yes"; then # user enabled - gtk2 required pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk2_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk2_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "$gtk2_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk2_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk2_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "$gtk2_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$gtk2_modules" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$gtk2_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ($gtk2_modules) were not met: $GTK_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi else # disabled - use gtk3 only if gtk2 not installed pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk2_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk2_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "$gtk2_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk2_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk2_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "$gtk2_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$gtk2_modules" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$gtk2_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk3_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk3_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "$gtk3_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk3_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk3_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "$gtk3_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$gtk3_modules" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$gtk3_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 with_gtk3="no" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } with_gtk3="no" else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } with_gtk3="yes" fi elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk3_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk3_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "$gtk3_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk3_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk3_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "$gtk3_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$gtk3_modules" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$gtk3_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 with_gtk3="no" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } with_gtk3="no" else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } with_gtk3="yes" fi else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } with_gtk3="no" fi if test x"$with_gtk3" = x"yes"; then $as_echo "#define HAVE_GTK3 1" >>confdefs.h else pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk2_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk2_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "$gtk2_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk2_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$gtk2_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "$gtk2_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$gtk2_modules" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$gtk2_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ($gtk2_modules) were not met: $GTK_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi fi # Default make options # disable deprecated warnings for now due to GTK2/GTK3 build compat CPPFLAGS="$CPPFLAGS -Wno-deprecated-declarations -Wformat -Wformat-security -Wreturn-type -Wunused-value" # start-notification is optional - will be used if installed and no --disable # Check whether --enable-startup-notification was given. if test "${enable_startup_notification+set}" = set; then : enableval=$enable_startup_notification; use_sn=$enableval else use_sn="yes" fi if test x"$use_sn" = x"yes"; then sn_modules_old="libstartup-notification-0.9" sn_modules="libstartup-notification-1.0" pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SN" >&5 $as_echo_n "checking for SN... " >&6; } if test -n "$SN_CFLAGS"; then pkg_cv_SN_CFLAGS="$SN_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$sn_modules_old\""; } >&5 ($PKG_CONFIG --exists --print-errors "$sn_modules_old") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SN_CFLAGS=`$PKG_CONFIG --cflags "$sn_modules_old" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$SN_LIBS"; then pkg_cv_SN_LIBS="$SN_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$sn_modules_old\""; } >&5 ($PKG_CONFIG --exists --print-errors "$sn_modules_old") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SN_LIBS=`$PKG_CONFIG --libs "$sn_modules_old" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$sn_modules_old" 2>&1` else SN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$sn_modules_old" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SN_PKG_ERRORS" >&5 pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SN" >&5 $as_echo_n "checking for SN... " >&6; } if test -n "$SN_CFLAGS"; then pkg_cv_SN_CFLAGS="$SN_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$sn_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$sn_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SN_CFLAGS=`$PKG_CONFIG --cflags "$sn_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$SN_LIBS"; then pkg_cv_SN_LIBS="$SN_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$sn_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$sn_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SN_LIBS=`$PKG_CONFIG --libs "$sn_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$sn_modules" 2>&1` else SN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$sn_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SN_PKG_ERRORS" >&5 use_sn="no (not installed)" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } use_sn="no (not installed)" else SN_CFLAGS=$pkg_cv_SN_CFLAGS SN_LIBS=$pkg_cv_SN_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } use_sn="yes" fi elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SN" >&5 $as_echo_n "checking for SN... " >&6; } if test -n "$SN_CFLAGS"; then pkg_cv_SN_CFLAGS="$SN_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$sn_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$sn_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SN_CFLAGS=`$PKG_CONFIG --cflags "$sn_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$SN_LIBS"; then pkg_cv_SN_LIBS="$SN_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$sn_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$sn_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SN_LIBS=`$PKG_CONFIG --libs "$sn_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$sn_modules" 2>&1` else SN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$sn_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SN_PKG_ERRORS" >&5 use_sn="no (not installed)" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } use_sn="no (not installed)" else SN_CFLAGS=$pkg_cv_SN_CFLAGS SN_LIBS=$pkg_cv_SN_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } use_sn="yes" fi else SN_CFLAGS=$pkg_cv_SN_CFLAGS SN_LIBS=$pkg_cv_SN_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } use_sn="yes" fi if test x"$use_sn" = x"yes"; then $as_echo "#define HAVE_SN 1" >>confdefs.h fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $LD accepts --as-needed" >&5 $as_echo_n "checking whether $LD accepts --as-needed... " >&6; } case `$LD --as-needed -v 2>&1 &5 $as_echo "yes" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $LD accepts -O1" >&5 $as_echo_n "checking whether $LD accepts -O1... " >&6; } case `$LD -O1 -v 2>&1 &5 $as_echo "yes" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $LD accepts -Bsymbolic-functions" >&5 $as_echo_n "checking whether $LD accepts -Bsymbolic-functions... " >&6; } case `$LD -Bsymbolic-functions -v 2>&1 &5 $as_echo "yes" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac # Check whether --enable-cast-checks was given. if test "${enable_cast_checks+set}" = set; then : enableval=$enable_cast_checks; cast_checks=$enableval else cast_checks="no" fi G_CAST_CHECKS="" if test x"$cast_checks" = "xno"; then G_CAST_CHECKS="-DG_DISABLE_CAST_CHECKS" fi # Check whether --enable-hal was given. if test "${enable_hal+set}" = set; then : enableval=$enable_hal; use_hal=$enableval else use_hal="no" fi if test x"$use_hal" = x"yes"; then hal_modules="dbus-glib-1 >= 0.31 hal >= 0.5.0 hal-storage" pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HAL" >&5 $as_echo_n "checking for HAL... " >&6; } if test -n "$HAL_CFLAGS"; then pkg_cv_HAL_CFLAGS="$HAL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$hal_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$hal_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_HAL_CFLAGS=`$PKG_CONFIG --cflags "$hal_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$HAL_LIBS"; then pkg_cv_HAL_LIBS="$HAL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$hal_modules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$hal_modules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_HAL_LIBS=`$PKG_CONFIG --libs "$hal_modules" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then HAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$hal_modules" 2>&1` else HAL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$hal_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$HAL_PKG_ERRORS" >&5 have_hal=no elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_hal=no else HAL_CFLAGS=$pkg_cv_HAL_CFLAGS HAL_LIBS=$pkg_cv_HAL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_hal=yes fi if test x"$have_hal" = x"yes"; then $as_echo "#define HAVE_HAL 1" >>confdefs.h else as_fn_error $? "To use HAL support, you must have development packages of dbus-glib-1 (>=0.31), hal(>=0.5.0), and hal-storage, or you can use --disable-hal to disable HAL support." "$LINENO" 5 fi else pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUDEV" >&5 $as_echo_n "checking for LIBUDEV... " >&6; } if test -n "$LIBUDEV_CFLAGS"; then pkg_cv_LIBUDEV_CFLAGS="$LIBUDEV_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libudev >= 143\""; } >&5 ($PKG_CONFIG --exists --print-errors "libudev >= 143") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBUDEV_CFLAGS=`$PKG_CONFIG --cflags "libudev >= 143" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBUDEV_LIBS"; then pkg_cv_LIBUDEV_LIBS="$LIBUDEV_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libudev >= 143\""; } >&5 ($PKG_CONFIG --exists --print-errors "libudev >= 143") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBUDEV_LIBS=`$PKG_CONFIG --libs "libudev >= 143" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBUDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libudev >= 143" 2>&1` else LIBUDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libudev >= 143" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBUDEV_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libudev >= 143) were not met: $LIBUDEV_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBUDEV_CFLAGS and LIBUDEV_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBUDEV_CFLAGS and LIBUDEV_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else LIBUDEV_CFLAGS=$pkg_cv_LIBUDEV_CFLAGS LIBUDEV_LIBS=$pkg_cv_LIBUDEV_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi if test "$use_hal" = "yes"; then USE_HAL_TRUE= USE_HAL_FALSE='#' else USE_HAL_TRUE='#' USE_HAL_FALSE= fi # Check whether --enable-inotify was given. if test "${enable_inotify+set}" = set; then : enableval=$enable_inotify; use_inotify=$enableval else use_inotify="yes" fi if test x"$use_inotify" = x"yes"; then $as_echo "#define USE_INOTIFY 1" >>confdefs.h else FAM_CFLAGS="" FAM_LIBS="" have_libfam=no for ac_header in fam.h do : ac_fn_c_check_header_mongrel "$LINENO" "fam.h" "ac_cv_header_fam_h" "$ac_includes_default" if test "x$ac_cv_header_fam_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FAM_H 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FAMOpen in -lfam" >&5 $as_echo_n "checking for FAMOpen in -lfam... " >&6; } if ${ac_cv_lib_fam_FAMOpen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfam $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char FAMOpen (); int main () { return FAMOpen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_fam_FAMOpen=yes else ac_cv_lib_fam_FAMOpen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fam_FAMOpen" >&5 $as_echo "$ac_cv_lib_fam_FAMOpen" >&6; } if test "x$ac_cv_lib_fam_FAMOpen" = xyes; then : have_libfam="yes" FAM_LIBS="-lfam" fi fi done if test x"$have_libfam" = x"yes"; then $as_echo "#define HAVE_FAM_H 1" >>confdefs.h $as_echo "#define HAVE_LIBFAM 1" >>confdefs.h save_LIBS="$LIBS" LIBS="$LIBS $FAM_LIBS" for ac_func in FAMNoExists do : ac_fn_c_check_func "$LINENO" "FAMNoExists" "ac_cv_func_FAMNoExists" if test "x$ac_cv_func_FAMNoExists" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FAMNOEXISTS 1 _ACEOF fi done LIBS="$save_LIBS" else as_fn_error $? "Fatal Error: no fam or gamin detected." "$LINENO" 5 fi fi # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; largefile=$enableval else largefile="yes" fi if test x"$largefile" = x"yes"; then CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64" $as_echo "#define _LARGEFILE64_SOURCE 1" >>confdefs.h $as_echo "#define _FILE_OFFSET_BITS 64" >>confdefs.h fi # Check whether --enable-superuser-checks was given. if test "${enable_superuser_checks+set}" = set; then : enableval=$enable_superuser_checks; superuser_checks=$enableval else superuser_checks="yes" fi if test x"$superuser_checks" = "xyes"; then $as_echo "#define SUPER_USER_CHECKS 1" >>confdefs.h fi # Check whether --with-preferable-sudo was given. if test "${with_preferable_sudo+set}" = set; then : withval=$with_preferable_sudo; preferable_sudo="$withval" fi if test ! -z "$preferable_sudo"; then CPPFLAGS="$CPPFLAGS -DPREFERABLE_SUDO_PROG=\\\"$preferable_sudo\\\"" fi # Check whether --enable-desktop-integration was given. if test "${enable_desktop_integration+set}" = set; then : enableval=$enable_desktop_integration; desktop_integration=$enableval else desktop_integration="yes" fi if test x"$desktop_integration" = "xyes"; then $as_echo "#define DESKTOP_INTEGRATION 1" >>confdefs.h fi if test "$desktop_integration" = "yes"; then DESKTOP_INTEGRATION_TRUE= DESKTOP_INTEGRATION_FALSE='#' else DESKTOP_INTEGRATION_TRUE='#' DESKTOP_INTEGRATION_FALSE= fi # Check whether --enable-video-thumbnails was given. if test "${enable_video_thumbnails+set}" = set; then : enableval=$enable_video_thumbnails; video_thumbnails=$enableval else video_thumbnails="yes" fi if test x"$video_thumbnails" = "xyes"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FFMPEG" >&5 $as_echo_n "checking for FFMPEG... " >&6; } if test -n "$FFMPEG_CFLAGS"; then pkg_cv_FFMPEG_CFLAGS="$FFMPEG_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffmpegthumbnailer\""; } >&5 ($PKG_CONFIG --exists --print-errors "libffmpegthumbnailer") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FFMPEG_CFLAGS=`$PKG_CONFIG --cflags "libffmpegthumbnailer" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$FFMPEG_LIBS"; then pkg_cv_FFMPEG_LIBS="$FFMPEG_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffmpegthumbnailer\""; } >&5 ($PKG_CONFIG --exists --print-errors "libffmpegthumbnailer") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FFMPEG_LIBS=`$PKG_CONFIG --libs "libffmpegthumbnailer" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then FFMPEG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libffmpegthumbnailer" 2>&1` else FFMPEG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libffmpegthumbnailer" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$FFMPEG_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libffmpegthumbnailer) were not met: $FFMPEG_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables FFMPEG_CFLAGS and FFMPEG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables FFMPEG_CFLAGS and FFMPEG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else FFMPEG_CFLAGS=$pkg_cv_FFMPEG_CFLAGS FFMPEG_LIBS=$pkg_cv_FFMPEG_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } HAVE_FFMPEG=yes fi $as_echo "#define HAVE_FFMPEG 1" >>confdefs.h fi # Check whether --enable-pixmaps was given. if test "${enable_pixmaps+set}" = set; then : enableval=$enable_pixmaps; use_pixmaps=$enableval else use_pixmaps="no" fi if test ! x"$use_pixmaps" = x"yes"; then NO_PIXMAPS_TRUE= NO_PIXMAPS_FALSE='#' else NO_PIXMAPS_TRUE='#' NO_PIXMAPS_FALSE= fi CPPFLAGS="$CPPFLAGS -fstrict-aliasing -fmessage-length=0" CPPFLAGS="$CPPFLAGS -DDATADIR=\\\"$datadir\\\" -DHTMLDIR=\\\"$htmldir\\\"" ac_fn_c_check_func "$LINENO" "euidaccess" "ac_cv_func_euidaccess" if test "x$ac_cv_func_euidaccess" = xyes; then : $as_echo "#define HAVE_EUIDACCESS /**/" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "eaccess" "ac_cv_func_eaccess" if test "x$ac_cv_func_eaccess" = xyes; then : $as_echo "#define HAVE_EACCESS /**/" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "statvfs" "ac_cv_func_statvfs" if test "x$ac_cv_func_statvfs" = xyes; then : $as_echo "#define HAVE_STATVFS /**/" >>confdefs.h fi # Gtk Builder #AC_PATH_PROG([GTK_BUILDER_CONVERT],[gtk-builder-convert],[false]) #if test "$GTK_BUILDER_CONVERT" = "false"; then # AC_MSG_ERROR([gtk-builder-convert not found]) #fi GETTEXT_PACKAGE=spacefm cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF ALL_LINGUAS="af ar da ca cs de es et eu fa fi fr gl he hr hu id it ja ko lt ml ms nb nl nn pl ps pt pt_BR ru sk sl sv tr uk ur ur_PK vi zh_CN zh_TW" for ac_header in locale.h do : ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" if test "x$ac_cv_header_locale_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LOCALE_H 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if ${am_cv_val_LC_MESSAGES+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_val_LC_MESSAGES=yes else am_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5 $as_echo "$am_cv_val_LC_MESSAGES" >&6; } if test $am_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = xyes; then : gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5 $as_echo_n "checking for ngettext in libc... " >&6; } if ${gt_cv_func_ngettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !ngettext ("","", 1) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_ngettext_libc=yes else gt_cv_func_ngettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5 $as_echo "$gt_cv_func_ngettext_libc" >&6; } if test "$gt_cv_func_ngettext_libc" = "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5 $as_echo_n "checking for dgettext in libc... " >&6; } if ${gt_cv_func_dgettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !dgettext ("","") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_dgettext_libc=yes else gt_cv_func_dgettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5 $as_echo "$gt_cv_func_dgettext_libc" >&6; } fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; } if ${ac_cv_lib_intl_bindtextdomain+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char bindtextdomain (); int main () { return bindtextdomain (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_bindtextdomain=yes else ac_cv_lib_intl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; } if test "x$ac_cv_lib_intl_bindtextdomain" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5 $as_echo_n "checking for dgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dgettext (); int main () { return dgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dgettext=yes else ac_cv_lib_intl_dgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5 $as_echo "$ac_cv_lib_intl_dgettext" >&6; } if test "x$ac_cv_lib_intl_dgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes fi fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5 $as_echo_n "checking if -liconv is needed to use gettext... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5 $as_echo_n "checking for dcgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dcgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dcgettext (); int main () { return dcgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dcgettext=yes else ac_cv_lib_intl_dcgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5 $as_echo "$ac_cv_lib_intl_dcgettext" >&6; } if test "x$ac_cv_lib_intl_dcgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv else : fi else : fi fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" for ac_func in dcgettext do : ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext" if test "x$ac_cv_func_dcgettext" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi done MSGFMT_OPTS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5 $as_echo_n "checking if msgfmt accepts -c... " >&6; } cat >conftest.foo <<_ACEOF msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" _ACEOF if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5 ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } echo "$as_me: failed input was:" >&5 sed 's/^/| /' conftest.foo >&5 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : CATOBJEXT=.gmo DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *-*-openbsd*) CATOBJEXT=.mo DATADIRNAME=share ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po ac_config_commands="$ac_config_commands default-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5 $as_echo_n "checking for catalogs to be installed... " >&6; } NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5 $as_echo "$LINGUAS" >&6; } fi if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ac_config_files="$ac_config_files Makefile etc/Makefile src/Makefile po/Makefile.in data/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" if test -z "${USE_HAL_TRUE}" && test -z "${USE_HAL_FALSE}"; then as_fn_error $? "conditional \"USE_HAL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${DESKTOP_INTEGRATION_TRUE}" && test -z "${DESKTOP_INTEGRATION_FALSE}"; then as_fn_error $? "conditional \"DESKTOP_INTEGRATION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${NO_PIXMAPS_TRUE}" && test -z "${NO_PIXMAPS_FALSE}"; then as_fn_error $? "conditional \"NO_PIXMAPS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by spacefm $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ spacefm config.status 1.0.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="" # ### BEGIN LIBTOOL CONFIG # Whether or not to build static libraries. build_old_libs=$enable_static # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and in which our libraries should be installed. lt_sysroot=$lt_sysroot # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) if test x"$xsi_shell" = xyes; then sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ func_dirname ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_basename ()$/,/^} # func_basename /c\ func_basename ()\ {\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ func_dirname_and_basename ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ func_stripname ()\ {\ \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ \ # positional parameters, so assign one to ordinary parameter first.\ \ func_stripname_result=${3}\ \ func_stripname_result=${func_stripname_result#"${1}"}\ \ func_stripname_result=${func_stripname_result%"${2}"}\ } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ func_split_long_opt ()\ {\ \ func_split_long_opt_name=${1%%=*}\ \ func_split_long_opt_arg=${1#*=}\ } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ func_split_short_opt ()\ {\ \ func_split_short_opt_arg=${1#??}\ \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ func_lo2o ()\ {\ \ case ${1} in\ \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ \ *) func_lo2o_result=${1} ;;\ \ esac\ } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_xform ()$/,/^} # func_xform /c\ func_xform ()\ {\ func_xform_result=${1%.*}.lo\ } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_arith ()$/,/^} # func_arith /c\ func_arith ()\ {\ func_arith_result=$(( $* ))\ } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_len ()$/,/^} # func_len /c\ func_len ()\ {\ func_len_result=${#1}\ } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$lt_shell_append" = xyes; then sed -e '/^func_append ()$/,/^} # func_append /c\ func_append ()\ {\ eval "${1}+=\\${2}"\ } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ func_append_quoted ()\ {\ \ func_quote_for_eval "${2}"\ \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi resolve_datadir="$(eval echo "$datadir")" while [ "${resolve_datadir:0:1}" == "$" ]; do resolve_datadir="$(eval echo "$resolve_datadir")" done resolve_htmldir="$(eval echo "$htmldir")" while [ "${resolve_htmldir:0:1}" == "$" ]; do resolve_htmldir="$(eval echo "$resolve_htmldir")" done echo echo SpaceFM...................................... : Version $VERSION echo echo Prefix....................................... : $prefix echo Executable................................... : $prefix/bin/spacefm echo Configuration Dir............................ : "$sysconfdir/spacefm/" if test x"$use_pixmaps" = x"yes"; then echo Icon Dir..................................... : "$resolve_datadir/pixmaps/" else echo Icon Dir..................................... : "$resolve_datadir/icons/hicolor/" fi echo Documentation Dir............................ : "$resolve_htmldir/" if test ! -z "$bash_path"; then echo Custom path to bash v4....................... : "$bash_path" fi if test x"$use_hal" = x"yes"; then echo Linux device support......................... : hal else echo Linux device support......................... : libudev fi if test x"$use_inotify" = x"yes"; then echo Linux file change monitor support............ : inotify else echo Linux file change monitor support............ : fam/gamin fi echo 64-bit Large file support.................... : $largefile #echo Show warnings if run as super user........... : $superuser_checks if test ! -z "$preferable_sudo"; then echo Additional graphical su program.............. : $preferable_sudo fi if test x"$with_gtk3" = x"yes"; then echo 'GTK+ Version................................. : GTK 3' else echo 'GTK+ Version................................. : GTK 2' fi echo Desktop manager integration.................. : $desktop_integration echo Startup notification......................... : $use_sn echo Video thumbnail support...................... : $video_thumbnails echo echo 'Homepage: http://ignorantguru.github.io/spacefm/' echo echo Please read README carefully if you are packaging SpaceFM. echo if test ! x"$use_pixmaps" = x"yes"; then echo echo 'IMPORTANT: After make and install, run:' echo " sudo gtk-update-icon-cache -q -t -f $resolve_datadir/icons/hicolor" echo " sudo gtk-update-icon-cache -q -t -f $resolve_datadir/icons/Faenza" echo fi if test ! -z "$bash_path"; then echo "IMPORTANT: SpaceFM is highly integrated with bash and uses features of" echo " bash v4. Attempting to substitute another shell for bash WILL cause" echo " feature breakage, even if not immediately apparent. Use genuine" echo " bash." echo fi echo spacefm-1.0.5/configure.ac000066400000000000000000000317471264770501700154460ustar00rootroot00000000000000dnl Process this file with autoconf to produce a configure script. AC_INIT([spacefm], [1.0.5]) AC_CONFIG_SRCDIR([src/main.c]) AM_INIT_AUTOMAKE([dist-bzip2] [subdir-objects]) AM_MAINTAINER_MODE AM_DISABLE_STATIC AC_ISC_POSIX AC_PROG_CC AM_PROG_LIBTOOL AM_PROG_CC_STDC AC_PROG_INTLTOOL AC_HEADER_STDC # sysconfdir defaults to /usr/local/etc if this is not done: test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc # libtool option to control which symbols are exported # right now, symbols starting with _ are not exported LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"' AC_SUBST(LIBTOOL_EXPORT_OPTIONS) # check for mmap() AC_FUNC_MMAP AC_CHECK_LIB(m, pow) AC_CHECK_LIB(X11, XClearWindow) AC_DEFINE(G_DISABLE_ASSERT, [1], [do not enable g_asserts]) AC_DEFINE(G_LOG_DOMAIN, "SpaceFM") AC_ARG_WITH([bash-path], AC_HELP_STRING([--with-bash-path=PATH], [Absolute path to GENUINE bash v4 - other shells lack features REQUIRED by SpaceFM (default: /bin/bash)]), AC_DEFINE_UNQUOTED(BASHPATH, "$withval", [path to bash]), AC_DEFINE_UNQUOTED(BASHPATH, "/bin/bash", [path to bash])) bash_path="$withval" # IMPORTANT: For security reasons, an absolute path must be used for genuine # bash v4. SpaceFM runs bash as root and you WILL open root exploits if you # disable this check, or run bash based on $PATH. if test ! -z "$bash_path"; then if test ! "${bash_path:0:1}" = "/"; then AC_MSG_ERROR([Fatal Error: Option --with-bash-path requires absolute path.]) fi echo "Modifying spacefm-auth to use bash path..." bash_esc="${bash_path//\//\\/}" sed "s/\(\/bin\/bash\)/$bash_esc/" src/spacefm-auth.bash > src/spacefm-auth else cp -pf src/spacefm-auth.bash src/spacefm-auth fi # gtk2 or gtk3 PKG_PROG_PKG_CONFIG gtk2_modules="gtk+-2.0 >= 2.18.0 \ gthread-2.0 \ gobject-2.0" gtk3_modules="gtk+-3.0 >= 3.0.0 \ gthread-2.0 \ gobject-2.0" AC_ARG_WITH([gtk3], AS_HELP_STRING([--with-gtk3], [Build with GTK3 interface instead of GTK2 (default: with GTK2 unless GTK2 not installed)]), with_gtk3=$withval, with_gtk3="no") AC_ARG_WITH([gtk2], AS_HELP_STRING([--with-gtk2], [Build with GTK2 interface only (default: with GTK2 unless GTK2 not installed)]), with_gtk2=$withval, with_gtk2="no") if test x"$with_gtk3" = x"yes"; then # user enabled - gtk3 required PKG_CHECK_MODULES(GTK, [$gtk3_modules]) AC_DEFINE([HAVE_GTK3], [1], [Use GTK3]) elif test x"$with_gtk2" = x"yes"; then # user enabled - gtk2 required PKG_CHECK_MODULES(GTK, [$gtk2_modules]) else # disabled - use gtk3 only if gtk2 not installed PKG_CHECK_MODULES(GTK, [$gtk2_modules], with_gtk3="no", [ PKG_CHECK_MODULES(GTK, [$gtk3_modules], with_gtk3="yes", with_gtk3="no") ]) if test x"$with_gtk3" = x"yes"; then AC_DEFINE([HAVE_GTK3], [1], [Use GTK3]) else PKG_CHECK_MODULES(GTK, [$gtk2_modules]) fi fi AC_SUBST([GTK_CFLAGS]) AC_SUBST([GTK_LIBS]) # Default make options # disable deprecated warnings for now due to GTK2/GTK3 build compat CPPFLAGS="$CPPFLAGS -Wno-deprecated-declarations -Wformat -Wformat-security -Wreturn-type -Wunused-value" # start-notification is optional - will be used if installed and no --disable AC_ARG_ENABLE( [startup-notification], AS_HELP_STRING([--disable-startup-notification], [disable use of libstartup-notification (default: enable if installed)]), use_sn=$enableval, use_sn="yes") if test x"$use_sn" = x"yes"; then sn_modules_old="libstartup-notification-0.9" sn_modules="libstartup-notification-1.0" PKG_CHECK_MODULES(SN, [$sn_modules_old], use_sn="yes", [ PKG_CHECK_MODULES(SN, [$sn_modules], use_sn="yes", use_sn="no (not installed)") ]) if test x"$use_sn" = x"yes"; then AC_SUBST(SN_CFLAGS) AC_SUBST(SN_LIBS) AC_DEFINE([HAVE_SN], [1], [Use SN]) fi fi dnl linker optimizations AC_MSG_CHECKING([whether $LD accepts --as-needed]) case `$LD --as-needed -v 2>&1 &1 &1 =0.31), hal(>=0.5.0), and hal-storage, or you can use --disable-hal to disable HAL support.]) fi else PKG_CHECK_MODULES(LIBUDEV, [libudev >= 143]) AC_SUBST(LIBUDEV_CFLAGS) AC_SUBST(LIBUDEV_LIBS) fi AM_CONDITIONAL(USE_HAL, test "$use_hal" = "yes") AC_SUBST(HAL_CFLAGS) AC_SUBST(HAL_LIBS) AC_ARG_ENABLE([inotify], AS_HELP_STRING([--disable-inotify], [disable Linux inotify kernel support (requires fam/gamin instead) (default: enable)]), use_inotify=$enableval, use_inotify="yes") if test x"$use_inotify" = x"yes"; then dnl Linux inotify is enabled. dnl So, both of FAM and gamin are not needed. AC_DEFINE(USE_INOTIFY, 1, [Whether to enable Linux inotify support]) else dnl *************************** dnl *** Check for Gamin/FAM *** dnl *************************** dnl *Modified from XFCE Thunar* FAM_CFLAGS="" FAM_LIBS="" have_libfam=no AC_CHECK_HEADERS([fam.h], [ AC_CHECK_LIB([fam], [FAMOpen], [have_libfam="yes" FAM_LIBS="-lfam"]) ]) if test x"$have_libfam" = x"yes"; then dnl Define appropriate symbols AC_DEFINE([HAVE_FAM_H], [1], [Define to 1 if you have the header file.]) AC_DEFINE([HAVE_LIBFAM], [1], [Define to 1 if the File Alteration Monitor is available.]) dnl Check for FAMNoExists (currently Gamin only) save_LIBS="$LIBS" LIBS="$LIBS $FAM_LIBS" AC_CHECK_FUNCS([FAMNoExists]) LIBS="$save_LIBS" else AC_MSG_ERROR([Fatal Error: no fam or gamin detected.]) fi fi AC_SUBST([FAM_CFLAGS]) AC_SUBST([FAM_LIBS]) AC_ARG_ENABLE([largefile], AS_HELP_STRING([--enable-largefile], [enable Large file support (default: yes)]), largefile=$enableval, largefile="yes") if test x"$largefile" = x"yes"; then CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64" AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support]) AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits]) fi AC_ARG_ENABLE( [superuser-checks], AS_HELP_STRING([--disable-superuser-checks], [disable checks running as super user (no current function) (default: enable)]), superuser_checks=$enableval, superuser_checks="yes") if test x"$superuser_checks" = "xyes"; then AC_DEFINE(SUPER_USER_CHECKS, 1, [Whether to check running as super user or not]) fi AC_ARG_WITH( [preferable-sudo], AS_HELP_STRING([--with-preferable-sudo=PROG], [Specify custom graphical su program to run root commands (or see /etc/spacefm/spacefm.conf)]), [ preferable_sudo="$withval" ]) if test ! -z "$preferable_sudo"; then CPPFLAGS="$CPPFLAGS -DPREFERABLE_SUDO_PROG=\\\"$preferable_sudo\\\"" fi AC_ARG_ENABLE( [desktop-integration], AS_HELP_STRING([--disable-desktop-integration], [disable desktop manager integration (default: enable)]), desktop_integration=$enableval, desktop_integration="yes") if test x"$desktop_integration" = "xyes"; then AC_DEFINE(DESKTOP_INTEGRATION, 1, [Whether to integrate desktop or not.]) fi AM_CONDITIONAL(DESKTOP_INTEGRATION, test "$desktop_integration" = "yes") AC_ARG_ENABLE( [video-thumbnails], AS_HELP_STRING([--disable-video-thumbnails], [disable libffmpegthumbnailer video thumbnails (default: enable)]), video_thumbnails=$enableval, video_thumbnails="yes") if test x"$video_thumbnails" = "xyes"; then PKG_CHECK_MODULES( FFMPEG, libffmpegthumbnailer, HAVE_FFMPEG=yes) AC_SUBST(FFMPEG_CFLAGS) AC_SUBST(FFMPEG_LIBS) AC_DEFINE(HAVE_FFMPEG, 1, [Whether to use video thumbnails or not.]) fi AC_ARG_ENABLE( [pixmaps], AS_HELP_STRING([--enable-pixmaps], [use share/pixmaps dir instead of share/icons dir to store icons (default: disable)]), use_pixmaps=$enableval, use_pixmaps="no") AM_CONDITIONAL(NO_PIXMAPS, test ! x"$use_pixmaps" = x"yes") dnl advanced compiler tweaking CPPFLAGS="$CPPFLAGS -fstrict-aliasing -fmessage-length=0" dnl data dirs CPPFLAGS="$CPPFLAGS -DDATADIR=\\\"$datadir\\\" -DHTMLDIR=\\\"$htmldir\\\"" AC_CHECK_FUNC(euidaccess,[AC_DEFINE(HAVE_EUIDACCESS,[],[Define to 1 if euidaccess is available])]) AC_CHECK_FUNC(eaccess,[AC_DEFINE(HAVE_EACCESS,[],[Define to 1 if eaccess is available])]) AC_CHECK_FUNC(statvfs,[AC_DEFINE(HAVE_STATVFS,[],[Define to 1 if statvfs is available])]) # Gtk Builder #AC_PATH_PROG([GTK_BUILDER_CONVERT],[gtk-builder-convert],[false]) #if test "$GTK_BUILDER_CONVERT" = "false"; then # AC_MSG_ERROR([gtk-builder-convert not found]) #fi GETTEXT_PACKAGE=spacefm AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.]) dnl Add the languages which your application supports here. ALL_LINGUAS="af ar da ca cs de es et eu fa fi fr gl he hr hu id it ja ko lt ml ms nb nl nn pl ps pt pt_BR ru sk sl sv tr uk ur ur_PK vi zh_CN zh_TW" AM_GLIB_GNU_GETTEXT AC_OUTPUT([ Makefile etc/Makefile src/Makefile po/Makefile.in data/Makefile ]) resolve_datadir="$(eval echo "$datadir")" while [[ "${resolve_datadir:0:1}" == "$" ]]; do resolve_datadir="$(eval echo "$resolve_datadir")" done resolve_htmldir="$(eval echo "$htmldir")" while [[ "${resolve_htmldir:0:1}" == "$" ]]; do resolve_htmldir="$(eval echo "$resolve_htmldir")" done echo echo SpaceFM...................................... : Version $VERSION echo echo Prefix....................................... : $prefix echo Executable................................... : $prefix/bin/spacefm echo Configuration Dir............................ : "$sysconfdir/spacefm/" if test x"$use_pixmaps" = x"yes"; then echo Icon Dir..................................... : "$resolve_datadir/pixmaps/" else echo Icon Dir..................................... : "$resolve_datadir/icons/hicolor/" fi echo Documentation Dir............................ : "$resolve_htmldir/" if test ! -z "$bash_path"; then echo Custom path to bash v4....................... : "$bash_path" fi if test x"$use_hal" = x"yes"; then echo Linux device support......................... : hal else echo Linux device support......................... : libudev fi if test x"$use_inotify" = x"yes"; then echo Linux file change monitor support............ : inotify else echo Linux file change monitor support............ : fam/gamin fi echo 64-bit Large file support.................... : $largefile #echo Show warnings if run as super user........... : $superuser_checks if test ! -z "$preferable_sudo"; then echo Additional graphical su program.............. : $preferable_sudo fi if test x"$with_gtk3" = x"yes"; then echo 'GTK+ Version................................. : GTK 3' else echo 'GTK+ Version................................. : GTK 2' fi echo Desktop manager integration.................. : $desktop_integration echo Startup notification......................... : $use_sn echo Video thumbnail support...................... : $video_thumbnails echo echo 'Homepage: http://ignorantguru.github.io/spacefm/' echo echo Please read README carefully if you are packaging SpaceFM. echo if test ! x"$use_pixmaps" = x"yes"; then echo echo 'IMPORTANT: After make and install, run:' echo " sudo gtk-update-icon-cache -q -t -f $resolve_datadir/icons/hicolor" echo " sudo gtk-update-icon-cache -q -t -f $resolve_datadir/icons/Faenza" echo fi if test ! -z "$bash_path"; then echo "IMPORTANT: SpaceFM is highly integrated with bash and uses features of" echo " bash v4. Attempting to substitute another shell for bash WILL cause" echo " feature breakage, even if not immediately apparent. Use genuine" echo " bash." echo fi echo spacefm-1.0.5/data/000077500000000000000000000000001264770501700140555ustar00rootroot00000000000000spacefm-1.0.5/data/Makefile.am000066400000000000000000000050701264770501700161130ustar00rootroot00000000000000desktopdir = $(datadir)/applications dt_in_files = spacefm.desktop.in \ spacefm-find.desktop.in \ spacefm-folder-handler.desktop.in desktop_DATA = $(dt_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ DISTCLEANFILES = spacefm.desktop \ spacefm-find.desktop \ spacefm-folder-handler.desktop if NO_PIXMAPS icon48dir = $(datadir)/icons/hicolor/48x48/apps icon48_DATA = \ spacefm.png \ spacefm-root.png \ spacefm-find.png \ spacefm-48-cube-blue.png \ spacefm-48-cube-green.png \ spacefm-48-cube-red.png \ spacefm-48-folder-blue.png \ spacefm-48-folder-red.png \ spacefm-48-pyramid-blue.png \ spacefm-48-pyramid-green.png \ spacefm-48-pyramid-red.png icon128dir = $(datadir)/icons/hicolor/128x128/apps icon128_DATA = \ spacefm-128-cube-blue.png \ spacefm-128-cube-green.png \ spacefm-128-cube-red.png \ spacefm-128-pyramid-blue.png \ spacefm-128-pyramid-green.png \ spacefm-128-pyramid-red.png faenzadir = $(datadir)/icons/Faenza/apps/48 faenza_DATA = \ faenza/spacefm.png \ faenza/spacefm-root.png \ faenza/spacefm-find.png else icondir = $(datadir)/pixmaps icon_DATA = \ spacefm.png \ spacefm-root.png \ spacefm-find.png \ spacefm-128-cube-blue.png \ spacefm-128-cube-green.png \ spacefm-128-cube-red.png \ spacefm-128-pyramid-blue.png \ spacefm-128-pyramid-green.png \ spacefm-128-pyramid-red.png \ spacefm-48-cube-blue.png \ spacefm-48-cube-green.png \ spacefm-48-cube-red.png \ spacefm-48-faenza-blue.png \ spacefm-48-faenza-find.png \ spacefm-48-faenza-red.png \ spacefm-48-folder-blue.png \ spacefm-48-folder-red.png \ spacefm-48-pyramid-blue.png \ spacefm-48-pyramid-green.png \ spacefm-48-pyramid-red.png endif filedir = $(datadir)/spacefm uidir=$(filedir)/ui # sfm don't install mount.rules for no-hal build if USE_HAL file_DATA = \ mount.rules endif # html-doc htmldir = @htmldir@ html_DATA = spacefm-manual-en.html # GtkBuilder UI definition files ui_in_files= \ ui/prefdlg.glade \ ui/prefdlg2.glade \ ui/appchooserdlg.glade \ ui/file_properties.glade \ ui/about-dlg.glade \ ui/find-files.glade \ ui/find-files2.glade \ ui/godlg.glade ui_DATA = $(ui_in_files:.glade=.ui) EXTRA_DIST = \ $(desktop_DATA) \ $(icon_DATA) \ $(file_DATA) \ $(ui_DATA) CLEANFILES = spacefm.desktop \ spacefm-find.desktop \ spacefm-folder-handler.desktop # Generate GtkBuilder UI files from Glade files # was with GNU extension: %.ui: %.glade .glade.ui: # $(GTK_BUILDER_CONVERT) $< $@ $(top_srcdir)/gtk-builder-convert $< $@ # $(top_builddir)/src/xml-purge $@ spacefm-1.0.5/data/Makefile.in000066400000000000000000000610271264770501700161300ustar00rootroot00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(faenzadir)" \ "$(DESTDIR)$(filedir)" "$(DESTDIR)$(htmldir)" \ "$(DESTDIR)$(icondir)" "$(DESTDIR)$(icon128dir)" \ "$(DESTDIR)$(icon48dir)" "$(DESTDIR)$(uidir)" DATA = $(desktop_DATA) $(faenza_DATA) $(file_DATA) $(html_DATA) \ $(icon_DATA) $(icon128_DATA) $(icon48_DATA) $(ui_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FAM_CFLAGS = @FAM_CFLAGS@ FAM_LIBS = @FAM_LIBS@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ G_CAST_CHECKS = @G_CAST_CHECKS@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_EXPORT_OPTIONS = @LIBTOOL_EXPORT_OPTIONS@ LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@ LIBUDEV_LIBS = @LIBUDEV_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SN_CFLAGS = @SN_CFLAGS@ SN_LIBS = @SN_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ # html-doc htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ desktopdir = $(datadir)/applications dt_in_files = spacefm.desktop.in \ spacefm-find.desktop.in \ spacefm-folder-handler.desktop.in desktop_DATA = $(dt_in_files:.desktop.in=.desktop) DISTCLEANFILES = spacefm.desktop \ spacefm-find.desktop \ spacefm-folder-handler.desktop @NO_PIXMAPS_TRUE@icon48dir = $(datadir)/icons/hicolor/48x48/apps @NO_PIXMAPS_TRUE@icon48_DATA = \ @NO_PIXMAPS_TRUE@ spacefm.png \ @NO_PIXMAPS_TRUE@ spacefm-root.png \ @NO_PIXMAPS_TRUE@ spacefm-find.png \ @NO_PIXMAPS_TRUE@ spacefm-48-cube-blue.png \ @NO_PIXMAPS_TRUE@ spacefm-48-cube-green.png \ @NO_PIXMAPS_TRUE@ spacefm-48-cube-red.png \ @NO_PIXMAPS_TRUE@ spacefm-48-folder-blue.png \ @NO_PIXMAPS_TRUE@ spacefm-48-folder-red.png \ @NO_PIXMAPS_TRUE@ spacefm-48-pyramid-blue.png \ @NO_PIXMAPS_TRUE@ spacefm-48-pyramid-green.png \ @NO_PIXMAPS_TRUE@ spacefm-48-pyramid-red.png @NO_PIXMAPS_TRUE@icon128dir = $(datadir)/icons/hicolor/128x128/apps @NO_PIXMAPS_TRUE@icon128_DATA = \ @NO_PIXMAPS_TRUE@ spacefm-128-cube-blue.png \ @NO_PIXMAPS_TRUE@ spacefm-128-cube-green.png \ @NO_PIXMAPS_TRUE@ spacefm-128-cube-red.png \ @NO_PIXMAPS_TRUE@ spacefm-128-pyramid-blue.png \ @NO_PIXMAPS_TRUE@ spacefm-128-pyramid-green.png \ @NO_PIXMAPS_TRUE@ spacefm-128-pyramid-red.png @NO_PIXMAPS_TRUE@faenzadir = $(datadir)/icons/Faenza/apps/48 @NO_PIXMAPS_TRUE@faenza_DATA = \ @NO_PIXMAPS_TRUE@ faenza/spacefm.png \ @NO_PIXMAPS_TRUE@ faenza/spacefm-root.png \ @NO_PIXMAPS_TRUE@ faenza/spacefm-find.png @NO_PIXMAPS_FALSE@icondir = $(datadir)/pixmaps @NO_PIXMAPS_FALSE@icon_DATA = \ @NO_PIXMAPS_FALSE@ spacefm.png \ @NO_PIXMAPS_FALSE@ spacefm-root.png \ @NO_PIXMAPS_FALSE@ spacefm-find.png \ @NO_PIXMAPS_FALSE@ spacefm-128-cube-blue.png \ @NO_PIXMAPS_FALSE@ spacefm-128-cube-green.png \ @NO_PIXMAPS_FALSE@ spacefm-128-cube-red.png \ @NO_PIXMAPS_FALSE@ spacefm-128-pyramid-blue.png \ @NO_PIXMAPS_FALSE@ spacefm-128-pyramid-green.png \ @NO_PIXMAPS_FALSE@ spacefm-128-pyramid-red.png \ @NO_PIXMAPS_FALSE@ spacefm-48-cube-blue.png \ @NO_PIXMAPS_FALSE@ spacefm-48-cube-green.png \ @NO_PIXMAPS_FALSE@ spacefm-48-cube-red.png \ @NO_PIXMAPS_FALSE@ spacefm-48-faenza-blue.png \ @NO_PIXMAPS_FALSE@ spacefm-48-faenza-find.png \ @NO_PIXMAPS_FALSE@ spacefm-48-faenza-red.png \ @NO_PIXMAPS_FALSE@ spacefm-48-folder-blue.png \ @NO_PIXMAPS_FALSE@ spacefm-48-folder-red.png \ @NO_PIXMAPS_FALSE@ spacefm-48-pyramid-blue.png \ @NO_PIXMAPS_FALSE@ spacefm-48-pyramid-green.png \ @NO_PIXMAPS_FALSE@ spacefm-48-pyramid-red.png filedir = $(datadir)/spacefm uidir = $(filedir)/ui # sfm don't install mount.rules for no-hal build @USE_HAL_TRUE@file_DATA = \ @USE_HAL_TRUE@ mount.rules html_DATA = spacefm-manual-en.html # GtkBuilder UI definition files ui_in_files = \ ui/prefdlg.glade \ ui/prefdlg2.glade \ ui/appchooserdlg.glade \ ui/file_properties.glade \ ui/about-dlg.glade \ ui/find-files.glade \ ui/find-files2.glade \ ui/godlg.glade ui_DATA = $(ui_in_files:.glade=.ui) EXTRA_DIST = \ $(desktop_DATA) \ $(icon_DATA) \ $(file_DATA) \ $(ui_DATA) CLEANFILES = spacefm.desktop \ spacefm-find.desktop \ spacefm-folder-handler.desktop all: all-am .SUFFIXES: .SUFFIXES: .glade .ui $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) install-faenzaDATA: $(faenza_DATA) @$(NORMAL_INSTALL) @list='$(faenza_DATA)'; test -n "$(faenzadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(faenzadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(faenzadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(faenzadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(faenzadir)" || exit $$?; \ done uninstall-faenzaDATA: @$(NORMAL_UNINSTALL) @list='$(faenza_DATA)'; test -n "$(faenzadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(faenzadir)'; $(am__uninstall_files_from_dir) install-fileDATA: $(file_DATA) @$(NORMAL_INSTALL) @list='$(file_DATA)'; test -n "$(filedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(filedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(filedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(filedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(filedir)" || exit $$?; \ done uninstall-fileDATA: @$(NORMAL_UNINSTALL) @list='$(file_DATA)'; test -n "$(filedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(filedir)'; $(am__uninstall_files_from_dir) install-htmlDATA: $(html_DATA) @$(NORMAL_INSTALL) @list='$(html_DATA)'; test -n "$(htmldir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ done uninstall-htmlDATA: @$(NORMAL_UNINSTALL) @list='$(html_DATA)'; test -n "$(htmldir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(htmldir)'; $(am__uninstall_files_from_dir) install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) install-icon128DATA: $(icon128_DATA) @$(NORMAL_INSTALL) @list='$(icon128_DATA)'; test -n "$(icon128dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icon128dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icon128dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icon128dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icon128dir)" || exit $$?; \ done uninstall-icon128DATA: @$(NORMAL_UNINSTALL) @list='$(icon128_DATA)'; test -n "$(icon128dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icon128dir)'; $(am__uninstall_files_from_dir) install-icon48DATA: $(icon48_DATA) @$(NORMAL_INSTALL) @list='$(icon48_DATA)'; test -n "$(icon48dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icon48dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icon48dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icon48dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icon48dir)" || exit $$?; \ done uninstall-icon48DATA: @$(NORMAL_UNINSTALL) @list='$(icon48_DATA)'; test -n "$(icon48dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icon48dir)'; $(am__uninstall_files_from_dir) install-uiDATA: $(ui_DATA) @$(NORMAL_INSTALL) @list='$(ui_DATA)'; test -n "$(uidir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(uidir)'"; \ $(MKDIR_P) "$(DESTDIR)$(uidir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(uidir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(uidir)" || exit $$?; \ done uninstall-uiDATA: @$(NORMAL_UNINSTALL) @list='$(ui_DATA)'; test -n "$(uidir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(uidir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(faenzadir)" "$(DESTDIR)$(filedir)" "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(icon128dir)" "$(DESTDIR)$(icon48dir)" "$(DESTDIR)$(uidir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-desktopDATA install-faenzaDATA \ install-fileDATA install-htmlDATA install-icon128DATA \ install-icon48DATA install-iconDATA install-uiDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-desktopDATA uninstall-faenzaDATA \ uninstall-fileDATA uninstall-htmlDATA uninstall-icon128DATA \ uninstall-icon48DATA uninstall-iconDATA uninstall-uiDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-desktopDATA install-dvi install-dvi-am install-exec \ install-exec-am install-faenzaDATA install-fileDATA \ install-html install-html-am install-htmlDATA \ install-icon128DATA install-icon48DATA install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-uiDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am uninstall-desktopDATA \ uninstall-faenzaDATA uninstall-fileDATA uninstall-htmlDATA \ uninstall-icon128DATA uninstall-icon48DATA uninstall-iconDATA \ uninstall-uiDATA @INTLTOOL_DESKTOP_RULE@ # Generate GtkBuilder UI files from Glade files # was with GNU extension: %.ui: %.glade .glade.ui: # $(GTK_BUILDER_CONVERT) $< $@ $(top_srcdir)/gtk-builder-convert $< $@ # $(top_builddir)/src/xml-purge $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: spacefm-1.0.5/data/build-manual000077500000000000000000000131421264770501700163560ustar00rootroot00000000000000#!/bin/bash # spacefm build manual # run from data/ subdir # run as: ./build-manual > spacefm-manual-en.html f="$1" if [ "$f" = "" ]; then f=spacefm-mansrc-en.html fi if [ ! -e "$f" ]; then echo "missing file $f" 1>&2 exit 1 fi trim() { s="$1" s="${s## }" s="${s%% }" echo "$s" } parse() { x="$1" head="${section[x]%%>*}>" # h1="${head#*@}" #Plugins @Creation And Files --> h2="$h1" #Plugins @Creation And Files --> h1="${h1%%@*}" #Plugins h1="${h1%%-->*}" h1="$(trim "$h1")" #Plugins hx="${h2#*@}" #Creation And Files --> if [ "$hx" = "$h2" ]; then h2="" else h2="$hx" h2="${h2%%-->*}" #Creation And Files h2="$(trim "$h2")" #Creation And Files subname="${h2##*#}" #Creation And Files #creation if [ "$subname" = "$h2" ]; then subname="" else h2="${h2%%#*}" fi fi if [ "$subname" != "" ]; then anc="$h1-$subname" else anc="$h1-$h2" fi anc=`echo "$anc" | tr '[A-Z]' '[a-z]'` anc=`echo "$anc" | tr -d '/& '` anc1="$h1" anc1=`echo "$anc1" | tr '[A-Z]' '[a-z]'` anc1=`echo "$anc1" | tr -d '/& '` } IFS=$'\n' n=$'\n' mode=0 sx=-1 # this method needs \\ for \ so use cat instead #IFS=$'\n' # makes read preserve spaces #while read l; do #done < "$f" # read sections for l in `cat -E "$f"`; do l="${l%\$}" if [[ "$l" =~ \}" subanc="$(trim "$subanc")" fi subname="${subname%%#*}" subname="${subname%-->}" subname="$(trim "$subname")" if [ "$subanc" = "" ]; then subanc=`echo "$subname" | tr '[A-Z]' '[a-z]'` subanc=`echo "$subanc" | tr -d '/& '` fi ll="

$subname
" section[sx]="${section[$sx]}$l$n" section[sx]="${section[$sx]}$ll$n" else section[sx]="${section[$sx]}$l$n" fi fi fi done (( scount = sx + 1 )) parse 0 if [ "$h1" = "toc" ]; then # converting html to nanual a=0 else # converting nanual to html # make toc echo '' echo 'Table Of Contents

' #Introduction # sx=0 main="" while (( sx < scount )); do parse $sx if [ "$h1" = "tail" ]; then break fi if [ "$main" != "$h1" ]; then # new main section if [ "$main" != "" ]; then echo "" fi main="$h1" main_anc="$anc1" echo "$main" echo "
    " fi # subsection echo " $h2
    " (( sx++ )) done echo "
" echo "
" echo # sections sx=0 main="" while (( sx < scount )); do parse $sx if [ "$h1" = "tail" ]; then break fi if [ "$main" != "$h1" ]; then # new main section main="$h1" main_anc="$anc1" echo echo "" echo "
$main
" echo "" echo fi # subsection echo echo '' echo '' echo 'Contents' echo '
    ' hh1="$h1" hh2="$h2" aanc="$anc" # sections # sy=0 mainy="" live=0 while (( sy < scount )); do parse $sy if [ "$h1" = "tail" ]; then if (( live == 1 )); then echo "
" fi break fi if [ "$mainy" != "$h1" ]; then # new main section if (( live == 1 )); then echo " " live=0 fi mainy="$h1" mainy_anc="$anc1" if [ "$mainy" = "$hh1" ]; then # live main section echo "
  • $mainy" echo "
      " live=1 else echo "
    • $mainy" fi fi # subsection if (( live == 1 )); then if [ "$h2" = "$hh2" ]; then # current subsection echo "
    • $h2" else echo "
    • $h2" fi fi (( sy++ )) done echo '
    ' echo '' echo '' echo "$hh2" section[sx]="${section[sx]//\" echo '

    ' echo (( sx++ )) done # tail # get version info if [ -e ../configure.ac ]; then ver=`grep -m 1 "^AC_INIT(\[spacefm\], \[" "../configure.ac" \ | sed 's/AC_INIT(\[spacefm\], \[\(.*\)\])/\1/'` if [ "$ver" = "" ]; then echo echo "nanual: WARNING: cannot get version" echo version="Updated $(date +%Y-%m-%d)" else version="Updated $(date +%Y-%m-%d)  (SpaceFM version $ver)" fi else version="Updated $(date +%Y-%m-%d)" fi section[scount - 1]="${section[scount - 1]//@@@version@@@/$version}" section[scount - 1]="${section[scount - 1]//@@@year@@@/$(date +%Y)}" echo echo "${section[scount - 1]}" fi spacefm-1.0.5/data/faenza/000077500000000000000000000000001264770501700153215ustar00rootroot00000000000000spacefm-1.0.5/data/faenza/spacefm-find.png000066400000000000000000000172421264770501700203710ustar00rootroot00000000000000PNG  IHDR00W pHYsu85 MiCCPPhotoshop ICC profilexڝSwX>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3gAMA|Q cHRMz%u0`:o_FIDATxĚkeWuk}νF3=fr HYVmB9 &1!ʣ?$e;v#F]!X0 5zyu{k>j.W)=瞺kn13vHFS_G Tu"&Β DNYIU9@?ˆ̇ n; WnKWy'.Q{qu8rSyDD\ˆI昍مF)emR֜b:$mb K3SVSʼn7>sH-*ΝBݑ:tǪjxUUUwt N 섎7wTu;2\]PZN4]3RSy5ߏMќ4f؏fS8 3؟9/8J=߰y]ݩ;h6bR,4Y1cldA䜱Y!8  Z9 ^s' Uԕ'>G|3{gȨ#/nع+1ߋ b&F#fH1SDq9H)c2<<<99C[D\qs 8G%:!b!4gn72pV[6Yl^7 HMF5=k{(O`aqebb)2 c"j";nw1kwQEāo)NPy넨QAe`0 017L2#EeMlƍt'+Dv1yelڴN͠I=Sz9~ɿ7~C|beș!fm}1 A~a @$?@w 9gLj)/뻜w۸v۹c5g91ƘgN2}f{}̧)sxIYB06 T D DO̱Eb{q@l&JJU!rr'7\͞㜞ɓ,,_ ɐ-0f5[۰[? |袋_ &9+fRC3x@IИK: ׬H ޺a ԫ*~m?y3q&uZT~2#lUKݝ|O|xoOu驑j8@5Mr4Ksr * r#}CTWw5{6fn~ H?f@OWCql3{q`%F1ޗ̡KT 3EMdYڜY󒳒TI9sFkQ*OO1?7B oMR8DE,#HSWlf|nA# !"bQzas&崔3e|ۙYj,b}]0)&~ssj>Pn a-̱[;L)]ǩWbCHIsi燥^Öp"SPF7O^{qL͂:Ƈ'sup<\3 cD+`Y 6N*{L3A;V N 0-ܜ,-Z!y善,90L];_iON׊rt|Zk|Ћ}ط"83d9)J/""-0D?{74~#nUj7F*L0:9qFVbt1<1AgtN= b`٫t~q%e!̼\j+4u}3:yOl?Arwpg`A'@]U-RPu^6O]y~JH *N-tkFKKU EBs)by]TusB6c:03^!GDZ'3ӞYܜgn393W>>91 .~Yn[̸u M3jqDUL淡Z#cjۯx5`̙Ax/}|>.{im+9A";6eS>OOs5B?'v*<7-|a6r#8t_swqGHQ1)P-PUR.D[[fbPTBB00k>“򅃇;bKL03;O>ɏ|g^|?CFxy_ /̗n*\}O; "bVڞ3BVѨfS"kTj#l޺ffN=yG /Ɇ3ܭg&R^K=yS`r_f6_ȏ?̠|]װjtU{:74 L\DB/ Y01Cm@̣5\?b+;:0Dcy]A!cu&-sd,3\&%:!;GJV``$F<ʐNuFY<\cqqWٹ|MxaYwf0:Qw_T-2fR(b^YVjDKH v %O+8ՁrvXT._}v~f^ ,.,1#y#s9')40Ԋ.q+8ۆM ( -%NJI/w W')1<#_-?|[.v6ǏO]xܰe`м$BH!ДӶpW qsev""TV*ЖӛOidC5[fP(M6nȋ/H='['MCr{ 6EvGHιv'LD*fF2QATiT諰&36ѳ2U =B;_< }v4}/ #8oD 6KF!a%8Gr%'2C֦2:+,DġJ|U&X_|ۿ~Uc<۷o?7{V~7@iU)= [${Á H&g鹚% A$QJs.$8\UCwaĭůGh[lʋ\oH`ow4hʈ&|Hn ޡΓţ>]=PB@\ʜ+{ q*|USG}#!j9F639E56I )oQm?GQ j-\t+s2R$I2pRZ(#jb aA?>}p_?'՘7: ;6۷JI Oviͺ<1aZ64bt\NJjΤ 3 $Tq2222Nwsm`nhPm/?~_V:,ƃ }ry\px3DݷnELe#̲E, AD[( 6fI1Mf"d/qVvlɻ/? %_ E,Ɋ- EV¤,Ij`d=ax%;MH-Hn mTm ]Z9qK1FZ(<7R%{ι*"2j[ɽ?lyfc+[Z IENDB`spacefm-1.0.5/data/faenza/spacefm-root.png000066400000000000000000000151601264770501700204310ustar00rootroot00000000000000PNG  IHDR00W pHYsu85 MiCCPPhotoshop ICC profilexڝSwX>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3gAMA|Q cHRMz%u0`:o_FIDATx۫̚U?c[Ĝ61mkIzm4Tk(EP/QT"PXlQk/$'u9aZ\(憵7{q~߹$"|ᓟ_į#sEҰ@\DP4a¶!"%xggȟw?}{o}([g$d : Y"rtȢCJ g;_7/jN_j2 "_7mrz+#-Q+1QAP07GQ H( (DD @f䄨BhJDN301e[_G=" 0 ^97ظ oW0#,*%F0L m%$Ђ$iV (HBs)9}`o'H{稬1nN)^ aBJBcaTFG!hFFH PzBk%),QKa pI#a `H±0Z |ģ E&n dMm4C5d q k؈")`A[7k%0}[%1ax &ڵ Lq\9"WEqp!H"$zf"ۈZFj)h;RێQFhx7a8JزB)XGY >$Gg37,QV,y[܈V/{u|Ih V@0HXV[s$M&=|A+Hdf\zߓc|h 뜙=Է]p%זa%p#V7ލك؁4MzUԟX8s{8#lglg oرUfFQ"PJ{=F*&l˦귔({%>*N"8?b$3\zG9^>ǘ3ݯn$4;;ANs aUQJH R@5G?p?{pY[PI _xzGlȅDo^bP?˷;!CA I~9)hI8^>4za<Lj4G#NLoBsG*)@ V|i^[DtF)cuxyj/".=[6TǾI!P-rG9UŬw/u`b]GGP=>Ge5ܛ恇P;{ǀ{csAP598wr? UkdI0%ɘ<Wͫ,.&E ?LeD:`n*=M A9bK_k([\*/3;I۴((/k .sc?N<|?3spw"G)ښyPD/ZabWfx#xitN_wO o{cQ|O7QII5H\e~፜'Iz2xss;'|}iucNSGm[U.=5|u J+Fi$DM@*.=yees=xL$1EL342DF/0Xl@foqz4:'0yҸWXpnN!rvfHJBPQ=}YjAQoܣV9UxWsdbqBpO}7/NG.}OA&l89,a1%ƼdY+5ӆXέ q / :8(ڮc]lLDbg)D>eIB]))1Lcԑzi]ӺuRsꕤ3Dəsr(y4-vMiOF0FPSl3Cê={$ ȄΌu76ݮ&mJB9$$A*C9z5f,) \0p]\];ˤ6n2쬒@rv'0JƣvpGĽA1} bQ$͐=@0Hw0@+vf, ƌH" Hק&va{&VTF"qH 7FmOyڥ)M$Qz$ : AQɝқmPZjVݠ B+R Jɻ@ME=K9wDQe>V7̿zTT$pm|(ND!56 `M9;`WţGx;Qw%w 뀺!i8M؆Bﴥh@W%c12в+HM$\U\&Sz敺-̪l(N1[zȴ5hS9d萐.30 OJ 4-Yh>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3gAMA|Q cHRMz%u0`:o_FIDATx̚KYUWuM.n"FFC;2qb!aBā( 5%-$<":{ϩrWܦ5:ʩSzڥz}I'~t륝j-9m&3:¤eˤ)sg?סŠIUɦHSA8,*Zj1Mf IHxr朝y=sY{xc L']/W_7>i,-o_g~LP'.|I’fEfFdG7z7G5is~/w?~'o}Ed; K&lsT*-`6`yf;Y1WXq12~KHW_COǣP%Y|PyX$aD'$֝{$Rb*:Ѱ[ΊU㎣y=Uyo|nlDw(/k&CAfR^x"b!IyU jVEvi;%r8p)<%z2w^6Kol JscI)men>y:fY|@| @ Db&:{<]֘[޽A*4etoYz1w89K/μCjKMId8EM5 {Xe(<į>yev 5p^R!C`JRvxfWXFC?7GJ:"^AJL*}* xq{']]`yist5yZs-ܕKW3Rv|;^8s^UuaLXnIT;nzrr`0T+{RL%[. !APXKG"I]YCLqtPid2pX&D6d*yS`bT A=Rak8 غ:4WqJÑ_ohca flQ쫕m ,: ZZRN=d NQ:5sBt$~Ÿ'{v&ZO a>w u 3.r :.S"~DJ@{KoY]=SAb FD>_I)CNePam)h}p_e?i1FR e{ATnDkYh86V|LB"j-K҇:"yKuχuiTNnqT ۾4*@TϗYHa}-Ƅa5y6`|_h*p)EMCcOu<};!P46fSi%2f _JP3T,df6Κ3Si$&(XlFmkt̉eT~2㲵Ce,.09"2ݶ}(2mDxiHVQn.9FܫNƺEWV41‹Fl_Jq4c BVIhZQ]tu*4v/XB.ٝ,t&/.EfAJ6d,r?tL PtJwyDާ2 XB h3ͅt${t{mB2CfxkLs6-6:zDb),2) f&d g 6/<ܼs$__w;>֩n.diTCv8>g?4IT֕E1-2%HFMmfsTLewg8_*Ńn~.^9Lb33-spL*ʵ _sHYgSJ[4_7S;-3c[RJ^x8sf`U>q}8o +\J?|ݛcCegn غ‘5IENDB`spacefm-1.0.5/data/mount.rules000066400000000000000000000021371264770501700162760ustar00rootroot00000000000000# This file contains default HAL mount options for SpaceFM # This file is only used if SpaceFM is built with HAL support (which is no # longer the default.) # Notes from pcmanfm legacy: # If mount options are already specfied for a volume in /etc/fstab, then # 'mount' command will be used, and it will follow /etc/fstab. # If a volume is not defined in /etc/fstab, such as removable usb disk, # the mount options defined in this file will be used. # I know this sucks. Personally, I don't like to do this either. # However, unfortunately the latest HAL forced us to do so. # http://www.linuxfromscratch.org/blfs/view/svn/general/hal.html [vfat] mount_options=shortname=mixed;uid=;utf8;umask=077;exec # mount_options=shortname=mixed;uid=;utf8;umask=077;exec;usefree # Sometimes, adding a 'usefree' option is required due to bugs in the kernel. # See: https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/133567 [udf] mount_options=uid=;exec [ntfs-3g] mount_options=locale=;exec [ntfs] mount_options=umask=222;utf8;exec fstype_override=ntfs-3g [iso9660] mount_options=uid=;utf8;exec [hfs] mount_options=uid= spacefm-1.0.5/data/spacefm-128-cube-blue.png000066400000000000000000000470671264770501700203700ustar00rootroot00000000000000PNG  IHDR>asBIT|d pHYs aF IDATx[lu[U{ww9 gxHPdbY-b#A @1Kp8@wScvlX2l̋p8gfvォê]CR(H8}޻k׵G~tG~tG~tMO[l7'ÓaOw0n C`Na$D3li?ey2t9e}??zȯ[3_uOc8{8Ƹ9ݞ{qgq1dg_2 /gq_N81S3UfrNi|Hj=ۂ ˣ4IS/^ڜt8۝춒歚rc% }SNT%RY循6CنEE%$%4,~O <@6cd;A.C _o1/ߴ(.'{/_=anM "o^?'ݽ nN3yqAeE^Qa29j[vٙvd;Y6IM$5%3'eƒ2)W3K2RVf4+ Usȋ1EB!b lb`;vv`34{qB {n2{7]>{_?q /|K_2¯_ܽIJqfcc~d@y9 d3> ™=Mv?[̉mF6YeTs͒,, jlKf@'%k;jpm VXz 'XfP C!!Faqt;#AMgA.ޏAގo<&Ƨ?\|:߈&oV(||[>yk6% 1>?B/KYÉbCe8KgI9[m6!)[ȪaVcN*s6AVHj$5[5s*f.NEG-B 3M(VE 1"M`;Fۍ616‡=I-7<{v/?~-A~|孷ފ@}y͋+O/]K2{2agɸ,bZjGF56eNɶ)[jd3¢ʒ%s6*}5#Ͷ nŊoc7vEYW:u @yH8sw,!& qd;L1>n}}';ŇJ]<_Alxwj>v=]W/:.R8/ÔL*Y8PYIT`<{N_<ػo*$Ucq'+,/:6/xwD b`;Fvt&L!\mx3Dz̿ooZ /߼xѐw~~U~/9{sj:yt=>3YLVjhr[ +CE]_S[?VUMTolP0HXT~H@U)C!M`7lǨM<oՠX~]Χ_ϯI<u ?|Jy<ON!gw5>qXiVRZܪaXϽwGM8> Jvck]l~v E C}A03ĎN{ @ 96-nd.oNmÿ_T^^}g-?~l#< |:dgģg!3/Jnr67ȝ[_l. X|ԐUFbSRZlwq6h1S'ee ?* cdzv8 $/-gכ߹G.?>]_WSf^`?)KW^3j|p‡͜2!,V`^ҿ >"Mʱ*Gt[E)lP@s.4s'Eu-tL`yU i׊# P5sbE$,fvvm8-_D˧4 C_ggg΀CիgCU sRRp;?gcg7W^9c8Lͤ\L'My+ U*[* Fއ*ED\@XGND4tRPY@ݥ>/Q$E8?ሔcfnK&J*!8N1n"϶^/Or:eF8ה~945,AI|t 9]xW |ģ˙dOdtW;N CB$*!vtG,Z^GEwWqԣ11F  6<;TyX>2!EX*AQ*DE  l"HqwQ/M]OwWlSJi挙k~TMHj.C!s5)o?>`O| 72/4jV2`ZRb|W9:^4joX_\_ 6+SPP̅ dNWC A DKb EHBqqdCvo rdcNxL J6#/k&.{.7^>"O.o漪Z`(f,]Tl"OG>ro'n==𭋙)y8ifa=[jFj 5Ao]\gA6 Cp!F@8Dq`D6vd#dkB51CBgbC6Ev6SvLSFa$JZۊJWc-2L5,M .NחEmpm2,A9=(B# lvsF>vˏ]M|ķ/&]%H%hFLp=CPLIJ h@L HpVI `0a`"Md[>ٍ#''gqE{ 1%6)SfRnd\j?g)F->V+\:Tx y1r2t}9/ %^F1p O<ن7_ˉo?xzPE|NM˅caX63P)b>bX# " QD?|z2rvl7p~2rn"`b!\^2JtsNkm;ΥA֔kYxnpPX^7>[0U՜)sJKS|AVR.Ÿ}.C`dR2O{8N"NNă-.g޹8̳}b?+YZt^ZQ5)Ez7c ;F6>v}G;B֤Ƥp(/!WsOiVKP2Ӝgp/~jM5;خ3`kA 4ڥߵM rZ7a?1圧͒Ӣ -S\Z\Y9=bJgdOEl&z嵳߽\8XWiHJ&b%Ap6 &9xMdc9bULɘ2%)ì%-4T1&գ߈u >^I"gZzЛ ЅQMW6_>G/0.su'JRL+ kwJPrմ#vzB2f=`t 2rQ&a8ËkȊd$%(93oZxc^+P]~5"j9ն<.LuU;0V*[X*XUZj$fdu Podz[jPU%s};ԻYunf Ȫ!X;i˔ɠ>Z,U_-q/%!"TXzI]j"G@W(E$mj߁#ﺩXcj S5;V%k[(W`jV+*E;Lᰠ`ZM`t>2y\l"Rrj{V6s[2,&MW1镴?[5Y=5 i>#hw~NkG ~bSdersyc3rV;^{u_zTnoB_0-f7AxGP~ϾҼl24$Fw*VZqW9E֤G;b`<WO3f0״u)WA2S`qQwp}Ls4cyV# *lesҼXF5g*f[W&O=!4o1tz<6- S*$5vHU0ԻH{صxNYWӄB<3+`Xj |_)!FW/YΗzl?{7E6%c3߹=o]vݮcrӜ/$` ˳*syt'Ս ٦J4cE+xV03g%UUJ՟5XJk*4DWdxJQ$L& S#;YJZ$$jR֧yYk^'KK E /7ˢpP;e@B8F.(ic%2f9]f6ZU8K\[ɪ&B[azN窎JMo˟;Fv#˲Jxg.v r04)${&Ro aV%s i6Ů (xX/2/6u\@TKY{Fv`y2nIw'y64V~+PVЛ x>_pqy4W\/! ?W765%㣧wןquHDZ+_ʢ YBJ ?yjby4eQ!qr9- BxV~AC91Y7Q}H BB>J2x%RۏP#WN#O؍9g09tϼY}~Kt3gּNxâ\S*L-K|x{Ze_/S`e=Eꦀ?א2-9E +j.$f#*:8+<ϴTs`݀vltq$ pt޼ز+T&xH_Ԏ3C>U\b*;^\YW/G 2ݭz. ͚C$up$iVO]7c8o8@%ɎXDqaOv_1/`kgN@饨W5ikdnit yI's<,X6!}zFU"|BW!SsRv׹CWN#mpu;#ث`̓ ?}>fRzǁkb`)H0񎮹@AAg{+*.73-'0L\ԓ@bY,_X@,s4S{&B TlygP9՚L>27)E(kxn0(xdhb.ޕklG_ui 5չkLL b.346u_#Le)&Jʤ,T,9K%HYG5#fl%gZP Fl:0k!&jj*8ogAK@ݭ+ ZbIó?|8%:'Ts1El/ ؄{oefif *"Ue;n@_OLuX8Cn{xa"0[fMmTCYG]F\#(’m:pL3Mة3gL}5 {#Kͷkhb<<޼O6rzSj^дg03P}䰲j0,>abk=/6x/09M735 Aa/9oZ`5 fd|lkGǂmx0Z?0ʄQ`kld3:A`m(ydO󯏜묮4Џ*q`}RB5TM|z{W Yȷf0w9d4 @o%f!BleBwS6G:OzTtʮVQo׶B"eUzn+mp;!%Tq$>i}ӛxv5i=je%cvXNYX%xhm K>M tJj%iZ`W#5j{[> b[C~WmYfU-}Gz^p58?3]~ز^6nw`0ӌqKg.2@͕wZ4ľj*A1 (\| tm=tw=ѳ~?v6[h}}"AoT?QTu|OH)* T$,v6̠iʦy-Bu@(:Ю\Tj9r֢U!6;DPe 0I}D~??'ܫeP:_F}k=q,(כNF !ldIkjz ϛwf%-*bHN.)Ӥ _MBnº(Zٝ \aiZmY"ʦ>a^|󮚻Ur䖀C@EG4I*茗 jtpZr^ f81 EEDҾ%@0Oߊ{eڦ ΠT|Bml t<~OV/B*1xϿtbyY=]p;E0SdfJ6s~|J$ e͐0*=hY7  eU+P~+=JPu)`(Mi|6;ژFtnJ麹!%Wm<3AE>7֝x0F# wSyQ0ǿ}df~ ڊ ~ e|1 È *u*uMĎ4:M/BM;X}0R/|O7">y[GX>2w4Ŏ cs¶^01|9>liQToB7VC8pY*{B M2cTJ" c*].J kZhZ+}/%&~&OB0y`sWHܞ; d 򩻦 vW_Wړlgs#!vfy!%@v܆-C]+uUz?xW;X['8 ! >vtkϣ]2 /X̀e%)bG;iٗ]<YdZ:cjhM 1"Z x=9?$\=6. ?Z^㬀*@wUstM8<(0Kh,}w?糖]|| ?Xz/K-9OERavq ! qK'U.+J8UմͤURu`úVk cr:}ʓC>x|$e6 cYA-UW[Wy굖r-g';!ywoA=R(E,P24C^.r/ւfT]3H"D`7Db=m|J8FQ@$Xߧ3׵F %2pfV{abIBMx[V*w7 ǩʉ@K&0 [2ض|Z*`ݪrXqXEea^ﻧ.*l["5㿨&D4gM߫6Z*lA!2f6f+AI1 OCe;*NK*x]MCDߓt?W| Ni%~%8 z5Le # *_Ϸ?_zW Do/(%ډj~ߺVCeO=|_+g9͇fL5nR͒usrÓA^wXwR\s X|  եHMWb!wgpUy2|Y[.cfu傱[ !r`5ڒ<ͦ7ch_}7o {9 Md4J(IJښ't!7+]7?X,𻗁͉w]s}R]^ e_Gi]9DBk\F !2<}힗}:EEAwr*Ax\O%uD6+JB]kcҥ{Jߜo>cփO7[͏RBS7\I/~=jOg~0#f4#Zv+Xn'*(1tQ|Z(⏡ϫ<_ZE,[cC,E ½q`9gŘ+ r1%.SX]i>@ Ң:(ߤdr4[ -t 8MS3Y8RϑDŽR!gXa\{c Y3:"kau*=W}SNE`eŰ%3O)hmJ},^,\0 QRw^i5*a/.ZAVHVBuV3#Y"q3_:u~cg, ( ;Hυw`M-1U\Kׅ~@m^ Wj$J'A&eB @0eGMd;Nca$ZP~2篤RV54__%l#'[.n*6nJ򤘀)v/)q;ew$SJ1Ijk"A[KiDAM+nR@E __#s!.O' .)lu+Ownx63JVHHV6%[Y{\j,B} }ˈظDL 7Hk]@W?}o-;#b9aPvm϶,O\f ٸCjN%-j(UAFa¤b`B+Us]uļPcvl|c#Vͮ$bÆko\.pWoh3]u"hj_HU!ECP pMLfteoᆠ'mHxM+]g|BAjP .BqI%`dCxr31-VBB8YI(¢~IoξuZ'hU,|4A*¢j|S8nvze2ʧ|ԁ?:Cs v5X9-/7ɸ ovvF2(-Ѐ_G|w_*/F,x8gQ؆BMq$/h<-_|o/iޔFٿڗMj!Ŷ*-Z]BT5sY*- =3'ظŃd\c|yoBFo.W̫Tm 5?8<n&ܑfVJCIzW!?TgKJ6\wMc a7O#6a=\ߖ"-}EϤ{*[ G: e.eB$.,"+)a< %K9Rh|o%/?5kB Bqǁg279Wo9 Z] !v1-n iCYLWΏdPZ\vZ,ꀫewYӴѴ%G>1[,6F=]80տo>d*Fom&%Jy3B(ɼ&l"'ہ`}Be[cеqQ RRe \uÉf4MFɾZ;J.d*_(AϮ{X G l6aDk%Q_ l`@lxw?r"O+uV='oXst׽kzk/ j[u;/4l"D +kZ o1t6.p(lwUaAK.Dnt`#Y|gYN|VX5-]p\qҩr9N^3Ripf>-L,-!<[3O%1Ao\{8ׁ`{[ܰ^OŵB)+HIP[ͻlK׹@bő/XJ3A ޛW}(0#sakۑunrk4!*kk+yn60U:o-eVi䄥.#݅޲y:f0?t'zX~B`GwMڤ IDAT:M^=x미^f 0r6l-R;!8荣A qn%.p~8dabu~iZߖ|{R\wFF=GW[B҂.pȸzd\><{waaHFocA ɾ ;{ֆ ܻ4NA6C W wh2,XM/OZby)gȚ :FaP$z| ?~6͢5\hΡ[bRv*vjǵie uЙ\]W'.ޛ_5]ao~·p T?2wy p@ eV_:Fc,.HqDڑ3e\k&kk"(oIpckMb\+X5P>cԘk]X(:p){BaCAw\އg{Շfn/niB L=`^tߏ SMԜj|kwyڏE  @]x$ 1%e^M8$=T~6AJ2 YYf-v*F`{T*_څP|ќ޹qTaW3ڻCB(5R$@ϑR8%]w/ӗ:8K8Rk=@y ۰9{d/Bl֨n@JT* Y| le]G/#A$ {zWb[P2zW~ZrEH0'xT:`(P AC#LgJӏ53YRk͹ fTw-cNC7![߂ >s4g]2j7xAWV@:PF2T\nr7G9bYQ4Z  N?qVKqeƹ㻎S4:2,Z+tNzՠ-JjZ]ב䓙$ƀ)GAsia@muMesGhY 6aY-A*Ts`tt< 2 k!,R(b٧!~VeC݋0Mo'&@ĮY R 9ek& Qn9HLh9d2LYQ&k6kwo)m9Оwu*%K PRè[½]<i u  SXIoD4\+ϊC^{ItcGءABs@BKB])V}lx 9It t4Mo%p 2w|Yv7ЮCw/Xʲ]oMw1ӵ'Ms-"}a@ϗ %@|*)xK caBg Bu C]~& -B*I>踕LjXލX9Om1T#w\ϛkz#|sHoi#<{cOor XO\f6 @!Jgօi%ݫ_F4f T&6=Z0o 3-oMOWضZGnM ?o=7OʚO=(;H%vzM58xW+V&,Ik@:9Z z2;T,ia2)!{zOZpm"'!kkKW5BzRZ3?͎I\σ KCB24ʍwo_ǿ0F&'!VfnȑI~T|hR9vB[)IH ]-FuTL>>Z{n7!@8.!>m(wq~cxlw~ˇ1}+:yapadoãJd`VCSb0>`ba9U7JضAlhUK:jܗ'-Oy}&ߔIs7&@PɠΓ].V{.s{\0NX<+tC؞ދNs||?zQӵTO[׵ ]`%ks`q?y|Tq/׃Wtl+哿(^?×@|XZd l U7uqY:kY"jQǸz\ Y0ooA\)DcRn juVQ M5V+CKUP%fz>>]˓ `?;HeaET us\XY'uwXZvZ@u֧nn%F7Hw BUL !W#]V\ms-]:Um{3vݫmZP dAoۨskZ܁˓&\$A:_z` xsr3kN^85>NmתKԗZ}iP5t\˟ksy\Ez >thJۭ Uݟˁ⼺RgkTJnZɮ9}DH`UC1ŀ؂3W.+UףF44ZDv'ʮ9ן^I5QIENDB`spacefm-1.0.5/data/spacefm-128-cube-green.png000066400000000000000000000467061264770501700205400ustar00rootroot00000000000000PNG  IHDR>a pHYs aFgAMA|Q cHRMz%u0`:o_FM~t~}}+tΗ> ӓOȩ']׭4 +wޯt'F:Qlz!Qwӳ!ף,2_Rӗ"龚)vj"3BM%K)Ƥ)ɕ~wDox߿m!}v$}x߅߁?濵:Oٙ_SY%ZUO=_U :wTS{`TQ$>L"T ɬXTEMDUԌd5R"I[/.ۯ_{w:sm-ߴN?A䫿?~|paxwo<_ɩ.?wέC8qz?PI/{$=uȹ Pd"Zة덴J"i,$ ňf UQMـ5aQ0>|@Tfq:κk߳++qם{qv eƷo'\}r|M/}I^y _ v_ƒxKxUzN)^WR">JN2Xryx󈮣i %U7f#h$X M f$ofQ=Q+]Is]~mz(;zCᜣG{αN\g=w{?$D'߲nͯ~x_I@|M?v_p=/?OwأMByB4R'qփu2Ɍd4khTnfo6Zo&cSSƠ?XCaS=GÂ~dd/zqLV}IqzD/]wݩ87߬|w _~97w\U?/|vbpHO Öt"&Ƥ$ EQsS1aG5ܺ?voÚ9l .ƞbj9ToP?u:@C T2}[mnkɡCOtY;Ǻ[򝮝;S$ٷ%_v]g9΁7oAc*G3XIxӸ& 4gғK~c"Rn7&!qL1߁|k`M"D!HI(]}/P| ;V@x?t'[|9 ͇o=k{8~>z/̧o -ag;A U$lx%FB)bvGAo!RRow*5F?N4[oY>LQa2~an~ldw{uYz0+} 6N۽0ȇ"_"B|wӓ~V;xsuO'_qɯ_+oc+?ԿO|ySñv?GsN< ; Ҏ8K[ \\ $;*r ]J[n{EA&׮ntƸMlDnwÐ?*Tm#.  +糇UY维Ng`EvO^wwW7W}$JD$L 8hJ<;^x:s|~A3;\<jD[~\)JDom4.O&c f4 !RC.D^$r;k@'"RȜVc|ؗSŕ|+H )E$ʩGg$Y?pw@4E8JhRhBI@47:,x;=^yÀ9/S5>IزDTT0Fh1_Q^݅X 7LKL_qt7ic>$b '忓-1f{\j`' 1+ ȉ/'c +|NshbQCrcd=N1MBj4HHz`/:pl4zsX]?>_ۇ1)WsRA46>'2kx)kM!2ۿʃ7C7 &c{NpW\ѥT٘_|AAň∦d|%aJjLC}9z|vO Ӯ<8nL뛚i1T#9G!3.8^O߭y/o|wlHtZ\X-unJnrAIxY1~sĤXqq8oལw:ǪC;O^z:1ux'tK,jwh"YdDJZ\i9Q)2iJ`tq;f4$*bDCq(FŧrkB:F1IN ϻ|buύ7=\xɓc+c5P7q5Y8l H-tMX~캋7Q73(ǗCөse#e9:8]9Ayo⮳0%7Mu`";46)@LKSb2)bfa 3tlp8*kW,ו20K8\v5bt@/yNu|rW{|6;s0l{*Q)ṃsgW8p3rtD,߳r'w֜v=g]e-0`k`fo␍9h"f\%{jhvML%vwdMw{Kn?)4lccŊ{u L<3V"ܤ<4 ?ϩ[qz5^<;}JNDک^y7xոe $r|, qf<ɱx%5+ױv]į:rY1.u $eH`"|0F $S"ht3*9Oj J·lF_,.O?1Axv@f)QǠ]jV^ΨE,?b㠑8@I~4nY6sR_sOtxxnxlHJIc R ,1Dw"+t s%!t 3 BzB5OEIb*Hs-CaNG\h"q& 0EIS*Ͽ#@8 f1=ga q04bFxT@L '%zI9`ڟw"tox>/< [7<w 1d/P>/stX1wxpRn9.]^ 1DES=1回Ta RԒZiJN$R:<3״+֞E"lB^S I Eq$ @j@TS0*f Z\'aApQA#N3zXۭ3,x]?e EGCَzffߴ`4 Qn7(RS=gN߄%#בzVH U{r6=.)$L)܇25sbnMarKY E0An&T@=Z&jrO1:-ކrL9u et'ApUa0Q6 ! 7t0|:N&p=C᠁Qe7tMUU RWP5P1k6˝^٘f n)4.a"LFT0 䃓rY0g7/ՇZ(}ՔTSasse1}%8`n% @r0iLa$Iu݆t4% h0Ī0*&nn&G,83kKuo\ߒq41X뙙 # ֯\THN99<d Y/!]i{"V~ǂ[CMS`G4)Vnx@k@!\8'pS?=ֲCK}ә,2{8ќʴƟ lHs(hfͭ]eZIr[-ԁXZ55jF>Mvr=/ 5 pui\oц$.ELHRĒb!Ű%h4Ĩ1Ԏ53D(<)+Õ̆ġ{Z"a'pv:%4n&W5[C#ٜ-"k660ѹM=QG~?} 煿ѽͯݼGRzx/uk~'xݟ*7*'<rB%s -a]I)@JؘL۩W| ȼQ0 C 8d3%:T".R$1O87OᨥoS//rtt1'lƑjx@S ^ڒyĺ[2kߟyp*4[gMpxO^wWN} Hp4)oZ0U$C ٻE0*f7=[8$j\oc1u81̄Bi:+0S^`1JVd؂(ROfo1tf!Ւ =j[3#HZ 4C/KgFw~MGgQw?=*xiuuudZA^V$붃&i N$)djt*e)1}{h g#(Z ,3FM8پ6Ɵ>lY4/t ;ȈdAOv +ѭAl&jSQWIe\ /=oXՄopWﰉ?c}2S_ޗDP,XsNVi)Z8Ę=&,DS+OU@R 1jRkz2Xs>M,/}TfMpZL,"&K2x25@7pIln JX/x8ǟy 4Z^M߯?.~~mv 'g=?hM]IFHl:v|CB"*Pᳫ^`vU.W)|O'~%֖s10,_ws`aOgl>V'ZİyvbG^.^狫eL`WBr^v_\\v30nr2s`6n=5Ue Cr#&nTxZ<>: QLfQ )w >Uц<2lhs_0Rz +e[[}Mܘ JtĒ.l3b8Hۗbƽ3`Ԅq|`̈́!Y[sN"&)#!5  4tӺbJ!H})(]ZNxghy DK0 b**nN$fCd-v^ Vi:nّ{|u>՝vl,M" /r7J: d3'wǸBOZj` 帢XLR8\m)q̄2^doe;QkU`Ko"eR 4:f3fI6ch0m@ޞ@j=㕓3O8VuʩM6J?'672NY6o8& B4E,F4qP%+Kfj0͊(AsB(ŋ,*lTok3t2 4gmgxxص?(kbqgt0^Z'^,x;_Q@mUbëBӗZ;3uD.=-I6&6> nT,D38{<)YJ4͓ѩAQI-T 3|5L^.~pm3&c(޲HX!νP7u˿r\)eQ13++2 14 tzpSݑ0Jnǔaq+=|B]mҖdԜӚRPD;5Igk%UH&>BTfb؂~V;xmw=ZK>ŧX_J%;wIXS굡bY\744!|FMlb܈vxTbB@ !1*K*!@ѪpLiH)0R|9Lgv: f}m'+B7M`"L8BK.Y&-c-qe7${}ŸxKW [Vp UO q=,DOn cقNvMn|)[/=x?SsU ڸݒSm $ҖShr`~y)م<^6jb"XFU+d81`ђ?[b1gu@ss,!6cJ*o2Þ* 2&/ b~ ;lYM:;%; lVOMV]UaEX=r);=Ej?Ž䖪Hs:aT8G` ;}#zCJR0M.7RҜjR˧@ƠB#ڵ\(YgQ[')Fܰ-Ҁ(mgS\ׄx*Fo$ ZI7Y@Tk~}d3ee,5 |oՎ*:*Gsuv^pŏ1ȯ=!%!0s9$LX͕u`uWÏu2%l4ʒJ9I;Nk^ <;p+g%8B!X&R V}N=g-=`L1'}-]W|h[q>v'+(0j?Q}):0 >JTb1;,6o+SH)/ˍ"_XPv@jB̯BxyVc~ZNjؿ"GsBhx擺II?]_{t nѿ020MC:Ƙ1M5 F4k `+:!RFfvb-)֣*Tk'a$j|!`^bzoldi) +*6#T V_v'ª_1>?1>|嚯>}n%X!c1Ȇ-CJ? iJ)>̓us6)-nۑqw%֫t\oh6I7 :# ;sIbc>?1smD-ڵmVJ[k"$U:QmO}WOk<MBL!Dlj7i>㻪L RJ!h4ӯuygJE 3[dI39j#!8VCVU,ʄǓOz2=Xsy[%!y9nQiB-{s1Z̩Y#"T&-0 Ӑd*X5R 5 SqeHpTM,pI 8 zj)e<^qq䖀jctŪZ1qLqwQS]~,Qi:qUY *5!DJ4z8eFͻ<0tո/!y%#qX'pX3`(5D#SoG|n}: &ǚmVn5y*-Klf J(aYqo $n6\{Y[5T )alF]I`8KEADԦ</@,VPkEuUOYMh4qĩ&ĬX/ |4Q,H5,~iuNsO]"L[nohCa;:zM-5VDA-bņȢ$)a d#@&S ;Rܳ)kک>K76[1k׺52U0beܡoQuKפG`9 Hd捻tf|ѝG|"(ud;Ǯ6í}Ev5;Z֔4[j.S8J)%1YzQ;,Fs"y9p/kJXש`B[į6,a+ngf(M@ͬmǨ]6g~O=N,+| C#G|Y@,ڢJmy*QY1{!2Me1BLI5.}TJP3Ļݴi0PQrHHX)S%PǼjעIh:yz8Е4b-Ӗ:6Hp*8w8OY֭\+J0[s/  Xu-饹au~26!Z@"9Y$숾uZ4l Vɘ;d5ǀ" B̈$Yj`OŘ?MhpHCд3_ijx΀Fѩq\46-y6g 7'ͬ`[,-Y^voӈ[V55E8l9dzN yK[jvY6- t {Уi;p4!Cq ^./ B"1gԝ3TZL&Yjh9 2pzf3ϫZ'8y<% *t_󓧯_bbı_uUۜVE9NvJ<놽p/ZrGX0|O)Rp#cƹ,~X(h<ϊ$4/CXV- jJ$X.c聓'a'q3geᛜ`INғV&n2F#7SCS~b Taℛp\x`bqST|y4 xgqI*ǚΞ]cs~z-9w˩/k ##3|b \pgCP-ߌ@8~Q'#?7,jpTxˆU)e^{@mƫIGשC}Ly/ME$P)՚}<_ ?&V3I5IT.Ib u,riI ǏK0HPUvHj?)ω_щgkdΕ=!oKhĒ̴brUk"8D 4-硢jxZ-@E[R9Xs<ȷx/!^M!8 +\[l `1y^zJRƔJ:A0¥w9V~. Cܞ,Xt*@*+VJHڎY5;:G\ؠeU$ȧs)N5% #ϻ;qw+\p5N< .!<&gڸRHh0H)`vI}M Q!9- +S_Ndxz8H"S¼HJɨRC.ߺI~Z"RDRkqeCg~_J% 69~v Umʼnt: TUO97[n42XaCRMn\Ww , ͷ"#%慺ԑ&F,]r}=m{>% cy&\:Mt<ѳgj #LRVCf|Gɝ"#/04]+Yx#gV8yKJNWUIx 9{چrK򈖆Tݻ_ȴt>X//k+Dň8w |Ґ(I;Wi;(" z9N8n,Q'+3llZCŭl@^'eSXfCbM,V24 N*F! ipna9wg)뢂K0bqn]GpyʊF1ף`1 QH41htS3naˮ҅HmH'yfsHJ7&dⱬruy>P+<'Ƭ˔^)w4 jQWfN`ӑ+ 6mR:|+tx8|@NGіyGmyf"\mh!IȽd4xeaH2E5'yZm:)eLh-N ]ƱCz,nZEK^f df ZJHp>oW .xG[nӛHh9jo2S_hWNH2*L]x_C\[,X7 SXwGߴePLoyɤgT!$ ۸>vc*ӀP\rvYIvDUB\*\Ii#kV.g儕x'rY6oZQg+^+I&$qygI#*Z~z, \Զs[0*w?[] eO@$&Dj&c2,My1cRv[^@~Ծyq{~ꓪ=;̓ Q^-e!uJWi ು8rOP$<9iT<+h^΁Rg!Y "ɕR&MJ$d~8d4tvb{~|/2#&j9786ٹb\V]1b$בm٧SHb,h^'5 Q=ANFn8Vg)&#s5Y{y0BLsuukbO .s脤ٳM !ѽbX xq$G9t.d~$eLEjSy:Gm]zWWe^#]4(ʥinq #p%$k"muԶds@dsE\@^^خov7|m _c!Jʳ.]T"q]?.WnG'[nqS#goWZw2u--g }1\;I[S#=F@b82j-x(jZE=-#;"G,Հġ +5Jmt4Q28^c͊sz.8វqFϧa= ] o+EH--{$kcٞZ^紾>XT82+;En|I=j=5!) >(.J]AHNw=2~|Ό!/Yw \rV)ͺOh8)F0I sY)8LEŢ7fͿ6 &T 8徜r&kSWxioWiZK^kq(uc55DA.S^4\)ɯa/x_o?rYwXPf^#VܑTڡy;iwqdgmΝXkN7^+~+dɖERBLqy 3KL`-йS TQʁȕ8У1ް鍫݈>?^ڪ lTH r-[!{ka``oΗS,24Pn?u4s}PerʧnK&38Xl_`gfif<&kVLv s3Y,I jy?b W\-富|F<:! s31v?7~ۈg_[ɤټ6ʨqEM[sT8Q)>q)'_;76r8<gce~/g@( [;޶+*QC(R|V[]U -f -tˊ:$$]]63s~=\RWSwsxLA͈o"p@Ģ [I|9e%,Ŗ噈" 1@K9p%ckW6Tǩ,jI՚iu񾮽?Kcnp3CR:!);(eazNXځ8팿1 ~k{̑ɑ|`iKY@WF 8r8 _e \ڎ4;zq|G\n_UxzYW,ӻ]=:xweFdd+!cŒvv-\M5Gulm%mռ $j| O6uOw< Қs\<ٮ_uq$/8:s8(ID(0_{Lj_ sYy!d3\6B LcfH@R3-~&9ڒ<ӻ|z'WYT/4`jL m9OgPFrPfH({"n Q2Ф;B[Ҷmjv[n 4FkF 'C%!y=xMo9 D oλϝ8!+NqbaS^!fb#Ϟ ݼ%l֊ͧpL}8\ K")ā \F?15; j".n޵yYrpVt^v{X > o7ۑÁ!lsBQ65aC` R O 1A'C܂B5k(&JRp$NYsbnbl-rrfSQi4 'غeXkU3c-6&(L.ny]s4~D |.fc7tCW=#1{ <.e}1 %J#2Kˡ}0A;s|MdM$Hԩ(IbSFxL!0\Rc|} mEoͯeʼ&lYСL Œ% ὫlgȇÎ15^WhF p\ɫauaڏ:9|jP4|sK|WL*yu4ݷ)NG!Y$P&p4,jc"͐(4IC̡i ίHvԥaUꚷe0Kg5!6F8Dz3wly;p3HvEKo0nmܔU]P0$~Zϵ.uCLF3~}s N5LU%4rp1A,"{ D18 P*I[=+uhSmkoy2:!rmr5{]76n 񆨓ѯ16+k77Gc]Zǣ*!8Nmސ̌/MC/Q<<#u7to(&Fed91`]E_շ66ڂg&sWjeJSfeGL!.޿{Wf \v-QsvQnm06b1z:Hպ>'@U:N0<3f4bOѱBnE|< h9Vr?Z..wfwesx.c)pl.۴72oΒ찍p #fA0ĸtS/c1|:Hv>s2V ɖ_k AsX9Lu̠ztUNfV*WZӶiab]m% 8.ws%|p\6ø!^b6v ۣm õ1{鿓EET9͟{[[W^Y#L"UCk(%K* `Tmn|Wؼk B\$sZe'}*Qr޿o}m l-xC+BªoP`ls6~|N7xF8LJ^ kM튕>B2JϯXfd!Y"%4ؓJ]˧_,=K)\=\1}793xRنøc7$ĸ$iS)E18;'({zKxAW2ived q ?5gj9FJ2M53}_LpKgy۴1 b` 01޽o~h|pهC5)]U,\czDZ|#/h : 1M*KrGo1痿Y—ːpbD E*}Rc&.OCCOwWgʻW!Җ!\%k7ť(/2^wG{ טfkmrboQ/?~"OAMfA#I!`Rm&d>UʋbcĶ wi\yMlC0kRz^3w+LsoʵJxNAn'+^c024ߝ39iϝt/ʘ")BPn|*F!AR>b7aOo'[+Md;Fʵ\M^P3QXGz#bfX] Ϟ3Ke&nL2‰&wc܇bg[5Fy|p{ư% )F1=}ӸQ~#sQf}t y\6nĕQuv#;fQMS^*'R"ĄJ+7M6&؏p[+&t3 {n-O9"m-G1]P}>zyDG\@ 8a7 =?sTT%f:Mqޙ}M&TÞ7 &/ w?nk/]^2V%o6$ ~=5cɇ>$D^o;ɵl:t;w$![5dI>4u/w#wkɩ0±NjjA>qA{gӍ].rlw5CF*䉫b]ڨ1}@c|wGWk^)QtܮlzvVFvfznҀٲ$K ⸝ǣ\U 4"N"=&Ԟ; 0ݛ-"MctMW~H?nxw-0 '4F4w 6@:2w%?t< o}q+U현J {<78 0'OWdGtIENDB`spacefm-1.0.5/data/spacefm-128-cube-red.png000066400000000000000000000464311264770501700202050ustar00rootroot00000000000000PNG  IHDR>a pHYs aFgAMA|Q cHRMz%u0`:o_FLIDATxٯ-q{}{7qG})!i)ˑl` y37=O"qlɑEdr$|=tZUUk>^R2'߹8sUï~UE>~z?{=x=x=x=x~>oX5jFn QG5P]QTDbcQ8k'ڽ?U{zy/m;G'nur޹+{SR VsV_Pr"'ݐFA\E03F<\}z3bxp9Sĉ{u3tNOVf"] 9rtGJPި3({`K,*|"+z r+al$!P(a":Dkچ]kqo9_wM;ϼQǏz׾/hx7*ë?,S|=o^ެƓsEllOCWPwAD/@EKOTd5ANTzO3iRp!!BCarsbf@"PU H#"@p;8Z׭+45\Dm5oNz[Y޾~'F*m__P @EW^ɗuӭjV`zgn}Ľ:w#=s,8%sUPƹF>G^ABJ"b18T1CX9 P$TahB`?ST =;q{`( @5-߬WkGjKZw fR޺x}(׾5O~^|Ez7M?ǿ|n6m۝h6u^D6*ڑbS )""ƕFn!BiHI,ahd; N…B&`LsJEt @ku %92h[uUkz4[v]Ao ? }k\\pEܾo5p(=sZUYir\VWtgBf3O';(4n1k~R@*!KTPGsP۠i[ n)WKuҸp #Ϟ ;w# +ҜϾ?7O7x]~}j^;u=0 aHdS!VDNBPwPԣVo_L~iVBM_SU;b§"xEr5VD1;o \~i.z]ص[E_oooCBOOOW"|{?_G]"(1>D|faC22dH> { zmJLExǔF騄īHQ)"^Z+JtvŐ.ywpm ׭W-|׉ﺾlEЍ4m&{ 7/׶x?S?꯾Wx -;{p]"2j`#v5DY+P .}¯V)j54͈u{ܽ;b}ex?헧7ޠO ԇ_/G+ 5Sh/N[rC˜!BD tqîӥuelz ^Z!PS2vS,*,`fkE)Rd3Y;~nc |u_YBӮz˺{|c}MY#? K2xc?͝/ݡƃVf9 wݻV +'׈7[Ⱦ=xe|5+S_#]^]X,-?8?&,J:|_+6=d8"d 9 "2CApu-qo[m6LONkH-,Jd$)5sLp u}W539 V*`?f%!2@֍)h5Ǒ+39UBZ`ZOyE|hO֟8߀ίFo6΢ybp1J "q-ҏ?=w;h_=@ fмp÷Fxߧ@rjdCRȡg1YZ~ K*=׃TMP:;yTo|# (Z3sM|:Ǧs oB.g=Фxxb>zD^]}u=ЃњFE8 C8=|h_ywѾewѾV;1%C +*T,5yc~4C2|TfnH+P$+PoJM0A-rw rpQ8W3Fksƃܯ<}y<(Gh` ߰-R^ߺ£}?ܬMmpy-lz 0APPd( 4 1B h@C4gh? 1|>Ʒ!>zA /u| ZfM@vIMEWt Ңt?ۑuR0@;jû&EM[:MokP$ys$ $`,2d྇nRe)*ۭʮUrn M,!Fe.+(QnCwPH8 {@䭰 !sL\ע9Yÿ!t{>} o=?z;@CXӰPYoTη+Tŗ*D@pU&*GPPӢi\Hw%0c?~afX q%->[ lVVE\9mn[uX}e4/^ >}㻏1>xp=` V+U<A'Զu EnՀ ~&޶p]$d,"C.Vz1?Ccì>c`1tOpD3I'IO}{p}, *8d`3Cc(hUR  @V|s:x؁wmS6T˛Kƙ ]wp6g'h"' v!ׁ"UR͂)R2!M~.϶ 9r>E,@Ac2H8CT70%YKA'χאTO![(p UW;͔%}m!*яF=R *+# NH+J \ȡnڍWXRyzjK^'׈Ð:?.. mdNJȹD1B@0 ̈,8cF#`<!U6-Rs p'>[{Y>NxU.'PKMuf / QDOp!TȱZ(! ЬÐ܅VU)xA[pI_a<} rn;ΧDAcI7^t=Z(?CS_"lʊ vb%ń!VhUlvs! %g ꦸ*RQG(j(n@TxcԖT( VMn W> C[6 IWouJ:dE Q@5ÀS`{ Cunq6pi BIV 4Na-#AP  ZI&A8Kb+pV3C"HPDcSm:p ,1@"K?(+V(tM &Rn UFH?_RI+<䢳_|],=1@*1FEԓK~;G$7)< UM  AS ):AGt03TW :'c%,DW Q* s,C **P3:䣩F(Q(nfB0wUA[ Fه0 T 7êӅF)8߮q #@m aZf1%0 %!PVEŌCZ1d"#N@baY>x*> Th4W,K՛Oh w }ATZ! P%ۮEfr ʕ7(%|!csLrr/cr;~&IFHw2fz"CYZMњD2ԩ8B4/ٮSתYl sJk_R @È;`#U]$@m8~{摡 r%p70Lȕ@S}i@Ƀ8adAF.DLsa᝔X=he5|5EPW't Zb}*Tdsuh] b}Qp?"{P&Z+@8( مf"h^'.^%+}P?[GTA&]ړ|(CBhwEsh᤺apΣanܽx&Z[KրJi& FnGc6C"h2A%F89hBX.D4 B(bf_'SZgk",(Z~ ȧw.*bcF[X_^>}Z%lY8ͯ$M1{8g_m] ZOZ _9-Ԋ~qD"0*-i-^=b(QTAbY L`Tz(D +mOz*?352D1 Ai9ЂUԧKH$_1/R Ω༃h"hF3vm>>lVZJ(b`cW!« O/z'oY%7ޗ PO4K#3,]ƒj sJ.%Hd 'ϦvLPidn(^2^o!ػVWNWju*8p02].@j, c|Nυd:d9&TbHpɮ\Q&._d5٨a% Z-|Lr</_6DdYHZGD9w句נT_[*u'{>q"}Ak aX YX3rZ*]b4hөUJ{Z$0qs+Wf걎@ Yoh.-I ݽxξӊ_)\#{URd9_TQ_ PĈ"LN^/}~` fEʩjSo+ \~ΛPn # J$ɐ]RINBd%t^-:{+g.rCԜ*~ŧ?|trRhq'pwn13Uo: NۧCUH"35ˣY@fUEuz#:5R>eN3 *Ur#ȉijͦ+db adB3%\i>NV&H>s 駦?/|8=1ԡX3;TM;!ՙEn\s,Ǹ݁ar T0.- @ MBL+s4ԗ3MN!21Hʹ0X“J~<[-ֳ?Ro]@.b{ġz+Uu0ey\KNB@n!Ke%{$K1@@x-Y7aAz5 $g4%) %@v LDRER2g0 KEU],~=~wƋ_y~pggpDUcSOt^\NDӪucG]Շއ}ÐZ!]mNeC!ۓ HjpvQGeQZHPRd9%p:+#$T gVKjea"L`\iQnR.PY='?/|YYY#Shzcs+Cs 7#>0@2KD+3 * OrX PQd@ g؟T=皙\Tmpy$ YKcOop"UG' ȀPR /f\- 68TȖ 34+/_q,T0͏Yw_ /wU]f4QETqÌv$ Hf8b11Хu5EKl|l94?PqjYAՔЈO64{h@mqh/.pO} ߂ G":qyu7Q(% -e瞁 ʝ AYm4|}ÊYeA]\*Y`6D;C@s9UH,j%xZsw%~M%U/gr*KyP9|"NRAg")4b2]l>aعUgь_keҬɯ mO i61 cV`=sL(2Y\{ >YSb | :Δ,cfԦUz?Cl 'P99A? ;RdzdIhQ:ǂ9%K +U 60sQdBw Epqp nY;hޥԲ-e|Muy_&~lQS `l+O|Z [ЭȇAbCh/c7:ҰAG(R:;Nh"rP[.RQGį|B9w:Ԥ*WS@WBHMB"9RƲ`RM.Q]$nfpbbzt# # #K\n trlE?;PRo)}`ml `[&Q帍1#!5MFR6սbT1ޕSJdc[k4.Ʀɢ XvhNGqxXxՂ[=ӭh<.s%ɱ-y;g˶s}*.6O` :,i-]+\ KfY? ӰL?wqhηqC+Š)/'LHW8] d<ːY%N<x `f)}<瘧LR W]A{ !R*lSơYu`!&:re~`j"B tef.%Üt+×& `y BqCo҆k8kfk*둩gfMss>=U LKTp;IE@ELr,@r&mJ 8d{[ Y/"Qg;Ɋ~)N<<"_JǜQKN3>4+F>,K7 `.,p1Y\gu]m/<޶w:t!L&\W6tT l-,p>Iykim+ioFWxD+Z=y!C,|"mmNn/j)Lf_ !VrA~Tlx8ĽrdO (/[0߂$KZb8xYʔ?\}V iY &rP# To<+MfX=j~Go~?r=Mtacj,FqcRU3 |%qA̚X:&# p A82:O+@ǎlAsN=8d(39#++e\ZeI0-3.:X-qC^޴U Tk4"ʓ✮y@Z"c{ϵ|*-Nn4p NP Qf2]u.^fLX|Ö_NV;[䜛L߯=JN>;-DRh5[>"ݓY;@PC}zB@N#E8V[ͰSN-:e|Um2~ao+@&QaF-˼;R[3"AC }nR[li/.5ͺ4')]\lJa)d&?2ZuXޅ}ж{.m.GHzio2Bmwjnc7pk@:bИRӟʼnxyDNj@iW 5 ͶRD X&ÈP:r+ƕj7I8 Mc{ YbբDGybN \|:mg^L)GxtW;߂{ h0@M袈1MVD[YzK& /{*@&J8bkXm0T@Ƶ(p-^hlL& $اM0:^^Bz.d51!Fg)K(݃im*xQL4*Omt[t=w ktO| 2bӧEo45JpYR,rpu<2ihy=Mn.‰nt^}](VIx@ÓWHc20f*TĚK/_j͊JlU!Cy>&GJóVuLJ`圼)Y=l5竗q\&Sζl$q>>Ѐ>"0$r$Guz]OlU88jRhՂ =9~?fX} ځ40 \qwED> bknA\jciy0JPl(#* iS0!] C]yq$qHu-\ہM&'o]oQhFA|!܃k~hT y2M2ڏ!wZ ۪ct+zd@0vʸ"}.hI~WyG-o?pYJPs5:OEaP!2Υ*y̚8Aj(cZZHH XRwk:&|!"&'qvɀ'pACB 54U঵1_zQ_W' 7ΎN_/>n*eeLk_1hA"}!FȷC@}SEOf+8R tY2u(d=/tA|j%|ݬZ`=0pAS@P?JBwPCD‹y=upQD1eJiδqM.!1>T h)`ZOP cxGv< }!S|7Bޅz +-@g bP-ȵ?Ơ@KJ` iKEf*d@f0{Ag5#fX YhzT+SIV*SȒmg׈&~"qF܏Л 0H זš~,ʱj(0oorNlD:\y1&ӬF`N0! 5$z;rkӺ_5~gV"ӢfKvyldXgby#7zh~O<F]5g*?'&SU*HDACO0*c6%w@(\Vݗ'y\a4 RVh>"dO7dF-_^{y%=+!ћ!<@)B97t+NaЍBosk7H]X=ϩKM<,Mtzz$< 'ʷM +&$ !B1BY!@wi"E?f-'lZ5uJnָ2M>ejl2tVk<ƈS.WI z)R$uk7v_|/%j4FM!DZuGp$ɩI ԧr0Bc$QqoXA5H^orMN /A:/#"G;F݂KpG܍Я5[nS] `M."sc&-`0H MP@UAu¯N?5M)wFrvL=b.|K=F^TH RW d̕#-X m4kr)e>F|7u"k~1&8 ;Nf}:h8?E6pQٲI }Q_l5~k 'æJkJ1 D #t?Sp|YZODNS_t_动~FQvo!7 \UB=B&x^u<TzvY[ǝI~WYj1UA_CHL Cr`frXy8UNYR:-[.Z+A*#w] 7rRKNLiM{ӿT+̻ԪemF+qڮ@$ƽ`[ m?$\|9Ux:y6L1+?iSܘO#A#1z#RPT~̟ T}rA9KfDnsH.nQL SB@#TC8EYF Tqt|V(_\A `6Fك>E7 \*pTL\LGZD6HJ hAuh"wC)VVB P+eUEV-Q`Fqm]D}<[H?fS]zWb[)~ҵ܏qZ'xT2Ru$^AV;~ ;eA>ƴ9E IRw<@ւQ"L2_*(n}Tm ̌ X~9.aZiTuRTTbBѹfj1z]̈a)Gj>ぎ!=0@v1qHytڶ2Eܟ)~>kB-ߐ $QݡM(2~akT/el<&r%G$$0 '`}5 F&&Ґkd`B?,NyXtI[WDA0"$bt +@{?ዠdH%q%" 5bWO4CaArkblQ"zϸL3"X(3܁BGElR/Be*9yo>2-hK 1^!k!RM EumYF]qG#z/X@4%@DS'l/az*ð!(v(p%ɴ1~ ~~%տBQ+,GE @FF :zC:^Mk׋ gTҝUeR;ES 9 +I! -OMUZ'siTTwGZe{)+FV߅ҙv JW [^_%r6"[jaE Ua)!BasBIT|d pHYs aF IDATxieIv;wyKUYKUU]KLY(Q!aJhA DjZ4!YE&K_lؖ Ȁ`X, hAEYp3Yz_k-ވ8q_f g^{(6W¯^?ػe D1-?Tp<^?^40~g}xxGZ#% ٵ0~鮽~?h/߰13Y\'NN1V8bCc?ٽ~?HEqHD8ꁻ:?4g,B77XUTcgc[??S?( 1C+G[xSU`zzڠ>Qs 0s'E:NLYZ]| >{ ~U |RvrA2Kwq'9),:1џgxT5Bѓ"hƐ=k2 Fh" "LO~T c'{{YL]M~ϩ; {+3C_ |V PP h0͟k׿|}i^ȷ{B8k쑕O}BQvȥȾY;$>t L <`3ݧcm7j7C*(ڇ.|ܾ|kYt$T`3za6rk X5 l'Gnb7==;ދ 1/I42˜[fyaړzG0#B& $P(y*\Ϟ/_~,]?gmE(+?rkXYdqnM~tȰyB{B@esĉˌ~Gm5Vr~[}P**BC\ޣ.07;Ɓ͍t{߆^,cygOe׮JKܾ>B벉Ěd$hTgl&^^Ywt> Ww&S׸<3e]@p4P;  Id6Eg\|}ލ?>VdeYO<{.V7ž,˽sG.\xՈ_q|.BhAMP6 y pA>u43*7zK{4ox/1#?uбçk;})hyO Pc<#QY[PBP|ԞxM4^ɊO>v:` ח/nZޚngn\w?~׏G^Xh^zIgŒ$nDDNc2a^fWp_Ե8B} a>z^|9b~g_Sw0NgrÇ[c矅yCLwK44< xWF>U1PSϠr2m tӛf٥>l 7Yq0\;5x:Hf"D;pB 01L!}! EJ>~:|SC7]]JӛV(q]}90ڽ򽞴g@k|Gi&idt}_۟{/Rލt:˲ŗŲ|uytWQJ#Wũ҄0  I:b#%wH? яR^@vCaHK'91cq_zs﹂wآ(t) \Xqfyz4TㆪW5Uи(бCK Z QBp|\| '_;zP ѺaG/phx]fs_;on1 ?ۯ >G=`ky>esPpͷY:7PE@1PXHm#` *4&JA AjS+K<~ 2|ݿϽwwyL?wٓSze G, k)hD0֐yQ%b 1,C`&!!LR@* I0L4G zcg"zIyGNWh,s_ eS3͹"o"d/xƁs"֐ivU "+$;WOEtJQ8f;O=%|PmO֝{<4 `ƘEs/1W_e9w۫vJYf:9,!+2榻Ow("R0 "xe d1x1:=6|7O^MꭎweY3&gXqze>ChOgQ5D 6Ѿ0]X:6#GDA; !Ahb"D |OWDo~] n "8~|f4Xt{HU/2CC0 & ^GTJSr~.:Ȩjd^m{t&{N9#*k=8B~ĊswtqUqCi~l$/svOP1L*䈋( Zl[=['}MTS@N56QhԦMXoPD0PL#k*D @.YBF•ߝs;-XrN?^wy޹~EM2~2-wrlf#y# yXkkDXmV+F#ꪦi\} H3NĄ DHZiSQ"A| J32[Yz/8iey>3?3O7YӬbm+j:$,@p :3CĬjúSMD ePco$twФ(K]RQ 6yZGST_+z0k-zySGl6%la'BtsKM`씪PyP9v)Z:^]C"MhfkkKi> lij AB *J?B*& mH* >Gq.!拌wXiǃ_]` )Ⱥ g=ݸF*͸c(^I7"0cWdՈQöG Í:,WCNO.;yD'zax^ jd,+4^wOy|oYD`QD^ZZ97:|ydj v*s6%}N%cCXudMN$I-Q60^ɍxj g11`h&:6HDu_P:g2ù9͍\߾w` x'W坢r?|~)憐;efZew1k0 bUAXFZ! KC?Rz!֘}WGU{Ɖ2}.@!Bv^p!:.I/!h Є@ :.EULo__\p';÷odEQ?{ޏxe{miD̨FE X QCZ 1` 33]s|88m |/1wВI6 G)=H4Aąis!bF,e427<[{5|o?˲vGo_|HZF7%8C0,rԾkL4~'$VnHQ(jq7GOЉX Qr/czyLK$v E"Y{F!p1 h9B (%5-I8e*2er厢_|7Fl t@le+/y}g6OL-:['X!L.">3S^_Fl  6r*xY`;@ 3xw`BEƹhySv TBttq,W) \߮Xp;e=w56]}_>~3amVc;rYC0v_C}hp *4e6l9nf g >y~?G|Y2(s:` ##ش2 AJr[*9@;M’|؀gؚ|<Ϩ>r8Uj5ug@yߪχoӺv {ś8X2ߋ^M Rf  d֍3y~ŗfOmUA\ӈռ۷y"u^!{FBeDE-rBXe{#HQָud,h KPK^*51XX3 IDATE/'/"1R%Mv<{P6@Za<>Cn@HcW'i!6rr=~Q0!LԴi:vqF&~[iWIe]֠MmM ӭl ;hO$`*>8Z%FtΥ.-8}odX#>zfݜCŗW(3<DPoճ|0UN?}r몝n"Gش)k5CD i ӞeL%Tͮ]7 Ǝ %70h{isMV* Cٛn݂qcܹy"6 t!t3j [)os|?#[n;W/,5ĂUbŌҭVhsrRG[6{O_\cҰ0OBCUFjH|Ŝ8LJ 4drq״pr,? >z24ʄ)l9xCM i޷p𾥋::RU%{D#Evڗzgv6yM; ni 3!gYc4<hB}*&J?h@o0"ܻ‘Wc\jr |kL7?t:3wξ^^bV#0c͎j<2n<}o'37mN!iH2 4d.âl;4M:kyurn*(̛kLJ~~#gmKIh#"XLQ=΅7s7)Mo}KU&ƅXi \u0]&ov9iY'1k52آY +25Hj1ɴIƦY|٨Pa#Lg:Ο|.UU>w//궣RX#ǀ`P:>k݇~{7bzG'ܽr'N~9XD&Mp G1D8iiЉZ &ߍx'gA&hN  8qݐ be*kqԣ!*^.1e-{ܵ-~}[c!qZW6ѽ?ҼުtNw5"ޡbsF+br+&fLgلA(S t+ KpW7_5(Rd1rĬ R6n/لV()fK5<#ɼ#nT2)ДrgP%y'1beەi܄}y -ͷ#a׏7;ݔcr0Vh2TAV)D6Ծ3.Yx sr`vF΢`)FC?SS)lwX/oMmVKeUCEښu+LJZg#wCnбGRnq TÚfXQf1<" g,Mgd}A݋+rN6&M|GO"Z (Yf35{~'0^oAD._>v}0Vhj3ZL|R/\{.*ĉ-,fGHLi)m4ɑS|`{XcITb၎،eD<`*&eBж |N-83iu\G62c!tdݵi:ʏO;]܃/x8|ꋑDҳ1tb0&ۗ珔Hg%q"3Lw,EnFG&av}—GX w 2scpepr7~~k/~;[@:~c̃K3O=r >F]9fZ AbdRv:;qBH@*I9 +8~ ,3PZDcLq"+k'-c5Fq6wǑ݉7P`k#g\yF>.ՠ ǎ-<^qb?Y3Lu0܎!jوwXIu|%CiBY 3 U#Opw!/ܳToPy3IBk~Xx4KfkֶUo_lҡLL>ѶE#NL}E"nP5lVʼn1 RPa+cxy}aDVͯ}i/^:=W6#OJUAsk phǁ"6kZ:+&&a`EaJ55n1_,=|ǥG RMY5_k@XB*9NVDKL2CL8~Yf 33Ql 9еƇIG?np怼餣uBl2c_416;~ξnl- |^]5E~=:Ydǒzk\hcTc%D?: Kߛo0c0?ta^`\ZxX>_#NN)ԩί=m'^$=$Iv>fDS)g6L-.lj#9T0R5>&b [5[NL Ig,7F o[(Fgߧ_č2lĆV%P>˄}[wNvӯfEjm};&?tnI\dp| ĕ mmhg7oHW(PcpLL1J:G#TAR`䕵7 ]k{_ J!!5uپ0"?͡q<\#5;\4eb<[Tk.Lzo2ޙm}@:e& DT'_kvmș\-Rŕ- ē;n ׏mquTg*X$3)Ԙ$1mLj41p b3" e6[$@ZjDS @.0$/x*SXH*3IBakJKSָ2]_$M`yF+>vxm|U6dĈhى<"(!KkK /r3o j@Ǻ F+~h#=5q%T]&w&6!M1Z-GI $h y|c:9Aɓ=sIW ʢHU [^ٯxkt| jg{M&3Wv"2j[㥵!_Kk#^11ih5`R-&Z}(ڞPuEބMB'MDfU=|5֟ Jw8p:8- (62X&ݰ$p/Ac5&v-]ڦ!RT褖..868 yRZ1f'ݺ>2[+S6;]|mu̾^ >_1/YQ*7;VTlQW@c$I\7 50RFjoAԿԵ 7V˲|ND^3ƜWՃ9n|9׆:gwrzpyGF۳Ed*ծ jv{\De.r; !Y#(BbX4E=f85SYQ; J SN)2L2(&K쀯\FÕ-dz G$K1O1 h e?qH#hmcGV[7Fnw6UU=`_j(!7)"9nao<=Nt笝9PHrIRXICPHV{:F1Ⅳʎ~j] xi){E'NoJbG'@C=ŽG&T1ê[uscժjMxYUŇ$mZY_ !]sfTt%SE6iU}Zoe 7OVh+ 5T.jTqj;^ P xo1-%Qd4V8]lbõFW+Æon6c7LT'?HKօÌo[kj5 FV]m;m.M!|MDF7Q|t V]#F{ܧwAi\wt-qǜ;ea6],ԘQdY L t"J₍0}!5 A=@MH-\vc.mlƣ+!Vk 5Xyf#pm:l>-(|zMa6Uu5uP  2nmq# UWk!g_^3 $ljiVj}VU/=[rڕqz85]8q 82Tg5 I(D*PJe!`i) ~{aqbb񴈵2lKC~1_𬏕J5NM-f[΋ffag6fAX}V:q#ڠi66oU}xx5Z5`]6# V۽B.ׂqد^5n+iхHpЈnmHLnywfmG,AeIdR,W$E5/Kd tv\%[m}dQ,=}|ӭԴ)d%1t*vtVU6fa9*`[EQTOl*~aZ_D:c<:@Uu bധfrBdgE)~Gn:n-AB!]%_X28ů@eYt:]UAD&"-=Zt3q%&7U`jn{;Ei(ʀ{LJļ&k27_6k8ٌT0fRń@ 4q=oWlQ~NE 8Ρ>p%!dL|'i&,SsUꡈsνOzJb,K4KtԖP0P՗u O k[Q +b"~TW(^:-M9}y%Žq׼+< Ͷj\JRYwO_EyS U{{-3cwFE-7MKYG(UÛԐIK`vED)-5_%lo}z_5R}W+P ʁ❒V eƵE2Œ.獠65=w,fVA@J9XdF4>2AyyEcQ D~OUQ)o gqe Xn#C(R2ntr6wTu Ed;W>?/ʲ|cmmaQa</UcX`ٹ w܇=Ѝ J:NP(PS_S=gHHm E9 1d[Q/Of\% QfYv̨kloosqq t:m1NIDAT@o^|Z{e9jÝouegHz}K} b "vT*FfGX MbeȐe=!f>Vg>-4壩h>˃MU}l!ckSn j*?y>Y]] !<<ŸUV^}aKYGWX-Z+ȷjO5(E,,p\L5&B}1)TuR?N+iwYOT$ܖ㤥YfgsB7Ɯmkw_juyei!SDzRN sb_ ^0y "WqR/ FJ>-"ıM|VE;0;R|7Kō[NTi=,ZrlK"xɤ<{T]I;"BDCUC}bݏ7VWpﱔ ^tɦ(P'VʯAcݦ0}I&3]~6 N oO=t8Ua.-޵4@ZE WVV(˨ m7U(TUU=v> >gpasBIT|d pHYs aF IDATxgeu[{snx_~t3=$@((1(&EJaʆ)J*HWBdXbQQ2iD $LO/t{/{rzy3CS} ' 6---- Uڭ7M :@w+~')ٰ7flo y|t嗟p#f7יrwkёҡ7@m'>zQ/l=n9 ޙ<#5,L{Ͱ'T}}y_IoWȀgڱܲn-21߹ӚveΙsO;˰c5 ;9>뭬_||VVۑZ?|g}ʜmB&+.sD 33/} z1V{w=v\ {wb3k-Lp۞}|xN?~o.r`}vi܏RW/|;Y`FrT d=w޵¸_Gw߱Fۉ =xnS#~2bowA]aV¼wȽOf[=?g?ۅX:v߿2GZBe"|d9C&o e\^.Ο|E[}cgضXgEyZRǙ5<ㄼ{}W깟迓To{z;0% G8z3=,\NYk/=tL` ݬC'oc!I,ؾ|dWF'KS|z3@ 8("w+/NN!xū'R )4UZ{{ҹW~כ `gߟ}}KBVO_mW'[1^:z.| 6VY'?(0gڴM c AUi H@ ur+ޘ'^}p"ty?gys:#˩}Ȭ%&ֈ`! yV^`U $NEųgN~Cd_ߘK/_:[, ;{^>cGkI>Ggwkn{DQ S74# !AAG;W_\i?,??eO:[怓YQmcYuwU8OA`EdHƒ X&Vnxct5|+1@f}}/hu{/9{+ۗ^ACIcE7OC$%1hzOcP=| _nVal[=/Q:UΝ+\.x|h22QZBռ@| /llkS;p<^3z0@8֞[O` ĦdJNo%Ņ00U釒b@8>!$/)+3ypC(pw\<֖kHoh<8>{~,:( *_Sk(-XgEF\h BhOGjS5o*8v(Gзv͞-p]+pmUm37;w~;u]# 42 Z{*YhPvddXhd7%!W{T;BHެ L1P*Տ*BS!<:T&r +VB>(>)6x`!9gv⡹=,TW6.[˿u r Ӈ|ݗ!s2s.rh~RK.IIJSS E+Lj;*   yC`MQAO@۱}b[dj 3f3\17  y\D <#c/%^_QB0M"iT9*Ks( Kz_8}il``8;[pcUs[f&Bm+?xhߋR^ P +&st!* C(8P 1YX3K9>M*q~*ufypmcH^?o,ߢq (>];l5'ء`h.Z5hrA$/DxU quszkF#v>~S\xg(:DBRa5&B>},Ss'Ҿ<*n;:oF3vm[<^ؑ#\F6c(h9*#P'c&PkkQǩ2T3nkl۾ؘ߳53 u(8\p1'u F%t| &g@cAM2!oܽg?˳]ʪfsG/yefyny`{>|\7¯}،V1 ap 3RO:JuCzתM47lr ~׵FUJaE&WR#' @e}QB~j֡p[XHJkJQRwsqx=QO mjHDNf:+a2nvb#&Ce!Fb2Oa[ecG;:##O]Ɣ*qPǧ  IYp6^H/$/"F&8]dl;t ZՏm|rk7鼕߱waO^kc VR:BPң4DPBRB8 W7XW9voW> 07 $wT={J# C۳YÜYȒ8U』JV\֒4X->z';K4s5*+YXm-0!MFa1 ZMqg"y)1$[lقYyqI]ȷig=7*~,pm߹ŕRJLheL iu,X|)c3Ԭi&2jd*l9ˮ UJ+ 'v%m,KCrp< *$ʛȣ zѱhb$F,'/>}Fdf.esbWmoluT;ٳתF@O'Ŧј`%Mx֨)?dmRshnŷaiajHLkr,I=7@@) r[ʄt,UkE!S&/.rymĥj@흭0E:Mz ޿ww|+EOA`A3a)QL(-lPe634SaɄE]x?>477fSyZ-bUb&quEXKO_ lU:+L y-`!`Z+`j 9fTRSOaZɜHOxL  b\nl6b EI'rc4S21(%#xl^Yol477!r0ChCw9[1QZC0CFƠ)+q&0ԘI2{Hռ }~w(BȅIͦa,7=!5-iרѩ MT`8ȗmӱ9ۋ= 7*c0"l"H2{0R=+?|ҿs4=pK-Z-~8c&H`3֧^[6ݻM R5GB[266\15nH86C$0ђC룚FILDiqfY{/xM8>Ž]lzKj=nQݥ* amQy쮿aZ;?ӗ;ֺZI,€!mO‰KYP0^Ӎ6L6;IT?⥍4\r&QYQUH6 sCd[{]y-U@?g:Vx-d&ꩉgc5GI; { ME ۋ;be\Ty<9Aa rE)zw딸f yp6fvY;ް"yqSDcԥT 845E熞_ r5R1m=zʢ=Y5%a2 b;f#{@i)b:n'w_ /keՀQB] :7P;tbQ*=GLjB,g專6yjN9!+Ƥl؂'ETj1?ju=MZ1pjq/zSj 4iU XL⢏&h֏+pIFLk8 0,;ggɋ|~eÖu!(v:t&eD`{go0ܶ9w,&GJ:5;z^5 ?|U2,pzay[ŇaI7PL4b91!Yå䐉W`vh!,93s]|xOm##P^TOi/c(5Ak dɾvV a_wMκI|[!3rc0 %[ek%wV0@Acqq_w!ȠPhądХCe Rgx CŐK.:M IDAT(ݲ޿Z6聇oq?"ZCxxoXU2z/m{-eCCSC٬huHc͏0g7gM@ZYlSbWzq%knwϹsP8{89D.OԊ ?qQ~h*jCdbȂ"9B{-os]E>tyNx#>;IF_yĊHݭ;c&<,g[&4QeDmaT06"VlT"$4peXZts'#AM`jX(:[q}櫧o`GqKHUX\'/qXObMNiF*H)?0Z1FlV`D]RÊ81 JOcDňdkmv;[&gY9Ff1pJ  "Un*?оگ_ڵws%뭖NLbfǢ&,LdlqnOݬqϥQ) 1 >8|pѲ/AImbc!6jl1Z͢p]<5BV Wwж9*uHi2CQ8{WQDxǟߚ٬J |!7D13Vg&v2K8/Q2kqj(FLf+LU'JddVMG%#pξ|Tg6/yw? x*[*>t4+ R~EවW 0>}tyͺONrWB+Ɂe45ٴF'A `E㸰.o".#jL0T(}dkH,p\#|JG9/s'^< ꚡsРƠ!| *_XF^հpZ=}}0%yLpԌf8ފOtMqocNrKDӊm2M<Ԋ`4i 1ȸTi#Zh_>z5J RЀBy"aFkΏzUp GEѻй/jFVSo0& !K5$X OGX:ĕ{+YN'o#F:rH͚uJ&-ل3YwnGFӋ{Yi͌'q4dO;G3,`2 -)WX lup}cG#||HDE1X@&|c5L`U D;Y"P(tWU*/}Ũ*c2=$?5nr.l7lnp;; H8!uӘH.Y V`8cytcw8k;BcMzUI7'{M!v Mwd~&\M'_F/G QbR7; <%S7>3YjXRJI ++̬X'|=\pJ ؃grzeSI]ՄY)hZR(Лn-qlgo,&kKLy I$B6w(ASՎf*jK,eS0sc`+0w,aWI#d!JL\U! sQWɇ5_ӳ'su8QOoVq#NJKC"KN1͘&@D舥09D#3taJfS"!v%1 n)j-`T1X`e0Ԥ kP$(6D]m[[<'W_pZ{wSU^<wsk&ugo9En01j56䂢. &  ]c!N~j0i 5ln!Klr%lʄE% \n>VTkTOn_q V\s}^^e>W^V:QX(gp_2P7߱r6{%5^L"\!R!HVORaSCDq'㥟0* HfSY*VµQ:0g#j1j`xՍ}%d|/oz_zb{1P^<9r-LZƎdnOM£MZqj˽wlof9(92vJa|BU>-vVfG 2YISJ!O\qG+=t6GtbmLJdU(O%_>%^і{;Se* /2-SD8,23^\bDDI]WVE緖߳5͆Mg8rzƗigxgʹEj:4Ğ6"SQ4 zc6jc @8KbȢ蔨ˈ$D>LӤ$&a"g7ze, ^H)aܡ+6}IŤi# (7tHom6t0~!Shލ€g|ιɹGrU$51'NE9or⧹j xrw>xFĻi@ MFqgqa]So:NY0V1Xld+>yЕ}EύPVLC8 ikJE;mt+&0T bJH4jF2ĮM&clIhym+}_s# _5"x{dǬL$kA*eo!A7x$wI7毦q̥h F?c?{}my; 9;wϘj;tkZ&`1Reb4o iePh&C0֔]_t刪0h+)<>]\Taah/mBytF!'g&OTti>_hp: ɐ SzdWG o7ɡ"&-~t~ݣ'oÀo\udX\h*,ChTb6O0!U$kp|鏩Z koxRǎ㡬hPzY\MvؓIUGkId6g'js\2w*\_đ ˠ.DPj/E~ 45ЀBxmqsP5=C)`5Ҳk=5s޿L0"> :0wV>HLLpkm!Ch :vHwS`HOlZ œ)7hTOjzUɨV –1cMHJ>ˡO- 6e>3,Q$;sË<掳\̢BMߕ\)7K|wk<տfYK+= @L4awX `qW^!}n:5d׍K3Qcfє "l & `a02k\kF™$"h6g5RD\,fŲ8| \*7J"__hǻ3$7!)#N[J5Q@J5C˺}L X>< <@Wћ?~sOo/u33m[u*xD2EJ,XH CM\;4BbI@~˵fT` {$n40p?C6uNn=.ð7_`%-$8,N|}Qxຫ(U)@ꓘZ#Da%^` RytG7j5:*Q7 uL?8KHpI`L:SydQn[5]cF x%fbbphl锑Lړ$27b3W|U![KWdTŊ+qC,xdrA^p[Ƿ)œh e0&Bt), {wtY5t(RRW74n,SzG[xFcH&h8Q`5GkW('y 34.Q\L\F [} *-.{Y0Z{QR1:^$1i|!( G6J7R:g{FPUW+iB LI5_"J]ᅫ unm}+ґjPK8x$QߴNMؼPd1T'"@+#]]S kfj!!A0m ^#[Lz>%V[(hLDaHI~DD#ԓzKu՝8% H¬ʍFѠv^mnlfѶ{NTW4/wwt;_ }f8ѱ{$,Bx'Ŕ{S"1$7,kN:0k֤F1D$ɫ"I$pd/440Қ~ \^##dsZ/uEph.Y=$R(P#izQ?x{SAZɵ*iFO+0ʜZZ͒XFuXn* WGS>W&Pq-xW+f:pʟ@\׉ ~Ezš /_#rݽi j?s>ȁ9sx{n-Bk$!*7*SWk(h#tpOJ^s1jɍ"Lqɣ1Y}wZL 7[ü:mL]&;\D0Ge rc@57Te(Q>4^=oqr!zi k/#o # ZaQi&:N+֔7J\XWs =amzncc,˞wn@4ğ'.o&Q"7 ۦO7$Q=InGuA=U^žvȩUqG*6;5)m 313h[q֦g~EϘh椉n&iT-U%ƦPxt&k'$n[Q}xn[Was?zk}g0,CXOqe@t. QfZ5q$*qϠ]llpkϷsC3[n[$&dnӊM/(c%i6#^d3ƥvÚ&8%e8ѾHAR^%Ik5\+WtB``6{}w=q%G~p7,`^'FX8vVEJaa`炙 ^mdWB}NueP#x<WP#IUHx<"N YŜ>zvͺ>ӼXΤԢ5nBz^)jgILCǂRh. D030;pnb#7vCԡ0M‹,KY{H!b>/3htȄvv 46N bac}37}LQtB,Di7jVڑn_Ѝ*{Zn\fӏwK. g=Hf>h;ǡܘ4)$JldȃV#DHsp'D ]-cVp`O9][~gm“%A=݇i,i#Um))g:uXTw <Ϙj g}@inug6/Jc$.#|~Q5.tLGxHx?7 =;_f|Iim*٫av)bU5zg[>>gih:p8OӢIX9o:j,Kk^_noK# O0fOC09x0,Æl?Tꮴqkg#h3zmXpcכ b̄a:9j-P\xf)C%h5~!|n068IP'lIVyiTe9DE;M8@ SD  q-ڃÒ@}O n{Sux8;\9\Sy=tY dwQ)F;l;Iz}:Il6<#wj$s"|s-׺\'nZ&y+`,C œhYs8Ζ\QZi QÊ`T̸ƮJLPy>(Bb㒢Y0h,pU5,1!Q#|~'"pEaK{hЄqy.ԛJy 71"̂#N] t7(0HS!giIDATlۯF5"69@ }+# /v%3u`>m\OzagC{>**\7KljA¹!? QFCn\.vWS*У̯/lnasBIT|d pHYs aF IDATxydGv;ګ_{7 42f8!j04lR%2%˔ePȡv +dfZ(IkV;FooޛUИD2o/]:a.e;}aa#mGS>_~>^lm3ŽƇYJKNsQ|sT73;}wz|$]f#?qm0G~$?`7x}LJU^?pS+wkݶI!:SeI_$ӻG^7P{l1ܵ?skk{Xāh >(\\bSg7^dN爵;x%'iE9 ^ǧ]wFaiۻ1Y9GfgzD n')ДÇSfҰOg3/o9>,74Ɯj7Z|eܽiv@]?i 13[%[cO>qo6js'>N!|LJAl/"|𙋏pS1 dWEi,OvǙYԉ;zW Gw}OmtA `[Ie{@b8/}Fn9[<޻S7^4$I#. wAV>SE5H ji@F-@j9~QYk:˝7nf N>Qth{ ˏ߇4q (e&2B<`h8G?+/ڴ/~}m,,n/Iwc!Ab`:n#ŒT 3\N' >N5>t:#Ƙ9wm`\_J8,C5C}E HV0*<,gײaWoyyoD~7\8t"E$GWX\Y&F}*Y0c?( w8S f˖?8?vgoDhF>a; :5 @`Œ$ iAeXcQԿBEQ+9ou?~2>h` Sxf9q(J J LSA@@ hf=\y9YO❜wz|`0T\Ѽh|727si3ftD0$fץ?AhZډE*tGӟ0e ?H4IsO>r٫:o VNge D $ +5(LU+GrK_[fENwa|PZ=Cw=ȧ6#]ΟFSCJ\*Ap>BMz@)BIR ̉ >.GfgkN~9wxNޑAve;_}Eٔդd{A Σ;_bqNȋ"21@ bXP<aenƝwn| zU>zCF-^^s*Pxeי_mp=Swҫ7Wo>]ytᜃP D^SB} ޅhC@} w}%^kQyfNM:`2]|ٟFBq{zv^Q(]ܭΕ XLq j-##>.*!Da LPv[Wd埿3M޽wF{͎`b|,yN9RL)%n<( \%0%ӂ(p{*PQUVkIr֡~^?,N爁G|ٿFVn`İExhBEI( 1Hk,TN`Bx_վ?;ÑO} ]#q׬ڷG N<#i+o˂fSbtJOp<"j$TinYQ1hїpaFPp2Dصw#|e~/~"z?Fv4;K'v];ݞr,ⓏtL)Fv\MĦ1HQ4 kBbETP|*[Ī $ !Cϰb;¿m^>{zJZb 9}:6W1L󵪎^M,Y it`ILL DbRGEQ0u!M3N|ؽKXL[[O}?~ }GV_>)k`žΐe{fE%M3YF IL!SPATc!T6?Dc Ei~mWk;<5O !I>ifXC G+/KT1F0i4Rmp~Ak1@, !3dSjRă:0'__V>׾ӓV4: c̓O;اR%]2'm4+]XKdi+l{ldi::-G4:weLg*B QCxHmʱG#銼k}0:wBZ=I<ʚO|ud{u3yoQ ͅ](< 6> d:h4~cw=r6kfx`@~{FD+&YGe$עoIc+L^҄>{a2D @3")$udO\gڰF}zi㽟) `!cӃ^Iv(6CIHs0 IRxƿ+,. aSD&$6(_{}1A|_m:*_j 6 `=> .j h2fWl> = [zwuoL\fCYC6 iGc'tE⤇ Q K;M"p"g܊~Z0- \`LekPvpBg?QD %=$qmhbHKј3D aGS3xOk o02"<+_ Sr |t-aWmu$IUV>CթT0Vא7IFܻMj'[EbH׶HWG2.IDCD,-)JE JQET©!e)]*F3N1NQ4]߇tW락c 0Vk)I~<473/cc !HӔDODV5MWt<:2E!iuHVvQp8ƩtS 篽xak|NwP0+ uyTupL6d}rkwp;Y|Μ=seԝnH7L4[q%b Xu =kRHe6I4J HiFF|ŪPVJV+º㸡f@]NA+VCdi]GOz*2v6ٟ;ӿs{w[v}"{ctn\58O,6P8cU_"27V11ѠgwL W=;~I9f#zH\dT% j<̢S+_? X}DN݅fuGQ0;ԡSq!rJmDB,͋fP`V"dXxF nBINڳr8uUD mh[F;+$?&/wzvw|hFg?x~׍Vl7 (oz#T(Pmxc[I3]+B//dOؾvɵ7֙\%&N(/j>b9_UX"Fh=Jc&M?ޏ^dpi$u@g24ҘA z$KKF/$a06o-yWy'5@>vlqF}՗٦?K4ayzy}^uófV>{ ۠" 3)< 9fV7I,b/r R$_+ Xi{zD[汽tNs+O!wunvr43b֠[ߜ%$(Mh qytX|/˗'Z;&n'"6|3gf zƵŎ׸DI-se>AwJeQ7z&Br]o>lOHF9s4 M0b]!`+oh.F%:铃=m"R&&!IM{v1˸ѡTIe\>E%`U?K2wJU+"gI5sRRk4;$N4g.hI+#G߉9 h4M\֚\rbb3JFچ0cqН*殭 _2A* ()2I2,XbVpD3)ɦ[`V8CvZ4W"UK:(>`l!A5;M A? 8Ceh'W}1`,Vc$ZZW BHl FU)R,6qUxCHcbGDx.@;JKձ%<+t3Ӷ2w$m4+HUban|I"y#M{闛'/*=ŋ??xfZ}R$`Q4%ϝ _n& IDATELjP@:l`fnnĐCJ=y ā-A&%Fӡ]8U!0+$|ɯe (MRL!wm[?}Ե u:CƘ<|6Su2yޭg"^xSG,׶j+*4م4R bhT+}!6 [Q*#eIMKhj$9CKmog{81"粀adVUH_jwZ_0fsZđO~zΖ 6ݔV)գ' B(C %_PΗ8_Pk[!pk=~3$.Z^) D&K#$ Aouiy?Y/MZYϭbB bٜ`'s:{ N#*M= 4=4}TnGȖyֳbNC\!P ]bg>#o{|?ƘG;vSCʂ:SE*FDllW2sw'#ibdV-IV*c$DAU,EtؤPH8{)${>8 9n6@ 8kYBV0k.Uͻ[=(޻=GpO~?fͧͅi"nk˿m Sx)"19t̡WvHP[[ӕ[ObYn}n >B |6AŒ`MMSp—8HֶѼ$oK ӼB[!={14(W`^oFLU*E 6*uä1ގflveb"eeDɌ ;yU Pd=Sq2,b.6Rƒ$iI_8#'$4*^q'n2OuiPL$J??W/oN{i^ґSWip2ML,5SL @OYk>?P96/fۆXm.Y(UN#HռiO7"a0N aCu] 6wX#X!IF}Gbhp)ݳEg>/%ԚM Г_㬼ބ#I9!;ߴ#>`tGC49&Bb&bYZ ?kmι#ƘL {@oLUȾ勏%M_D;ݲ]+MH[} ab=WNfrJm$ڴ R 3P`ֻYtd&jYF^[Е!z޾(ÿQxZǭ]'UOyӗ^5YJ L*/Nj6b*(Fa?d6e>>|϶o4M|ɳɥכԀ7٩vt)B06'b0s($NԊx{IIebLM[h"{|YC˂.g;Ddf+) ȑ2 ҡ76ѼfFvl uyj|SGXHj0ܚ2IlCձT!Fo9YlwvXk83k]~4LTs鼑쀥!u'];f@D_e:"PMi]W@"Gx2T?߯F4\hZ qs_!FH.!uO%fBk[ w)i_dgs] O-5]+U !:ƐJaCac]޴f QHWTE Tc7YG$Ƴ5@zx wCx WgΜ@AYk _"n@u&m#{''s~s;4d9dF% htTWO( t? k7 ]Vk8 dBN`zmZ>j":l;sd"jB]]1Y7)UݮLrL$6a_.ӏ=xN0Vk1w W%w%!9;;rUՀYcEEG,Wi};7+_]X2r Tvʒ|8ĔA+I51PkxkX?6;pٙU5#M :ĻYqu%f4FolEDl9;nV>(_z[jƠKY !af~@ {7#(•(K'Av IX!>Dz| v3{h l0U8B,soFgf)*@ T*>Ju/0E1 ջ3$񸝐7eɲQ+'|3i4{/"2P|Mʭp|vދg**xвTMCtԫ&;^0g&T鍊H1|qYBb1&FGdS$hP}R-܅#YSĦuxG1= 3U|9Jcב7~e}k_~|鶮Qf̈5[ZMY` J SK?Lֺ? 6o`s8v'5O)˯V1ֶ H 7wy'616X9jRd ʁ+R":! ,`"xdZ%0JT|5X]WCbH/a]f\z7V.*+X (^XǏELU*0 bj4@q(>э7Bgh5LCZlȅͭ`_ɇPo$ռ^vƘS9`ePdsnt֚I AI4Ji}VٯwEu7p=;ZAvTi%$D, %(bkV+q-JkQ]13YVa<&l~R(~`{m̠_;RO&L_*g./Y5Tt 6/(C``$ :4ʴ01 dck<]AWCo/74ډ pxv/~Z{pp&[OxQYIKMwQ WfK:jaG~AXRAC0 Q!ҫonʂ-Ķs_yi\S1VNa6s6]`/÷~e~TY\3{XeR XE 37!EQ&y6%[&(#%o8=ѰUpc%%y{s}{{{@pYD<,_Ud%ٖYl\"(,gPß@bNd|nHQO2BYNt Sz-AWNfT*sҪ2ALsVI# ZM=Fg,T\(,Uk0O.!&X%O ([Vu SIurִl.֌1/c9C7n|[U.wys•d|0vNbMo[)֘IgAv$w~s2>*!SL+Dkp)M#99OE"Y$T}djsܵ~iImP|W^|ٕٹ; jm|cbSg50%=d8La20iOIQN !1j0"ZYˣh(wlNePYiVuZ]A8TwwNb_lhnM]++կ4fؑ;BP [@A#";+QhH`/ю+X#QŭmJi1r0 c]xeq7WkQ6[f"@!ǼIezrlYBofI2tnŴ~SU5U_S/ʲl8햆)0L&WFZpޯѩH%UwEPZCbaʠ4 $ѐaLlDf8LtTm&S\c cw f2m`lQc%|I, K1C8'nS^%/n6I4 r,0ts*!+TO6 z(2hT$|SUWuUdZݾ>t= @߷\Iy~l>e׀U+[[Ga5'&5u`L2*`QW%cᅥa|mM\$fCB%>Mٙv._{ [+ގf]DKY7KNIM6f8ʋ-Unϫι!n!W5Пq&r;^!GCdTID9 Du"zuUmJ5mSj[o3S'5YS_yW8W«5>0NB肀fQgY%Y.8kcS9#:P[#+\'.@`2 a9@/ALbz[$3Lt)ݦ3rk@z-n y?aY 8xpt~g۾m^ '"ҔW9 LbT%VJyj]rHP[U#̦.ךA0(qb*:>+MyU*D"v." 19w꽏x!~ , ~1D'Nu͖ل=}t%heP7(yNN h^:s?zge}SHs+řלH26iJ&*lDdADDyEm<Vsx#WzOw/vs!P$gvtG}j]l;Pb0Ee 9Vf2[3v=˿jp8C8`3#2\eQ^E«TDNPDNh,Mܯ/r}Xh4:OU}HD_GJ4*#l@RC6IDATT:s4 z_LziQ"" ! $v>&~ZFS2 XpN%LiU3 ]MWq^Jl&"y{k}9_z8˲pɑ}Sx BI<0_|_UwTcibH:{|O71v/nz.4MT484TSڅ8>ܰ l̈#k˹Έ@UOPgsO<Ҙyx Xi8 ]f+U0}Q{ MՍv;k2.(nܴL;7oӲ2Tž)g,"]* {8nUu_Uy"",rB/SZx= JE`S:o K TU!|s 6Szs~\ӠĴ .lgQ^Q#}":QՋ,g׉WAZT.8NSfqGToFl2mXya+m FјoAUK":R#f>0{%xE9*rHD>v---~̐D"%IENDB`spacefm-1.0.5/data/spacefm-48-cube-blue.png000066400000000000000000000102071264770501700202730ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs aF)IDAThˏ%W}?眪}owOόa=qlC!@#!6Db]MFeD a"  gLϫQUũcAK&%Uߧ{܆?oǟz*\=<:qz[&>vg ٪ 3=mtyUD,~.s>ǫFNVSS΅slvwR͙SzO'v>f[S>%]}>31&bXMX]ޘTQ;ݫ7s׾~nO>d悇3|_VNr.ĬhIG} I)bNDɢb2&(asP{Ϩ2in2 Fq㟭,7UY8lW>ׯoNmv}T(F96eL<Ԩ+x 㽧r'+TW<̠ƧQhG[{m,IB%_gb8ӡt ..)ɂH P9b8_raO&C.-ݸqb6ɻ' ٶ*ZCe03fGpdUd1P 773M3&wĻΡh6T<sᣫrn{I@(}WUӬ&X",$F3gwJ1L!H:?",d`8o: 4u}65sY,=`bmI&fe4_\T**ԇ#<3q0ZUDs 8ރ=P@UJP $j: kɈ]-3 +Ɉ#Ji} @t"˨/ [k aS|DAhfŃ岰Z''׮=MqژA2++ QEP j`'zG2h2[IFwynt'N4$.ҙ'*ڛ#PLW{?:;7Ls'WVpjl%;4H̳}@q,o3ȡFLl՞S6ӈKmë2"d:$ D3, qAgQLE}`U+kYYIz`ݩC-w%J{v~q.+1+fG@ Er2IntȬ!R& >}##3Lj_qrmL^@4fN#gF4Ңa֗6a*JJ$Aeؖt3pGβ!LdEONLǎ* *3jUGhV'Wk&򈫸׸\F\>8X?X>S:rj|H1e荱4lvՌO]DG~7oj>_Cwu05^\HF/$``z&w8hl]첪dU)j``jXA8 9ƮSS77&^ObA#W;??)ۇvK6\)`JF1FJ+3 z̨VӰ$v:ƾI[x+m78 7i'|M]eŒw GٴڹPXY1^րR@HQ•H"y7-ӦMgv3~ag4V?n~`'Gfg.4S^ssW o5$Ƌf5 `]Rb 8C\1y74;w9iNjCDHk"R+{5[olJ\|`rg}Om_[<$5u5Dk M㘸-7bw26Sv'#b28=Gi8 Y15 JZ,ݽ˃Rcg2FR%UC5шx|rWV8 ]I-JԽcxҰF4v1ۣ [͘o'޶%a8 ,2%fr. <G x@@\j> a)i"Gg&򉝇;,topAädҡwrO+2%Y&;#9%{CbiiV<݈ L$_Y\w`!1404p:&*p88ܹ+s3 bYdhP4)CFԊ65]a&0r5A8[I rHO )1D9+5S*IY/AqLԓM1ͥeЬXzPV4+H&Z:ڧ4q˥cPmV(ul\=j0 y(z40'ЀSْV`yG?8`{94!%s(7̡@rPga!fzj̼,Lm|_8|a|ae/^!F5%eU¼MM--9fR.&Xa| iƲm<_4tL]](\LӳO[\[uSB^ҵ0La0`'ټe iUxgFDURs1`8Gz$]L3y[橭:0.7;񙏔cFY{͊Y> V E 4'Tn\4oRLld cъdZA E0龍k ٬xX C###))+ZYŃ-,Ykʑ"!עFX5*#C*Dv.  ErLfb.cNĜINm1&;gǸSӊFj3@2!x}y>XHʐN;'6i@N'Ur\Z9+ –4<0󓚎u4ը NR*h⇋g& A1'R++ML(j R-1Bk_yGaյԜ׺a0H{k &/WD a SpqˡH9 \V84J}xԭyJ7^MR NDH#8a 6ڐQ-8oL\˥9Lcβ 1혩H6 E$.MOuVdž>@-쭝)&eLlĴb9LHoaggv';^!G~FZraz(E,XS6eڶ/7>qB."6 kt dـU3-ht12H$Ans @b!Il|]|ɇZ,tx 1 13aA\"CdB11eĮL2т+~=X"D7e,i+7abe#"$́#0mG0IF"J@f%Ki'i+K8>%f2GY1pP% ,(59EL1g˼cZj`)IENDB`spacefm-1.0.5/data/spacefm-48-cube-red.png000066400000000000000000000100721264770501700201160ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs aFIDAThٯ%Wuk3ܩGxh9qb@ $( L(~HE#߈GG!""@v{{ƪZ+kG*sϩ5|k |2]0>(`vEJSnէ=O(=ͮ~;Y\ݼpw?Cx駛0ǃݝ0څ|&륜6mO*yӮվ%eJIQ㖸3^3m[DX|'~G[gK?dIϊyOOe#80&vۇx1p2RlK(BqE/dw"x8LwJsw|o/^}me>|>K3!N{(Gsf._XQ0.[A0#;ShO8P &-Wd,aeHHtckdwi*^qsjaĕ{SOUXy"WB^-Yߺ]͌!aC_gKa^,c%6w: UD-2>8)3QĴM.?sn.nݮ@Ҳ#Zz R{pw4gk+CBĪDAod!{#H tv7I~/nk/6J͵ kͽDU0 (ӥڶ@G#H8Ǚ`*ozޝ50ݚ_~sr E;C"*R`hwۈUsb0jN<0!df5QOL1O݇r~ 8E&Cl6OD*x-uڄPT)m7Fv,o| 6X;nxQˬ}5_pI}F&A4Ii# `2-Tŀ1{zߨՠT.lcwGSfѿv}ܭ`y";Ūgziq)MZ-6 =ԶZ7G}~: RW1mJ)*kK6X .Z[F F,J (<0w*6}{_x[@ ͉ĮU;G#оK$RmѡJ!6h ;hm^9w{- Mn !}2`޽S_G~Z0h&#ma 4C^}5a\ 欿}U '9W {O<6L5>2N"Wi6BzC)"q2$+̌h ;3aSąAthO "ߠyH?~w><^7|r8VX$te]BR Lnjώhɸ9ќvJ ZBBsƅ`pmy#vv`qTa*J 5F( XnBL $9M&4VSڃ*sp8˵ʪ*R428А{;ی'/gXuHޏ*i~' &GJP hB;4- !+qwVT* i=xPZ8n8q>nMҋ_rh Rbɯ$|Z@H`sAof*ʐpcF :đL4;BǴOaэ7a{BYn7OX6p\5 D70}aKJ,I²'4M]`!}h}q52߾/VxrkXe !Ԣ F>(3zOw }l )#jDU1X1q4=](h_?}ZcyhssG.; Vm8pi%P%‡Mb_SVM&+ue8^L&QKN-&1z6bxJA7o)b\[WZ?Gr-d !Uֵ6HV\tC]O|ږ&B)_rU*jmkk^'eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3gAMA|Q cHRMz%u0`:o_FIDATx̚KYUWuM.n"FFC;2qb!aBā( 5%-$<":{ϩrWܦ5:ʩSzڥz}I'~t륝j-9m&3:¤eˤ)sg?סŠIUɦHSA8,*Zj1Mf IHxr朝y=sY{xc L']/W_7>i,-o_g~LP'.|I’fEfFdG7z7G5is~/w?~'o}Ed; K&lsT*-`6`yf;Y1WXq12~KHW_COǣP%Y|PyX$aD'$֝{$Rb*:Ѱ[ΊU㎣y=Uyo|nlDw(/k&CAfR^x"b!IyU jVEvi;%r8p)<%z2w^6Kol JscI)men>y:fY|@| @ Db&:{<]֘[޽A*4etoYz1w89K/μCjKMId8EM5 {Xe(<į>yev 5p^R!C`JRvxfWXFC?7GJ:"^AJL*}* xq{']]`yist5yZs-ܕKW3Rv|;^8s^UuaLXnIT;nzrr`0T+{RL%[. !APXKG"I]YCLqtPid2pX&D6d*yS`bT A=Rak8 غ:4WqJÑ_ohca flQ쫕m ,: ZZRN=d NQ:5sBt$~Ÿ'{v&ZO a>w u 3.r :.S"~DJ@{KoY]=SAb FD>_I)CNePam)h}p_e?i1FR e{ATnDkYh86V|LB"j-K҇:"yKuχuiTNnqT ۾4*@TϗYHa}-Ƅa5y6`|_h*p)EMCcOu<};!P46fSi%2f _JP3T,df6Κ3Si$&(XlFmkt̉eT~2㲵Ce,.09"2ݶ}(2mDxiHVQn.9FܫNƺEWV41‹Fl_Jq4c BVIhZQ]tu*4v/XB.ٝ,t&/.EfAJ6d,r?tL PtJwyDާ2 XB h3ͅt${t{mB2CfxkLs6-6:zDb),2) f&d g 6/<ܼs$__w;>֩n.diTCv8>g?4IT֕E1-2%HFMmfsTLewg8_*Ńn~.^9Lb33-spL*ʵ _sHYgSJ[4_7S;-3c[RJ^x8sf`U>q}8o +\J?|ݛcCegn غ‘5IENDB`spacefm-1.0.5/data/spacefm-48-faenza-find.png000066400000000000000000000172421264770501700206200ustar00rootroot00000000000000PNG  IHDR00W pHYsu85 MiCCPPhotoshop ICC profilexڝSwX>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3gAMA|Q cHRMz%u0`:o_FIDATxĚkeWuk}νF3=fr HYVmB9 &1!ʣ?$e;v#F]!X0 5zyu{k>j.W)=瞺kn13vHFS_G Tu"&Β DNYIU9@?ˆ̇ n; WnKWy'.Q{qu8rSyDD\ˆI昍مF)emR֜b:$mb K3SVSʼn7>sH-*ΝBݑ:tǪjxUUUwt N 섎7wTu;2\]PZN4]3RSy5ߏMќ4f؏fS8 3؟9/8J=߰y]ݩ;h6bR,4Y1cldA䜱Y!8  Z9 ^s' Uԕ'>G|3{gȨ#/nع+1ߋ b&F#fH1SDq9H)c2<<<99C[D\qs 8G%:!b!4gn72pV[6Yl^7 HMF5=k{(O`aqebb)2 c"j";nw1kwQEāo)NPy넨QAe`0 017L2#EeMlƍt'+Dv1yelڴN͠I=Sz9~ɿ7~C|beș!fm}1 A~a @$?@w 9gLj)/뻜w۸v۹c5g91ƘgN2}f{}̧)sxIYB06 T D DO̱Eb{q@l&JJU!rr'7\͞㜞ɓ,,_ ɐ-0f5[۰[? |袋_ &9+fRC3x@IИK: ׬H ޺a ԫ*~m?y3q&uZT~2#lUKݝ|O|xoOu驑j8@5Mr4Ksr * r#}CTWw5{6fn~ H?f@OWCql3{q`%F1ޗ̡KT 3EMdYڜY󒳒TI9sFkQ*OO1?7B oMR8DE,#HSWlf|nA# !"bQzas&崔3e|ۙYj,b}]0)&~ssj>Pn a-̱[;L)]ǩWbCHIsi燥^Öp"SPF7O^{qL͂:Ƈ'sup<\3 cD+`Y 6N*{L3A;V N 0-ܜ,-Z!y善,90L];_iON׊rt|Zk|Ћ}ط"83d9)J/""-0D?{74~#nUj7F*L0:9qFVbt1<1AgtN= b`٫t~q%e!̼\j+4u}3:yOl?Arwpg`A'@]U-RPu^6O]y~JH *N-tkFKKU EBs)by]TusB6c:03^!GDZ'3ӞYܜgn393W>>91 .~Yn[̸u M3jqDUL淡Z#cjۯx5`̙Ax/}|>.{im+9A";6eS>OOs5B?'v*<7-|a6r#8t_swqGHQ1)P-PUR.D[[fbPTBB00k>“򅃇;bKL03;O>ɏ|g^|?CFxy_ /̗n*\}O; "bVڞ3BVѨfS"kTj#l޺ffN=yG /Ɇ3ܭg&R^K=yS`r_f6_ȏ?̠|]װjtU{:74 L\DB/ Y01Cm@̣5\?b+;:0Dcy]A!cu&-sd,3\&%:!;GJV``$F<ʐNuFY<\cqqWٹ|MxaYwf0:Qw_T-2fR(b^YVjDKH v %O+8ՁrvXT._}v~f^ ,.,1#y#s9')40Ԋ.q+8ۆM ( -%NJI/w W')1<#_-?|[.v6ǏO]xܰe`м$BH!ДӶpW qsev""TV*ЖӛOidC5[fP(M6nȋ/H='['MCr{ 6EvGHιv'LD*fF2QATiT諰&36ѳ2U =B;_< }v4}/ #8oD 6KF!a%8Gr%'2C֦2:+,DġJ|U&X_|ۿ~Uc<۷o?7{V~7@iU)= [${Á H&g鹚% A$QJs.$8\UCwaĭůGh[lʋ\oH`ow4hʈ&|Hn ޡΓţ>]=PB@\ʜ+{ q*|USG}#!j9F639E56I )oQm?GQ j-\t+s2R$I2pRZ(#jb aA?>}p_?'՘7: ;6۷JI Oviͺ<1aZ64bt\NJjΤ 3 $Tq2222Nwsm`nhPm/?~_V:,ƃ }ry\px3DݷnELe#̲E, AD[( 6fI1Mf"d/qVvlɻ/? %_ E,Ɋ- EV¤,Ij`d=ax%;MH-Hn mTm ]Z9qK1FZ(<7R%{ι*"2j[ɽ?lyfc+[Z IENDB`spacefm-1.0.5/data/spacefm-48-faenza-red.png000066400000000000000000000151601264770501700204470ustar00rootroot00000000000000PNG  IHDR00W pHYsu85 MiCCPPhotoshop ICC profilexڝSwX>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3gAMA|Q cHRMz%u0`:o_FIDATx۫̚U?c[Ĝ61mkIzm4Tk(EP/QT"PXlQk/$'u9aZ\(憵7{q~߹$"|ᓟ_į#sEҰ@\DP4a¶!"%xggȟw?}{o}([g$d : Y"rtȢCJ g;_7/jN_j2 "_7mrz+#-Q+1QAP07GQ H( (DD @f䄨BhJDN301e[_G=" 0 ^97ظ oW0#,*%F0L m%$Ђ$iV (HBs)9}`o'H{稬1nN)^ aBJBcaTFG!hFFH PzBk%),QKa pI#a `H±0Z |ģ E&n dMm4C5d q k؈")`A[7k%0}[%1ax &ڵ Lq\9"WEqp!H"$zf"ۈZFj)h;RێQFhx7a8JزB)XGY >$Gg37,QV,y[܈V/{u|Ih V@0HXV[s$M&=|A+Hdf\zߓc|h 뜙=Է]p%זa%p#V7ލك؁4MzUԟX8s{8#lglg oرUfFQ"PJ{=F*&l˦귔({%>*N"8?b$3\zG9^>ǘ3ݯn$4;;ANs aUQJH R@5G?p?{pY[PI _xzGlȅDo^bP?˷;!CA I~9)hI8^>4za<Lj4G#NLoBsG*)@ V|i^[DtF)cuxyj/".=[6TǾI!P-rG9UŬw/u`b]GGP=>Ge5ܛ恇P;{ǀ{csAP598wr? UkdI0%ɘ<Wͫ,.&E ?LeD:`n*=M A9bK_k([\*/3;I۴((/k .sc?N<|?3spw"G)ښyPD/ZabWfx#xitN_wO o{cQ|O7QII5H\e~፜'Iz2xss;'|}iucNSGm[U.=5|u J+Fi$DM@*.=yees=xL$1EL342DF/0Xl@foqz4:'0yҸWXpnN!rvfHJBPQ=}YjAQoܣV9UxWsdbqBpO}7/NG.}OA&l89,a1%ƼdY+5ӆXέ q / :8(ڮc]lLDbg)D>eIB]))1Lcԑzi]ӺuRsꕤ3Dəsr(y4-vMiOF0FPSl3Cê={$ ȄΌu76ݮ&mJB9$$A*C9z5f,) \0p]\];ˤ6n2쬒@rv'0JƣvpGĽA1} bQ$͐=@0Hw0@+vf, ƌH" Hק&va{&VTF"qH 7FmOyڥ)M$Qz$ : AQɝқmPZjVݠ B+R Jɻ@ME=K9wDQe>V7̿zTT$pm|(ND!56 `M9;`WţGx;Qw%w 뀺!i8M؆Bﴥh@W%c12в+HM$\U\&Sz敺-̪l(N1[zȴ5hS9d萐.30 OJ 4-Yh>s`XxByD+x6D9}ڔ9"rf| ][`cᵍW=j2h^r @~Cpf~EI!gb Z(:k) HCp\V!3 u0-VqX[W"UG s/)V Zf. )FLG\Z*y @c(UC#@2?^`TJZ{3?  e!(7 t_ ] 0Ce0w>2x= pgp 0 k!}̓FaxJ ,CPq YtIK0 `ThHc"$j)L<FPE\vͫͿ*nݬ;a_49;Arx:>IDΈ)3߅JEAz7]B"/3` B5(S^o2Ħw[&Z*&z VS,n|Rl!$&M=QOm|A@RIr&E3L)1vՔtw 6SΥlȓ6V){ãeK XJONNe*{IENDB`spacefm-1.0.5/data/spacefm-48-folder-red.png000066400000000000000000000017111264770501700204530ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs11(RtEXtSoftwarewww.inkscape.org<FIDATx홽Y}UM;02"7,0*Ol`d` Nh*(bTU׽W;V8}Gur~u^*YUie9^4pNNi[=Wŵ;l~^&[[ܾ}%-"$BZU?5Ë^~w`xwѣ$eIe;$y$޽Uh ~~?4V7 ,*)'>}BV$_[;E\D"Bɿj9s9幕R lkwha߻w5PaFe9bF!evEY^RpY2 p}|i `E☘0m.R XD:Pe0iU !4]uUH5̖5_l6/]c08 .g;;!;{(|^mO &{{># S%~ AL?ZހB{|vr'XIENDB`spacefm-1.0.5/data/spacefm-48-pyramid-blue.png000066400000000000000000000067231264770501700210320ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs aF uIDAThiWy9rw{x%/$vn'Cpb#5 i TVD@*kSPK@U/Q?S(K 8A}i%g<.vwƱKR{R{wy{F2VqS[³b Zknk{S0Y `约ox?J.ЪT*+SjnN`PP#Y|_F[vO4ED((#(P.Emphbӥ::ptQ ʁE蠿{@NjU/8P{gtz~ĠyA)SE\^{wWtoGGmᄆK_)e9c1“I7M C6mvرpnb,ɘ)yA;IIҌ48ܐlW3i=̣jKյ#wR,,e8ɝ#I2 +EZ;;dkh>;v|o~okA݌NV R.[l P8/:X<5_Qݥ}>>:]5 CR2/a@CqXC=SRLarOv^.LqJ+W2XZ#+ |P rUrd+ge[fCpO@u`ӻ?Zw6?P-ㄹ3) q/0"w8+*Bx%Y7e֠3jo Yk\wl7Fj .+-xmXSpk`Ie.@+]5$oHT س&qgZ)o]?FG4IeDorLǁ6韕o m7?[_]!jT=pz8f$ Bˢ,9Xb7a9f@̯po8̤XT8L_,`G&|M` 4Р.K/C],u3CX1|hLվ5cXl "֢bP1Q [.?ܛ(1uqU,Ε BpurC ky`HohVU)'_/pdR * x@PRƎy#ܿPL!?Bbr= CLuJphzz>\O VƷ^\ ?/y7c]=!xz$ b_>~p244v@/徥Njz_GoD0րY>ǫ^-Du虷ˣRRX::Ƕڽ-dVz+XL`.S5&kϝIA)H^x@SWS'g4y2/.cy?aO=a9I3-A(Ի^%wD Byp\zF:&ʖVyi)S Ϝ͗3N+Vpd6MʊiXX| Vu"r⵻}5~!kέʱѐxXJqT̪YP92? >zَsYW~iK,Pɷ@GQtX{ú=}kPӃ4>cu{#"ךUYWVyٶ;LL?ws(y FE1yE4{-;Wݚu Xgh$/AՆUΞƞxqWl"wzy~hk?D<#y츩$khs9ӘEBi̫/9|#s>?e٫@bL_ ,0EֆMylseP&̇'Eg]3 G}z'ε4=$bbVd(dKpxsZ3?ʊ,{8 EKXQcp3һo? ]Q>IENDB`spacefm-1.0.5/data/spacefm-48-pyramid-green.png000066400000000000000000000066001264770501700211750ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs aF "IDAThi]uksνMlffܤcǓ̓4dYm cU,?NN=?$K9YRk6M:2SO48K.vtmx}~W1x֍U2U6$u#$,M_>0EܱD6 HNCSdRw qCL8vJp GylwQeit 4i)'KCR}8x G#QO'O.ʕVl;>oWmlHG3K@8Q_Ԏb|ޜ:tR 'WOi{/)\;–&?矾v˚'$0HԄ)B(5&9ר&Q;#94}J9-ډ`uϗvP N\dI4Ê MM5CasQ79 Ӑ( r?"5h/yl䕲8x= S E<KpP4gIG?\ӵJܠ3 *Ml=|3\2l<"O&z?ˀ(2ܵzC=T޵#6〉OZVtmY=@&g(8UrU3 הv]xkJQ$2ЀV3Q0(EշyOS1\jUL "GP ":(D  nXsU"V < " V FNk1^zLIŽef@ U#!0f;<|0Ş]ܸ;sA AXWx(UIhB%o>aK3?]"Ž~Z{=?FQv ^Sa,&#i7+k$17@KƔ6)Kc|gBl%W ꈮ JU  ڛV̩cZ!4L6h4$O켈}`)m[̀|.0H׈N+*Vc(Oo֐8/afRUUzѿ%v)'k@9AjSxg`*oY1lk /A!+lݴ|{`㊯M/_I6yj ciߤlWq_'|AAXOZ'ĩ~._Lض"?  1Թ3N2i[0"߮u?VTWZSo6Qi\BE320(3u *ߙw"Qk }X3luj^gOI;~L#&'4EzD=5|yg>@2 ö^'y8q#U?^%_M\Ϳ<毖 WʑFV4spVnp5Qc=rX:cVD`:}o4qHCa"fz829ʼnF_o~8xtYh;VڑH#+jlI3; \+(zLV'ʻy"LJy~EWH*d_I1&R9xofS8 0tX` p\,]+ BWi/#53t2 !?3}^TX3er#yk+RO8?G^?2ꪵgA@~u<5n`z^y$+9кjX +.TB"G%N[T+LԼ6cqx"=z 7ù@aN~ln#. .] W+g 9:D:ax7H.]؆Uri;?QIyH^>4O)U{#}63*[;).-07nq/twS^(`( Dym/7W_F?o'xJ`F}twn[VͳW[ I7W‰D^no>G'x8T>g 03nM{ݱ~hu"w/iW?Z㿀W>+7-/3R]NN?ͧhU&9[B3wxh0?D΀cIENDB`spacefm-1.0.5/data/spacefm-48-pyramid-red.png000066400000000000000000000067671264770501700206650ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs aF IDAThi\Gu3w7o_'ٲ,YȖlɋlcy,qVpH>TʤRT@,(W>'JC*X.-eIXHow|y3Tr[=>t ֍l^-o\ wOs?H0扩_h}Gxت @eCvuػm7~;fVsm5*wO}x־|T{/<*uV `w_+={ +5cjRo^{5*ju][mUXVMLoǧٳ{5;V >0]+]+~x`O9.4F!KRK6n9Xlu iGdqB=ukG޵ole[>1Aފɚ(::(!O3l)C\En~S_f#7ȓ<)z %Lo,9.qe;ͩCn P.}s @Z@x0!EU ;\NkZVk߿zLCoI\ QJg¢ꐢ#,Uj5&Zo:0@`/1IE?G(f9FMr<8G&0qD)gѷ}{kۖ?~K/74g9Y~ iIsd<{7*aN)~ YY=5Y+7]6@Rs.,6A3G^>i0<28%?]jZ16NPY\cprDߛ6X73q(+իkSg%^ 88cEx SB uxN1t6\/ 4(h}q|HcPVq5\&"g8eR\Gb;ԣE6Wyl1&t?QhF41ܑh+,'4C QmJAD(7@? C;T ̹Ozz*~|rrUV<1t3)" HW~'cیfC}DD+ aT8!ia'FG~3>2v S!tŋ (OMf{h%Q4#J\盈PY3՟|?{vbqP⁋TW4RCՉ| y )H[r@e+ӋUʌt=IF@{LFq恱_*6(áV:A!-c2Ki9Xj7^z+ˏ}?/0N}k_`thʍrITEDS|?@xq@}@-; \xa`ux3R|}w1݃]jgjũvaPXId02.Έ)[N]9ou,y`gTQ vOs^(LؑI$(CŜWHE< @dI:1O|oJx1L+98V~͕s+p((?:F;zG檶[W1x ][rSiMRZKKxb: /Ñ]ןb4-6 ;wʳQ䕂BVzкh&Uו::w.dV \6cV'UHHSE4+^(Bi Z Q_"=z"< _HpaZ*疡8ۛ"$[7W<ߩ+G΅s|EъHQPX]XB+!EA+,UDa e!9|yϊviid+NPu63GgE *vaK:twfo䕻)]SD.g;΍.pbpCPBϺM~>}wW$:o!ȌT’"*El73cEV I6nJ,zͺWʩ@03y.\8!RQr΀G3eq Nnq$I^)?ei?߸KʃZ*G@g_8P,/Ҍ4ȓ9En⥳'N<,ukj;d#8Z)qҳ)g}3kP煥KxVCI~l6*[]%ut[;lH,- b[ {oɱɞ~GgqYzR,NOR7nLi'ιC'(4\V7{w wo(nհo[QkxqW"ذ#<V NIX"9IzsOE$INDk( 🞁Jz5t[bW %,##⺹Sna>R#vQt4O^:ɶ_/ =nm^/^/jusLhL{D\4}"˲d5D4h4sj"Vgu؜I׿IENDB`spacefm-1.0.5/data/spacefm-find.desktop.in000066400000000000000000000003601264770501700204100ustar00rootroot00000000000000[Desktop Entry] Version=1.0 _Name=SpaceFM File Search Categories=Utility;GTK; Exec=spacefm --find-files %F Icon=spacefm-find StartupNotify=true Type=Application Terminal=false MimeType=inode/directory; _Comment=Search for files and folders spacefm-1.0.5/data/spacefm-find.png000066400000000000000000000121671264770501700171260ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs aFIDAThiegy{ιeLLkfg4Zh1\c8 ,,P DXCbSؔI؉+ed`B}Fi޻onO>҈e*_V{O?Ϲۥ>F;ա]Z&qo mP[vy1ϭ3_;;}扈(;* b[6 ۔ :69Fr/ºm pI^1S8sjxcX=QH%g֞oL;˟32vanJ>;r dN ـkEyp> A:;pGBPJDDz%hyMUIRiwx* ?I;?yeǾK2}QvTa| R<" l AJ!!E]|k i/j%:.6t\HCGRDnkفj@=~“C+f5|Z^k[+m, .HX}$νwؕynl[#qqsg,tl[8ԒmǍzrlk_Y^ .=Px]G+\2pxgo;F'SŹ@Փ)$"AbyI~#QQyvui1rzzz,JGh(DFa1wo5u^2+x hwq۹e uxqC3+J+ZgPe_qeK91%-v:!hfq7|r%-4 (4岶/_Y_:gp^6&&WZAjIrgG.1qfKm# m887>0tjn} uI$Iժ$-~#y#`lprɌ'-yweldi8ŷ9thv9YJ X0Na9j“@Z'}OԀt=%^ WY^i5č jS_OfϝuW]jw}i_џrUG+wvS qa~G}/}}F} 73enM9Q!-x-$t\ /&'H%!D^e=zbӡu~6ƆѣdY:R%5Ǝ0%Y AHR%޲궫߰Q52jOkED9q]OGl*PT*u`K*UcVvW\T+vVVn?N_|Sp%&:EW 1:@, (NBVc0^p W2 X ,&t$ng͍~^%N)Ӛr7g{?s3S<666x?ey;hhCS@К$AG8+! HN^ G F4V"b$%H̳%pڊ>,^syNj8x`?++S7!:]Vj\"X%q ((SJ.ĉʲ`@8^Ί>+łzNA `Nk~Uќw.M#>otfCO^KF,uQ&* qRzMFUإQj@fc8ǻw1sa /љ,^)wF "斷~cMRﯳgsftwkp,M' %TA {)ǐtN߬r9I1nSduFXx1c6fȻ6R`n Kn~㕗?p߇ 3oΟg?ⷠ+CJBk1h/8'xhVQCB9q=b BwCX`:Α!(rMX.kv~Sj^ r.>kjL+t\jȂF֡'ue]97<<,m K h͒w"f)3}.&@ϳp ;;:>>Ƒ311IRJyiڅzVб`)I5 A"5©)˧Wi/`7AKZxѫqn>OߕECcjAfffXB{U11>UѵB#u1ܖRJ^R",OxNeN-YeSLyt"#x_EZVwꇒ(6>v33sj܅ GR¨oIMNTh7Rڳ/ 7AȔ yИ^"ݘ&gٞhszHNȁYL9s+'OOd$sIOu8+JY$ol\@OZNYZ oN"n d,+=)eMmE{qvjrZǎ'>~'"a "UjMm[Kj5έU $yGG'84.Gǁ3ycM5iXȲ{4>~/}cO~tR$t{9knaGz&KI۳ Izs׺~O 7$=wI a*}7Bt" 7+NB鄭hoB`ڏTQj l!IH{n 9i Ѧ_أWcR0 zsJo# kʺIENDB`spacefm-1.0.5/data/spacefm-folder-handler.desktop.in000066400000000000000000000003111264770501700223520ustar00rootroot00000000000000[Desktop Entry] _Name=SpaceFM Open Folder _Comment=Open folder TryExec=spacefm Exec=spacefm %U NoDisplay=true Terminal=false Icon=spacefm StartupNotify=true Type=Application MimeType=inode/directory; spacefm-1.0.5/data/spacefm-manual-en.html000066400000000000000000020520161264770501700202420ustar00rootroot00000000000000 SpaceFM User's Manual

    SpaceFM

    Homepage
    Downloads
    News
    Wiki
    Report Issues
    README
    User's Manual
    SpaceFM User's Manual

    This manual uses your browser's default settings for fonts, font sizes, and colors.

    TIP: For help within SpaceFM, right-click on a menu item and select Help. Or, highlight the menu item (hover your mouse cursor over it) and press F1. Some dialogs also include a Help button which links to this manual.


    DISCLAIMER
    While the authors, copyright holders, and maintainers of this software endeavour to keep all content up to date and valuable, we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the software or the information, communications, products, services, or related graphics for any purpose. Any reliance you place on such content is therefore strictly AT YOUR OWN RISK.


    Table Of Contents

    Introduction Installation Invocation Quick Start GUI Devices Tasks Design Mode Plugins Handlers Dialog Sockets Program Files
    Introduction
    Contents Highlights

    SpaceFM is a multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customisable menu system, and bash integration. SpaceFM aims to provide a stable, capable file manager with significant customisation capabilities.

    • Flexible - Can appear very simple or very complex depending on configuration
      Inspired by the simplicity and clarity of PCManFM's interface, SpaceFM's GUI aims to be simple and uncluttered, while still providing extensive capabilities for power users and flexibility in window components, behavior, and appearance.
      • Each window may contain up to four independently configured, interactive browser panels *
      • Each panel supports multiple folder tabs
      • Optional side panes in each panel can show Devices, Bookmarks, and a Directory Tree
      • How many panels you want displayed, how they are arranged and sized, what each panel contains, and what fonts and icons are used is largely up to you. SpaceFM can be a window containing icons of a single folder's contents, or a multi-panel, tabbed arrangement of detailed file lists, devices, bookmarks, and folder trees. screenshots

    • Feature-Rich - Subtle power features to improve efficiency and abilities
      • Extensive file management features to move, copy, link, plus configurable drag-n-drop and unique clipboard functions
      • Video and image thumbnails
      • Find-As-You-Type search to quickly locate a file with a case-sensitive/insensitive search of filenames - just type a few letters, or use a wildcard pattern *
      • System management features to safely perform convenient commands as root: edit, copy, move, and delete files and folders as root, change permissions, and create links, or run a root instance
      • In-program archive creation and extraction (or use an external app)
      • File search - flexibly search system-wide for file names, sizes, content, etc. with no daemon required
      • Extended Rename dialog allows not only renaming, but moving, copying, and creating links, with optional root priviledges, and allows creation of new files and folders from templates *
      • Roomy dialogs for easy editing and viewing of long filenames, paths, and commands
      • Extended Path Bar uses tab completion and allows entry of full bash commands with substitution *
      • Powerfully manage how files are opened *
      • Sort options allow a natural sort and a case sensitive sort. Folders in the file list may be placed before or after files, or mixed with files, and hidden files may be placed before or after regular files.
      • Custom date display format; binary or SI decimal file sizes and copy speeds
      • Easily customise window titles and program icon

    • Extensible - Design Mode allows you to create your own file manager
      SpaceFM's unique extensible GUI rivals the flexibility and capabilities of the Linux command line. Using SpaceFM and making gradual adjustments as you go, you become the designer of your own version of the file manager.
      • Almost every built-in menu and toolbar item can be renamed or hidden from view, bound to any keyboard shortcut, and given a custom icon *
      • Add your own custom menu items and submenus to any position in most menus. Like word processor macros, custom menu items allow you to easily run commonly used programs or automate tasks using SpaceFM's unique integration with the bash scripting language, with file manager data exported as ready-to-use bash variables *
      • The Bookmarks menu and side pane can contain not only bookmarks, but submenus, custom commands to be run, and applications. *
      • With the built-in SpaceFM Dialog tool - a zenity-like tool but with much greater power - easily create, use, and control custom dialogs or mini-apps. *
      • Make your custom commands respond to window events and manipulate the GUI directly using socket commands *.
      • Monitor the stdout/stderr output of custom commands in a dialog, with error detection and popup control, or automatically run commands in a terminal or as an independent process. *
      • Plugins are available to extend SpaceFM's functions *, and creating or sharing a plugin is as simple as exporting any custom menu item you have created. *

    • Lightweight & Independent - Written in C with GTK+, udev and inotify support
      • Written entirely in C - super fast with low resource usage
      • Independent of particular distributions and desktop environments
      • Builds easily on almost all Linux systems
      • Builds with any version of GTK+ ranging from 2.18 to 3.x; relies only on stock GTK+ icons
      • Built-in virtual filesystem (VFS) code uses core C kernel functions for speed and reliability, with no dependence on gvfs, etc.
      • Interfaces directly with udev (or eudev) for device support, with no dependency on udisks; can also be built with deprecated HAL support instead of libudev
      • Built-in support for inotify-capable kernels (>=2.6.13), meaning there are no dependencies on file alteration monitors (fam, gamin, gvfs, etc). (For rare kernels without inotify support, can easily be built with deprecated fam/gamin support.)

    • Task Manager & Queue - Centralized multi-task queue and popup control
      • Rather than opening a popup dialog and making you wait while a copy or other task runs, SpaceFM's Task Manager lists all the tasks running in the current window (including copy speed and other statistics), freeing you to continue working *
      • Popup dialogs are shown when errors occur, or can be configured to be shown for all tasks *
      • To optimize performance, SpaceFM's task queue smartly pauses some tasks which involve devices already in use, or you can manually pause, queue, resume or stop any task *
      • Includes extended overwrite, auto-rename, and error handling options *
      • Provides a common interface to multiple su and graphical su programs, terminals, and editors - you simply select which tools you want to use, and SpaceFM handles the details of running your commands as other users, in a terminal, etc.

    • Device Manager * - Programmable device management
      • Single-click mounting and unmounting of devices *
      • Optional automatic mounting and opening of devices on insert *
      • Programmable event-based manager runs any commands or apps you specify on device or media insertion, mount, and removal *
      • customisable root functions to format, backup and restore partitions and MBRs, check filesystems, and change volume labels *
      • Custom format of display names for devices *, and hide or show any device *
      • Built-in udev (or eudev) support - can be used with udevil (a mount tool designed specifically for SpaceFM), pmount, udisks, or your custom mount solution *
      • When used without udisks, there is no need for policykit, consolekit, devicekit, gvfs, and other troublesome components susceptible to frequent breakage and misconfiguration
      • Add custom Device and Protocol handlers, and mount options based on fstype or device *

    • Desktop Manager - Includes a built-in, lightweight DM daemon
      Based on LXDE's former desktop manager, SpaceFM can conveniently manage the icons and wallpaper on your desktop, and supports a transparent background. Works great with Openbox and other WMs, and can be extended with custom menu items. *

    • Daemon Mode - Keep SpaceFM always running
      Run SpaceFM in the background as a daemon to auto-mount and auto-open devices, and quickly open browser windows on demand. *

    • Network Support - Mounts network filesystems and ISO files
      Conveniently mount network URLs (nfs:// ftp:// smb:// ssh://) and ISO files using the highly configurable udevil. Or, configure a custom protocol handler to mount networks using any external tools you choose, plus create custom protocols of your own. * NOTE: Network share support in SpaceFM is ad hoc by design. This means there aren't many built-in functions pertaining to networks, and SpaceFM does not make network connections itself. Network discovery and other functions are handled via plugins and your custom commands.



    Contents History

    SpaceFM was originally developed from a fork of the legacy PCManFM file manager. When PCManFM reached version 0.5.2 (aka 'the legacy version'), the original author (Hon Jen Yee) abandoned it for a major rewrite which made later versions (the 0.9.x series) dependent on gvfs and other components. At about this same time, PCManFM-Mod was created as a minor fork of the legacy version which added features, addressed bugs, and kept the legacy version alive for those who prefered it for its light dependencies and added features.

    PCManFM-Mod was later used as a base for developing SpaceFM, which included an extensible user interface, multiple panel support, a new udev device manager, inotify support, and removed dependencies on fam/gamin and HAL. Much of the internal virtual filesystem (VFS), which had been developed and debugged in legacy PCManFM and PCManFM-Mod, was retained and extended, providing SpaceFM with a reliable VFS to build upon.

    Due to the extensive changes in many parts of the project, SpaceFM was released with its new name as an alpha test version in January 2012.

    With version 0.7.5 in April 2012, SpaceFM replaced udisks with direct udev support for device detection and information, and support for multiple mount solutions including udevil (a mount program developed specifically for SpaceFM), pmount, udisks v1 or v2, or any program you specify. When used with udevil or a custom protocol handler, this update also added support for network filesystems.

    In 2012, the GTK3 version of SpaceFM was introduced. Rather than abandoning GTK2, users can choose what version of the GTK+ library (2.18 thru 3.x) they want to use with SpaceFM.

    In 2013-2014, improvements included extending the features of SpaceFM's Desktop Manager, a new Item Properties dialog for adding and customising menu items, socket commands for interacting with a running instance, and an improved panel configuration memory.

    In 2014-2015, customisable handlers were added, greatly extending SpaceFM's ability to open devices and protocols, and handle archives and files. Also, a new Bookmarks side pane was added to include submenus and more powerful bookmarks. Other changes included the addition of video thumbnails and a transparent desktop background mode.

    Installation
    Contents Downloads

    SpaceFM is included in most distro repositories. To find packages, forum threads, and other info for your distro, see the Distros Wiki. If there are no packages for your distro, or you prefer to build SpaceFM with custom build options, a net installer is available. For manual installation, or to create a custom Debian package, please see SpaceFM's detailed README file.

    SpaceFM's source code is distributed from Github.

    You can also check the homepage, latest news and report issues.

    The SpaceFM Wiki contains user-contributed plugins, help, and information. Everyone is encouraged to contribute to the wiki.

    Contents Net Installer

    If there are no packages for your distro, or you prefer to build SpaceFM with custom build options, a net installer is available. The installer MUST be run in a terminal. It automatically downloads, builds and installs, and will work with most distros.

    From README:

        Install required build dependencies (below are Debian package names -
        packages names on your distro may vary but should be similar):
    
            autotools-dev bash build-essential intltool pkg-config fakeroot
            shared-mime-info desktop-file-utils libc6 libcairo2 libglib2.0-0
            libglib2.0-dev libpango1.0-0 libx11-6 libx11-6-dev libudev0 (>=143)
            libudev-dev libffmpegthumbnailer-dev
    
        Also, if using GTK2: libgtk2.0-0 (>=2.18) libgtk2.0-dev libgtk2.0-bin
    
        OR, if using GTK3:   libgtk-3-0 libgtk-3-dev libgtk-3-bin
    
        Also, if you want to use startup notification: libstartup-notification0-dev
        
        RECOMMENDED: udevil|pmount|udisks gksu|kdesu|ktsuss|lxqt-sudo eject lsof
                     wget 
    
        For additional mounting support: fuseiso curlftpfs jmtpfs gphotofs ifuse
    
        To download the installer:
    
        wget https://raw.github.com/IgnorantGuru/spacefm/next/spacefm-installer
        # OR using curl:
        curl -L -o spacefm-installer \
               https://raw.github.com/IgnorantGuru/spacefm/next/spacefm-installer
    
        To run the installer (MUST be run in a terminal):
    
            bash spacefm-installer
    
        Most users can press Enter to accept default values at both prompts.
    
        The installer will display dependencies for your chosen build.  If
        any dependencies are missing, examine the error, install missing packages,
        and try again.
    
        If you have already downloaded the source, the installer can be run from
        within the source directory to automatically build and install:
    
            ./spacefm-installer
    
        When SpaceFM is installed, the installer is also installed to /usr/bin.
        For automated options, run:  spacefm-installer --help
    
        To reinstall or upgrade, just run the installer again.  For example, to
        upgrade to the latest rolling release, just run:
    
            spacefm-installer --version=next --prefix=/usr
    
        To uninstall:
    	
            spacefm-installer --uninstall
    
        Note: When using older distros, enabling kernel polling may be required. If
        you insert a CD and SpaceFM still says 'no media', please see the ENABLE
        KERNEL POLLING section in README.
    


    Contents Uninstall

    If you installed from a package, use your package manager to remove SpaceFM. Or, use the installer to uninstall:

        spacefm-installer --uninstall
    Otherwise, run these commands AS ROOT:

    (these commands assume you installed with the default --prefix=/usr - adjust as needed)

        rm /usr/bin/spacefm /usr/bin/spacefm-auth  /usr/bin/spacefm-installer
        rm -r /usr/share/spacefm
        rm /usr/share/pixmaps/spacefm.png
        rm /usr/share/pixmaps/spacefm-*.png
        rm /usr/share/icons/hicolor/*/apps/spacefm.png
        rm /usr/share/icons/hicolor/*/apps/spacefm-*.png
        rm /usr/share/icons/Faenza/apps/48/spacefm.png
        rm /usr/share/icons/Faenza/apps/48/spacefm-*.png
        rm /usr/share/locale/*/LC_MESSAGES/spacefm.mo
        rm /usr/share/applications/spacefm*.desktop
        rm /usr/share/mime/packages/spacefm-mime.xml
        update-mime-database /usr/share/mime > /dev/null
        update-desktop-database -q
        gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor


    Invocation
    Contents Command Line

    To see SpaceFM's command line usage run spacefm --help

    Usage:
      spacefm [OPTION...] [DIR | FILE | URL | DEVICE]... 
    
    Help Options:
      -h, --help                   Show help options
      --help-all                   Show all help options
      --help-gtk                   Show GTK+ Options
    
    Application Options:
      -t, --new-tab                Open folders in new tab of last window (default)
      -r, --reuse-tab              Open folder in current tab of last used window
      -n, --no-saved-tabs          Don't load saved tabs
      -w, --new-window             Open folders in new window
      -p, --panel=P                Open folders in panel 'P' (1-4)
      --desktop                    Launch desktop manager daemon
      --desktop-pref               Show desktop settings
      --show-pref=N                Show Preferences ('N' is the Pref tab number)
      -d, --daemon-mode            Run as a daemon
      -c, --config-dir=DIR         Use DIR as configuration directory
      -f, --find-files             Show File Search
      --set-wallpaper              Set desktop wallpaper to FILE
      -g, --dialog                 Show a custom dialog (See -g help)
      -s, --socket-cmd             Send a socket command (See -s help)
      --profile=PROFILE            No function - for compatibility only
      --no-desktop                 No function - for compatibility only
      --version                    Show version information
      --display=DISPLAY            X display to use

    Normally, your session file and other user files are saved in ~/.config/spacefm/ To make SpaceFM read and save your files in another folder (~/.config/spacefm-alt in this example), stop ALL instances of SpaceFM and run:

        # first stop all instances:
        killall spacefm
    
        # then:
        spacefm --config-dir ~/.config/spacefm-alt

    IMPORTANT: The config directory path may not contain spaces or other special characters - keep it simple. Also, if /etc/xdg/spacefm/ exists, its contents will be copied to the config directory if it doesn't exist at startup.

    Contents Opening Windows

    To open an initial SpaceFM window, run 'spacefm' with or without a folder specification:

        spacefm
    
        # or to open a folder:
        spacefm /home
    
        # or to open several folders in tabs:
        spacefm /home /usr/bin
    
        # or to not open saved tabs:
        spacefm -n
    

    To open an additional folder in a new tab of the last used SpaceFM window on the current workspace:

        spacefm /etc

    To open a folder in the current tab of the last used SpaceFM window on the current workspace:

        spacefm -r /etc

    To simply bring the SpaceFM window to the top of other windows:

        spacefm -r

    To open a second window:

        spacefm -w
    
        # or to open a specified folder in a second window:
        spacefm -w /boot
    
        # or to open a second window without loading saved tabs:
        spacefm -wn
    

    To open a File Search window:

        spacefm --find-files

    SpaceFM maintains a socket for each user/display combination, so when you open multiple windows using the same user and display, all windows are run from a single instance of SpaceFM. Unless a daemon or the desktop manager is running, SpaceFM will exit when all windows are closed.

    When a window is closed, the current folder tabs are saved to your session file if option File|Save Tabs is checked. The next time you run SpaceFM, these folder tabs will be re-opened in addition to opening tabs for any folders you specify on the command line (unless you specify -n on the command line).

    To specify a specific panel in which to open a folder:

        # open a folder in panel 2:
        spacefm --panel=2 /usr/bin

    To simply show and focus panel 2 in the last used window:

        spacefm --panel=2

    As a more advanced example, consider wanting to open multiple SpaceFM windows, each containing different folder tabs in each panel, using a single command. For this, use a script like this to start SpaceFM:

        #!/bin/bash
    
        # open new window with two tabs in panel 1
        spacefm -wn --panel=1 /etc /usr &
        sleep 0.2
        # add two tabs to panel 2
        spacefm -rn --panel=2 /bin /lib
        sleep 0.2
        # open second window with two tabs in panel 1
        spacefm -wn --panel=1 /boot /media
        sleep 0.2
        # add two tabs to panel 2 of second window
        spacefm -rn --panel=2 /sbin /var
    
    The sleep commands give time for the socket to be created and the newly created window to become the last used window. A shorter sleep time of 0.1 may also work on your system.

    Contents Opening Files, URLs, and Devices

    If you specify a file rather than a folder on the command line, SpaceFM will open the file using the default MIME application for this file type (File Handlers are not used), but will not open a SpaceFM window:

        # open a file:
        spacefm /etc/fstab
    To open a URL (see Protocol Handlers):
        spacefm ftp://ftp.us.debian.org/debian/
    To mount and open a device (see Device Handlers), or open an already mounted device:
        spacefm /dev/sdd1


    Contents GTK Themes

    The GTK theme you're using may have a significant impact on SpaceFM's performance, and a non-working theme may create dysfunctional behavior. Because multiple panels in SpaceFM use many GUI elements, some themes cause SpaceFM to run more slowly. For example, the Clearlooks GTK2 theme has been observed to be very slow with SpaceFM, while the Raleigh theme is quite fast.

    SpaceFM may be built to use GTK v2 or v3. To see if your installed copy of SpaceFM is using GTK2 or GTK3 themes, run spacefm --version

    GTK 2
    When using GTK2, it is possible to use a specific theme just for SpaceFM, overriding your default theme. For example, to use the Raleigh theme (if installed), run SpaceFM like this:

        GTK2_RC_FILES=/usr/share/themes/Raleigh/gtk-2.0/gtkrc spacefm

    You can also test SpaceFM's speed with no theme, which should be faster than any theme:

        GTK2_RC_FILES="" spacefm

    To specify a GTK2 theme within a desktop file, copy SpaceFM's desktop file to your home folder:

        mkdir -p ~/.local/share/applications
        cp /usr/share/applications/spacefm.desktop ~/.local/share/applications/
        # OR
        cp /usr/local/share/applications/spacefm.desktop ~/.local/share/applications/
    Then open ~/.local/share/applications/spacefm.desktop in your editor and set the Exec= line using env. For example:
    Exec=env GTK2_RC_FILES=/usr/share/themes/Raleigh/gtk-2.0/gtkrc spacefm

    GTK 3
    When using GTK3, theme choice becomes especially important because themes are often broken with every minor GTK3 release, and a theme not made specifically for your current version of GTK3 can cause memory leaks, GUI glitches, and other severe problems visible in SpaceFM. To determine if your theme is the cause of problems, run SpaceFM in a terminal to see any warnings, and also compare behavior with Adwaita (default GNOME theme).

    Contents Desktop Manager

    SpaceFM includes a lightweight desktop manager to manage desktop icons and show wallpaper (or a transparent background). SpaceFM's DM works well with Openbox, for example, which doesn't include a desktop manager. To start a desktop manager daemon, first terminate any other software which is managing your desktop, then run:

        spacefm --desktop

    You can also run spacefm --desktop from your login script. For example, if you're using Openbox, add this line to ~/.config/openbox/autostart.sh:

        ( spacefm --desktop ) &

    While managing the desktop, SpaceFM's volume monitor will also be running, meaning that if configured to do so, it will automount devices.

    To set the wallpaper from the command line, run a command like:

        spacefm --set-wallpaper /home/user/wallpaper.jpg

    To open the desktop preferences window from the command line run:

        spacefm --desktop-pref

    To stop management of the desktop prematurely (before logoff), send spacefm a quit signal:

        killall spacefm
    Like other menus in SpaceFM, Design Mode may be used in the desktop's right-click menu to add custom menu items and set key shortcuts (which will be active when the desktop has focus).

    Contents Daemon Mode

    If you want SpaceFM always running in the background, ready to quickly open windows and automount volumes, but don't want it to manage the desktop, start a daemon instance of SpaceFM:

        spacefm -d

    No window will open in this case, but an instance will be started if not already running, and it will continue running for the duration of your X login session. You can also start the daemon from your login script. For example, if using Openbox, add this line to ~/.config/openbox/autostart.sh:

        (sleep 2 && spacefm -d) &

    One particular use for daemon mode is to make sure leftover folders in /media are removed. SpaceFM can unmount removable devices on exit to prevent folders remaining in /media at shutdown (if you check option Settings|Auto-Mount|Unmount On Exit). If running as a normal instance, this means devices will be unmounted whenever you close the last SpaceFM window. When running as a daemon (or as a desktop manager daemon), devices won't be unmounted until you logoff.

    To stop a daemon mode instance, send SpaceFM a quit signal:

        killall spacefm


    Quick Start
    Contents Frequently Asked Questions

    GUI
    Contents Panels

    SpaceFM includes up to four file manager panels in each window. Each panel represents a complete file manager, including tabbed directory contents and optionally shown side panes, toolbars, path bar, and status bar. Each panel can be hidden or shown via the View menu, or via the Panel Bar located to the right of the main menu bar.

    If shown, panels 1 and 2 are next to each other in the top half of the window, and panels 3 and 4 are in the bottom half. This allows horizontally arranged panels, vertically arranged panels, and combinations of both.

    NOTE: SpaceFM's main menu bar (File, View, etc.) is mostly used for program-wide settings and functions. Most adjustments for an individual panel's appearance can be made by right-clicking on the file list and selecting the View context menu (also available in the main View menu). This View menu will allow you to set which side panes and toolbars are visible in a panel, add and remove file list columns, set the list style and font, set the sort method, etc.

    Panel Memory

    The best way to use SpaceFM's memory for panel configurations is to select the panels you want visible, then arrange each panel as you want it to appear. Hide or show side panes and adjust their sizes, choose file list columns and adjust their widths, choose which toolbars are visible, etc. Each time you select a different combination of panels, you may need to do some further configuration until SpaceFM gets to know all the combinations you use and how you like them arranged.

    How It Works

    Many settings in each panel are specific to that panel. For example, a different font can be set for the file list or other panes in each panel. Also, each panel may have a different view style (Detailed, Compact, or Icons), different file list columns visible, different side panes visible, etc.

    Some panel settings use a four-state memory, and these settings may be different depending on the panel's relationship to other panels in the window. The four states are:

    • panel is shown by itself in the window
    • panel has a horizonal neighboring panel
    • panel has a vertical neighboring panel
    • panel has both horizontal and vertical neighboring panels

    The four-state memory of each panel allows SpaceFM to remember how you configured each panel in combination with other panels. This makes it easier to show and hide panels on the fly without having to readjust columns, side panes, etc. SpaceFM will remember the selected columns (visibility), column widths, side pane visibility and sizes, and toolbar visibility for each state of each panel.

    For more advanced users, note that socket commands can be used to adjust panel configurations from a command or script. When set as event handlers, adjustments can be made automatically when GUI or other events occur, such as showing/hiding a panel or changing window size.

    Maximized & Fullscreen

    If you maximize the SpaceFM window, any changes to column widths are not remembered (in any panel or in the task manager). This means that you can change column widths while maximized, and when you return to an unmaximized window state, your columns widths will revert to their original sizes.

    However, if you exit SpaceFM while the window is maximized, your column widths will be saved. When you restart SpaceFM it will open maximized, and any changes to column widths thereafter will be remembered while maximized (unless you unmaximize and maximize again).

    In fullscreen mode, neither changes to column widths nor to side pane heights are remembered. When you return to non-fullscreen mode, these will revert to their original sizes.

    Focus Highlighting
    SpaceFM is designed so that for most purposes, it is not necessary to know which panel has the focus. By right-clicking in a panel, the context menu shown will be specific to that panel. (Window level commands and settings are available via the main menu bar.)

    However, sometimes it is necessary to know which panel has focus, such as when using keyboard shortcuts on selected files, or using a custom command or plugin in the main menus. For this purpose, SpaceFM provides an icon at the right of each panel's status bar. This icon will be enabled for the panel which has focus.

    If you would like a more prominent reminder, it is possible to set custom highlight colors for the focused panel's status bar text and background. To set highlight colors, right-click on the status bar of the panel and select Highlight Text or Highlight Bar. Each panel may use different highlight colors, or the same.

    Contents Path Bar

    SpaceFM's Path Bar (location bar) is located in each panel above the file list in the panel's main toolbar. At its simplest, the Path Bar allows you to see the current folder's path, and you can enter a new path and press Enter to change to another folder.

    TIP: To place the cursor in the Path Bar, you can use Go|Focus|Path Bar, accessed from the right-click menu of the file list. By default, this is assigned to key shortcut Ctrl+L.

    In addition to displaying and accepting a folder path, SpaceFM's Path Bar has additional methods and uses as detailed below.

    Editing Keys
    When the cursor is in the Path Bar, the following editing key combinations can be used:

    Key Combo Result
    Shift+Backspace Clear the entry
    Ctrl+Backspace Backspace to the previous separator
    Ctrl+Left Jump to previous separator
    Ctrl+Right Jump to next separator
    Tab Complete entry

    When the Path Bar has focus, it will steal the following keypresses (even if they are set as key shortcuts): visible characters without a modifier key, Enter, Home, Shift+Home, End, Shift+End, Delete, Tab, Backspace, Left, Shift+Left, Right, Shift+Right.

    Auto Seek
    By default, the Path Bar will auto seek, which means that as you type in the Path Bar, the current directory will change automatically, and any partial filename typed will select the first matching directory or file found in the file list. You can turn off auto seek by right-clicking on the Path Bar and unchecking option Auto Seek. In this case, you will need to press the Enter key to change to the directory entered.

    To locate files within the current directory, use Find-As_You-Type Search or Actions|Select By Pattern.

    Completion
    As you're entering a directory path in the Path Bar, completion will be active. For example, if you enter "/us", a drop down box will appear listing /usr (and any other directories that may begin with "/us" on your system). You can press Tab to complete the entry automatically ("/us" will be completed to "/usr/", or as much as possible if there are multiple matches). If multiple possibilities are listed, press Down Arrow to select the desired completion and press Enter (or select it using the mouse).

    Breadcrumbs
    The Breadcrumbs feature allows you to Ctrl+Click on a portion of the path in the Path Bar to trim the path back. This will also immediately change to the new path. For example, if the path is currently /usr/share/spacefm/plugins and you Ctrl+Click on the name 'share', the path will change to /usr/share. This provides a convenient way to go up to a specific directory.

    Middle-Click Auto Seek
    A middle-click in the Path Bar will replace the contents of the Path Bar with the contents of the primary clipboard, and will seek to the location. The primary clipboard is set simply by selecting text in any application. For example, if you select the text "/etc/fstab" in your editor, then middle click in SpaceFM's path bar, the directory will change to /etc and the 'fstab' file will be selected. If you don't want to replace the contents of the Path Bar, and merely want to insert the primary clipboard text (the usual behavior of middle-click), hold down a modifier key while you click, such as Ctrl or Shift.

    File Path or Device
    The path to a file may be entered or pasted in the Path Bar. When you press Enter, SpaceFM will change to the directory containing the file and will select the file in the file list.

    Also, a device file (eg /dev/sdd1) may be entered in the path bar. The device will be mounted if needed, and the mount point directory of the device will be opened.

    Protocol URL
    Any entry in the Path Bar which looks like a protocol, such as ftp://mirrors.kernel.org/, will be opened with the associated protocol handler. If a fileystem is mounted, SpaceFM will usually open the mount point directory automatically. If the Devices List has option Settings|Show|Mounted Networks checked, the filesystem may be listed.

    Regardless of the protocol, most of SpaceFM's default protocol handlers accept URLs in the format:

        PROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE

    WARNING: Including a password in the URL is a very unsafe mode of use, as your password is included in the command line and may be written to temporary and/or system files by SpaceFM or mount helpers. See documentation specific to the filesystem for other authentication methods offered, or enter your password when prompted.

    Some parts of the above URL format may be omitted. Examples include:

        ftp://mirrors.kernel.org
        smb://user:pass@10.0.0.1:50/docs
        ssh://user@sys.domain
    
    NFS and Samba (cifs) URLs may also be in the alternate formats:
        NFSHOST:/SHARE
        //SAMBAHOST/SHARE
    For additional URL examples, see URL protocols and formats handled by udevil, which natively uses the same URL formats supported by SpaceFM.

    In addition, custom protocol handlers may be added which accept URLs in the above formats, or in any format you prefer.

    URLs may also be opened via the main menu bar's File|Open URL item, which is equivalent to entering them in the Path Bar, or on the command line.

    TIP: You can sometimes right-click on a mounted network in the Devices List and select Bookmark to bookmark the URL for future use. Or, right-click on the Path Bar containing a URL and select New Bookmark. Or, edit an existing bookmark to contain a URL target.

    Command Line
    In addition, a bash command line can be entered in the Path Bar. This is a convenient way to run a command without having to manually open a terminal.

    One or more command prefixes are required to tell SpaceFM how to run your command:

    Prefix Result
    $ run as task
    & run and forget
    + run in terminal
    ! run as root

    A Path Bar entry is interpreted as a command only if at least one of the above prefixes preceeds the command. A space after the prefix(es) is optional. For example, enter in the Path Bar:

        $ ls
    When you press Enter, ls will be run for the current directory, and a dialog will open showing the output. When using prefix '$', the command is run as a task (it will be listed in the Task Manager if it takes longer than a half second to run), and a popup dialog will open only if the command produces output or an error.

    In addition, the substitution variables defined in Command Line, and the bash script variables described in Command Script may also be used in Path Bar command lines.

    For example, to open a dialog showing the path of the current directory:

        $ echo Current Directory: %d
    Or to run umount in a terminal (+) as root (!) passing it the currently selected device (%v):
        +! umount %v

    When a plus sign (+) prefix is included, the command is run in a terminal, not as a task. When an exclamation point (!) prefix is included, the command is run as root.

    If the ampersand (&) prefix is included, the command is run and forgotten (no error or output will be shown). This is useful for starting an application. For example:

        & firefox
    For a reminder of prefixes and substitution variables, enter a lone dollar sign ($) in the Path Bar and press Enter. Or press F1 while the Path Bar has focus to open this manual.

    Command History
    SpaceFM also keeps a command history. As you enter a command, any commands previously entered will be shown in a popup. Use Up/Down Arrow keys to select a previous command and press Enter, or click it.

    Select By Pattern
    If a percent sign (%) prefix is entered in the Path Bar, SpaceFM treats the rest of the text as a file selection pattern. This function is equivalent to right-clicking on the file list and selecting Actions|Select By Pattern. For example, enter in the Path Bar:

        % *.avi
    When you press Enter, all filenames in the file list ending in ".avi" will be selected, and all other files will be unselected. If your pattern contains any uppercase characters, the matching will be case sensitive. For additional wildcard characters and pattern specifics, see IEEE Pattern Matching Notation.

    See also: Find-As-You-Type Search.

    Font
    The font used in the Path Bar can be customised (this is a per panel setting). Right-click on the Path Bar and select Font.

    Contents Find-As-You-Type Search

    When the file list has focus (click on the file list), pressing an alphanumeric key will open the Find-As-You-Type search box in the lower right corner of the file list, allowing you to quickly jump to a file. Press down or up arrow, or scroll wheel up/down, to go to the next or previous matched filename.

    In addition, Find-As-You-Type Search supports the following modes:

    • Pattern Mode: If the search key contains at least one asterisk (*) or question mark (?), a glob substring search is used. (An asterisk is automatically added before and after your key before testing.) For pattern usage see IEEE Pattern Matching Notation.

    • Non-Pattern Mode: If your key does not contain an asterisk (*) or question mark (?), a normal substring search is performed, with the following new special characters recognized:

      • If the search key begins with a caret (^), or the search key is less than three characters, the search will match names beginning with your key.
      • If the search key is longer than two characters and doesn't begin with a caret (^), a case insensitive substring search is conducted (this means if you type any part of a filename, the cursor will select the first filename which contains that string of characters.)
      • If your key ends with a dollar sign ($), the search will match names ending with your key.
      • You can use both a caret and dollar sign to constrain both. (Other regex characters and wildcards are not supported in this mode.)

    • Anytime you use an uppercase letter anywhere in your search key, the search mode becomes case sensitive.

    • Regardless of mode, you can press down or up arrow, or scroll wheel down/up, to go to the next or previous matched filename.

    See also: Select By Pattern.

    Contents Rename Dialog

    SpaceFM's Rename Dialog, accessed by right-clicking on a file and selecting Rename, does much more than rename files. It can move, copy, or create a link to the selected file or directory. It can also copy the target of a selected link, or create a new link to the target. By checking As Root, the function will be performed as the root user.

    The Option button allows you to add and remove fields from the dialog. The selected fields, which are extra-large for easy editing of long filenames, show different parts of the selected path, such as the name and extension, full filename, parent, or path. As you edit the file's path, you will be advised if the entered path already exists. If you use a path which doesn't exist, SpaceFM will create the necessary parents automatically. The Confirm Create option determines if you will be prompted before parents are created.

    The Browse button allows you to browse for a filename, parent, or path, and insert it into the dialog.

    TIPS: To select all the text in an entry, click the entry's label (eg 'Filename:'), press the Alt key shortcut, or use Tab. To quickly copy an entry's text to the clipboard, double- or middle-click on the entry's label (eg 'Filename:'). Multiple files can be selected in the file browser to rename a batch of files.

    Contents New File/Folder Dialog

    The New File/Folder Dialog is opened by right-clicking on the file list and selecting New|File, Folder, or Link. This dialog works similarly to the Rename Dialog, allowing you to create files and folders in other paths, create as root, create relative links (eg a link to ../filename.txt), and create new files and folders using templates.

    SpaceFM looks in $XDG_TEMPLATES_DIR/, ~/Templates/, or ~/.templates/ to find template files. Templates are simply empty or partially filled files (of any type) used to create new files, so instead of an empty file you get a copy of the template file. You can place any files or links to files in your Templates folder. Subfolders in the templates folder can also be used to create new folders pre-filled with a set of files, or to organize templates.

    After you have finished entering the path for your new file or folder, you can press Create to create it, or the '& Open' button to create and open the file or folder in one step.

    Contents Bookmarks

    SpaceFM's main Bookmarks menu works like most other menus - you can right-click in the menu to add custom menu items, and to cut, copy, and paste items to other menus. Custom menu items may be bookmarks which open folders, but they may also run commands or applications. This means that items in SpaceFM's bookmarks can run socket commands to open folders in specific panels, change view settings, run external programs, and perform other automated tasks.

    Bookmarks Side Pane

    Items added to the Bookmarks menu may be shown in the Bookmarks side pane of each panel. To show the Bookmarks pane, select Show Bookmarks from the main Bookmarks menu, or right-click on a file and select View|Bookmarks.

    Right-click in the Bookmarks pane and enter the Settings submenu to adjust behavior. The Single Click option determines if a single- or double-click is required to open an item. New Tab, if checked, will open bookmarks in a new tab. Bookmark Icon and Submenu Icon are used to set the default icons used in the list, and individual item icons can also be configured via their Properties. The Font setting adjusts the font and font size used in the Bookmarks side pane.

    Finally, the Follow Dir option will cause the Bookmarks pane to follow the current directory. If a bookmark matches the current directory, it will be highlighted. If the matching bookmark is in a submenu, the submenu will be opened.

    Follow Dir is a per-panel setting. For example, you can turn it on in the Bookmarks pane of Panel 1, and turn it off in Panel 2. When Follow Dir is off, the bookmark selection will not change automatically.

    Tips:

    • If you don't want SpaceFM to select a bookmark via Follow Dir, prefix the bookmark's target with a semicolon (;). Also note that SpaceFM's bookmarks can target multiple directories, URLs, and devices. Only the first target is used by the Follow Dir function.

    • To reorder items in the Bookmarks pane, drag them. Note that drag-n-drop in this pane currently only allows items to be reordered, not moved to other locations. To move an item to a submenu, or to another SpaceFM menu or toolbar, you must use Cut and Paste, or Export/Import.

    • The Open item in the context menu of the Bookmarks pane (seen by right-clicking in the pane) will obey the reverse of the New Tab setting. For example, if New Tab is enabled, choosing Open will not open a new tab. Opening a bookmark by clicking on it with the middle mouse button also reverses New Tab behavior.

    • The Open item and the Settings submenu of the context menu of the Bookmarks pane can have custom items added after them or within Settings using Design Mode. Click once on the Settings submenu to close it, then right-click on it for the design menu, or right-click on the Open item, or on one of the items within the Settings submenu.

    • Selecting Copy on any item of type Bookmark (in any menu or in the side pane) will also copy the bookmark target to the text and primary clipboards (in addition to copying the menu item to the design clipboard for pasting into another menu or toolbar).

    Adding A Bookmark

    To add a new bookmark targeting the current directory, select New Bookmark from the Bookmarks menu (a key shortcut may also be assigned to this item - right-click on it to set one), or right-click in the Bookmarks pane or menu and select New|Bookmark (which will ask you to select a directory target).

    To bookmark a single selected file or directory, or otherwise the current directory, right-click on the file list and select New|Bookmark.

    To bookmark a mounted URL, in some cases you can right-click on the URL in the Devices List and select Bookmark. Or, a URL or file/dir path in the Path Bar may be bookmarked by right-clicking on the Path Bar and selecting New Bookmark.

    To view or adjust the properties of a bookmark, right-click on it and select Properties.

    Note: The Properties dialog of all custom menu items includes a Context tab which determines when and how menu items are displayed based on the file browser's current context. Note that Context settings do not affect display of bookmarks in the Bookmarks side pane, which always shows all bookmarks. The Context settings WILL affect how items are shown in the main Bookmarks menu.

    Exporting Bookmarks

    Any single item or submenu of items in Bookmarks may be exported to a SpaceFM plugin file by right-clicking on the item and selecting Export. Plugin files created in this way can also be imported into any other menu.

    To export all items in Bookmarks, right-click on "Bookmarks" - the top item in the Bookmarks side pane - and select Export. This will create a special plugin file named "Bookmarks.spacefm-bookmarks.tar.gz". This file may then be imported into any SpaceFM menu, or into the Bookmarks side pane, by right-clicking and selecting Import|File. Note that this bookmarks plugin file CANNOT be installed or imported via the main Plugins menu.

    Importing GTK Bookmarks

    Some GNOME applications store bookmarks in GTK's bookmarks file (~/.config/gtk-3.0/bookmarks or the older ~/.gtk-bookmarks). This is a plain text file which can be edited manually. While SpaceFM is not a GNOME application and does not store its bookmarks in this file (the format of the file cannot store SpaceFM's specialized bookmarks and submenus), SpaceFM can import the contents of this file. To do so, right-click on an item in the Booksmarks side pane and select New|Import|GTK Bookmarks. All bookmarks will be imported into the current submenu (or, if you right-clicked on a submenu, then into the selected submenu).

    IMPORTANT: Note that importing hundreds of bookmarks into SpaceFM is not recommended. Due to their integration with the menu system, this may cause performance lags in the GUI. If you have many GTK bookmarks, you may wish to edit the file before importing it, or import them into a submenu and keep only those you need.

    In addition to importing GTK's bookmarks, these bookmarks are also shown in the GTK file and folder chooser dialogs used in SpaceFM. You will see the GTK bookmarks listed in the upper-left 'Places' pane of these dialogs, and you can use the plus (+) and minus (-) buttons there to add or remove bookmarks from that list (which will update the ~/.config/gtk-3.0/bookmarks file). Changing bookmarks in this 'Places' list has no effect on SpaceFM's Bookmarks menu.

    Devices
    Contents Introduction

    SpaceFM includes a programmable udev-based device manager which lists device volumes, allows you to mount and unmount devices, and detects changes, insertions, and removals. On events, SpaceFM can auto-mount and auto-open devices, and run commands you specify. In addition, perform-as-root commands allow you to mount and unmount as root; change volume labels; and check, format, erase, backup, and restore partitions. Like most parts of SpaceFM, the behavior and appearance of the device manager is customisable.

    Whenever SpaceFM is running, whether a window is visible or not, a volume monitor is running to monitor device events and take actions. The volume monitor requires the udevd daemon to be running for device event detection, and enabling kernel polling is recommended.

    SpaceFM mounts and unmounts devices using customisable Device Handlers which can use udevil (a mount program developed specifically for SpaceFM), pmount, the udisks command line tool (v1 or v2), or any program you specify. To troubleshoot behavior, you can run the same command lines in a terminal that SpaceFM uses, or create your own custom handlers or menu items to manipulate devices.

    NOTE: If you choose to use udisks with SpaceFM, note that SpaceFM does not configure udisks. It merely runs the udisks command line tool to mount and unmount devices (unless you install udevil, pmount or specify another program). If you receive the common 'Not Authorized' or other similar errors from udisks when mounting, or you are prompted for a password, this indicates that udisks (and policykit, etc.) are not properly installed or configured. This must be corrected in your system configuration, not in SpaceFM. Installing udevil is the quickest way to solve such problems.

    Deprecated HAL support can also be used in SpaceFM (alternate build required). However, SpaceFM's HAL device manager is far less capable than the udev-based version. It can only be used to manually mount and unmount devices. Thus the udev-based version is recommended, and this manual deals exclusively with the udev-based device manager.

    To have the device manager always running, responding to events even while no SpaceFM windows are open, run SpaceFM as a daemon or desktop manager.

    When testing the device manager, it may be useful to run the initial instance of SpaceFM in a terminal so that you can see additional diagnostic output as it's running. Just open a terminal window and run spacefm.

    Contents List

    Each panel or tab in SpaceFM can display a Devices list to show devices and permit configuration of the underlying volume monitor. A Devices list is one interface to the volume monitor's information and actions. Even if multiple Devices lists are displayed or multiple SpaceFM windows are open, only one volume monitor will be running.

    To show or hide a Devices list in each panel, right-click on the file list and check or uncheck option View|Devices. You can also show or hide the list using the 'Devices' toggle tool item on a toolbar.

    The Devices list will display only removable and optical devices. If your Devices list is empty, this means there are no removable or optical devices with media, the udevd daemon is not installed or is not working properly on your system, or you may need to enable kernel polling for media detection. To show or hide additional devices, use the Show submenu.

    You can mount and open a device in the Devices list by simply left-clicking on it. The behavior of a left-click will vary depending on options New Tab and Single Click.

    Right-click on a device to show the Devices context menu.

    Middle-clicking on a device is equivalent to right-clicking on the device and selecting Remove / Eject. Thus to quickly remove a device, just middle-click on it.

    Contents Menu

    Similar to the Devices List, SpaceFM's main menu bar and the desktop menu include Devices menus which list currently shown devices. Click on a device to mount and open it, or right-click on a device for additional options. Right-clicking on a device in these menus or in the Devices List shows the context menu described below. As in the Devices List, you can also middle-click on a device in the menu to 'Remove / Eject'.

    Like most menus in SpaceFM, to see the help for any menu item, hover your mouse cursor over the menu item and press F1. Alternatively, right-click on the menu item and select Help in the Design Menu.

    The Devices context menu includes: (not all items may be shown)

    Remove / Eject
    The 'Remove / Eject' item is used to remove a device and eject media. When you click 'Remove / Eject', first a full sync is performed to ensure all data has been commited to all disks. If the sync takes longer than about one half second, the Task Manager will auto-show and will list the Remove command as running. Do not remove a device until the Task Manager shows this command has finished, or data may not be properly written, which can cause data loss. (If using 'Remove / Eject' from the Devices menu on the desktop, a popup dialog will show removal progress.) Note that if all other filesystems don't sync immediately, this may prolong the Remove command. In that case, you can use Unmount instead, which only does a filesystem-specific sync.

    Next, if the volume is mounted, it will be unmounted, and if the device is ejectable, it will be ejected. If the device is removable, it is safe to remove it once the 'Remove / Eject' command has completed without errors, and any lights on the device indicate activity has stopped. (Even after the sync and unmount has finished, it may take a second or two for the device to stop flashing due to hardware caches. If the device has no activity indicator, it is best to wait 5 seconds before removing it.)

    If you click 'Remove / Eject' and nothing seems to happen, this also indicates the device is ready to be removed.

    When a device is removed or unmounted, any tabs showing directories on the device may be automatically closed.

    Middle-clicking on a device in the Devices list is equivalent to right-clicking the device and selecting 'Remove / Eject'. Thus to quickly remove a device, just middle-click on it.

    NOTE: SpaceFM does NOT disable or power-down usb ports or spin down disks when removing a device, it merely performs a sync to ensure data is written. Usually this is sufficient to prevent data loss. If powering down is required for your device, you must add a custom command to the Devices menu, or add the applicable command or option to the unmount handler.

    Reload
    Reload is used to unmount, eject if necessary, and reload a device's media tray in one step, and can also be used to close an already open media tray. The Reload item is similar to Remove / Eject - the device will be synced, unmounted, and if possible, ejected. After this, if ejected the tray will be closed. The device will not be mounted unless auto-mount is set.

    Unmount
    Unmount will simply run an unmount command on the selected device. The unmount command from the appropriate Device Handler will be run- by default, udevil, pumount, or the udisks command line tool will be used. No general sync is performed (but a filesystem-specific sync is performed by umount). If the command takes longer than about one half second, the Task Manager will auto-show and the Unmount command will be listed until finished. Do not remove a device until the Task Manager shows this command has finished, or data may not be properly written, which can cause data loss. (If using 'Unmount' from the Devices menu on the desktop, a popup dialog will show removal progress.) (Even after the unmount has finished, it may take a second or two for the device to stop flashing due to hardware caches. If the device has no activity indicator, it is best to wait 5 seconds before removing it.)

    Sync
    Sync merely runs a sync command to commit all data to all disks. If the command takes longer than about one half second, the Task Manager will auto-show and the Sync command will be listed until finished.

    Open
    Selecting Open will cause the selected device to be mounted if it is not already mounted, and then the mount point directory of the device will be opened in the current tab. If an error occurs, the error will be shown. If the command takes longer than about one half second, the Task Manager will auto-show and the Open command will be listed until finished.

    You can also open a device by simply left-clicking on it. The behavior of a left-click will vary depending on options New Tab and Single Click.

    To mount, SpaceFM runs the mount command from the appropriate Device Handler for the selected device. By default, udevil, pmount, or the udisks command line tool will be used. The mount point will be determined automatically by the mount program or handler, usually an automatically created subfolder in /media or /run/media/$USER. If it was automatically created, this subfolder will be automatically removed when the device is unmounted.

    If the device has an entry in /etc/fstab, that mount point may be used instead, and its mount directory will not be removed when unmounted.

    The device will generally be mounted using SpaceFM's Mount Options. If the device has an fstab entry, options specified there may take precedence, depending on your mount program, which may also automatically add or change some mount options.

    pmount does not support conventional mount options, so when using pmount as the mount command, options set in Mount Options will be ignored. Instead, you can include pmount's command line options in the device handler. Open In Tab works similarly to open, except that the device's mount point directory will be opened in a new tab, instead of reusing the current tab. This is also the default behavior of a left-click on a device if option New Tab is checked. Again, a left-click will not display an error, while selecting Tab will.

    Mount
    Mount will simply run a mount command on the selected device. The mount command from the appropriate Device Handler will be run - by default, udevil, pumount, or the udisks command line tool will be used. The mount point will be determined automatically by the mount program or handler, usually an automatically created subfolder in /media or /run/media/$USER. If the command takes longer than about one half second, the Task Manager will auto-show and the Mount command will be listed until finished.

    The device will generally be mounted using SpaceFM's Mount Options. If the device has an fstab entry, options specified there may take precedence. The mount program may also automatically add or change some mount options.

    pmount does not support conventional mount options, so when using pmount as the mount command, options set in Mount Options will be ignored. Instead, you can include pmount's command line options in the device handler.

    Re/mount
    The Re/mount item is used to mount or remount a device using specific mount options. A dialog will open asking you for the mount options to be used. If mounted, the device will first be unmounted. Then the device will be mounted using the specified options.

    Because most mount programs cannot perform a true remount, the device will be unmounted and mounted.

    Re/mount accepts extended mount options, as detailed in Mount Options.

    pmount does not support conventional mount options, so when using pmount as the mount command, options set here will be ignored. Instead, you can include pmount's command line options in the device handler.

    Bookmark
    The Bookmark item will only be shown if the selected device is a mounted network. This item allows you to create a bookmark which will automatically mount the network. Some mounted networks are not recognized. To create a URL bookmark manually, enter the URL in the Path Bar, right-click in the Path Bar, and select New Bookmark.

    Note: Any custom menu items you add directly after the Bookmark menu item in the Devices menu will also only appear if the selected device is a mounted network, providing an automatic context.

    Root
    The Root submenu allows you to perform actions on a device as root. Dialog messages should be read carefully when using any command in the Root submenu, because actions performed as root can affect any aspect of your system. SpaceFM will explain what is about to happen and will let you examine the final command line before it is executed.

    For details, see the Root section below.

    Settings
    The Settings submenu allows you to (globally) configure the appearance of the Devices list, controlling what devices are listed, how they are listed, what icons are used, etc., and also allows you to set the volume monitor to run commands on various events, such as device insertions, etc.

    For details, see the Settings section below.

    Properties
    The Properties item will gather and show information about the currently selected device.

    If mounted, any mtab lines related to the device will be shown in DEVICE, showing you how and where the device is mounted.

    USAGE will show information about the filesystem on the device.

    If the device has any related lines in the /etc/fstab file, these will be listed in FSTAB. These may include lines which are disabled (# comments).

    In the INFO section, the device's UUID will be listed if known, as well as detailed information from udev on the device's properties.

    The PROCESSES section, shown for mounted devices, uses lsof to display any processes which are using the device. Sometimes when unmounting a device, you will receive an error that the device is in use. You can check this processes list to see what is holding the device open.

    Custom Menus
    As with most menus, it is also possible to add your own custom menu items and submenus to the Devices menu. This allows you to add commands which can take actions based on the currently selected device in one or more panels.

    There are several provided bash variables which your commands can use to get information about the currently selected device:

        "$fm_device"              selected device (eg /dev/sr0)  ( same as %v )
        "$fm_device_udi"          device ID
        "$fm_device_mount_point"  device mount point if mounted (eg /media/dvd) (%m)
        "$fm_device_label"        device volume label            ( same as %l )
        "$fm_device_fstype"       device fs_type (eg vfat)
        "$fm_device_size"         device volume size in bytes
        "$fm_device_display_name" device display name
        "$fm_device_icon"         icon currently shown for this device
        $fm_device_is_mounted     device is mounted (0=no or 1=yes)
        $fm_device_is_optical     device is an optical drive (0 or 1)
        $fm_device_is_table       a partition table (usually a whole device)
        $fm_device_is_floppy      device is a floppy drive (0 or 1)
        $fm_device_is_removable   device appears to be removable (0 or 1)
        $fm_device_is_audiocd     optical device contains an audio CD (0 or 1)
        $fm_device_is_dvd         optical device contains a DVD (0 or 1)
        $fm_device_is_blank       device contains blank media (0 or 1)
        $fm_device_is_mountable   device APPEARS to be mountable (0 or 1)
        $fm_device_nopolicy       policy_noauto set (no automount) (0 or 1)
    
        "$fm_panel3_device"       panel 3 selected device (eg /dev/sdd1)
        "$fm_panel3_device_udi"   panel 3 device ID
        ...                       (all these are the same as above for each panel)
    
    For example, to add a custom command which shows the size of the currently selected device in bytes, use this command line:
        echo "$fm_device_size"


    Contents Root

    The Root submenu allows you to perform actions on a device as root. When performing commands as root, SpaceFM will use your configured Terminal SU or Graphical SU program to run the command.

    When most items on this menu are selected, a dialog will open showing you the exact command to be run, and allowing you to edit it. If SpaceFM knows how to perform the function on the selected device type, a default command will already be present.

    In order to edit the default command, you must first depress the Edit button. To restore the command to its default, depress Edit and then press Default.

    Most items accept the substitution variable %v in their command, which is used to insert the device file (eg /dev/sda2). Some commands accept additional substitution variables. These will be displayed in the dialog's instructions.

    When performing commands which result in data loss, such as format, the exact command line to be run will be displayed in the terminal after you enter the root password. You will need to type the word 'yes' and press Enter to execute the command.

    The following functions are included:

    Unmount
    By default, SpaceFM will use udevil to unmount as root, but you can change this to any unmount command, such as a udisks, pumount, or umount command. Only the substitution variable %v may be used in this command to insert the currently selected device file (eg /dev/sda2).

    Mount
    Mount works similarly to Unmount, except that the selected device is mounted as root. If you want any mount options added, you must specify them in the dialog.

    Label
    Label is used to change the volume label of a device. First, a dialog will open asking you to enter the volume label. The device's current volume label, if any, will be entered as default. To unset a volume label, leave the entry blank.

    Next the command used to change the volume label on this filesystem type will be shown. If SpaceFM doesn't know how to change the volume label for this type, the command will be blank and you will have to supply your own. This dialog remembers the change label command used for each filesystem type.

    When you click OK, your Graphical SU program will be used to run the command (no terminal will open).

    IMPORTANT: SpaceFM will display a warning in both dialogs if the device is currently mounted. Although some filesystem types permit it, it is generally good practice to unmount a volume before changing its label.

    Check
    Check runs a filesystem check on the device, using fsck by default. The command dialog remembers the check command used for each filesystem type.

    Check may only be used on unmounted filesystems.

    Format
    The Format submenu allows you to format or simply erase a device or partition. Although Format will work on an entire device, it is up to you to decide what device or device partition you want to format.

    The submenu contains common filesystem types to choose from. To format, select the type and review or edit the command in the dialog. This dialog remembers the format command used for each filesystem type. When you click OK, the command will be run in a terminal. After entering the root password, you will be shown the exact command to be run, and you must type the word 'yes' and press Enter to execute it.

    The format submenu also contain 'zero' and 'urandom'. If selected, the device will be overwritten with zeroes or random values to completely erase it. As with filesystem formats, you can edit the particular command used. Edit with care!

    To test out the format function without actually formatting anything, try using format on a DVD drive, or an empty drive. The entire procedure will be the same - you will merely receive an error when the command is finally executed. This will allow you to safely review how SpaceFM conducts a format. Just be sure you know which device is the DVD or empty drive!

    Backup|FSArchiver
    The Backup submenu allows you to perform a backup of a selected device or MBR. There are several supported backup types.

    FSArchiver (website) is a modern program which creates an archive of a filesystem. It is similar to tar, except that the archive includes checksums, can be restored if corrupted, and includes additional information.

    One disadvantage to using FSArchiver is that unlike Partimage, the on disk locations of files will change when restored. For most files this won't matter, but in the case of grub's stage files, moving them can cause the grub boot process to no longer work. Thus if you restore a volume containing grub's files using an FSArchiver archive, you will then need to reinstall grub to the MBR (so that it knows accurately where it's files are - these locations are stored in the MBR's boot code).

    An advantage to FSArchiver is that it supports more filesystem types than Partimage, including ext4 and btrfs, and several compression methods. Other advantages include file exclusion, multi-thread compression, and encryption. The data may also be restored to any partition large enough to hold it, regardless of the original partition's size. FSArchiver is also currently maintained, while Partimage is no longer actively developed. There are additional differences between Partimage and FSArchiver - see their websites for details.

    By default, FSArchiver will backup unmounted volumes and volumes mounted read-only. To backup a volume which is mounted read-write, you must add --allow-rw-mounted to the command. This may create inconsistencies in the backup. Run man fsarchiver for details.

    To create an FSArchiver backup, right-click on a device and select Root|Backup|FSArchiver. A file save dialog will open asking you to select a filename and location. Keep in mind that the archive size may be 50% or more of the total data saved in the filesystem. Choose a save location with ample space.

    Next a command dialog will show you the FSArchiver command to be used, and allow you to edit it. When you click OK, the command will be run immediately in a terminal.

    Backup|Partimage
    Although older than FSArchiver, Partimage (website) is still a valuable if simpler backup tool. One advantage to Partimage is that the backup preserves the on disk locations of files, which means there is no grub MBR breakage. However, Partimage does have some limitations when compared to FSArchiver:

    • Partimage cannot be used to backup ext4 or btrfs filesystems.
    • Partimage cannot be used to backup mounted filesystems.
    • Partimage can only restore to a partition which is the same size or larger than the original partition, regardless of the actual amount of data in the archive.
    • Archives have no internal checksums, so it is not possible to detect corruption (unless you manually create an MD5 sum and check it yourself, etc.)
    • There is no built-in ability to encrypt an archive.
    There are additional differences between Partimage and FSArchiver - see their websites for details.

    To create a Partimage backup, right-click on an unmounted device and select Root|Backup|Partimage. A file save dialog will open asking you to select a filename and location. Keep in mind that the archive size may be 50% or more of the total data saved in the filesystem. Choose a save location with ample space. Note that Partimage will add a '.000' volume extension to the name you select.

    Next a command dialog will show you the Partimage command to be used, and allow you to edit it. By default, the command will break the archive into archive volumes 4G in size. This can be adjusted by carefully editing the command. When you click OK, the command will be run immediately in a terminal.

    Backup|MBR
    SpaceFM can also create a backup of a device's Master Boot Record (MBR). This is a small backup (512 bytes) which contains the entire MBR. (What Is The MBR?)

    After selecting Root|Backup|MBR, a file save dialog will open asking you to select a filename and location. This is a very small backup file. When you click OK, a terminal will open and the command will be executed immediately. (It is not possible to edit the MBR backup command.)

    Restore|From File
    To restore the contents of a device, partition, or MBR using a backup archive file, right-click on the target partition and select Root|Restore|From File. A choose file dialog will open for you to choose a backup file. This may be any backup file created by SpaceFM, including an FSArchiver, Partimage, or MBR archive file. (If the file was not created by SpaceFM but uses one of these formats, it may be possible to use the file if the file is named appropriately.)

    Next a dialog will show the restoration command to be used, and allow you to edit it. When you click OK, a terminal will open prompting you for the root password. Once entered, the exact command to be run will be shown. You will need to type the word 'yes' and press Enter to execute it.

    IMPORTANT: Restoring data to a partition overwrites any existing filesystem.

    After restoring from an FSArchiver backup, if the filesystem contains grub's files, you may need to reinstall grub to the MBR to restore normal boot behavior. (Reinstalling grub is not handled by SpaceFM, and is outside the scope of this manual, but you can create a custom command to do so.)

    When restoring an MBR, only the first 448 bytes of the MBR are restored. This portion contains the boot code. The remaining portion of the MBR contains the primary partition table. This portion is NOT restored (it is generally not useful to do so, and in the case of an out of date backup, could cause extreme data loss). However, the MBR backup file created by SpaceFM does contain the full 512 byte MBR, so if you do want to restore the entire MBR, consult appropriate instructions such as these.

    To practice restoring a file without making real changes, consider restoring to a DVD or empty drive as the target. This will allow you to see the entire process, except that the final command will fail when executed. Just be sure you know which device is your DVD or empty drive!

    Restore|File Info
    To examine the summary information in a backup file, select Root|Restore|File Info and select the backup file.

    Restore|File Info makes no changes to the backup file or any device - it only displays information about the backup file. It may need to run as root to do so.

    Edit fstab
    Edit fstab is a convenience function which simply opens the /etc/fstab file as root using root's editor (configured in View|Preferences|Advanced).

    Contents Settings

    The Settings submenu is your interface for controlling the appearance and behavior of the Devices list and volume monitor. Options include:

    Show|Internal Drives
    By default, the Devices list will only show removable and optical drives, while hiding internal system drives. If option Show|Internal Drives is checked, internal system drives will also be shown in the Devices list. For the root user, option Show|Internal Drives is checked by default.

    Internal drives are often treated differently by mount programs. You may not be able to mount or unmount them as a normal (non-root) user without making changes to /etc/fstab or to the mount program's configuration.

    Note that some external esata drives report themselves as internal, so they may not be shown unless Show|Internal Drives is checked. Another solution with these drives is to enter an exception for them in Show|Volumes.

    Show|Empty Drives
    By default, the Devices list will only show drives which contain media, and will hide empty drives. If option Show|Empty Drives is checked, drives not containing media will also be shown.

    Properties can still be obtained on empty drives, and you can use Remove or Reload to open or close the tray.

    NOTE: For proper detection of media, enabling kernel polling may be required.

    Show|Partition Tables
    By default, the Devices list will not show devices which contain partition tables, such as a whole device file (eg /dev/sda) which contains the primary partition table in its MBR, or a partition (eg /dev/sda4) which contains the extended partition table. Normally you will not work with these device files so it is not useful to show them. If you do want them shown, check option Show|Partition Tables. If the device is internal, option Show|Internal Drives is also required.

    IMPORTANT: For some purposes, a whole device file, such as /dev/sda, designates not just the primary partition table, but also the entire device including partitions (/dev/sda1, /dev/sda2, etc.) Thus if you format /dev/sda, for example, you will overwrite all partitions on the entire device.

    However, in some cases a device uses no partitions, and the entire device has been formatted with a single filesystem. In this case, the Devices list does not consider the whole device file a partition table, so option Show|Partition Tables will have no effect on it being shown.

    The size displayed for a whole device file (eg /dev/sda) will generally be the size of the entire device (including all partitions), regardless of whether it contains a partition table or a filesystem.

    Specifically, SpaceFM considers a device to be a partition table if its udev properties include a 'partition table:' line, or the device is a partition of type 0x05 (extended partition).

    Show|Mounted Networks
    By default, the Devices list will show recognized mounted network filesystems (eg nfs, cifs, etc). This enables you to click on the network to open it's mount point directory, or right-click on it to use the Unmount and Bookmark menu items. If you do not want mounted networks listed, uncheck option Show|Mounted Networks.

    Show|Mounted Other
    By default, the Devices list will show files mounted to loop devices, and other non-block devices, such as mounted fuse filesystems. For example, if you right-click on an ISO file and select Open|Mount ISO, the ISO file will be mounted so you can browse its contents. You can then click on this device in the Devices list to open it's mount point directory, or right-click on it to use Remove or Unmount.

    If you do not want mounted files and non-block device filesystems listed, uncheck option Show|Mounted Other.

    Show|Ignore Hide Policy
    Some devices may have their udev property UDISKS_PRESENTATION_HIDE set to 1. This is a hint to software that the device should be hidden. By default, SpaceFM will honor these hints and hide such devices. To ignore such hints, check option Show|Ignore Hide Policy.

    The hide policy of a device can be seen by selecting Properties for the device and observing the value of 'presentation hide:' in the INFO section.

    To ignore UDISKS_PRESENTATION_HIDE for a specific device, use Show|Volumes.

    Show|Volumes
    The Show|Volumes dialog allows you to specify display exceptions for some devices. When deciding whether to show or hide a device in the Devices list, SpaceFM will first consult the Show|Volumes list. If the device is present, it will be shown or hidden based on its entry in this list. All other show or hide settings will be ignored for this device.

    One example use for Show|Volumes is to show an external esata drive which is erroneously identified by udev as internal. Even if option Show|Internal Drives is unchecked, the drive will be shown if listed in Show|Volumes.

    Show|Volumes opens a dialog which allows you to specify device files, volume labels, or device IDs in a space-separated list. There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.

    For example, to force showing device /dev/sdd1, include:
        +/dev/sdd1

    Or, to force hiding of /dev/sdd1, include:
        -/dev/sdd1

    The '/dev/' portion of the device file MUST be included.

    Devices can also be identified by volume label. For example, to always hide a device with volume label "Label With Space" use:
        -Label With Space

    DO NOT use quotes to enclose the label, even if it contains spaces.

    Finally, a device's ID may be used:
        +ata-OCZ-part4

    For example, this list in Show|Volumes:
        +/dev/sdd1 -Label With Space +ata-OCZ-part4

    would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label "Label With Space" to be hidden.

    Show|Display Name
    Display Name opens a dialog which allows you to edit the display name format used for the Devices list. This controls how device names are displayed.

    In addition to separator characters of your choice, the following substitution variables may be used:

    %v device filename (eg sdd1)
    %s total size (eg 800G)
    %t fstype (eg ext4)
    %l volume label (eg Label or [no media])
    %m mount point if mounted, or ---
    %i device ID

    A device in the list is guaranteed to have a unique, non-blank device filename - no two will be alike. The other values may be duplicated or empty in some cases.

    After you click OK, the display names of the currently shown devices will be updated. The list is sorted alphabetically, ignoring spaces.

    Auto Mount|Mount Optical
    The Auto Mount submenu allows you to control the auto-mounting behavior of the volume monitor. This determines what happens when a new device or new medium is inserted, whether a new tab is opened, and the auto-unmount behavior.

    IMPORTANT: If you have multiple auto-mount solutions installed and running, this can create confusing behavior. For example, if you use devmon, then when using SpaceFM's auto-mount features, it is best to disable devmon.

    If option Mount Optical is checked, optical devices such as CD/DVD drives will be automatically mounted when media is inserted, and at SpaceFM startup.

    TIP: For additional information on what the volume monitor is doing, try running SpaceFM in a terminal. Information on devices being auto-mounted will be printed to the terminal, and error messages generated by your command may be seen there as well.

    Auto Mount|Mount Removable
    If option Mount Removable is checked, the device will be automatically mounted whenever a removable device is inserted, and at SpaceFM startup.

    Auto Mount|Ignore No Policy
    Some devices may have their udev property UDISKS_PRESENTATION_NOPOLICY set to 1. This is a hint to software that the device should not be automatically mounted. By default, SpaceFM will honor these hints and not auto-mount such devices. To ignore such hints, check option Show|Ignore No Policy.

    The policy of a device can be seen by selecting Properties for the device and observing the value of 'presentation nopolicy:' in the INFO section.

    To ignore UDISKS_PRESENTATION_NOPOLICY for a specific device, use Mount|Volumes.

    Auto Mount|Mount Volumes
    The Mount Volumes list works similarly to the Show|Volumes list, except that it determines what devices will or will not be auto-mounted (and auto-unmounted, if option Unmount On Exit is checked). When deciding whether to auto-mount a device, SpaceFM will first consult the Mount Volumes list. If the device is present, it will or will not be auto-mounted based on its entry in this list. All other auto-mount settings will be ignored for this device.

    Mount Volumes opens a dialog which allows you to specify device files, volume labels, or device IDs in a space-separated list. There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.

    For example, to force auto-mounting of device /dev/sdc1, include:
        +/dev/sdc1

    Or, to inhibit auto-mounting of /dev/sdc1, include:
        -/dev/sdc1

    The '/dev/' portion of the device file MUST be included.

    Devices can also be identified by volume label. For example, to inhibit auto-mounting of a device with volume label "Label With Space" use:
        -Label With Space

    DO NOT use quotes to enclose the label, even if it contains spaces.

    Finally, a device's ID may be used:
        +ata-OCZ-part4

    For example, this list in Mount Volumes:
        +/dev/sdc1 -Label With Space +ata-OCZ-part4

    would cause /dev/sdc1 and the OCZ device to be auto-mounted, and the volume with label "Label With Space" to not be auto-mounted.

    Auto Mount|Mount Dirs
    This dialog allows you to enter a single directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%a in handler commands). This directory must be user-writable (do NOT use /media); if it doesn't already exist, it will be created (including parents). For best results with all handlers, avoid spaces and other special characters. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.

    The following variables are recognized and will be replaced with their current value: $USER $UID $HOME $XDG_RUNTIME_DIR $XDG_CACHE_HOME

    Note that some handlers or mount programs may not obey this setting. It will only be used by handlers which use %a in their mount or open commands.

    Anytime a device, protocol or file handler uses %a to automatically create a mount point, the specified directory will be used as the parent. This applies to both manual and automatic mounts.

    Note that empty subdirectories will be routinely and automatically removed from the specified directory.

    Auto Mount|Open Tab
    If option Open Tab is checked, when a device is auto-mounted by SpaceFM, a new tab will be opened for the mount point directory of the device. If unchecked, the mount point directory will not be automatically opened.

    Note that the Open Tab option only affects what happens after a device is auto-mounted by SpaceFM. It has no effect on devices mounted by other means, nor does it apply to devices mounted by user action within SpaceFM.

    Auto Mount|Unmount On Exit
    If option Unmount On Exit is checked, any device which would normally be auto-mounted by SpaceFM (based on auto-mount settings) will be unmounted when SpaceFM exits. Exit occurs when the last SpaceFM window is closed, unless a daemon or desktop manager daemon is running. Note that if SpaceFM is killed with SIGKILL (such as when you logout of your X session), the automatic unmount will NOT occur. (To unmount all devices before or just after X logoff, consider running devmon --unmount-all (devmon is distributed with udevil).

    When mounting a device, if there is no fstab entry for the device, your mount program may create a subfolder for the device mount point in /media or /run/media/$USER. If you or SpaceFM unmounts the device, this subfolder will be removed. However, if you logoff without unmounting the device, the subfolder may be left behind. In order to avoid these subfolders accumulating in /media, SpaceFM can unmount devices on exit.

    If you don't check option Unmount On Exit, you may need to unmount devices in some other way before logging off to avoid these /media subfolders accumulating.

    Auto Run|On Mount
    Auto Run|On Mount opens a dialog which allows you to set a command line to be run when a removable drive or optical data disc is auto-mounted by SpaceFM. This command can be as simple as a program name to be run, or can be a one line bash script. The following substitution variables may be used in the command line:

    %v device (eg /dev/sda1)
    %l device volume label
    %m device mount point (eg /media/disk)

    Note: When the command is run, %v, %l, and %m refer to the device being added or removed, not the device which is currently selected in the Devices list.

    For this command to be run, the device must be auto-mounted by SpaceFM. It will not be run for devices mounted by other means, or for devices mounted by user action within SpaceFM.

    The command will not be run for devices which are auto-mounted at SpaceFM's initial startup. Thus Auto Run affects devices you add after SpaceFM is running.

    For additional information on what the volume monitor is doing, try running SpaceFM in a terminal. Information on devices being auto-mounted will be printed to the terminal, and error messages generated by your command may be seen there as well.

    For example, to automatically add a mounted volume to traydevice, set the On Mount command line to:

        traydevice %v

    Another example: To have notify-send alert you of new drive mounts:

        notify-send --icon=block-device --urgency=low "Volume %l has been mounted"

    Auto Run|On Audio CD
    Similar to Auto Run|On Mount, Auto Run|On Audio CD opens a dialog which allows you to set a command line to be run when an audio CD is inserted in a qualified optical device.

    The command will be run only if: a) option Mount Optical is checked, AND b) the device qualifies for auto-mounting based on Mount Volumes (ie it is not inhibited).

    The command will not be run for media which is already inserted during SpaceFM's initial startup. Thus Auto Run|On Audio CD affects media you insert after SpaceFM is running.

    For example, to set an audio CD to automatically start playing in the vlc media player, set the On Audio CD command line to:

        vlc --verbose=-1 cdda://%v

    Auto Run|On Video DVD
    Similar to Auto Run|On Audio CD, Auto Run|On Video DVD opens a dialog which allows you to set a command line to be run when a video DVD is inserted in a qualified optical device.

    The command will be run only if: a) the device is auto-mounted by SpaceFM, AND b) the device contains a video DVD.

    The command will not be run for devices which are auto-mounted at SpaceFM's initial startup, nor will it be run for devices mounted by other means, nor for devices mounted by user action within SpaceFM.

    For example, to set a video DVD to automatically start in the vlc media player, set the On Video DVD command line to:

        vlc --verbose=-1 dvd://%v

    Auto Run|On Insert
    Auto Run|On Insert opens a dialog which allows you to set a command line to be run when any device is inserted. This allows you to connect your command to the insertion (device added) event.

    Auto-mount settings have no impact on this function.

    Note that when inserting a single drive, your command may be run several times - once for each device file added. For example, if you insert device /dev/sdd which contains one partition /dev/sdd1, your command will be run once with %v=/dev/sdd and once with %v=/dev/sdd1. It is up to your command or script to discard events for unwanted devices or partitions. A script can run one of these commands to get current information on a device's status:

        udevil info /dev/sdX
        udisks --show-info /dev/sdX
        udisksctl info -b /dev/sdX

    For greater control, an event handler may be set for event evt_device.

    Auto Run|On Unmount
    Auto Run|On Unmount opens a dialog which allows you to set a command line to be run when any device is unmounted by any means.

    Auto-mount settings have no impact on this function.

    For example, to automatically remove the drive from traydevice, set the On Unmount command line to:

        pkill -f "traydevice %v"

    For greater control, an event handler may be set for event evt_device.

    Auto Run|On Remove
    Auto Run|On Remove opens a dialog which allows you to set a command line to be run when any device is removed. This allows you to connect your command to the removal event.

    The device must be removed. Ejection of media will not cause this command to be run.

    Auto-mount settings have no impact on this function.

    Note that when removing a single drive, your command may be run several times - once for each device file removed. For example, if you remove device /dev/sdd which contains one partition /dev/sdd1, your command will be run once with %v=/dev/sdd and once with %v=/dev/sdd1. It is up to your command or script to discard events for unwanted devices or partitions. Note that when the command is run, %v equals the device file which has been removed, not the device file which is selected in the Devices list.

    For greater control, an event handler may be set for event evt_device.

    Device Handlers
    Opens the Device Handlers configuration dialog.

    Protocol Handlers
    Opens the Protocol Handlers configuration dialog.

    Mount Options
    Mount Options opens a dialog which allows you to set default mount options. These options may be used in Device Handlers via the substitution variable %o, and are used by the default mount command for all mounts, including auto-mounts.

    In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.

    For example, this set of options:
        nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4

    will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.

    Note that only handlers which use the %o substitution variable will use options specified here. They will not apply to mounts performed by other handlers.

    Note that some options, such as nosuid or noatime, may be added by your mount program even if you don't include them. For example, if using udevil, you may need to also change the default options in /etc/udevil/udevil.conf. Also, options specified in /etc/fstab may take precedence over options specified in Mount Options.

    pmount does not support conventional mount options, so when using pmount as the mount command, options set here will be ignored. Instead, you can include pmount's command line options in the appropriate Device Handler.

    Change Detection
    Change Detection opens a dialog which allows you to enter a comma- or space-separated list of filesystems which should NOT be monitored for changes to files. This setting only affects non-block devices (such as nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive with network filesystems.

    When SpaceFM opens a directory in a tab, normally it will detect changes, for example if you edit or change the properties or sizes of files in the directory. Because SpaceFM works directly with the kernel for file information, and because some network filesystems become temporarily unresponsive when busy, this can cause SpaceFM to become temporarily unresponsive to mouse clicks, etc.

    To prevent this, the device's filesystem can be listed in the Change Detection Blacklist. In this case, SpaceFM will not detect changes to files, load thumbnails, or load subdirectory sizes, and you will need to manually refresh the file list view to see file changes. To do so, right-click on the file list and select View|Refresh, or press F5.

    Note that even if the filesystem is listed in Change Detection, new files created in the directory, or files which are renamed or deleted, will be detected and read.

    An alternative approach to blacklisting filesystems is to close the tab containing the filesystem while a copy is in progress to that directory.

    Single Click
    If option Single Click is checked, the Devices list operates in single-click mode: a single left-click on a device will open it. If unchecked, a single-click will only select a device, and a double-click is required to open it.

    New Tab
    If option New Tab is checked, when a device is opened with a single or double click (depending on option Single Click), the mount point directory will be opened in a new tab in the current panel. If unchecked, the mount point directory will be opened in the current tab.

    Icon
    The Icon submenu allows you to set custom icons to be displayed at the left of devices in the Devices list. For example, to change the icon used for an internal, mounted drive, click Icon|Internal Mounted and enter the desired icon name.

    By default, SpaceFM reuses a limited number of icons so that only stock GTK icons are required. If you would like the device icons to better reflect the changing state of devices, it is valuable to customise these icons.

    Font
    Font opens a font selection dialog which allows you to select the font to be used for the Devices list. Select a font family, style, and size and click OK, or click Default to use your GTK theme's font.

    Contents How To Enable Kernel Polling

    You may need to enable kernel polling for device media changes to be detected by SpaceFM. For example, if you insert a CD and SpaceFM still says 'no media', this is a symptom that kernel polling is not enabled.

    Kernel polling is a newer feature of the Linux kernel and udev, so some distros don't yet have it enabled by default. To use kernel polling, your Linux kernel may need to be 2.6.38 or newer, and udev may need to be version 173 or newer.

    To determine if kernel polling is enabled:

        cat /sys/module/block/parameters/events_dfl_poll_msecs
        cat /sys/block/sr0/events_poll_msecs
    
    If you get 0 or -1 from both of those commands, kernel polling may be disabled.

    To enable kernel polling permanently (survives a reboot), add the following command to your /etc/rc.local file (anywhere before the 'exit' line in that file):

        echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs
    
    Any number between 2000 and 5000 (milliseconds) should be reasonable - the higher 5000 means poll every 5 seconds, which is less overhead but a little slower.

    OR pass this option to the kernel boot command line in grub:

    block.events_dfl_poll_msecs=2000

    OR add a udev rule to enable kernel polling on removable devices:

    echo 'ACTION=="add", ATTR{removable}=="1", ATTR{events_poll_msecs}=="-1", ATTR{events_poll_msecs}="2000"' > /etc/udev/rules.d/61-removable-storage-polling.rules

    A reboot will be required for the above changes to take effect, or...

    To enable kernel polling temporarily and immediately, enable common polling for the block module:

        sudo bash -c 'echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs'
    

    OR you can enable polling just for a single device like this (/dev/sr0 in this example):

        sudo bash -c 'echo 2000 > /sys/block/sr0/events_poll_msecs'
    
    This change should be immediate - media will be detected. However, the above change will be lost when you reboot.

    References:
    linuxfromscratch.org
    uam-can-now-mount-cds-and-dvds
    bugs.archlinux.org
    unix.stackexchange.com


    Tasks
    Contents Task Manager

    Each SpaceFM window includes a single Task Manager which centrally manages the tasks of all panels in the window. The Task Manager is designed to eliminate annoying popup dialogs which interfere with user multi-tasking, and allows you to continue working while large files are being copied, etc. The Task Manager lists running tasks, automatically manages the task queue, allows you to stop, pause, queue, or resume tasks manually, and opens popup dialogs. Like most parts of SpaceFM, the Task Manager can also be customised with your own commands to control or interact with running tasks.

    A task is a job initiated by the user, such as copying a file. Tasks come in two varieties: internal and exec. Internal tasks handle built-in functions such as a copying, moving, and deleting files, while an exec task runs an executable or script, either initiated from within SpaceFM's built-in functions (such as running udevil to unmount a device) or from a custom command. The output of exec tasks is also collected and shown in the popup dialog's output monitor.

    The Task Manager is located at the bottom of the SpaceFM window, below all panels. It has two display modes: Show and Auto-Hide. If option View|Task Manager|Show Manager is selected, the Task Manager is always visible, even when no tasks are running. Or, if option View|Task Manager|Auto-Hide Manager is selected (the default), the Task Manager will become visible when tasks are running, and will be automatically hidden from view when the last task completes. The size of the Task Manager may be adjusted by dragging the pane separator above it.

    When a task is initiated in any panel and runs for longer than about one half second, it will be listed in the Task Manager, and the Task Manager will be shown if in Auto-Hide mode. If a task finishes in less than about one half second, the task will not be listed. New tasks are added to the end of the task list. When a task completes (successfully or with errors), it is immediately removed from the list.

    Task Manager columns provide information on each task, and each column can be hidden or moved, allowing you to control what information is shown.

    A single left-click on a task in the list, anywhere except in the Status column, will open a popup dialog showing the task's stats, a progress bar, and an output monitor. For internal tasks (copy, move, etc), the output monitor is used to show errors. For exec tasks, the output monitor shows the combined stdout and stderr output of the command as its produced.

    A single left-click on the Status of a task, or a middle-click anywhere on a listed task will change its state (running, queued, or paused). Click repeatedly to achieve the desired state.

    A right-click on a task shows the Task Manager's menu, which allows you to stop, pause, queue, and resume tasks, and also contains options for the Task Manager. (These same options may also be accessed via the main menu bar's View|Task Manager submenu.)

    Contents Queue

    Each task listed in the Task Manager may be in one of three states: running, paused, or queued.

    A running task is currently executing - files are being copied, or an executable is running, etc.

    A paused task has been halted. For internal tasks such as copy and move, the task thread is halted until you resume the task. For exec tasks (eg a custom command running an executable, or SpaceFM running udevil to unmount a device), the process has been sent a SIGSTOP signal as described in Pause.

    A queued task is also halted. The only difference is that the Task Manager will automatically resume running a queued task when other tasks complete, whereas a paused task will never resume automatically.

    A task's state (running, paused, or queued) can be changed by the user, and in some cases may be changed automatically.

    Simply, the queue is used to prevent all tasks from running simultaneously, which can impact performance. For example, copying two sets of files to the same drive simultaneously is often slower than first copying one set, then the other (due to drive seeking and other issues). Thus it may be desirable to queue the second task, so it will remain halted until the first task is completed.

    If option View|Task Manager|Queue|Queue New Tasks is checked (the default), new tasks are automatically queued when initiated, rather than run immediately. SpaceFM will automatically determine when to resume the queued tasks, depending on option View|Task Manager|Queue|Smart Queue. Or, you can always manually Resume, Pause or Stop a task to remove it from the queue.

    Contents Menu

    The Task Manager's context menu allows you to control tasks and set Task Manager options. The menu is opened by right-clicking on the list. The options found on this menu are also available in the main menu bar's View|Task Manager submenu (convenient if the Task Manager is hidden).

    The context menu contains the following items:

    Stop
    Stop is used to stop the selected task. If the task is internal (such as copying files), SpaceFM will terminate the task thread, and the task will be removed from the Task Manager.

    If the task is an exec task (eg a custom command running an executable, or SpaceFM running udevil to unmount a device), the process, and all its child processes, are sent a SIGTERM signal. This will usually cause the processes to terminate, but not always. So SpaceFM will also send a SIGKILL signal to all the processes several seconds later. An exec task will not be removed from the Task Manager until its process terminates. This means that if a process is hung and cannot be stopped with SIGKILL, selecting Stop may have no effect.

    If the command was run as another user, such as root, selecting Stop will cause a prompt for the user's password (or root's password depending on your configured su program) to open. This password is required to send the SIGTERM and SIGKILL signals to the process running as another user. (You can see the exact commands being issued by running SpaceFM from a terminal and observing its stdout output.)

    Paused and queued tasks may also be stopped.

    You can also stop a task by clicking the Stop button in the task's popup dialog.

    Pause
    Pause temporarily halts a task, putting it into a paused state. It will remain in the paused state until you Resume, Queue or Stop it, and will never be automatically resumed or queued while paused.

    If the task is internal (such as copying files), SpaceFM will suspend the task thread. Any files currently being read or written will remain open as long as the task is paused.

    If the task is an exec task, the process, and all its child processes, are sent a SIGSTOP signal. This is similar to pressing Ctrl+S in a terminal while a command is running; it will often cause the process to temporarily halt execution. In some cases, a process will not halt on a SIGSTOP signal, but the Task Manager will still list it as being in a 'paused' state until you Resume the task.

    If the command was run as another user, such as root, selecting Pause will cause a prompt for the user's password (or root's password depending on your configured su program) to open. This password is required to send the SIGSTOP signal to the process running as another user. (You can see the exact commands being issued by running SpaceFM from a terminal and observing its stdout output.)

    If you change the menu icon for Pause, the new icon will also be used as the 'paused' icon in the task list.

    You can also pause a task by clicking the Pause button in the task's popup dialog, left-clicking on the Status of a task in the Task Manager list, or by middle-clicking on a task in the list.

    Queue
    Selecting Queue will change the selected task's state to queued. In this state, the task is halted, but will resume automatically when other tasks complete.

    Note that selecting Queue on a running task may seem to have no effect. This is because the task may be queued, but then may automatically be removed from the queue and resumed by the Task Manager. There is no way to force a task to stay in the queue (but you can Pause it).

    If you change the menu icon for Queue, the new icon will also be used as the 'queued' icon in the task list.

    You can also queue a task by clicking the Queue button in the task's popup dialog, left-clicking on the Status of a task in the Task Manager list, or by middle-clicking on a task in the list.

    Resume
    Resume starts the selected task, changing its state to running. If it was in the queue it will be removed from the queue and resumed, regardless of how it conflicts with other running tasks.

    If the task is an exec task, the process, and all its child processes, are sent a SIGCONT signal. This is similar to pressing Ctrl+Q in a terminal after a command has been halted with Ctrl+S. If the original SIGSTOP halted the execution, SIGCONT should resume it. If SIGSTOP did not halt execution, SIGCONT will generally have no effect, except that the Task Manager will now list the task as 'running'.

    If the command was run as another user, such as root, selecting Resume will cause a prompt for the user's password (or root's password depending on your configured su program) to open. This password is required to send the SIGCONT signal to the process running as another user. (You can see the exact commands being issued by running SpaceFM from a terminal and observing its stdout output.)

    You can also resume a task by clicking the Resume button in the task's popup dialog, left-clicking on the Status of a task in the Task Manager list, or by middle-clicking on a task in the list. Tasks may also be resumed automatically by the Task Manager if they are queued.

    Show Output
    The Show Output menu item will only appear if a custom popup handler has been set for the selected task. Show Output will raise the normal popup dialog for the task, showing any stdout/stderr output. This is particularly useful for debugging.

    Note that any custom menu items added directly after Show Output will also only appear for tasks with a custom popup handler.

    All Tasks
    The All Tasks submenu is used to place all listed tasks into the selected state. The Stop, Pause, Queue, and Resume menu items in this submenu have the same effect as detailed above, except that all tasks are affected.

    Selecting All Tasks|Queue will place all tasks in the 'queued' state momentarily, but note that one or more of the tasks may then be automatically removed from the queue and resumed.

    Show Manager
    The Task Manager has two display modes: Show and Auto-Hide. If option Show Manager is selected, the Task Manager is always visible, even when no tasks are running. The size of the Task Manager may be adjusted by dragging the pane separator above it.

    This option is also available via the main menu bar's View|Task Manager submenu. You may also associate a key shortcut with it.

    Auto-Hide Manager
    If option Auto-Hide Manager is selected (the default), the Task Manager will become visible at the bottom of the window when any tasks are running, and will be hidden when the last task completes. This is a window space-saving feature.

    Although there is no option to hide the Task Manager while tasks are listed, you can effectively hide it if desired by dragging the pane separator to the very bottom of the window. However, if you do so you should enable option View|Task Manager|Popups|Popup All Tasks, so that you are aware that tasks are running. This combination of a zero-height Task Manager and Popup All Tasks makes SpaceFM behave like a conventional file manager, showing a popup dialog when performing a task, rather than showing a list of tasks. You can also enable option View|Task Manager|Popups|Stay On Top if desired.

    Columns
    The Columns submenu is used to select which columns are visible in the Task Manager, and to select a font for the Task Manager. Each column provides information about the listed tasks. The following columns are available:

    Column Information
    Count The number of items processed thus far
    Folder Directory containing current item
    Item Filename of current item, or command name
    To The task's destination directory, eg where files are being copied to
    Progress A progress bar with percentage label
    Total The task's processed and total sizes
    Started Time task was started
    Elapsed Elapsed running time of task
    Current Speed The current speed of the task (based on previous 2 second interval)
    Current Remain Estimated time remaining based on Current Speed
    Average Speed The average speed of the task
    Average Remain Estimated time remaining based on Average Speed

    The current item refers to the file currently being processed in the task (copied, etc). For exec tasks, the Item column shows the name of the command in parentheses.

    The Status column, which shows the task icon, current state (queued or paused) and task action (copying, moving, etc.), is not included in the Columns submenu because its visibility not optional.

    The Reorder menu item shows a reminder: "To change the order of the columns, drag the column header to the desired location."

    The Font menu item allows you to set a font for the Task Manager's list columns. Narrow fonts work well.

    Note: The Columns submenu, and other Task Manager options, can also be found in the main menu bar's View|Task Manager submenu.

    Popups|Popup All Tasks
    The Popups submenu is used to configure the Task Manager's behavior for opening popup dialogs. If option Popup All Tasks is checked, a popup dialog will automatically open for any task which runs for longer than about one half second. If the task finishes successfully, the popup will automatically close. If errors occur, it will remain open for you to view the error messages.

    If option Popup All Tasks is unchecked, a popup dialog will open for an internal task only if an error occurs. For custom commands, the popup behavior will depend on the command's popup settings. Note that if Popup All Tasks is checked, this overrides the command's popup settings.

    Popup All Tasks makes SpaceFM behave like a conventional file manager with regard to progress dialogs. If the option is enabled, it is also feasible to effectively hide the Task Manager by dragging the pane separator to the very bottom of the window when unneeded. You will still be aware of tasks running due to the popups. Option Stay On Top also works well with this approach.

    Popups|Stay On Top
    If option Stay On Top is checked, any task's popup dialog, whether opened automatically or manually, will stay on top of the SpaceFM window. However, you can still click on visible portions of the main window. Changing this setting has no effect on dialogs which are already open.

    If unchecked, popup dialogs may be placed beneath the main window.

    Popups|Above Others
    If option Above Others is checked, any task's popup dialog will be kept above all other windows when initially shown. Note that some window managers do not support keeping windows above others, and your window manager settings may override this behavior.

    Popups|All Workspaces
    If option All Workspaces is checked, any task's popup dialog will appear on all workspaces/desktops (will be set as sticky) when initially shown. Note that some window managers do not support sticking windows, and your window manager settings may override this behavior.

    Popups|Detailed Stats
    Detailed Stats affects how task stats are displayed in the 'Progress:' line of popup dialogs (seen in internal task dialogs only).

    If unchecked, a brief stats line is shown. For example:

    Progress: 204 M / 350 M (26 M/s) :05 remaining
    In the above example, 204 MB of 350 MB has been processed at an average speed of 26 MB/s. The estimated time remaining until the task finishes is 5 seconds.

    If option Detailed Stats is checked, more detailed stats are shown. For example:

    Progress: #1 (204 M / 350 M) [:08] @cur 31 M/s (:06) @avg 26 M/s (:05)
    The additional stats include the item count (#1), the elapsed running time of the task (8 seconds), the current speed of the task (31 M/s), and the estimated time remaining at the current speed (6 seconds). The current speed is measured based on the speed over the previous two second interval, whereas the average speed is based on the entire time the task has been running. The current speed is a more accurate measure of what is happening right now, and will fluctuate more, while the average speed is a better measure of the overall performance. The time remaining estimate based on the current speed shows how long the task will continue if it continues at the current speed. The time remaining estimate based on the average speed tends to be a more accurate estimate in general.

    The information shown in the 'Progress:' line will match the information shown in the corresponding Task Manager columns.

    Popups|Overwrite Option
    If Overwrite Option is checked, the popup dialogs for internal tasks will show a drop-down list which displays and allows you to change the overwrite mode of the task. The list is not shown for exec tasks. For more information see Popup Dialog.

    Popups|Error Option
    If Error Option is checked, the popup dialogs for internal tasks will show a drop-down list which displays and allows you to change the error handling mode of the task. The list is not shown for exec tasks. For more information see Popup Dialog.

    Popups|Font
    The Font menu item allows you to set a font to be used in the output monitor of popup dialogs. For example, you might choose a fixed width font to make the monitor look more like a terminal.

    This font may also be set by right-clicking on the output monitor of any task's popup dialog and selecting Font from the context menu.

    The dialog font you select will be used for new dialogs only; currently open dialogs will not be affected. (You can close a dialog and re-open it to see the change.)

    Errors
    The Errors submenu contains a set of radio options which control how errors in internal tasks (such as copy and move) are handled by default. (These options have no effect on exec tasks such as custom commands.)

    If option Stop If Error First is selected (the default), the task will be stopped by the Task Manager if an error occurs AND that error is encountered before the task has successfully processed one file. If an error occurs on later files in the task, the Task Manager will open a popup dialog to show the error, but subsequent actions in the task will continue to run. For example, if there are more files to be copied, SpaceFM will attempt to copy them despite any errors on previous files.

    Stop If Error First is provided as a convenience option. Usually if the first action of a task fails, the rest of the task will fail as well, so it might as well be stopped rather than producing a long list of errors for every file in the task.

    If option Stop On Any Error is instead selected, the Task Manager will stop if any error is encountered in the task, regardless of whether the error occurs on the first or later actions.

    If option Continue is selected, the Task Manager will never stop an internal task due to errors. It will present the popup dialog on each error, and will list the errors in the output monitor, but subsequent actions in the task will continue. For example, if a set of files is being copied, and only one file in the middle produces a copy error, all the other files will still be copied. The popup dialog will show the error(s) for the file(s) which failed.

    Continue is especially useful when copying large sets of files. If the task stops on errors, you might start the task and leave the computer, only to return to find that only a few files were copied before a single error stopped the entire task. If the task continues on errors, you'll return to find all the files copied except those with errors. You can then correct the problem files without having to restart and wait for the entire task again.

    You can also change the error mode on a per task basis if View|Task Manager|Popups|Error Option is checked.

    Queue|Queue New Tasks
    If option Queue New Tasks is checked (the default), new internal tasks are queued instead of being run immediately. (exec tasks such as custom commands are never queued automatically.) The Task Manager will then automatically resume the task when other tasks finish. When you start new tasks while other tasks are still running, Queue New Tasks improves performance by not running all the tasks simultaneously (though some tasks may be run concurrently, depending on option Smart Queue).

    If unchecked, new tasks are always run immediately, even if other tasks are already running, and the Task Manager will never automatically queue any task.

    Regardless of how Queue New Tasks is set, you can always manually Queue, Pause or Resume any task.

    Queue|Smart Queue
    The Smart Queue option determines under what conditions the Task Manager will remove a task from the queue and resume it. If UNchecked, the queue is simple - only one internal task is run at a time, and other tasks are queued. (exec tasks such as custom commands are always run regardless of option Smart Queue.) When a task finishes, the next task is removed from the queue and resumed. If you always want SpaceFM to do only one file operation at a time, uncheck option Smart Queue. However, this may be less efficient.

    If option Smart Queue is checked (the default), the Task Manager is more sophisticated in its handling of the queue to improve both performance and convenience. In general, tasks will not be run concurrently, but the following exceptions may be made if Smart Queue is checked:

    Different Disks Exception
    If two or more tasks involve files on mutually exclusive disks (parent devices), the Task Manager will run them concurrently.

    To determine what devices a task involves, SpaceFM makes a list of all devices (and their parent devices, if the device is a partition) holding every file in the task, as well as the device of the destination directory, if applicable. If any devices in this list are the same as the devices in another task's devices list, the two tasks conflict and will not be run concurrently. Note that if the files of two tasks are located on different partitions on the same disk, they will conflict, and only one of the tasks will run. Note that all of the devices of the task are examined when a queue decision is made, not just the device of the file currently in use by the task.

    The reason for this exception is that if two tasks involve mutually exclusive disks, there is usually much less of a performance loss by running them together. On the other hand, if two tasks share files on the same disk, running them together may cause excessive drive seeking as different files are concurrently read and written. Thus no exception is made for such tasks, and only one is resumed at a time.

    Size Exceptions
    Often while copying a set of large files, you may want to perform a quick operation on a set of small files. Because the latter task is brief, it is reasonably efficient to allow it to run concurrently. This way you don't have to wait for the longer task to finish before your quick task is run.

    When a task involves copying or moving a set of files less than 10 MB in total size, an exception is made which allows the task to run immediately, even if other tasks are running on the same devices. An exception is also made when a task involves deleting a set of files less than 5 GB in total size. This allows small tasks to run immediately.

    Functional Exceptions
    Internal tasks involving creating links, and changing file permissions or ownership are typically very fast as little data is written to disk. Thus an exception is always made for these task types - they are run immediately.

    Also note that you can always manually Queue, Pause or Resume any task, regardless of the Task Manager's queue settings. For example, if you want a task to run immediately even though the Task Manager made no exception for it, you can Resume it yourself.

    HAL NOTE:: If you are using a copy of SpaceFM built with configure option --enable-hal, or a HAL-based SpaceFM package, option Smart Queue will be unavailable.

    Queue|Pause On Error
    If option Pause On Error is checked, when an error occurs in any running task, all queued tasks will be paused. Tasks which are already running will not be paused. The task in which the error occurs may continue running as well, depending on its error mode.

    The paused tasks will not resume until you manually resume them.

    Pause On Error is something of a paranoia setting - it ensures that if an error occurs, later tasks (which may depend on files in the task with errors) are suspended until you can examine the problem.

    Custom Menus
    As with most menus, it is also possible to add your own custom menu items and submenus to the Task Manager's context menu using Design Mode. This allows you to add commands which can control or interact with running tasks.

    There are several provided bash variables which your commands can use to get information about the currently selected task:

        "fm_task_type"            currently SELECTED task type (eg 'run','copy')
        "fm_task_name"            selected task name (custom menu item name)
        "fm_task_pwd"             selected task working directory ( same as %t )
        "fm_task_pid"             selected task pid               ( same as %p )
        "fm_task_command"         selected task command
    
    Note that the PID of the task refers to the initial process started by SpaceFM. The actual process you want to control may be a child of this PID.

    For example, to add a custom command which opens the working directory of the currently selected task, use this command line:

        spacefm "$fm_task_pwd"


    Contents Popup Dialog

    A single left-click on a task listed in the Task Manager will open a popup dialog showing stats, a progress bar, and an output monitor. Popup dialogs may also be automatically shown when errors occur, if option View|Task Manager|Popups|Popup All Tasks is checked, or based on a custom command's popup settings. The popup dialog's relationship to other windows may be controlled with options View|Task Manager|Popups|Stay On Top, Above Others, and All Workspaces.

    For internal tasks, the popup dialog will show the task's job ("Copy", etc), the current file being processed, the destination directory, brief or detailed stats, the status of the task ("Paused", etc), a progress bar, an output monitor used to show the details of any errors which have occured, and overwrite and error mode controls.

    If View|Task Manager|Popups|Overwrite Option is checked and the task is internal, the popup dialog will show a drop-down list which displays and allows you to change the overwrite mode of the task (what happens when a file being copied already exists): Ask (prompt to rename, overwrite, or skip each file), Overwrite All (overwrite all files), Skip All (never overwrite files), or Auto Rename (assign a unique filename). Clicking the Overwrite All, Skip All, or Auto Rename All button in an overwrite query dialog will also change the overwrite mode. Note that the overwrite mode you set only applies to future file conflicts in the current task.

    If View|Task Manager|Popups|Error Option is checked and the task is internal, the popup dialog will show a drop-down list which displays and allows you to change the error mode of the task: Stop If Error First, Stop On Any Error, or Continue. When the task first starts, the error mode will match the default set in View|Task Manager|Errors. If you then change the error mode, it will apply to the current task only.

    For exec tasks, the popup dialog will show the title of the command being run, the task's status, a pulsing progress bar, and an output monitor showing any output from the command. The output monitor is designed to display text output to be used for monitoring the output of commands as they run, or to display a final result. However, the output monitor is not a terminal and does not allow you to enter input. If your command requires interaction, you will need to enable Run In Terminal instead. Custom commands can also set a custom popup handler to replace the normal popup dialog.

    To close the dialog, press the Close button or close the window. You can always re-open the dialog by clicking on the task in the Task Manager.

    To permanently stop a task, click the Stop button. This is equivalent to selecting Stop in the Task Manager menu.

    The third button in the dialog will change depending on the state of the task. If the task is running, the button will be a Pause button; if the task is paused, the button will become a Queue button; and if the task is queued, the button will become a Resume button. Pressing this button is equivalent to selecting Pause, Queue, or Resume in the Task Manager's context menu.

    Design Mode
    Contents Introduction

    SpaceFM's Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items; access help for an item; and set menu items to be disabled or hidden based on your context rules. You may add custom commands, applications, bookmarks, and submenus to any position in menus and toolbars, and save your custom items as plugins. Custom items can be cut/copied/pasted from/to bookmarks, toolbars, and menus. All of this is controlled from the Design Menu.

    To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. The Design Menu is available for most menus in SpaceFM, including in the right-click menu of the desktop.

    To open the Design Menu using a shortcut key, press F2 while a menu item is highlighted. To open the Design Menu for a submenu, first close the submenu (by clicking on it), then right-click on the submenu name. Or, press F2 while the submenu is highlighted.

    While Design Mode works in almost all menus, a good place to practice is the Tools menu, which is reserved for your custom menu items.

    When working with Design Mode, it is important to distinguish between two types of items: built-in and custom. Built-in items, such as Rename on the file list context menu, are part of the SpaceFM program, whereas custom items are items you have added. Design Mode can be used on both types of items, but in different ways. For example, custom items can be removed, while built-in menu items cannot (although they can be hidden). You will note that some of the Design Menu's functions will be disabled or enabled depending on the type of item.

    Custom items in SpaceFM are like word processor macros - they allow you to automate tasks. You might create a quick custom item just for today's use and delete it when you're done, while other items may become a regular part of your file manager use.

    Custom items come in several varieties: a Bookmark (which opens a folder, group of folders, URLs, or mounts a device), an Application (which starts an application or runs an executable), a Command (which runs a command line or script), a Separator (a line separating items in a menu or toolbar), and a Submenu (a menu containing more custom items).

    Contents Design Menu

    When you right-click on a menu item, bookmark, or toolbar item, or press F2 while a menu item is highlighted, you will be presented with a menu which gives you extensive control over how the item is displayed and performs.

    TIP: For help with a menu item in the Design Menu itself, highlight the Design Menu item and press F1.

    Cut
    The next items on the Design Menu, including Cut, Copy, and Paste, allow you to move and copy custom items. Items are cut, copied, and pasted in a similar way to how you cut, copy, and paste files or text, except that instead of the main clipboard, the design clipboard is used.

    Cut cuts the current item onto the design clipboard. This will not affect the contents of your main (text & files) clipboard. You will not observe any change in the menu after cutting an item - until you paste it. You cannot cut built-in items (except on the toolbar), only custom ones. You can cut and copy submenus, which copies all the items within the submenu recursively.

    You can also cut a menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press Ctrl+X, or use the mouse shortcut Alt + Left-or-Right-Click.

    Copy
    Similarly, Copy copies the current item onto the design clipboard. Again, you will not observe any immediate change to the menu after copying an item, until you paste it. You cannot copy built-in items (except on the toolbar), only custom ones.

    Note: When copying an item of type Bookmark, the bookmark target will also be copied to the text and primary clipboards.

    You can also copy a menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press Ctrl+C, or use the mouse shortcut Ctrl + Left-or-Right-Click.

    Paste
    If you previously cut or copied an item onto the design clipboard, it can be pasted into a menu, toolbar or the Booksmarks list. Determine where you want to paste the item, right-click on an existing item to open the Design Menu, and select Paste. The item will be copied or moved from its original location and will be placed after the item you clicked on.

    For example, to move a custom menu item named 'Test' from the Tools menu to the file list's context menu: Open the Tools menu and right-click on 'Test' to open the Design Menu. Select Cut. Now right-click on the file list and right-click on a menu item, such as 'Rename'. Select Paste in the Design Menu. Right-click again on the file list and you will see your 'Test' command has been moved from the Tools menu and has been placed immediately after the 'Rename' item.

    When copying a custom item, note that everything contained in the item is copied, including any command script, extra files you added to the command or data directories, settings, etc.

    You can also copy plugins from the Plugins menu (although you cannot cut them). When a plugin, which is root-installed and -protected, is copied, the copy is no longer protected by root. The copy is now a custom item which you can alter in any way. Copying a plugin provides a means of changing and customising it. It can also then be exported and reinstalled as a plugin. See the Plugins section for details.

    Paste, Cut, and Copy can also be used on the separators between items. To move a custom item to directly after a separator, copy the item to the Design Menu, right-click on a separator, and select Paste. You can also cut, copy, and paste the separators themselves, providing they are not built-in.

    You can also paste a menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press Ctrl+V, or use the mouse shortcut Shift + Left-or-Right-Click.

    Remove
    Remove is used to remove any custom item. It cannot be used on built-in items, except in a toolbar. When used on a plugin, Remove will uninstall the plugin (root password required).

    Unless you have unchecked option View|Preferences|Interface|Confirm delete/remove, you will be presented with a confirmation dialog before the item is removed.

    IMPORTANT: When a custom item is removed, all files and settings are deleted, including any extra files you added to the command directory, any files stored in the command's data directory, and the command script. When a plugin is uninstalled using Remove, the plugin is removed for all users, and all settings, files and plugin-data for the plugin are deleted.

    WHEN REMOVING A SUBMENU, all commands and submenus contained within it are deleted as described above.

    Note that a submenu in SpaceFM can never be empty. As a result, if you remove the last item from a submenu, a new custom item named "New Command" or a default bookmark will automatically be added to it.

    You can also remove a menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press the Delete key, or use the mouse shortcut Ctrl + Shift + Middle-Click.

    Export
    The Export item, which is only available for custom items, will open a save dialog, allowing you to save the custom item into a plugin file. This is how plugins are created for SpaceFM - you create a custom item, then simply export it.

    Once your item has been exported to a plugin file, the file can then be used to import the item back into either the Plugins menu or another menu or toolbar, or can be shared with other users of SpaceFM. Exporting also provides a mechanism for backing up custom items - the plugin file acts as a backup copy of your item which can always be imported into any SpaceFM session.

    When using export on a plugin, a new plugin file is created - generally this creates a copy of the original plugin (unless you modified the installed plugin files as root).

    You can also export a group of custom items into one plugin file by exporting a custom submenu, which means the plugin file will contain all items and submenus contained in the submenu. This provides way to share multiple related plugins in a single plugin file.

    For more information on plugins, please see the Plugins section.

    New|Bookmark
    The New submenu of the Design Menu allows you to add a new custom item of a particular type: Bookmark, Application, Command, Submenu, or Separator.

    New|Bookmark adds a new custom item of type Bookmark after the current item. You will be prompted to select a single target folder, and the Bookmark item will be added. To make further changes to your Bookmark item, right-click on it and select Properties. A Bookmark item's target may be a single folder to be opened when you activate the item, or it can be a semicolon-separated list of target folders, URLs, or devices.

    Bookmarks in SpaceFM may be placed into any menu or toolbar, not just the Bookmarks menu.

    New|Application
    New|Application adds a new custom item of type Application after the current item. Initially, you will be prompted to select an application from a list of applications installed on your system, and the Application item will be added. To make further changes to your Application item, right-click on it and select Properties. An Application item's target may be a .desktop file or an executable file, as detailed in Item Properties.

    New|Command
    New|Command adds a new custom item of type Command after the current item. You will be prompted to enter a name for the new command. Next, the Item Properties dialog will open to the Command page, allowing you to enter your command line(s) to be run, or to edit a command script.

    The command line accepts anything you would normally enter in a bash command line. It can be as simple as a program's name you want to run when this menu item is selected, or may include multiple lines and variables. For more information, please see the Command page.

    For example, right-click on a menu item and select New|Command. Enter 'Current Time' for the item name. For the command line, enter:

        date

    And click OK. When you click the new 'Current Time' menu item, a dialog will open showing you the current date and time.

    You can also add a new Command menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item where you want to insert the new Command item, and press the Insert key, or use the mouse shortcut Ctrl + Shift + Left-or-Right-Click.

    New|Submenu
    New|Submenu adds a new submenu into the menu or toolbar after the current item. You will be prompted for the new submenu's name. Because a submenu in SpaceFM can never be empty, a new Command item named "New Command" or a default bookmark will automatically be added to the new submenu.

    New|Separator
    New|Separator adds a new separator line into the menu or toolbar after the current item. Design Mode works on separators too - right-click on a separator to open its Design Menu, which allows you to remove it, change its context rules, or paste items after it.

    New|Import
    The New|Import submenu allows you to import a plugin file or URL, inserting it as a new menu item or toolbar item after the current item. This is similar to using Plugins|Import, except that the new item is inserted immediately rather than copied to the design clipboard.

    When imported into other menus, a plugin loses root protection and becomes a normal custom item.

    Add
    The Add submenu will only appear in the Design Menu when it is opened by right-clicking on a toolbar item. This menu allows you to add built-in items to the toolbar. These items have preset functions, but you can change their name, shortcut key, and icon. Once added, they can be cut, copied and pasted (within toolbars only).

    Tooltips
    The Tooltips checkbox item will only be visible in the Design Menu when it is opened by right-clicking on a toolbar item. Checking the Tooltips option will cause tooltips to be shown when the mouse hovers over a toolbar item (the item's name is shown). This setting is global (for all toolbars).

    Help
    Help opens contextual help for an item. For built-in items, the SpaceFM user's manual will be opened in your browser. If no help is currently available, Help will be disabled. [Note: Because the user's manual is still incomplete, not all items will have specific help available.]

    Your browser may be customised in Help|Options|Browser, and a custom location for the user's manual can be set in Help|Options|Manual Location.

    For custom items, including plugins, Help will open the plain text README file for the item in your text editor. If no README file exists for a custom menu item, selecting Help will create one for you to edit. This file may also be named 'README.mkd' or 'README.txt'.

    You can also open help for a menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press F1, or use the mouse shortcut Alt + Middle-Click. F1 may also be used from within the Design Menu itself to show help for a Design Menu item.

    Key Shortcut
    Key Shortcut opens a dialog which allows you to bind any shortcut key to the current item, and to change or unset an existing shortcut key. When you select Key Shortcut, a dialog will open asking you to press your key combination (for example Ctrl+G), and the keycode will be displayed. If the key combination is already in use, you will be told what function the key is currently assigned to and be given the option to replace the current assignment. Once you have pressed the desired key combination, click the Set button. Or, to unset the current key assignment, leaving no key assigned to this menu item, click the Unset button. The Key Shortcut option can be used on built-in and custom items, but cannot be used on a submenu.

    After you have set a key combination, when you reopen the menu the new key shortcut will be displayed in the menu.

    TIP: To use only the keyboard in the Set Key dialog, press a key combination and then press Enter to click the Set button. Or, to click Unset, press the Escape key twice. To cancel, simply close the dialog (usually Alt-F4).

    NOTE: Due to SpaceFM's literal use of keycodes, turning Caps Lock on or changing your keyboard layout may cause some key shortcuts to not respond. For example, pressing Ctrl+C with Caps Lock on will not activate 'Copy' because the 'C' key returns a different code than with Caps Lock off. Also note that some keycodes for non-Latin keyboard layouts are converted to their approximate Latin equivalent [SpaceFM 1.0.3 and later]. If such a conversion is made, the original keycode will be shown in square brackets.

    You can also change the key for a menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press Ctrl+K, or use the mouse shortcut Ctrl + Middle-Click.

    Edit Command
    Appearing only for custom items of type Command where the command is set to a command line, Edit Command opens the Item Properties dialog to the Command page.

    You can also edit an item's command line using a design mode shortcut instead of the Design Menu. Highlight the menu item and press F4 or Ctrl+E, or use the mouse shortcut Middle-Click.

    Edit Script
    Appearing only for custom items of type Command where the command is set to a script, Edit Script opens the command script in your configured editor.

    You can also edit an item's script using a design mode shortcut instead of the Design Menu. Highlight the menu item and press F4 or Ctrl+E, or use the mouse shortcut Middle-Click.

    Properties
    Properties opens the Item Properties dialog for the current item, allowing you to change properties for the item as detailed in Item Properties below.

    You can also open Item Properties for a menu item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press F3, or use the mouse shortcut Ctrl + Alt + Middle-Click.

    Contents Properties

    The Item Properties dialog allows you to view and change the properties of built-in or custom menu and toolbar items. To open the dialog, right-click on a menu item, toolbar item, or bookmark and select Properties, or highlight a menu item and press F3.

    Type
    The Menu/Toolbar Item tab of the Item Properties dialog provides basic settings for the item.

    The Type drop-down list shows the current type of the item: Built-In Command, Bookmark, Application, Command, Submenu, or Separator. If the type is Bookmark, Application or Command, you can change the type by selecting another type from the list.

    An item's type determines what properties you can view and change, and how the item appears and behaves.

    Name
    The Name entry allows you to change an item's name as it appears in the menu, and is used as the tooltip for toolbar items. Precede a character with an underscore (_) to underline that character as a shortcut key (mnemonic) if desired (or use \_ to escape a literal underscore in the name). You can change the name of both built-in and custom items. You cannot change the name of plugins in the Plugins menu.

    Note: In GTK >= 3.10, you must press the Alt key to see the mnemonics underlined.

    For items of type Bookmark, the Name entry may be left empty, in which case the target of the Bookmark will be displayed as the item name.

    For items of type Application, the Name entry may also be left empty, in which case the application's name (derived from the .desktop file's Name= key), or the executable's name will be displayed as the item name.

    Key
    The Key button shows the current key shortcut set for this item, if any. Clicking the button will open the Set Key dialog which allows you to set a key shortcut. Clicking the button is equivalent to selecting Key Shortcut directly from the Design Menu.

    You can also change the key for an item using a design mode shortcut instead of the Design Menu. Highlight the menu item and press Ctrl+K, or use the mouse shortcut Ctrl + Middle-Click.

    Icon
    The Icon entry allows you to set or change an icon for an item. Enter an icon name such as 'folder', a stock item name such as 'GTK_STOCK_OPEN' or 'gtk-open', or an absolute path to an icon file.

    For best results, use an icon name or stock name so that the icon can be automatically sized. When using an absolute path, the icon may not be sized correctly. Due to various issues, not all icons may work. If an icon fails to load, you will see a broken icon image instead. If successful, the icon will appear in the menu next to the menu item, and will also be used in the task list when a command is run.

    To remove an icon, simply clear the text box where the icon name is entered and click OK. (For plugins, clearing the box will show the default icon for the plugin, if any.)

    To browse the available icons on your system, open /usr/share/icons/. When you enter an icon name, GTK will search there for an appropriate icon, and will also search ~/.icons/ and ~/.local/share/icons/.

    For items of type Bookmark, if no icon is specified, the default icon is used, set by right-clicking on the Bookmarks side pane and selecting Settings|Bookmark Icon.

    For items of type Application, if no icon is specified, the application's icon (derived from the .desktop file's Icon= key) will be displayed as the item icon.

    You can also change the icon for an item using a design mode shortcut instead of the Item Properties dialog. Highlight the menu item and press Ctrl+I, or use the mouse shortcut Shift + Middle-Click.

    Target
    The Target(s) entry and associated Browse button will only appear if an item is of type Bookmark or Application. This entry allows you to control what is opened when the item is activated.

    Bookmark Targets
    For Bookmark items, the Targets list may contain a single folder to be opened, or may contain a semicolon-separated list of folders, URLs, and/or devices. For example:

        /etc; /usr/bin; ftp://mirrors.kernel.org; /dev/sr0
    When the above example is activated, four tabs will be opened: two containing /etc and /usr/bin; the ftp site will be mounted and opened in a third tab; and the disc in /dev/sr0 will be mounted and opened in the fourth.

    When the Targets list contains a single folder or URL, whether it is opened in a new tab or in the current tab is determined by the New Tab setting for bookmarks, found by right-clicking on the Bookmarks side pane and selecting Settings. If the Targets list contains multiple paths or URLs, each is opened in a new tab.

    Finally, the Targets list for a Bookmark may contain the path to a file, in which case the directory containing the file will be opened, and the file will be selected in the file list. For example:

        /etc/fstab
    Clicking the Browse button will allow you to select a folder which will be added to the Targets list. Tip: To prevent the Bookmarks side pane's Follow Dir option selecting a particular bookmark automatically, prefix the targets with a semicolon and Follow Dir will ignore it (only the first target is used by Follow Dir). For example:
        ;/etc

    Application Target
    For Application items, the Target entry may contain the name of a .desktop file (spacefm.desktop), the full path of a .desktop file, the name of an executable file (binary or script, eg spacefm), or the full path of an executable file (/usr/bin/spacefm).

    When specifying an executable file, note that selected filenames will NOT be passed to the executable when it is run. (To do so, use a menu item of type Command.) When specifying a .desktop file, what is passed to the command is determined by the substitution variables in the Exec= key of the .desktop file.

    When specifying a .desktop file, it is generally recommended to leave the Name and Icon fields empty so the .desktop file's values are used automatically.

    Clicking the Browse button will allow you to select an application from a list of applications installed on your system.

    NOTE: When exporting an item, the target field will be exported with the plugin even if Bookmark or Application is no longer the selected item type. Before distributing a plugin, be sure to open or extract the archive and examine all files in your text editor to be clear on what data you are sharing.

    Context
    The Context page of the Item Properties dialog allows you to set rules which determine when and how a menu item appears in the menu. Context rules can be set for both built-in and custom items, including plugins and separators. Context cannot be set for toolbar items (except items in custom toolbar submenus), and context will not apply to items when they are shown in the Bookmarks side pane.

    Context refers to the state of the entire file browser window or desktop when a menu is shown. For example, the MIME type of the currently selected file is one subject of the context. Another context subject is the filename of the selected file. Another is any device that is currently selected in the Devices list. There are many subjects which can be used in context rules.

    By default, the top line of the context dialog reads "Show item if context matches any rule:", and is followed by an empty rule box. When the rule box is empty, the item will always be shown regardless of context.

    You can change 'Show item if context matches any rule:' to 'Enable item if context matches any rule:'. If the action is to 'Show', its opposite is to hide. If the action is to 'Enable', then its opposite to disable. Thus if we change the top line to read 'Enable item if context matches any rule:', then the menu item will be enabled or disabled depending on context, but will never be completely hidden from view in the menu. Or, to reverse the logic, action can be set to 'Hide' or 'Disable' when any rule is matched.

    The 'matches any rules:' box can also be changed so that it requires all rules to be matched instead of just one. This is like putting an AND between the rules, instead of OR. Or you can reverse the matching logic by choosing one of the 'doesn't match' options.

    Composing Rules
    Rather than using an arcane syntax, context rules are composed using words and phrases, which make the rules readable sentences. To compose a new rule, use the Edit Rule box. There are many context subjects available in the drop-down list, but "MIME Type" and "Filename" are generally the most useful.

    The box to the right of the subject allows you to choose a verb, or a relationship between the subject and its value. In the case of "matches" or "doesn't match", wildcards may be used (eg "Filename matches *.jpg"). If the test pattern contains any uppercase characters, the test is case-sensitive. For additional wildcard characters and pattern specifics, see IEEE Pattern Matching Notation.

    The box below the subject and verb will contain the value to be used as a test. You can enter custom text in this box or click the arrow at the right to select a common value. Each subject chosen will have a different list of common values.

    Below the value box is a 'Value:' label, which may or may not show a value. This label shows the subject's value in the current context. When you opened the Design Menu, the file browser had a context - perhaps some files or a device were selected, the browser was in a particular directory, etc. For example, if a file is selected when you open the properties dialog, and the subject is set to 'MIME Type', then the selected file's MIME type will appear next to 'Value:'. If no file is selected, then 'Value:' will show nothing. (Tip: You can quickly copy a value into the value box by double-clicking it.)

    The context dialog will let you know the result of the current set of rules given the current context. Below the rules box to the right, you will see a 'Current:' label. For example if it reads "Current: Show", then for the current context and set of rules, this menu item will be shown in the menu. If instead it reads "Current: Hide", then the menu item will be hidden from view for the current context - it will not appear in the menu.

    An Example Set Of Rules
    As an example, we will add a rule which shows the current menu item when the selected file is an audio file. Note that when determining the context, only the type and name of the first selected file is considered. If multiple files are selected, this can be determined, but the type of each selected file cannot be individually tested.

    For this example, set the rule subject to 'MIME Type' and set the verb (the box to the right of subject) to 'begins with'. Below these, choose 'audio/' from the drop-down list of common values.

    Now the words in the Edit Rule box should read 'MIME Type... begins with... audio/'. To add this rule to the rule box above, click the Add button. 'MIME Type begins with audio/' will be added to the list of rules. For this rule to be satisfied, the MIME type of the first selected file must begin with the text "audio/". Thus a file of type "audio/mpeg" (an MP3 file), or of type "audio/x-wav" (a WAV file) would match this rule, but a file of type "video/x-msvideo" (an AVI video file) would not. (You can see the MIME type of any file by right-clicking on it in the file list and selecting Properties|Info.) In this example, our rule will only match the context if the first selected file is an audio file.

    Now set the top line to read 'Enable item if context matches any rule:'. We now have a context rule set which reads 'Enable item if context matches any rule: MIME Type begins with audio/'.

    Click OK to accept this rule set. Then select an audio file in the file browser's file list. Open the menu where your item appears, and it will be enabled for use. Next select another kind of file, such as a text or video file. Open the menu again, and the menu item will be disabled.

    In order to open the Design Menu again for this menu item, you must first select an audio file (you cannot open the Design Menu on a disabled menu item). Or you can temporarily check option Ignore Context (see below) to access all menu items.

    Additional Features
    The context dialog includes a few more features for editing rules. To remove a rule, click the rule, then click the Remove button. If all rules are removed and you click OK, the item will be shown regardless of context.

    To change a rule in the list, click the rule, then edit the rule using the Edit Rule box. When the rule is how you want it to appear, click the Apply button to update the rule in the list.

    The best way to learn to use the context rules is to practice with a file selected. In this way you can use the 'Value:' and 'Current:' labels to see context values and observe the result of changing the rules.

    Some context subjects are boolean - they will equal 'true' or 'false' (these words must be in English even if the rest of the rule is translated). For example, the rule subject 'Multiple Selected' will always equal 'true' or 'false', depending on whether more than one file is selected in the file list of the current panel. Thus if your custom menu item is designed to work with only one selected file, you might set a context rule to disable it if the user has selected multiple files.

    Other context subjects, such as 'Panel Count', contain a number, and you can test whether they are equal to, less than, or greater than a value. For example, the rule 'Panel Count is greater than 1' will only match if the user has multiple panels shown.

    As a more advanced use, it's also possible to use || (or) or && (and) in the test value to provide a list of possibilities (use || or &&, but not both in the same rule). For example, this rule:
        MIME Type begins with audio/ || video/

    causes two tests to be performed. If the MIME Type begins with 'audio/' OR the MIME Type begins with 'video/', then the rule matches. Likewise, the rule:
        Device Properties contains dvd && blank

    also causes two tests to be performed. If the Device Properties value (which provides information about the currently selected device) contains the word 'dvd', AND it contains the word 'blank', then the rule matches. This context rule would match if the currently selected device contained a blank DVD.

    Automatic Context
    It is important to note that built-in menu items sometimes have an automatic context, which is evaluated before any rules you add. For example, the file list's Paste menu item is disabled if the clipboard is empty. No rule you add will cause it to be enabled in this case, although you can still add a rule to hide it.

    Custom menu items added directly after the Default menu item in the file list's Open context menu have an automatic pre-context - they only appear if the MIME type of the first selected file matches the MIME type when the custom item was added. This provides an easy way to add an item with an automatic context based on MIME type, and may also be used to setup a file handler (see below).

    Custom menu items added directly after Show Output in the Task Manager's context menu will also only appear for tasks with a custom popup handler.

    Also, custom submenus which are empty due to all of their children being hidden based on context are hidden automatically.

    Note: Custom menu items when shown in the Bookmarks side pane will not respond to Context rules, and will always be shown.

    Impossible Context
    Note that it IS possible to set an impossible context for an item - a set of rules which will never match. In this case the item will never be shown. This can be used to permanently hide or disable an item you don't use. This can also happen accidently, which is one reason why Ignore Context (see below) is provided. For example, the rule Directory equals "" will never match (because Directory is always set).

    Use As Handler For
    Visible only for Command or Application items, the 'If enabled, use as handler for' drop-down list on the Context page is used to set this item as a default handler. For example, if set to "files", and you open one or more files, if this item is shown and enabled based on its context rules, then this item will be run, rather than the default MIME application. This option is used to define a file handler for specific file types (or based on any context rules).

    If set to 'files', note that no files are passed to a command on the command line. You must use variables in your command line or script to pass files to it. If the menu item is of type Application, what is passed will depend on the Exec= line of the application's .desktop file.

    If set to 'devices', clicking on a device in the Devices list will cause the item to be run rather than the applicable device handler. Variables %v, "$fm_device", or other variables may be used in your command.

    If more than one item is set as a handler and each is enabled, multiple items will be run each time files or devices are opened.

    As noted above, custom menu items added directly after the Open|Default menu item have an automatic pre-context - they only appear if the MIME file type of the first selected file matches the MIME type when the custom item was added. This provides an easy way to set a custom handler for a given MIME type. Simply select a file of the desired type, right-click on it and add your custom item directly after the Open|Default menu item. Next, select option 'use as handler for files'. Your custom item will be used to open files when the MIME type matches. Or, you can set additional context rules to determine when your handler is used.

    'Use as handler for' currently has no effect on files or devices opened from the SpaceFM desktop. Also, when imported or installed, plugins lose their 'Use as handler for' setting (by design - you can add it back after import if desired).

    Ignore Context (see below) has no effect on the handler being context-enabled - its context will be tested even if global option Ignore Context is checked.

    Ignore Context
    The 'Ignore Context / Show All (global setting)' option, if checked, causes all context rules to be ignored, and all menu items shown regardless of context. This is a global setting - it disables context rules in all windows of the current instance.

    If you need to change the context of an item you have disabled or hidden, you can either select the appropriate file to create a context where the item is shown and enabled, or you can open the Item Properties dialog for any other item and check option 'Ignore Context'. This will allow you to then access the Design Menu of all items and change their context rules. When you are finished, you can uncheck option 'Ignore Context'.

    Note that Ignore Context does not affect the automatic context of built-in items - for example, even with Ignore Context checked, the file list's Paste menu item will always be disabled if the clipboard is empty.

    Command
    Shown only for menu items of type Command, the Command page of the Item Properties dialog allows you to set command line(s) to be run by this menu item, or edit a command script, depending on which radio button is selected: Command Line or Script.

    Command Line
    When Command Line is selected, the command is executed as one or more bash command lines. At its simplest, the command line may simply be the name of a program to run, but any valid bash line may be used, as the command lines are inserted into a temporary bash script when run.

    You may use the following substitution variables in command lines:

    %F selected files
    %f first selected file
    %N selected filenames
    %n first selected filename
    %d current directory
    %v selected device (eg /dev/sda1)
    %m device mount point (eg /media/dvd)
    %l device label
    %b selected bookmark
    %t selected task directory
    %p task pid
    %a menu item value

    For example, to calculate the MD5 sum of all selected filenames, use this command line:

        md5sum %N

    Before your command is run, the substitution variables will be replaced with their current values. Do NOT place quotes around substitution variables - they will be quoted automatically when required.

    Bash variables, described below, may also be used in command lines (bash variables SHOULD in general be "double quoted").

    To experiment with variables, use the echo command to simply print their values. For example, the following command line will print the current directory:

        echo %d

    Command lines may also contain bash scripts containing multiple commands. For example, this command line will print the current time, once per second, for ten seconds, then stop:

        while (( x < 10 )); do date; sleep 1; (( x++ )); done

    Environment variables can also be included. For example, to run claws-mail using a custom DISPLAY variable in a command line:

        DISPLAY=:1 claws-mail

    Open In Editor
    The Open In Editor button will examine the first part of the command line. If the first part is a text file (a script), it will be opened in your editor.

    NOTE: When exporting a Command menu item, the value of the command line will be exported with the plugin even if Command Line is no longer the selected command type, or if the menu item type is changed. Before distributing a plugin, be sure to open or extract the archive and examine all files in your text editor to be clear on what data you are sharing.

    Command Script
    When Script is selected on the Command page, a default bash script will be created for the command. Similar to command lines, bash commands may be entered in the script, or open it in your editor and save it. There is no need to organize your scripts, because you can always use Properties from the Design Menu to access the script of any Command menu item.

    At its simplest, a command script is simply a list of commands that could be entered in a terminal. The script executes each command in sequence, allowing you to automate common command-line tasks. You can also use tests and loops in scripts to make them more capable. For more information on writing scripts, see the Bash Scripting Guide.

    Command scripts can also evolve into small, full-featured applications using SpaceFM Dialog to show custom dialogs from within the script, and socket commands to manipulate elements of the SpaceFM window. Your script can also replace the default task popup dialog by setting a custom popup handler.

    The substitution variables used above in command lines may NOT be used in a command script. Instead, bash variables are preloaded for your use (these variables may be used in command lines or a script).

    When you select Script, a default bash script is generated as shown below:

    #!/bin/bash
    $fm_import    # import file manager variables (scroll down for info)
    #
    # Enter your commands here:     ( then save this file )
    
    
    
    exit $?
    # Example variables available for use: (imported by $fm_import)
    # These variables represent the state of the file manager when command is run.
    # These variables can also be used in command lines and in the Path Bar.
    
    # "${fm_files[@]}"          selected files              ( same as %F )
    # "$fm_file"                first selected file         ( same as %f )
    # "${fm_files[2]}"          third selected file
    
    # "${fm_filenames[@]}"      selected filenames          ( same as %N )
    # "$fm_filename"            first selected filename     ( same as %n )
    
    # "$fm_pwd"                 current directory           ( same as %d )
    # "${fm_pwd_tab[4]}"        current directory of tab 4
    # $fm_panel                 current panel number (1-4)
    # $fm_tab                   current tab number
    
    # "${fm_panel3_files[@]}"   selected files in panel 3
    # "${fm_pwd_panel[3]}"      current directory in panel 3
    # "${fm_pwd_panel3_tab[2]}" current directory in panel 3 tab 2
    # ${fm_tab_panel[3]}        current tab number in panel 3
    
    # "${fm_desktop_files[@]}"  selected files on desktop (when run from desktop)
    # "$fm_desktop_pwd"         desktop directory (eg '/home/user/Desktop')
    
    # "$fm_device"              selected device (eg /dev/sr0)  ( same as %v )
    # "$fm_device_udi"          device ID
    # "$fm_device_mount_point"  device mount point if mounted (eg /media/dvd) (%m)
    # "$fm_device_label"        device volume label            ( same as %l )
    # "$fm_device_fstype"       device fs_type (eg vfat)
    # "$fm_device_size"         device volume size in bytes
    # "$fm_device_display_name" device display name
    # "$fm_device_icon"         icon currently shown for this device
    # $fm_device_is_mounted     device is mounted (0=no or 1=yes)
    # $fm_device_is_optical     device is an optical drive (0 or 1)
    # $fm_device_is_table       a partition table (usually a whole device)
    # $fm_device_is_floppy      device is a floppy drive (0 or 1)
    # $fm_device_is_removable   device appears to be removable (0 or 1)
    # $fm_device_is_audiocd     optical device contains an audio CD (0 or 1)
    # $fm_device_is_dvd         optical device contains a DVD (0 or 1)
    # $fm_device_is_blank       device contains blank media (0 or 1)
    # $fm_device_is_mountable   device APPEARS to be mountable (0 or 1)
    # $fm_device_nopolicy       policy_noauto set (no automount) (0 or 1)
    
    # "$fm_panel3_device"       panel 3 selected device (eg /dev/sdd1)
    # "$fm_panel3_device_udi"   panel 3 device ID
    # ...                       (all these are the same as above for each panel)
    
    # "fm_bookmark"             selected bookmark directory     ( same as %b )
    # "fm_panel3_bookmark"      panel 3 selected bookmark directory
    
    # "fm_task_type"            currently SELECTED task type (eg 'run','copy')
    # "fm_task_name"            selected task name (custom menu item name)
    # "fm_task_pwd"             selected task working directory ( same as %t )
    # "fm_task_pid"             selected task pid               ( same as %p )
    # "fm_task_command"         selected task command
    # "fm_task_id"              selected task id
    # "fm_task_window"          selected task window id
    
    # "$fm_command"             current command
    # "$fm_value"               menu item value             ( same as %a )
    # "$fm_user"                original user who ran this command
    # "$fm_my_task"             current task's id  (see 'spacefm -s help')
    # "$fm_my_window"           current task's window id
    # "$fm_cmd_name"            menu name of current command
    # "$fm_cmd_dir"             command files directory (for read only)
    # "$fm_cmd_data"            command data directory (must create)
    #                                 To create:   mkdir -p "$fm_cmd_data"
    # "$fm_plugin_dir"          top plugin directory
    # tmp="$(fm_new_tmp)"       makes new temp directory (destroy when done)
    #                                 To destroy:  rm -rf "$tmp"
    # fm_edit "FILE"            open FILE in user's configured editor
    
    # $fm_import                command to import above variables (this
    #                           variable is exported so you can use it in any
    #                           script run from this script)
    
    
    # Script Example 1:
    
    #   # show MD5 sums of selected files
    #   md5sum "${fm_files[@]}"
    
    
    # Script Example 2:
    
    #   # Show a confirmation dialog using SpaceFM Dialog:
    #   # http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#dialog
    #   # Use QUOTED eval to read variables output by SpaceFM Dialog:
    #   eval "`spacefm -g --label "Are you sure?" --button yes --button no`"
    #   if [[ "$dialog_pressed" == "button1" ]]; then
    #       echo "User pressed Yes - take some action"
    #   else
    #       echo "User did NOT press Yes - abort"
    #   fi
    
    
    # Script Example 3:
    
    #   # Build list of filenames in panel 4:
    #   i=0
    #   for f in "${fm_panel4_files[@]}"; do
    #       panel4_names[$i]="$(basename "$f")"
    #       (( i++ ))
    #   done
    #   echo "${panel4_names[@]}"
    
    
    # Script Example 4:
    
    #   # Copy selected files to panel 2
    #      # make sure panel 2 is visible ?
    #      # and files are selected ?
    #      # and current panel isn't 2 ?
    #   if [ "${fm_pwd_panel[2]}" != "" ] \
    #               && [ "${fm_files[0]}" != "" ] \
    #               && [ "$fm_panel" != 2 ]; then
    #       cp "${fm_files[@]}" "${fm_pwd_panel[2]}"
    #   else
    #       echo "Can't copy to panel 2"
    #       exit 1    # shows error if 'Popup Error' enabled
    #   fi
    
    
    # Script Example 5:
    
    #   # Keep current time in task manager list Item column
    #   # See http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#sockets
    #   while (( 1 )); do
    #       sleep 0.7
    #       spacefm -s set-task $fm_my_task item "$(date)"
    #   done
    
    Or, if you would like to use another script as your default, save it as ~/.config/spacefm/scripts/default-script. It is recommended that you include the example variables shown above at the end of your default script.

    Script Directories
    If your script requires additional files to work, they should be placed in the command directory. You can refer to this directory in your script as "$fm_cmd_dir". Files in this directory should not be modified by the script.

    If your script needs to save changing, persistent data to the user's home folder (to keep track of user preferences, for example), the data directory should be used ("$fm_cmd_data"). Because this directory may not already exist, always run this command before using it:

        mkdir -p "$fm_cmd_data"

    If your script needs a temporary directory to work in, you can create one automatically using this convenience function:

        tmp="$(fm_new_tmp)"

    Your new, empty temporary directory will be created, and its path will be placed in $tmp by the above command. Before the end of your script, be sure to clean up by destroying the temporary directory:

        rm -rf "$tmp"

    When you export a Command menu item, the command script and any files in the command directory are included in the plugin file. When you remove a command, all of these files AND the data directory are deleted!

    Open In Editor & Root Editor
    The Open In Editor button will save and open the command script in your editor. Simply edit the script and save it in your editor. The Root Editor button, if shown, can be used to open a root-owned script in root's editor.

    You can also open the command script in your editor directly from the Design Menu with Edit Script or using a design mode shortcut instead of the Design Menu. Highlight the menu item and press F4 or Ctrl+E, or use the mouse shortcut Middle-Click.

    Run Options
    Shown only for items of type Command, the Options page of the Item Properties dialog allows you to set additional options which determine how your command behaves. The Run Options section determines how SpaceFM will run your command when the item is activated.

    Run As Task
    Run As Task, which is enabled by default for new commands, changes several aspects of how your command is run. If Run As Task is UNchecked, the command is run asynchronously - it is run and forgotten by SpaceFM. This is useful for running a program such as Firefox, for example. SpaceFM doesn't need to wait for Firefox to finish or monitor its output - it can be run and forgotten. For commands which simply start applications or produce no output, you may want to uncheck Run As Task.

    If Run As Task is checked, then the command is run synchronously - as a child process of SpaceFM. SpaceFM's Task Manager will monitor the task, and if the task runs for longer than about one half second, the Task Manager will auto-show and the task will be listed. When the task finishes, it will be removed from the list. This can be used to monitor a task and to know when it has completed. (When a command is run from the desktop menu, no Task Manager is shown for the task, but a popup may be shown automatically.)

    In addition, any output from the task (stdout and stderr), will be collected in an output monitor. To raise this monitor, click on the task in the Task Manager. (The output monitor can also be set to raise automatically on certain events - see Popup options below for details.)

    SpaceFM's output monitor is designed to display text output to be used for monitoring the output of commands as they run, or to display a final result. However, the output monitor is not a terminal and does not allow you to enter input. If your command requires interaction, you will need to use Run In Terminal instead.

    To stop a task prematurely, raise the output monitor and click the Stop button, or right-click on the task in the Task Manager and select Stop. When SpaceFM stops a task, it sends the process and all its child processes a SIGTERM signal, followed several seconds later by SIGKILL signals. If the process was run as another user, you will be prompted to enter the user's password (or root's password) again to stop the task.

    When the Run In Terminal option is checked, the Run As Task option will be unchecked automatically as a convenience. Although not normally useful, it is possible to use these options together (just check Run As Task again after checking Run In Terminal). When both are checked, the terminal window itself is run as a task, the output monitor will generally be empty, and errors may not be detected. Mostly this is useful only for monitoring when the command has finished (when the terminal window closes, it will be removed from the Task Manager). Note that some terminal emulators cannot be run as a task by SpaceFM because the emulator does not start a new instance.

    Popup Task
    The Popup Task/Error/Output and Scroll options are only enabled if Run As Task is checked. If Popup Task is checked, the popup dialog for the task will be raised as soon as the task is added to the Task Manager, even if no output has occured. The output monitor will not be shown if the task completes in less than about one half second.

    Use Popup Task if you want a popup anytime the task runs for more than a moment. When the task finishes, the popup will remain, allowing you to review any output. You can also close the monitor prematurely while the task is still running by clicking the Close button - the task will continue running in the Task Manager.

    Note that the global Task Manager setting Popup All Tasks, if checked, takes predecence - the task will popup even if the command's Popup Task option is unchecked. (However, unlike Popup Task, Popup All Tasks will not cause the popup to remain when the command has finished, unless an error occurs.)

    By default, Popup Task is unchecked in new commands.

    Popup Error
    If Popup Error is checked and the exit status of your command is not zero, a popup dialog will be raised to show the error. Popup Error only has an effect at the moment the command finishes. If unchecked, the exit status is ignored.

    Popup Error provides a convenient way to get feedback on the success of your command. When the command finishes successfully it will simply be removed from the Task Manager. However, if an error occurs then the popup will be raised.

    Even if your command does not produce a usuable exit status, you can terminate your command line or script with a non-zero exit status to trigger the error popup. For example:

        if [ ! -e file.output ]; then exit 1; fi
    (If the file 'file.output' does not exist, then exit with exit status 1, triggering an error popup if Popup Error is checked.)

    To see another example, scroll to the end of a command script:

        # Script Example 3:
    
        # Copy selected files to panel 2
          # make sure panel 2 is visible ?
          # and files are selected ?
          # and current panel isn't 2 ?
        if [ "${fm_pwd_panel[2]}" != "" ] \
                    && [ "${fm_files[0]}" != "" ] \
                    && [ "$fm_panel" != 2 ]; then
            cp "${fm_files[@]}" "${fm_pwd_panel[2]}"
        else
            echo "Can't copy to panel 2"
            exit 1    # shows error if 'Popup Error' enabled
        fi

    By default, Popup Error is checked in new commands.

    Popup Output
    If Popup Output is checked, a popup dialog will be shown the first time the command produces output (even if the task runs so quickly that it is not shown in the Task Manager). Note that if you close the popup dialog while the command is still running, further output will NOT reopen it, but you can open it again by clicking on the task.

    Popup Output can be used to alert you when your task has produced output. By default, it is checked in new commands.

    Scroll Output
    The Scroll Output option, which is checked by default for new commands, determines the auto-scroll behavior of the output monitor. If checked, the monitor will automatically scroll down to the end of the output (unless the user has moved the scrollbar up from the bottom position). If unchecked, the output will not automatically scroll to the end.

    With some commands, it's useful to read the output from the top and scroll down manually. For example, if you right-click on a device in the Devices list and select Properties, you will see a non-auto-scrolling output monitor - the cursor stays at the very beginning of the output so you can read it.

    With other commands, you're most interested in the end of the output, so you want the output monitor to behave like a terminal and scroll to the end as new output is added. For example, errors usually appear at the end, so if you want to know why the command stopped prematurely, you're most interested in the end of the output. When you want the output monitor to behave like a terminal in this regard, check Scroll Output.

    Even if Scroll Output is checked, you can always manually move the scrollbar up to inhibit auto-scrolling.

    Run In Terminal
    If your command is a command-line program which produces much output, or you need to be able to interact with it (eg enter a password), check the Run In Terminal option on the Options page.

    Each time your command is run, a terminal will be opened and the command will be run within it. The terminal program used is configured globally in View|Preferences|Advanced|Terminal.

    When you check the Run In Terminal option, the Run As Task option will be unchecked automatically as a convenience. If you do want both Run In Terminal and Run As Task, you can then check Run As Task as well. If you do so, normally nothing will be shown in the output monitor.

    Note that gnome-terminal, konsole, lxterminal, and urxvtc lack a --disable-server or similar option to force a new instance to be started for each terminal window. This means that these terminals cannot generally be used successfully with a combination of both the Run In Terminal and Run As Task options, unless no other terminal window is open when the command is run. Thus use of these terminals may prevent SpaceFM working correctly in some cases. For example, if a handler mounts a protocol in a terminal, the mount point may not be automatically opened when the mount command finishes. If you really want to use these terminals, you can, but you should note that not all functions may work as expected.

    Keep Terminal Open
    Enabled by default when using Run In Terminal, Keep Terminal Open will cause the terminal to stay open even after the command or program has finished. This is useful for programs which produce some output and then exit. Without Keep Terminal Open, the terminal window would close before you had a chance to read the output.

    When Keep Terminal Open is enabled, after the command finishes you will be presented with a message like:

      [ Finished ]  Press Enter to close or s + Enter for a shell:

    To close the window, simply press Enter. If you want to enter an interactive bash shell, press s then Enter. When finished with the shell, type 'exit'.

    With other programs or commands, it is not useful for the terminal to be held open after the command has finished. For these commands, uncheck Keep Terminal Open.

    Run As User
    If a username is entered in the Run As User field, when the command is run, your configured terminal or graphical su program will be used to run the command as this username, instead of as the current SpaceFM user. Depending on the su program used, you will be prompted to enter either the user's password or root's password.

    To run a command as root, "root" may be entered as the Run As User username. However, running commands as root in this way is generally NOT recommended. Because the command line or script is generally saved with normal user permissions, you are running a command which is not protected by root, as root. This may compromise your system security at the root level.

    To run commands more safely as root, consider exporting the command and installing it as a plugin. Plugins enjoy root protection from modification, so when they are run as root, you have more assurance that they have not been tampered with.

    Another option is to run SpaceFM itself as root when needed (select File|Root Window). In this way, all commands and settings are stored in root's home (/root/.config/spacefm), and are protected by root. Yet running SpaceFM as root puts much power at your fingertips - accidentally deleting a file or folder may render your system unusable! When run as root, everything you do in the file browser is done as root, including opening applications. At the very least, be sure to have an up-to-date system backup if running SpaceFM as root. It is your responsibility to evaluate this option for your purposes.

    When running a custom command as another non-root user, depending on the permissions of your SpaceFM config and scripts directories, this user may not have permission to access the command directory, including the command script. To avoid this limitation, you can use a command line, or use a script which is in a mutually accessible directory.

    To run a command as the current user, simply leave the Run As User field empty.

    Style
    The Style section of the Options page of the Item Properties dialog allows you to choose whether the item acts as a normal menu item, a checkbox, a confirmation dialog, or an input dialog.

    Normal
    If your menu item's style is set to Normal, it will be displayed as a normal menu item, with an optional icon to the left, and a key shortcut to the right, or as a toolbar item. When clicked, your command will be run immediately. Normal is the default style for new commands.

    Checkbox
    If your menu item's style is set to Checkbox, it will be displayed as a checkbox menu item with a checkbox to the left, and a key shortcut to the right. No icon will be displayed. The checkbox will contain or not contain a checkmark. Each time the user clicks the menu item, the checkbox will be toggled (if checked it will uncheck; if unchecked it will check), just like the checkbox menu items you are accustomed to. After the checkbox is toggled, your command will be run.

    On the toolbar, a Checkbox style item will appear as an icon, and clicking it will show the button depressed. In the Bookmarks list, an icon will be shown when a Checkbox style item is checked, and no icon will be shown when it is unchecked.

    Your command can read the value of the checkbox using the variable $fm_value (or %a in command lines). This will equal 1 if checked, or 0 if unchecked. This allows your command to take different actions depending on the state of the checkbox.

    For example, add a new Command menu item called 'Checker'. Then open the Properties dialog for the new item and select style Checkbox. Enter or paste this command line on the Command page:

        if [ $fm_value -eq 1 ]; then echo "Box is checked"; else echo "Box is unchecked"; fi

    Now when you click your menu item, you will be told if the box is checked or unchecked - each time you click the item, it will change.

    Confirmation
    If your command's style is set to Confirmation, it will be displayed as a normal menu item with an optional icon to the left, and a key shortcut to the right. When the item is clicked, the user will be presented with a confirmation dialog with OK and Cancel buttons. If the user clicks OK, your command will then be run. If the user clicks Cancel, the command will not be run. There is also a Help button in this dialog which opens the README file for this command.

    To set or change the message which appears in the dialog, set your message in the Confirmation/Input Message entry on the Options page.

    Alternatively, to show a dialog while your script is running, or to easily create custom dialogs, see SpaceFM Dialog.

    Input
    If your command's style is set to Input, it will be displayed as a normal menu item with an optional icon to the left, and a key shortcut to the right. When the item is clicked, the user will be prompted to enter text. If the user clicks OK, your command will then be run. If the user clicks Cancel, the command will not be run. There is also a Help button in this dialog which opens the README file for this command.

    Your custom command can read the text entered by the user using the variable $fm_value (or %a in command lines). The last text entered in the box will be remembered and will be the default entry next time the item is clicked.

    For example, add a new menu item called 'Your Name'. Then open the Properties dialog for the new item and select style Input. Enter 'Please enter your name:' as the message. Enter or paste this command line on the Command page:

        echo "Your name is $fm_value."

    When you click the menu item, you will be asked for your name, and if you click OK, told your name.

    Alternatively, to show a dialog while your script is running, or to easily create custom dialogs, see SpaceFM Dialog.

    NOTE: When exporting a command, the last value entered in the input dialog will be exported with the plugin, even if Input is no longer the selected style. Before distributing a plugin, be sure to open or extract the archive and examine all files in your text editor to be clear on what data you are sharing.

    Open In Browser
    The Open In Browser drop-down list is located at the bottom of the Options page of the Item Properties dialog. Each Command item has several directories where associated files are stored, and Open In Browser allows you to conveniently open these directories. Simply select a directory and it will be opened. This can be used to browse a plugin's files as a security check before running the plugin. When designing more complex scripts, this facility can be used to help manage associated files.

    Command Dir $fm_cmd_dir
    Opens the command directory ($fm_cmd_dir). The command directory contains the command script if any (exec.sh), as well as other files you may have added for use by the command. The command directory's path will typically be:
        ~/.config/spacefm/scripts/cstm_00000000/

    Or for a plugin:
        /usr/share/spacefm/plugins/PLUGIN-FILENAME/cstm_00000000/
    (/usr/local may also be used depending on install location)

    While you may modify files in the command directory when creating and maintaining your command, the command script should not modify files in this directory while the command is running. The reason is that if you later install the command as a plugin, it will probably no longer have write access to this directory.

    When exporting a Command item, all files in the command directory are included in the plugin file. There are several special files: 'exec.sh' is the command script, if any. 'icon' is a custom icon file for the command or plugin - it will automatically be shown if no icon is set. You can also include a 'README' file in this directory which describes your command or plugin.

    All files in the command directory are deleted when the item or plugin is removed!

    Data Dir $fm_cmd_data
    Command items may also have an associated data directory ($fm_cmd_data), which may or may not exist. The data directory is used to store persistent settings or data used by the command or plugin. The data directory's path for both normal menu items and plugins will typically be:
        ~/.config/spacefm/plugin-data/cstm_00000000/

    This directory must be created on demand, so if you plan to use it in a script, first make sure it exists:

        mkdir -p "$fm_cmd_data"

    SpaceFM does not automatically store any files in this directory - it is entirely up to you or the plugin creator how it is used. To see what persistent data a plugin is storing in your home folder, examine the Data Dir.

    All files in the data directory are deleted when the item or plugin is removed!

    Plugin Dir $fm_plugin_dir
    Plugin Dir will only be listed for plugins. It opens the top level of a plugin's directories ($fm_plugin_dir), so you can browse all its files (except its data directory, which is stored in the user's home folder). The plugin directory's path will typically be:
        /usr/share/spacefm/plugins/PLUGIN-FILENAME/
    (/usr/local may also be used depending on install location)

    Plugins may contain multiple items (a submenu plugin), so this directory may have several command directories within it, but will at least contain one command directory as well as a 'plugin' file which defines the contents of the plugin. Review the contents of this file, but it should NOT be edited.

    Before using a plugin obtained from another user, browse Plugin Dir to make sure you understand what each command does. Keep in mind that plugins can do anything on your system which the current user is permitted to do.

    The plugin directory contained a mirror copy of the contents of the plugin archive file (eg Example.spacefm-plugin.tar.gz) when the plugin was installed. Its contents will not change unless the directory contents are modified by the root user.

    Contents Toolbars

    SpaceFM includes two toolbars in each panel: the main Toolbar above the file list, and a Side Toolbar shown above the side panes. To show or hide the Toolbar or Side Toolbar in a given panel, right-click on the file list and check or uncheck View|Toolbar or View|Side Toolbar.

    Toolbars can be customised using Design Mode by right-clicking on a toolbar item. You can also middle-click on a toolbar item to open its Item Properties dialog or script. Each panel's toolbars are configured independently of other panels.

    In addition to adding or pasting the usual custom items in a toolbar, you can also use the Add submenu of the Design Menu to add built-in tool items. These items have preset functions, but you can change their name and icon. Once added, they can be cut, copied and pasted within toolbars only. There are also two built-in submenus in the Add submenu: Back History and Forward History. If shown, these will display not only a back/forward button, but also a menu button which opens a drop-down list showing path history for the current browser tab.

    When adding or pasting a custom submenu into a toolbar, it will also be displayed as a button with a smaller menu button next to it. The large button will have the icon (and tooltip) of the first item in the submenu (unless a custom icon is set for the submenu), and clicking this button will activate that first item. To use other items in the submenu, click the smaller menu button. Design Mode can also be used within this menu by right-clicking on a menu item. To set properties for the submenu itself, right-click on either button.

    Menu and bookmark items can be pasted and imported to the toolbars, and custom toolbar items can be cut/copied and pasted elsewhere. Design Mode mouse shortcuts (see below) may also be used on toolbar items.

    TIP: If you want to create a toolbar button which shows a custom submenu from another menu, without copying the submenu to the toolbar, you can use a socket command to show the submenu as a popup menu instead. To do so, add a New|Command to the toolbar (where "Menu Name" is the name of the existing custom submenu):

        spacefm -s activate "Menu Name"


    Contents Shortcuts

    In addition to right-clicking on a menu item and using the Design Menu, design mode keyboard and mouse shortcuts are also available. These shortcuts are NOT required - all you really need to know is 'right-click opens the Design Menu'.

    To use these shortcuts, highlight the menu item (hover your mouse cursor over it, or use the keyboard arrows to highlight the menu item), then use the key or mouse combo shown below. These shortcuts are only available for use when a menu is open. On a toolbar item, mouse shortcuts may be used.


    Design Mode Shortcuts
    Action Key Combo Mouse Combo
    Design Menu F2 or Menu Right
    Cut Ctrl + X Alt + Left-or-Right
    Copy Ctrl + C Ctrl + Left-or-Right
    Paste Ctrl + V Shift + Left-or-Right
    New Command Insert Ctrl + Shift + Left-or-Right
    Edit Command F4 or Ctrl + E Middle
    Help F1 Alt + Middle
    Set Key Ctrl + K Ctrl + Middle
    Set Icon Ctrl + I Shift + Middle
    Remove Delete Ctrl + Shift + Middle
    Properties F3 Ctrl + Alt + Middle

    These shortcuts will also work after the Design Menu has been shown.

    The F1 keyboard shortcut is special in that it can also be used to show help on items in the Design Menu itself. Highlight a Design Menu item (such as Export) and press F1.

    If the shortcut action is not available for the current item (for example, performing Remove on a built-in menu item), the Design Menu will be opened instead.

    NOTE: Some window managers may be configured to use some of these mouse combos for other purposes. For these to work within SpaceFM, you may need to disable them in your window manager.

    Contents MIME Menu

    When you right-click on a file in the file list, the Open submenu shows applications associated with the (first selected) file's MIME type (eg text/plain). If you right-click on one of these listed applications, or press F2 while the menu item is highlighted, you will be presented with a menu which allows you to configure MIME associations and definitions for this file type. (Note that other methods may also be used to open files.)

    TIP: For help with a menu item in the MIME menu itself, highlight the MIME menu item and press F1.

    IMPORTANT: Changes made with this menu may affect other programs on your system which use the MIME database, not just SpaceFM. However, some programs use other means for determining file types, or some combination of several methods, so not all MIME changes made in SpaceFM will be reflected in all programs.

    For more elaborate MIME adjustments, consider using a dedicated MIME editor.

    How MIME Works
    SpaceFM uses freedesktop.org's shared-mime-info database to determine file types, display file type names, determine and adjust associated applications, and determine and adjust the default application for a type. (Note that other methods may also be used to open files, and that you can create file handlers to bypass MIME associations.)

    It helps to know some basics about how MIME works so you can better control how your system handles file types. Note that SpaceFM is not fully compliant with all freedesktop specifications. Where this manual and their specifications differ, this manual is authoritative on SpaceFM's behavior.

    MIME knows what applications are installed on your system by examining .desktop files. When an application is installed, it will usually install one or more .desktop files for itself to /usr/share/applications or /usr/local/share/applications. These .desktop files determine the display name of the application (which may differ from the executable's name), translated display names, the command used to execute the application, an icon for the application, what MIME file types the application can open, and other specifics.

    If you would like to change anything in an application's .desktop file, the correct way to do so is to copy the desktop file to ~/.local/share/applications in your home folder, and make changes in the copy. (Changes made directly in /usr/share/applications may be lost when the software is upgraded.) You can also add your own custom .desktop files to run programs or scripts. When MIME looks for a desktop file, first it looks in ~/.local/share/applications, then in /usr/local/share/applications, and then in /usr/share/applications, using the first copy it finds. Thus copies in your home folder always take precedence, and will not be modified when software is upgraded.

    Anytime .desktop files are created or changed, the MIME desktop database needs to be updated. A user's database can be updated by the user running:

        update-desktop-database ~/.local/share/applications
    This command examines all the desktop files and will create files named 'mimeinfo.cache' which contain all the relevant information for fast access. The mimeinfo.cache files should never be edited directly.

    To determine what applications are associated with a given MIME type (what applications can be used to open files of that type), SpaceFM and many other programs will build a list of applications by examining the mimeinfo.cache files in ~/.local/share/applications, /usr/local/share/applications, and /usr/share/applications.

    Sometimes a distro, admin, or user may want to associate default or additional applications with a MIME type, or remove unwanted associations. Information about default applications, and added and removed associations are placed in mimeapps.list files located in the applications directories. ~/.config/mimeapps.list (or the older location: ~/.local/share/applications/mimeapps.list) in the user's home folder takes precedence. Distros and admins may also use files named 'defaults.list' to associate applications, although modification of these files by the user is now deprecated - change mimeapps.list instead. (SpaceFM will never modify defaults.list, but may read it.)

    To define MIME types, xml files are used. These may determine a file type using a filename glob (eg *.txt), or may base determination on a file's contents. freedesktop supplies basic definitions, and additional ones may be added in /usr/share/mime/packages. Any definitions placed in Overrides.xml will override other definitions. Users can add xml files to add custom MIME types or to change existing definitions. These are usually placed in ~/.local/share/mime/packages. After adding or changing these files, run:

        update-mime-database ~/.local/share/mime
    Or to update the system-wide database:
        sudo update-mime-database

    At startup, SpaceFM reads and caches these xml files to know how to recognize all the file types on your system. Because they are cached, you may need to restart SpaceFM after changing MIME type definitions.

    Although SpaceFM does not include a full-featured MIME editor, SpaceFM's MIME menu makes it easy to find and edit all the files needed to customise your MIME database, and in some cases will create and edit the files for you. One example is the 'Choose...' menu item on the file list context menu's Open submenu, which lets you choose or set a default application for a MIME type. Choosing an application will cause SpaceFM to edit your mimeapps.list file, setting the application as the default.

    For other adjustments, see the MIME menu items below.

    Set As Default
    Selecting Set As Default will set the selected application as the default application for the selected file's MIME type. In SpaceFM this will move the application to the top of the Open submenu.

    Specifically, SpaceFM will edit your ~/.config/mimeapps.list file, adding the application's .desktop file to the beginning of the list for the given MIME type in [Default Applications] and [Added Associations], and will remove it from [Removed Associations] if present.

    Remove
    Selecting Remove will remove the selected application's association with the selected file's MIME type for the current user. It will generally no longer appear in the Open submenu for this file type.

    Specifically, SpaceFM will edit your ~/.config/mimeapps.list file, removing the application's .desktop file for the given MIME type in [Default Applications] and [Added Associations], and will add it to [Removed Associations] for the given MIME type.

    To restore an association that you have removed, use Add...

    NOTE: When compiling the list of applications to appear in the Open submenu for a text file, SpaceFM will include applications associated with the MIME type (eg text/html) and applications associated with the generic 'text/plain'. If you select Remove on an application, it will be removed as an associated application for the MIME type (eg text/html), but will NOT be removed as an associated application for text/plain (unless the MIME type is text/plain). Thus using Remove may not remove the application from the Open submenu for this type, unless you also remove it from text/plain. Text files are the only files with this behavior.

    Add...
    Selecting Add... will open the same dialog as the 'Choose...' item on the Open submenu, allowing you to select an application or enter a command to be associated with this MIME type. The application won't be made the default unless you check option 'Set as default' in the dialog. The application or command will then appear as an associated application in the Open submenu for this MIME type.

    Specifically, SpaceFM will edit your ~/.config/mimeapps.list file, adding the application's .desktop file to the list for the given MIME type in [Default Applications] and [Added Associations], and will remove it from [Removed Associations] if present. If you entered a command instead of choosing an application from the list, a custom desktop file will be created for your command in ~/.local/share/applications/.

    application.desktop
    The next item on the MIME menu will be the name of the .desktop file for the selected application (eg spacefm.desktop). Selecting this item will open the copy of the desktop file located in ~/.local/share/applications/ using your text editor, allowing you to customise the .desktop file. For example, you can change the application's name (how it appears in the menu), the icon as it appears in the menu (add an <icon name="icon-name"/> tag), or the command run when the application is selected. Edit the file and save it.

    If "(*copy)" appears next to the .desktop filename on the menu, this means that no copy of the desktop file currently exists in ~/.local/share/applications/. If you select it, SpaceFM will automatically copy the desktop file from /usr/share/applications/ to ~/.local/share/applications/, and will then open the copy in your text editor. The copy in ~/.local/share/applications/ always takes precedence over other locations.

    mimeapps.list
    Selecting mimeapps.list will simply open ~/.config/mimeapps.list (or the older location: ~/.local/share/applications/mimeapps.list) in your text editor, allowing you to examine added and removed associations, and edit them.

    If you edit this file, be careful to use its default formatting. Any changes you make to this file will immediately take effect.

    applications/
    Selecting applications/ will open the ~/.local/share/applications/ folder in a new tab. This folder contains your local copies of .desktop files. (See How MIME Works above.)

    mime-type.xml
    The next item on the MIME menu will be the name of an xml file which can be used to redefine this MIME type (eg text-plain.xml) for the current user. Selecting this item will open the file located in ~/.local/share/mime/packages/ using your text editor, allowing you to customise the MIME type definition. For example, you can change what filename extensions (globs) are used, or change the name of the file type as it appears in the Type column of the file list. Edit the file and save it. You may then need to run 'update-mime-database ~/.local/share/mime' and/or restart SpaceFM for the changes to take effect. (SpaceFM will run update-mime-database for you if you opened the file using this menu item.)

    If "(*new)" appears next to the xml filename on the menu, this means that the xml file doesn't currently exist in ~/.local/share/mime/packages/. If you select it, SpaceFM will automatically create the xml file using the definition in /usr/share/mime as a template (if present), and will then open the new xml file in your text editor. The copy in ~/.local/share/mime/packages/ always takes precedence over other locations.

    You can also use this menu item simply to see the MIME type of the selected file. For example, if the name of this menu item is "application-zip.xml", then you know the MIME type is "application/zip".

    mime/packages/
    Selecting mime/packages/ will open the ~/.local/share/mime/packages/ folder in a new tab. This folder contains your custom xml files used to redefine MIME types (see mime-type.xml above). After adding, editing, or removing files from this folder, you may then need to run 'update-mime-database ~/.local/share/mime' and/or restart SpaceFM for the changes to take effect.

    usr/
    The usr/ submenu gives you access to files and folders in /usr/share/applications/ and /usr/share/mime/packages/ (or in some cases, /usr/local/share/...).

    For example, to see the original .desktop file for an application, select the .desktop file in the usr/ submenu. It will be opened in your editor, but can only be edited by root. (Normally it is useless to edit files in /usr/share, as a software upgrade may overwrite it. Instead, to make system-wide changes, place a copy in /usr/local/share/applications and edit that. To make changes for a single user only, place a copy in ~/.local/share/applications/).

    Likewise, to see the system-wide MIME type definition for the current MIME type, select the xml file in the /usr submenu.

    The Overrides.xml file, if present, will be opened as root to allow you to edit it. This is one place where you can define system-wide changes to MIME types. (Or you can copy your custom xml files to /usr/share/mime/packages/). When making changes here you must run 'sudo update-mime-database' and restart SpaceFM.

    Plugins
    Contents Introduction

    Like any plugin, a SpaceFM plugin extends the features of the file manager. What's different about SpaceFM plugins is how readily they're created. Any custom item can be turned into a plugin simply by exporting it to a plugin file. SpaceFM plugins use an open format which can include additional files, and can also store persistent data between sessions. SpaceFM plugins can do anything a bash script can do - which means just about anything.

    Plugins can be shared and obtained in the SpaceFM Wiki.

    It is your responsibility to evaluate the safety and applicability to your purposes of all plugins.

    Contents Install

    When a plugin is installed, it is added to the Plugins menu where it gains root protection (it cannot be modified by normal users) and becomes accessible to all users of SpaceFM on your system. Installing a plugin helps protect the plugin's contents from tampering, but it also limits what you can change.

    To install a plugin using a plugin file, use Plugins|Install|File. You will be prompted to choose a file, and you will need to enter the root password for installation. You can also install a plugin directly from a URL using Plugins|Install|URL (be sure to examine their contents before running commands within the plugin). wget is required when installing from URL (this program is already installed on most Linux distributions). Remember that installing a plugin as root does NOT mean it is run as root. The files for the plugin are merely copied to /usr/?local?/share/spacefm/plugins as root.

    When installed or imported, plugins lose any key shortcut which was saved with the plugin, and also lose their Use as handler for context setting. These settings must be manually added after installation/import if desired.

    Installed plugins are available via the Plugins menu. SpaceFM will allow you to set a key shortcut for a plugin, change its icon, and change Run In Terminal and Run As Task options for the plugin. You cannot change the type of a plugin, and unless you do so as root, you cannot edit the command script. You can temporarily edit the command line or custom target of a plugin, but your changes will not be saved - they will be valid only for the current session by the current user.

    To see the help file for a plugin command, use Help on the Design Menu, or highlight the menu item and press F1.

    When you make Design Mode changes to a plugin, you are not actually altering the plugin itself. SpaceFM creates a skin for the plugin which holds your custom key shortcut, icon, etc. Thus these changes made to a plugin by one user will not be seen by other users on the system. This skin is retained in the SpaceFM session file until the plugin is removed.

    If you want to make deeper changes to a plugin, you can copy it using Import on the Design Menu, and Paste the copy into another menu. The copy will be exactly like the plugin, except that its files will no longer be owned by root. Thus you can make any changes to a copied plugin, just as with any custom menu item. You can also export the copy, then install it as a plugin again, either with a new name, or overwriting the old plugin.

    You can also export an installed plugin. Unless you made changes to the plugin directory as root, the exported plugin file will essentially be a copy of the original plugin file.

    NOTE: Plugins created with SpaceFM versions 0.7.0 and later may not work correctly with prior versions due to changes in the file structure of plugins and commands.

    Contents Import

    Instead of installing a plugin, you can import it into any SpaceFM menu or toolbar. When imported in this way, the plugin loses root protection and becomes a normal custom item.

    To do so, use Plugins|Import|File to import a plugin file, or Plugins|Import|URL to import directly from URL. No root password is required. The plugin will be copied to the design clipboard. You may then use Paste on the Design Menu to paste the item into any location in any supported menu. As with any custom items, you cannot paste the item into some parts of the Plugins menu and the file browser's Open menu.

    If option Plugins|Import|Verbose is checked, after the plugin has been copied to the design clipboard, you'll see a message reminding you what to do next.

    When installed or imported, plugins lose any key shortcut which was saved with the plugin, and also lose their Use as handler for context setting. These settings must be manually added after installation/import if desired.

    Alternatively, you can use New|Import on the Design Menu to import and paste a plugin in one step.

    Note: Exported bookmarks in a "spacefm-bookmarks" plugin file cannot be installed or imported via the Plugins menu, but can be imported into other menus.

    Contents Uninstall

    To uninstall a plugin, use Remove on the Design Menu. You will be prompted for the root password, and all files and settings associated with the plugin will be removed.

    If the installed plugin is a submenu plugin, you can only remove the top submenu of the plugin. You cannot remove individual items from within it.

    Contents Creation And Files

    The best way to create a plugin, whether for your own use or for others, is to create a custom command. Develop the command to work the way you want, and set any Design Mode options for how the command is best run. When you're ready to create the plugin, simply use Export on the Design Menu to save the command to a plugin file.

    A plugin may also contain multiple related commands and submenus of commands. To create such a plugin, simply export a submenu.

    Exporting commands as plugins also provides a way to back up commands. By exporting it to a plugin file, your custom item becomes portable and self-contained - you can always use the plugin file to import it back into any SpaceFM session, either as a normal custom item, or as an installed plugin.

    Plugin File
    The SpaceFM plugin file uses a simple and open format. The plugin file is simply a tar.gz archive. This allows you to open any plugin file and examine its contents using your text editor. With the possible exception of any extra files included within the plugin, all files are plain text files. When creating plugins, try to honor this design by using open, accessible text file formats.

    A plugin file, such as Example.spacefm-plugin.tar.gz, contains a single file named 'plugin' which SpaceFM uses to define the contents of the plugin. This file is plain text and can be viewed in your editor, but should NOT be edited. In addition, plugin files contain one or more command directories, one for each command in the plugin. Plugins may be a single command, or they may be a single submenu which contains an unlimited number of commands and submenus. Thus a set of commands with related functions can be distributed as a single submenu plugin. (To create a submenu plugin, simply export a submenu.)

    TIP: If you have a larger plugin, you can manually convert it to tar.xz format and SpaceFM will accept it (only tar.gz or tar.xz).

    Extra Files
    Additional files required by your plugin can be added to the command directory, which may be opened using Open In Browser on the Options page of the Item Properties dialog. When the command is exported, these files will be included in the plugin file. The command script (exec.sh) is located in the command directory. Files in the command directory should be considered read-only (once your plugin is installed, your script will probably not have permission to modify them).

    You may also add a file named 'icon'. SpaceFM will automatically display this icon for the plugin if no other icon is set in the Item Properties. Small icons work best, as your icon may not be resized. If you don't want to include a custom 'icon' file, you can also simply set a standard icon for the command using the Design Menu. Users can also override your default icon in this way. Keep in mind that the user may be using a different icon theme than you are, so try to stick with common icon names. Using an absolute path for the icon is not recommended.

    In addition, adding a README file to the command directory is recommended. This file will be created automatically if you select Help from the Design Menu. This file explains what your plugin does, how to use it, and may include an email address, website, license terms, etc.

    If multiple commands in your plugin need to access shared files, it is possible to place them in the top level of the plugin file, the plugin directory. SpaceFM won't do this for you automatically when exporting a command, but you can add them using an archive application after the plugin file has been created. Or, if your plugin is already installed and you added files to its plugin directory, these files WILL be included in the plugin file when the plugin is exported again. Your scripts can access this directory using "$fm_plugin_dir". To browse it, use Open In Browser on the Options page of the Item Properties dialog. One limitation of using this directory is that if a user copies commands from within your plugin submenu to another menu, the files in the plugin directory will NOT be included. Thus, it may be better to include all of a command's required files in its command directory instead. In this way, each command is complete when copied elsewhere. Or, if multiple commands needs to access the same files, consider creating a config directory in the user's home directory (eg ~/.config/spacefm-plugin-myexample) for your plugin.

    Data Files
    If necessary, your plugin can maintain changing, persistent data files in the user's home folder to store user preferences and other changing data. Your script should store these files only in the data directory ("$fm_cmd_data", accessed via Open In Browser on the Options page of the Item Properties dialog). Data files are NOT included when the command or plugin is exported, and they are deleted when the item or plugin is removed. Each command or plugin has its own data directory. If you need to populate the data directory with initial files, consider making your script copy them from the command directory when it is first run. Because it is located in the user's home folder, you should always document what files you are storing in the data directory. Most plugins do not require any data files.

    Remember that the data directory may not exist, so make sure your script always creates it before attempting to use it. Place this command in the initial part of your script:

        mkdir -p "$fm_cmd_data"

    Before distributing a plugin, be sure to open or extract the archive and examine all files in your text editor to be clear on what data you are sharing. For example, some entries may be included in the plugin file even if they are currently disabled in the command.

    Handlers
    Contents Introduction

    Handlers are sets of commands which tell SpaceFM how to perform a function, such as opening a file, mounting a device, or creating/extracting an archive. In some cases your handlers replace SpaceFM's default behavior. Handlers come in several varieties: Devices, Protocols, Archives, and Files.

    Additional user-contributed handlers may also be found on the Plugins Wiki. If you create a new handler, please consider exporting it and adding it to the wiki.

    Contents Devices

    Device handlers tell SpaceFM how to mount, unmount, and show properties for specific filesystems or devices. Anytime SpaceFM or the SpaceFM daemon mounts or unmounts a device (manually or automatically), or shows the properties of a device, it uses a handler to determine what commands to run. By adding custom device handlers, SpaceFM can be made to mount and unmount virtually any type of device or filesystem.

    To configure device handlers, right-click in the Devices list and select Settings|Device Handlers. The list at the left of the Device Handlers configuration window lists all device handlers. (Enlarge this window to see the handler commands more clearly.) Click on a handler's name to see its contents. The order of the list is important: Starting from the top, the first handler which matches the current device will be used. You can reorder the list by dragging entries, or using the Up & Down buttons. In this way, you determine what handlers have preference. The "Default" handler is usually listed last, and is used if no other handlers apply.

    The right side of the window shows the selected handler's contents. If Enable Handler is unchecked, this handler will never be used. The Name contains the common name for the handler, which appears in the list and in debug messages. Next comes a Whitelist and Blacklist: these determine when this handler will be used. Finally, the Mount, Unmount, and Properties boxes contain scripted commands which will be run by the handler to mount, unmount, or list properties of a device.

    TIP: If you just want to change the mount program that SpaceFM uses to mount removable drives (such as udevil, pmount, or udisks), open Device Handlers and click the Default handler. Example Mount and Unmount commands are shown for each mount program. Just enable the section you want to use by removing the appropriate comment marks (#).

    Whitelist
    A handler's whitelist is a space-separated list of elements. In general, if any element in the list matches the device properties, then this handler may be used for this device. If a list element is prefixed with a plus sign '+', that element is required to match. Any element in the list may contain wildcards (an asterisk '*' to represent multiple characters, or a question mark '?' to represent single characters).

    The following device whitelist elements are recognized:

        FSTYPE (eg ext3)
        dev=DEVICE (/dev/sdd1)
        id=UDI
        label=VOLUME_LABEL (include spaces as underscores)
        point=MOUNT_POINT
        audiocd=0 or 1
        optical=0 or 1
        removable=0 or 1
        mountable=0 or 1
    
    The simplest whitelist simply contains a filesystem type, such as "ext3". Thus anytime you mount a device with that filesystem, the handler may be used.

    If you want a handler to apply to several filesystem types, just list them:

        ext3 ext4
    For more complex situations, you can add more elements to narrow or control when a handler will be used. For example, consider the following whitelist:
        +ext3 +dev=/dev/sdd* +label=My_Volume_Label
    First, the elements are prefixed with plug signs, so all are required to match, or the handler will not be used. First, the filesystem type MUST be ext3 for this handler to be used. Second, the device file must begin with "/dev/sdd" (eg /dev/sdd1). Finally, the volume label on the device must be "My Volume Label" (or "My_Volume_Label"). Note that spaces in the label are converted to underscores for testing.

    To see what handler SpaceFM has selected to mount a device, and see the commands being issued, start the spacefm program in a terminal window, and observe debugging output in the terminal while SpaceFM is running. For example, mounting a USB stick you may see:

        Selected Device Handler 'Default': MOUNT [*]
    This tells you that the 'Default' device handler was used, and the action being performed is MOUNT. The portion(s) of the handler's whitelist which matched will be enclosed in square brackets [ ].

    Blacklist
    A handler's blacklist is a space-separated list of elements. If any element in the list matches the device properties, this handler will never be used for this device.

    For example, consider the following Whitelist/Blacklist combination:

        Whitelist: vfat
        Blacklist: dev=/dev/sde1 label=Ignored_Volume_Label
    
    In this example, the handler applies to any vfat filesystem. However, if the device file is /dev/sde1, OR the volume label on the device is "Ignored Volume Label" (or "Ignored_Volume_Label"), the handler will not be used.

    Mount
    The Mount text box contains the commands which will be run if this handler is selected to mount a device (manually or automatically). The commands are run as a bash script, and may contain any valid bash syntax (version 4, or any greater version of bash you have installed). If the Run In Terminal box is checked, the script will be run in your configured terminal emulator window (which may allow the user to enter information). If Run As Task is checked, the running command will be listed in the task manager and error output will be shown in a popup. You can also edit the commands in your configured editor by clicking on 'Edit' in the upper-right corner, or press Alt-Enter while the cursor is in the box (remember to save the script in your editor when finished).

    Several variables will be replaced before your commands are run:

        %v  device
        %o  volume-specific mount options (use in mount command only)
        %t  filesystem type being mounted (eg vfat)
        %a  create auto mount point
    
    %v will be replaced with the device file (eg /dev/sdd1). %o, if included, will be replaced with volume-specific mount options (these are set in Mount Options). Or, you can omit %o and simply include the options you desire in the command.

    Finally, the presence of %a will cause SpaceFM to create a new directory to be used as a mount point for the mount (eg ~/.cache/spacefm/mountpoint), and %a will be replaced with the directory path. When the device is unmounted, this mount point will be removed. Or, if you wish to create your own mount point, or if your mount program automatically creates one in /media (such as udevil), then you may omit %a.

    In addition to the above variables, SpaceFM's exported bash variables may be used, as well as the substitution variables defined in Command Line.

    Example Mount commands (enable only one section by removing #):

        # # udevil:
        #     udevil mount -o '%o' %v
        #
        # # pmount: (does not accept mount options)
        #     pmount %v
        #
        # # udisks v2:
        #     udisksctl mount -b %v -o '%o'
        #
        # # udisks v1: (enable all three lines!)
        #     fm_udisks=`udisks --mount %v --mount-options '%o' 2>&1`
        #     echo "$fm_udisks"
        #     [[ "$fm_udisks" = "${fm_udisks/ount failed:/}" ]]
    
    (Note: Because udisks v1 does not return a proper error status on error, the above lines examine the output and set the exit status if appropriate, which triggers an error popup in SpaceFM.)

    If a handler's Mount command is empty (or contains only blank lines and comments), that handler will not be used. If no handler is found with a non-empty Mount command, SpaceFM will automatically attempt to use udevil, pmount, udisks2, or udisks1 to mount the device (it will use whatever is installed, in this order of preference).

    NOTE: Custom menu items, added with New|Command, may also be set as primitive device handlers via their Use as handler for option. When a device is clicked, if the menu item is enabled based on the current browser context, this menu item's command will be run rather than any other configured device handler. In addition, device events may be configured to trigger actions based on socket event evt_device.

    Unmount
    The Unmount text box contains the commands which will be run if this handler is selected to unmount a device (manually or automatically). The commands are run as a bash script, and may contain any valid bash syntax (version 4, or any greater version of bash you have installed). If the Run In Terminal box is checked, the script will be run in your configured terminal emulator window. If Run As Task is checked, the running command will be listed in the task manager and error output will be shown in a popup.

    Several variables will be replaced before your commands are run:

        %v  device
        %a  current mount point
    
    %v will be replaced with the device file (eg /dev/sdd1). %a will be replaced with the directory which is the mount point of the device.

    In addition to the above variables, SpaceFM's exported bash variables may be used, as well as the substitution variables defined in Command Line.

    Example Unmount commands (enable only one section by removing #):

        # # udevil:
        #     udevil umount %v
        #
        # # pmount:
        #     pumount %v
        #
        # # udisks v2:
        #     udisksctl unmount -b %v
        #
        # # udisks v1: (enable all three lines!)
        #     fm_udisks=`udisks --unmount %v 2>&1`
        #     echo "$fm_udisks"
        #     [[ "$fm_udisks" = "${fm_udisks/ount failed:/}" ]]
    
    (Note: Because udisks v1 does not return a proper error status on error, the above lines examine the output and set the exit status if appropriate, which triggers an error popup in SpaceFM.)

    If a handler's Unmount command is empty (or contains only blank lines and comments), that handler will not be used. If no handler is found with a non-empty Unmount command, SpaceFM will automatically attempt to use udevil, pmount, udisks2, or udisks1 to unmount the device (it will use whatever is installed, in this order of preference).

    Properties
    The Properties text box contains the commands which will be run if the user selects Properties from the right-click menu of the devices list. This is used to show any relevant properties and status of the device. If the Run In Terminal box is checked, the script will be run in your configured terminal emulator window, otherwise the output will be displayed in a SpaceFM popup window. If Run As Task is checked, the running command will be listed in the task manager and error output will be shown in a popup.

    If no applicable device handler has a non-empty Properties command, SpaceFM's default properties will be shown.

    Contents Protocols

    Protocol handlers tell SpaceFM how to respond when a URL is opened or unmounted, such as mounting or unmounting a network filesystem, or showing properties for a mounted URL. Anytime you enter a URL in SpaceFM's Path Bar (eg ftp://mirrors.kernel.org), open a bookmark containing a URL, select Open URL from the file menu, or specify a URL on the command-line, a handler is used to open the URL. This handler can run another program (such as a web browser), can mount the URL as a filesystem, or take any other action you specify.

    To configure protocol handlers, right-click in the Path Bar and select Protocol Handlers, or select Settings|Protocol Handlers from the Devices menu. Like Device Handlers, protocol handlers have an Enable checkbox, a whitelist and blacklist which determine when the handler is used, and command boxes.

    Whitelist
    As with device handlers, a protocol handler's whitelist is a space-separated list of elements. In general, if any element in the list matches the protocol properties, then this handler may be used. If a list element is prefixed with a plus sign '+', that element is required to match. Any element in the list may contain wildcards (an asterisk '*' to represent multiple characters, or a question mark '?' to represent single characters).

    SpaceFM recognizes a path bar entry as a protocol if it has the form PROTOCOL:// (such as ftp://). SpaceFM recommends a standard URL format regardless of protocol. If the URL is in such a format, SpaceFM will break the URL into parts and assign them to variables ready for your use. You can also use other URL formats (eg those specific to a mount program), but SpaceFM may not correctly assign the parts to variables.

    The following protocol whitelist elements are recognized:

        PROTOCOL (eg ssh)
        url=URL (ssh://...)
        host=HOSTNAME
        user=USERNAME
        mtab_fs=FSTYPE      (mounted fs type as shown in mtab)
        mtab_url=URL        (mounted url as shown in mtab)
        point=MOUNT_POINT
    
    For most protocols, the whitelist will be as simple as the protocol, such as 'ftp' (meaning that this handler will be used to mount ftp:// URLs). For other protocols, you might use a whitelist with additional elements. For example:
        ssh mtab_fs=fuse.sshfs
    In this case, the handler is selected if the protocol is "ssh", which will work when mounting an ssh filesystem. However, when fuse mounts the filesystem, it uses "fuse.sshfs" as the filesystem type, which is listed in mtab (see the output of the mount command). Thus this whitelist also includes "mtab_fs=fuse.sshfs", so this handler will be used for that filesystem type in mtab. This will allow the handler to be used for both mounting ssh URLs and unmounting fuse.sshfs filesystems.

    Note: The whitelist mtab_fs= property also may affect what mounted protocols SpaceFM detects and lists in its Devices list. By default, SpaceFM will list most non-block (eg fuse) filesystems which are mounted to a user-readable directory. To have it detect and list another filesystem in the devices list, add the type with mtab_fs=FSTYPE to a protocol handler's whitelist. This will also ensure that your protocol handler, rather than a device handler, is used to unmount and show properties for the mounted protocol.

    Note that some of the above fields, such as mtab_fs, mtab_url, and point, are only set when performing an unmount. Also, any spaces in the values are replaced with underscores before being tested.

    To see what handler SpaceFM has selected to mount or unmount a URL, and see the commands being issued, start the spacefm program in a terminal window, and observe debugging output in the terminal while SpaceFM is running. For example, mounting and unmounting an ssh URL you may see:

        Selected Protocol Handler 'ssh': MOUNT [ssh] mtab_fs=fuse.sshfs
        Selected Protocol Handler 'ssh': UNMOUNT ssh [mtab_fs=fuse.sshfs]
    
    This tells you that the 'ssh' protocol handler was used for both MOUNT and UNMOUNT actions. The whitelist of that handler is shown, and the portion(s) of the handler's whitelist which matched are enclosed in square brackets [ ]. For mounting, the URL was recognized with protocol ssh, which matched in the whitelist. For unmounting, the mtab_fs matched the whitelist.

    After your protocol is mounted, the mount directory may or may not automatically open in SpaceFM (depending on whether SpaceFM can associate a new device with the protocol just mounted based on mtab, mount point, etc.) If it does not open, you can open a mount point after a successful mount command by adding a line such as:

        [[ $? -eq 0 ]] && spacefm -t "%a"

    Blacklist
    As with device handlers, a protocol handler's blacklist is a space-separated list of elements. If any element in the list matches the protocol properties, this handler will never be used for this device.

    Mount
    The Mount text box contains the commands which will be run if this handler is selected to handle an entered URL. The commands are run as a bash script, and may contain any valid bash syntax (version 4, or any greater version of bash you have installed). If the Run In Terminal box is checked, the script will be run in your configured terminal emulator window (which may allow the user to enter information, such as a password). If Run As Task is checked, the running command will be listed in the task manager and error output will be shown in a popup. You can also edit the commands in your configured editor by clicking on 'Edit' in the upper-right corner, or press Alt-Enter while the cursor is in the box (remember to save the script in your editor when finished).

    Several variables will be replaced before your commands are run:

        %url%     $fm_url
        %proto%   $fm_url_proto
        %host%    $fm_url_host
        %port%    $fm_url_port
        %user%    $fm_url_user
        %pass%    $fm_url_pass
        %path%    $fm_url_path
        %a        auto create mount point
    
    These variables will be replaced with the appropriate values taken from a standard URL, and the bash equivalents may also be used (eg %url% is the same as $fm_url). In the case of %a, its presence will cause SpaceFM to create a new directory to be used as a mount point for the mount (eg ~/.cache/spacefm/mountpoint, and %a will be replaced with the directory path. When the device is unmounted, this mount point will be removed. Or, if you wish to create your own mount point, or if your mount program automatically creates one in /media (such as udevil), then you may omit %a.

    In addition to the above variables, SpaceFM's exported bash variables may be used, as well as the substitution variables defined in Command Line.

    Note that the Mount command does not need to be used to mount a protocol, it may simply open the protocol with a program of your choice. For example, to open http:// URLs with Firefox, put "http" in the handler's whitelist, and use this Mount command:

        firefox "%url%" &
    The ampersand (&) tells bash to run the program and move on, without waiting for the program to finish, which is usually appropriate when starting an application.

    You can also open a website using a SpaceFM socket command, which will guess the user's web browser:

        spacefm -s run-task web "$fm_url"

    If a handler's Mount command is empty (or contains only blank lines and comments), that handler will not be used. If no handler is found with a non-empty Mount command, SpaceFM will not handle the protocol, and will display an error to the user.

    Unmount
    The Unmount text box contains the commands which will be run if this handler is selected to unmount a mounted URL, generally a network filesystem such as sshfs.

    Several variables will be replaced before your commands are run:

        %url%     $fm_url
        %proto%   $fm_url_proto
        %host%    $fm_url_host
        %port%    $fm_url_port
        %user%    $fm_url_user
        %path%    $fm_url_path
        %a        current mount point
    	      $fm_mtab_fs   (mounted fs type as shown mtab)
    	      $fm_mtab_url  (mounted url as shown mtab)
    
    Not all of the variables may be filled-in, depending on the protocol.

    If a protocol handler's Unmount command is empty (or contains only blank lines and comments), that handler will not be used. If no handler is found with a non-empty Unmount command, SpaceFM will not unmount the filesystem, and will display an error to the user.

    Properties
    The Properties text box contains the commands which will be run if the user selects Properties from the right-click menu of the devices list. This is used to show any relevant properties and status of a mounted protocol. If the Run In Terminal box is checked, the script will be run in your configured terminal emulator window, otherwise the output will be displayed in a SpaceFM popup window.

    If no applicable protocol handler has a non-empty Properties command, SpaceFM's default properties will be shown.

    Contents Archives

    SpaceFM includes a built-in facility for creating, extracting, and listing the contents of archive files (such as tar.gz or zip files).

    Open Menu
    SpaceFM's Open menu for archive files, accessed by right-clicking on any archive file, allows you to choose Extract, Extract To, or List Contents. By default, choosing Extract will extract the selected archive files to folders of the same name, choosing Extract To will allow you to choose where to extract the files, or choosing List Contents will display the contents of the archive file(s).

    Archive Defaults

    With a default configuration, opening an archive file by double-clicking it in the file list will automatically extract it to a folder of the same name. You can change how SpaceFM opens archives by right-clicking on an archive file and using the Open|Archive Defaults submenu:

    Open With App
    Selecting Open With App will cause SpaceFM to open archive files using other methods. Even if you have Open With App selected as the default behavior for opening archive files, you can still manually choose Extract, Extract To, and List Contents from the Open menu to use SpaceFM's built-in archive facility.

    Extract
    Extract is the default behavior of SpaceFM. If selected, double-clicking on an archive in the file list will automatically extract its contents to a folder.

    Extract To
    The Extract To behavior is similar to Extract - it will extract the archive contents to a folder - except that you will be able to choose the destination folder. Also, the Extract To dialog includes Create Subfolder and Write Access options (see below).

    List Contents
    If List Contents is selected, double-clicking on an archive file will open a terminal window displaying the contents of the selected archive, but it will not be extracted.

    In addition, the Archive Defaults submenu includes these options:

    Create Subfolder
    If this option is selected, which is the default, then using Extract (manually or automatically on open) will create a subfolder with the same name as the archive, and will extract the contents to it. If this option is not selected, the archive contents will be extracted to the current folder. (Note that the Extract To dialog also contains a Create Subfolder option for that operation - that setting is remembered separately). Note that with Create Subfolder disabled, some archive programs, such as tar , may overwrite files in the current folder if they have the same name as files in the archive.

    Write Access
    If this option is selected, after extraction the contents of the extraction folder will be made write-accessible to the current user. This option is only available if the Create Subfolder option is enabled, and if the user is not root. Because some archives (such as tar.gz files made from CDROM) contain read-only files which then require an extra step to delete, this convenience option ensures the user can delete and change the extracted files.

    Archive Handlers
    Selecting Archive Handlers opens the Archive Handlers configuration window (see below).

    Archive Handlers

    Archive handlers tell SpaceFM how to create, extract, and list the contents of various kinds of archive files (eg tar.gz files). To configure archive handlers, right-click on a known archive file and select Open|Archive Defaults|Archive Handlers. Or, right-click on any file, select New|Archive, and click the Configure button.

    The list at the left of the Archive Handlers configuration window lists all archive handlers. (Enlarge this window to see the handler commands more clearly.) Click on a handler's name to see its contents. The order of the list is important: Starting from the top, the first handler which matches a file being extracted will be used. You can reorder the list by dragging entries, or using the Up & Down buttons.

    The right side of the window shows the selected handler's contents. If Enable Handler is unchecked, this handler will never be used. The Name contains the common name for the handler. Next come MIME Type and Pathname text boxes: these determine when this handler will be used. Finally, the Compress, Extract, and List boxes contain scripted commands which will be run by the handler to perform archive functions.

    MIME Type
    This text box contains a space-separated list of MIME types (such as application/x-compressed-tar), which is used to associate the handler with those file types. Wildcards, such as asterisk '*' to represent multiple characters, and question mark '?' to represent a single character, are accepted. A handler must have a MIME Type or a Pathname pattern (see below), or it cannot be used to extract or list the contents of archive files.

    Pathname
    This text box contains a space-separated list of pathname globs to be used in addition to MIME type to identify files compatible with this handler. For example, a Pathname pattern of "*.tar.gz" will cause all filenames ending in ".tar.gz" to be associated with this handler. The first pathname pattern in the list will determine the default file extension used when creating archives with this handler. Note that the full pathname of the file (eg /home/user/archive.tar.gz) is tested against the pattern, so for advanced uses the pattern may contain directory parts (eg /home/user/*.tar.gz) to control how archives in specific locations are handled.

    Compress
    The Compress text box contains the commands which will be run if this handler is selected to create an archive (or a single compressed file, etc.) The command(s) are run as a bash script, and may contain any valid bash syntax (version 4, or any greater version of bash you have installed). If the Run In Terminal box is checked, the script will be run in your configured terminal emulator window (which may allow the user to enter information, such as a password). If Run As Task is checked, the running command will be listed in the task manager and error output will be shown in a popup. You can also edit the commands in your configured editor by clicking on 'Edit' in the upper-right corner, or press Alt-Enter while the cursor is in the box (remember to save the script in your editor when finished).

    Several variables will be replaced before your commands are run:

        %n: First selected filename/dir to archive
        %N: All selected filenames/dirs to archive, or (with %O) a single filename
        %o: Resulting single archive file
        %O: Resulting archive per source file/directory (use changes %N meaning)
    
    When creating an archive, the user first selects one or more files or directories to be included. These are passed to your command via the %n or %N variables, which are replaced with quoted filenames. How these are used will depend on the type of archive you are creating from the selected files: a single archive containing all files, or an archive per source file/directory.

    If you want to create a single archive containing all selected items, use %o to represent the name of the resulting archive file (which will be chosen by the user at run time). With %o, you will generally use %N to include the list of all selected files. (Or if you only use %n, only the first selected file will be included in your archive.) For example, to create a tar archive, you would use this Compress command:

        tar -cvf %o %N
    Other kinds of archiving programs, such as compressing files with GZip, can only operate on one file at a time. In this case, you will use the %O variable (a capital 'O' instead of lowercase) to indicate to SpaceFM that you want your Compress command run multiple times, once for each selected file or directory. In this case, %N will be replaced with a single filename each time the command is run. (If %N is not included, the command will only be run once. If you use %n with %O, it will only be replaced with the first selected file the first time the command is run, and will then be empty "" on any subsequent runs.) For example, to compress all selected files with GZip, use this command:
        gzip -c %N > %O
    When SpaceFM sees the above command containing %O, it will know to run the gzip command once for each file, and will replace %N with a single filename on each run. It will also replace %O with a different output archive filename on each run, creating multiple files (in this case with the .gz extension).

    Note: To include a literal '%N' or other string in your command without it being interpreted as a variable, use double percent signs (%%N).

    In addition to the above variables, or instead of them, SpaceFM's exported bash variables may be used.

    To create an archive using your handler, select files to be archived in SpaceFM's file list, right-click, and select New|Archive. Select your handler in the Format list. You can also edit the Compress command in this dialog, and the updated command will be saved to your handler.

    To test your handler commands, run the spacefm program in a terminal, and observe the output as SpaceFM is working on archives. This will show you the handlers chosen, and the commands exactly as they are issued.

    When running any commands in a terminal, SpaceFM will add a query at the end to keep the terminal open if it sees a non-zero error status from the last command run, or when listing archive contents. If you need to keep the terminal open for other purposes, you can include these lines in your command:

        echo -n '[ Finished ]  Press Enter to close:'
        read
    

    To trap any errors in commands containing multiple lines, you can use the built-in error trap after each line:

        tar -cvf %o %N || fm_handle_err

    Extract
    The Extract text box contains the commands which will be run if this handler is selected to extract an archive (or uncompress a single compressed file, etc.)

    Several variables will be replaced before your commands are run:

        %x: Archive file to extract
        %g: Unique extraction target filename with optional subfolder
        %G: Unique extraction target filename, never with subfolder
    
    In most cases, you will only need the %x variable to represent the file being extracted, as SpaceFM automatically runs your command in the directory to which files should be extracted. For example, the Extract command for a tar file is simply:
      tar -xvf %x
    In some cases, such as uncompressing a file with GZip, you will want SpaceFM to give you a single non-existing filename to be used as the extraction target. For this purpose you may use %g or %G. %g will cause SpaceFM to substitute a single non-existing filename based on the archive name. If the user has selected the Create Subfolder option, a subfolder will also be created for the file. However, in cases like GZip, it is often unnecessary to create a subfolder for just one file. In this case use %G, which will be substituted with a single non-existing filename in the main extraction directory, and no subfolder will be created (even if the user has option Create Subfolder enabled). For example, when decompressing a GZipped file, rather than create a subfolder for the single output file, SpaceFM simply uncompresses the file to the selected directory. It uses this Extract command to do so:
        gzip -cd %x > %G

    In addition to the above variables, or instead of them, SpaceFM's exported bash variables may be used.

    List
    The List text box contains the commands which will be run if this handler is selected to list the contents of an archive file. It recognizes only the %x variable which is replaced with the archive filename, and SpaceFM's exported bash variables may also be used.

    Contents Files

    When you double-click on a file to open it, SpaceFM will use one of the following methods to open the file, in this order of preference:

    • If a custom menu item is enabled and has context option Use as handler for: set to 'files', the custom menu item will be activated. This may be used to open files or take other actions. To add a custom menu item of this kind, simply right-click on almost any existing menu item and select New|Command. On the Context page of the Item Properties dialog, set 'Use as handler for: files'. Also be sure to add context rules which determine when this handler will be active (or it will activate for all types of files).

    • If the first selected file is a recognized archive type (eg tar.gz), and Archive Defaults is set to Extract, Extract To, or List Contents, SpaceFM will attempt to open all selected files with Archive Handlers, ignoring files for which it doesn't have an archive handler.

    • Otherwise, if the MIME type or pathname of a selected file being opened matches a dedicated File Handler, and the handler has option Enable as a default opener enabled, the file handler will be run for that file.

    • If the MIME type of a selected file being opened has an application associated with it in the MIME database, the default application will be used to open the file. SpaceFM's MIME Menu may be used to change the application associated with a file type on your system.

    You can also right-click on a file and use the Open menu to see some of the above options listed.

    Note that multiple files may be opened or extracted by selecting them and using Open|Open With Default, subject to the same rules above.

    For feedback on how SpaceFM is opening files, run the first instance of spacefm in a terminal, and observe the output in the terminal after opening a file in SpaceFM.

    File Handlers

    File handlers are one method of several that SpaceFM may use to open specific types of files, or they can perform any other action when a file is clicked. These handlers work independently of the MIME associations on your system. To configure file handlers, right-click on any file and select Open|File Handlers.

    The list at the left of the File Handlers configuration window lists all file handlers. (Enlarge this window to see the handler commands more clearly.) Click on a handler's name to see its contents. The order of the list is important: Starting from the top, the first handler which matches a file being opened will be used. You can reorder the list by dragging entries, or using the Up & Down buttons.

    The right side of the window shows the selected handler's contents. If option 'Enable as a default opener' is checked, this handler will automatically run if you double-click on a file of its type. Or, if the option is unchecked, the handler will only run if you manually select it from the Open menu.

    The Name and Icon text boxes are used to specify the common name and icon name for the handler, which will appear in the menu and Task Manager. Next come MIME Type and Pathname text boxes: these determine for what files this handler may be used. Finally, the Open Command box contains scripted commands which will be run by the handler to open the file(s), or perform any other function.

    MIME Type
    This text box contains a space-separated list of MIME types (such as text/plain), which is used to associate the handler with those file types. Wildcards, such as asterisk '*' to represent multiple characters, and question mark '?' to represent a single character, are accepted. For example, a MIME type of "video/*" will specify all video files. A handler must have a MIME Type or a Pathname pattern (see below), or it will not be used.

    Pathname
    This text box contains a space-separated list of pathname globs to be used in addition to MIME type to identify files compatible with this handler. For example, a Pathname pattern of "*.avi" will cause all AVI video files to be associated with this handler. Note that the full pathname of the file (eg /home/user/videos/movie.avi) is tested against the pattern, so for advanced uses the pattern may contain directory parts (eg /home/user/videos/*.avi) to control how files in specific locations are handled.

    Open Command
    This text box contains the commands which will be run if this handler is selected to open one or more files. The command(s) are run as a bash script, and may contain any valid bash syntax (version 4, or any greater version of bash you have installed). If the Run As Task option is checked, the script will be run synchronously (will appear in the Task Manager), and any error will be shown in a popup. If the Run In Terminal option is checked, the script will be run in your configured terminal emulator window (which allows the user to enter information). You can also edit the commands in your configured editor by clicking on Edit in the upper-right corner, or press Alt-Enter while the cursor is in the box (remember to save the script in your editor when finished).

    Several variables will be replaced before your commands are run:

    %F selected files
    %f first selected file
    %N selected filenames
    %n first selected filename
    %d current directory
    %v selected device (eg /dev/sda1)
    %m device mount point (eg /media/dvd)
    %a auto create mount point

    The presence of %a will cause SpaceFM to create a new directory to be used as a mount point (eg ~/.cache/spacefm/mountpoint, and %a will be replaced with the directory path. This can be used to mount files (eg iso files). When the device is unmounted, this mount point will be removed. For example, this command will mount an iso file using fuseoiso and open the mount point directory in SpaceFM:

        fuseiso %f %a && spacefm %a &

    In addition to the above variables, SpaceFM's exported bash variables may be used, as well as all the substitution variables defined in Command Line.

    When running your commands in a terminal, if you need to keep the terminal open after your command finishes, you can include these lines at the end of your command:

        echo -n '[ Finished ]  Press Enter to close:'
        read
    

    To test your handler commands, run the spacefm program in a terminal, and observe the output as SpaceFM is opening files. This will show you the handlers chosen, and the commands exactly as they are issued.

    Contents Options & Defaults

    Each handler configuration window includes Options and Defaults buttons.

    Pressing Defaults will restore the current handler to default values. The handler must be a built-in default handler for this button to be enabled.

    The Options button opens a popup menu which provides the following options. Note that selecting any of these options automatically clicks Apply first if changes have been made to the current handler.

    Export
    Export allows you to save a handler to a plugin file which can be imported into any version of SpaceFM 1.0.3 or later.

    Import File
    Import File opens a file chooser dialog for you to select a plugin file to import. If the plugin file is a handler, it will be imported into the appropriate list (the Device, Protocol, Archive, or File handlers list). If the plugin file is not a handler, it will be imported to the design clipboard.

    Import URL
    Like Import File, Import URL imports a handler (or other) plugin, except you are asked to enter the URL of the handler plugin file instead of selecting a local file. wget must be installed for downloading the file.

    Restore Default Handlers
    Restore Default Handlers will replace any missing default handlers that have been removed from the handlers list, and will also ask if you want to overwrite all existing default handlers. If you answer yes, all default handlers will be reset. If you answer no, only missing handlers will be added. Any custom handlers you have added are not affected.

    Dialog
    Contents Introduction

    SpaceFM Dialog is a built-in feature of SpaceFM which allows you to easily create and control custom GTK dialogs. Typically such dialogs are shown from scripts to gather information from the user. SpaceFM Dialog allows scripts to easily use much of the power of GTK - a dialog can be as simple as a single message prompt or as complex as a mini-app with lists, editors, and other widgets.

    Dialog elements can have associated commands which are run when the user takes an action (such as pressing a button ), and internal commands can be used to modify the dialog elements while the dialog is running. When SpaceFM Dialog exits, it writes variables to stdout which can be evaluated directly in bash, or easily parsed in other languages.

    Although SpaceFM Dialog is relatively easy to use, this portion of the manual assumes you have a basic understanding of command lines and scripts. If you don't, try some of the examples and also consult the Bash Scripting Guide for reference.

    All of the example commands in this section can be pasted as-is into your terminal for a demonstration.

    Contents Invocation

    SpaceFM Dialog runs as a separate instance, whether other instances of SpaceFM are running or not. This means you can use SpaceFM Dialog from within custom command scripts in SpaceFM, or in other scripts which run independently.

    Help Reference

    To see SpaceFM Dialog's help reference, run:

    $ spacefm -g help
    SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you
    specify on the command line, features run-time internal/external commands which
    can modify elements, and outputs evaluatable/parsable results.
    Usage:
        spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...
    Example:
        spacefm -g --label "A message" --button ok
    
    ELEMENT:       OPTIONS & ARGUMENTS:
    --------       --------------------
    --title        TEXT|@FILE
                   Set window title
    --window-icon  ICON|@FILE
                   Set window icon
    --label        [--wrap|--nowrap] LABEL|@FILE
                   Add a text label
    --button       LABEL[:ICON]|STOCK|@FILE [COMMAND...]
                   Add STOCK dialog button, or LABEL button with ICON
    --free-button  LABEL[:ICON]|STOCK|@FILE [COMMAND...]
                   Add STOCK button, or LABEL button with ICON anywhere
    --input        [--select START[:END]] [TEXT|@FILE [COMMAND...]]
                   Add a text entry
    --input-large  [--select START[:END]] [TEXT|@FILE [COMMAND...]]
                   Add a large text entry
    --password     [TEXT|@FILE [COMMAND...]]
                   Add a password entry
    --viewer       [--scroll] FILE|PIPE [SAVEFILE]
                   Add a file or pipe viewer
    --editor       [FILE [SAVEFILE]]
                   Add multi-line text editor
    --check        LABEL [VALUE|@FILE [COMMAND...]]
                   Add a checkbox option
    --radio        LABEL [VALUE|@FILE [COMMAND...]]
                   Add a radio option
    --icon         ICON|@FILE [COMMAND...]
                   Add an icon
    --image        FILE|@FILE [COMMAND...]
                   Add an image
    --progress     [VALUE|pulse|@FILE]
                   Add a progress bar
    --hsep         ( no arguments )
                   Add a horizontal line separator
    --vsep         ( no arguments )
                   Add a vertical line separator
    --timeout      [DELAY|@FILE]
                   Automatically close window after DELAY seconds
    --drop         {TEXT... --}|@FILE [DEFAULT|+N|@FILE [COMMAND...]]
                   Add a drop-down list.  COMMAND run when clicked.
    --combo        {TEXT... --}|@FILE [DEFAULT|+N|@FILE [COMMAND...]]
                   Add a combo list.  COMMAND run when Enter pressed.
    --list         {[^HEAD[:TYPE]] [--colwidth=W] TEXT... --}|@FILE [COMMAND...]]
                   Add a list box.  COMMAND run when double-clicked.
    --mlist        {[^HEAD[:TYPE]] [--colwidth=W] TEXT... --}|@FILE [COMMAND...]]
                   Add a list box with multiple selections
    --chooser      [CHOOSER-OPTIONS] [DIR|FILE|@FILE [COMMAND...]]
                   Options: [--save] [--dir] [--multi] [--filter F[:F...]]
    --prefix       NAME|@FILE
                   Set base variable name  (Default: "dialog")
    --window-size  "WIDTHxHEIGHT [PAD]"|@FILE
                   Set minimum width, height, padding (-1 = don't change)
    --hbox         [--compact] [PAD|@FILE]
                   Add following widgets to a horizontal box
    --vbox         [--compact] [PAD|@FILE]
                   Add following widgets to a vertical box
    --close-box
                   Close the current box of widgets
    --keypress     KEYCODE MODIFIER COMMAND...
                   Run COMMAND when a key combination is pressed
    --click        COMMAND...
                   Run COMMAND when an element is clicked or focused
    --window-close COMMAND...
                   Run COMMAND on window close attempt
    --command      FILE|PIPE [COMMAND...]
                   Read commands from FILE or PIPE.  COMMAND for init.
    
    The following arguments may be used as shown above:
        STOCK    ok|cancel|close|open|yes|no|apply|delete|edit|help|save|stop
        ICON     An icon name, eg:  gtk-open
        @FILE    A text file from which to read a value.  In some cases this file
                 is monitored, so writing a new value to the file will update the
                 element.  In other cases, the file specifies an initial value.
        SAVEFILE A viewer's or editor's contents are saved to this file.
        COMMAND  An internal command or executable followed by arguments. Separate
                 multiple commands with a -- argument.
                 The following substitutions may be used in COMMANDs:
                     %n           Name of the current element
                     %v           Value of the current element
                     %NAME        Value of element named NAME (eg: %input1)
                     %(command)   stdout from a bash command line
                     %%           %
        LABEL    The following escape sequences in LABEL are unescaped:
                     \n   newline
                     \t   tab
                     \"   "
                     \\   \
                 In --label elements only, if the first character in LABEL is a
                 tilde (~), pango markup may be used.  For example:
                     --label '~This is plain. <b>This is bold.</b>'
    
    In addition to the OPTIONS listed above, --compact or --expand options may be
    added to any element.  Also, a --font option may be used with most element
    types to change the element's font and font size.  For example:
        --input --font "Times New Roman 16" "Default Text"
    
    INTERNAL COMMANDS:
        noop       ( any arguments )
                   No operation - does nothing but evaluate arguments
        close      [REVERSE]
                   Close the dialog
        press      BUTTON-NAME
                   Press button named BUTTON-NAME
        set        NAME VALUE
                   Set element NAME to VALUE
        select     NAME [VALUE]
                   Select item VALUE (or first/all) in element NAME
        unselect   NAME [VALUE]
                   Unselect item VALUE (or all) in element NAME
        focus      [NAME [REVERSE]]
                   Focus element NAME
        hide       NAME [REVERSE]
                   Hide element NAME
        show       [NAME [REVERSE]]
                   Show element NAME if previously hidden
        disable    NAME [REVERSE]
                   Disable element NAME
        enable     NAME [REVERSE]
                   Enable element NAME if previously disabled
        source     FILE
                   Save files and write source output to FILE
    

    Usage
    The command line accepts any number of elements:

        spacefm -g ELEMENT [OPTIONS] [ARGUMENTS] \
    	       ELEMENT [OPTIONS] [ARGUMENTS] \
    	       ELEMENT [OPTIONS] [ARGUMENTS] \
    	       ...
    where each ELEMENT has its own options and arguments. An element represents one piece of the dialog. It may be a widget, such as a label or button, or it may be an invisible element which controls how the dialog looks or behaves.

    For example, to show a dialog with a message label and an OK button, run this command:

        spacefm -g --label "This is a message." \
    	       --button ok
    Note: The forward slash (\) at the end of a line tells the terminal that the command is continued on the next line. You can select both lines above, copy them, and paste them into a terminal to run the above example; it is not necessary to copy and paste each line individually. In this manual, SpaceFM Dialog commands are always shown with at most one element on each line for clarity. These multi-line commands can also be pasted directly into scripts.

    OPTIONS may include options specific to the element type. In addition, most elements accept a --font FONTNAME option to specify a font for the widget's text. Also, all elements accept --compact or --expand options to force how an element is packed into the current box.

    Evaluating The Output
    When the above command is run, a message dialog will be shown. When the OK button is pressed, the dialog will close and the following output will be written to the terminal:

        #!/bin/bash
        # SpaceFM Dialog source output - execute this output to set variables
        # Example:  eval "`spacefm --dialog --label "Message" --button ok`"
    
        dialog_label1='This is a message.'
        dialog_pressed='button1'
        dialog_pressed_index='0'
        dialog_pressed_label='ok'
        dialog_button1='ok'
        dialog_windowsize='450x100'
    The above source output, written to stdout, is produced by the dialog to allow you to easily use element values in your script. (To get this output while the dialog is still running, use source.) If using bash or another compatible shell, you can automatically evaluate this output to set the variables. For example, you can run:
        eval "`spacefm -g --label "This is a message." \
    	              --button ok`"
    Using this method, you will no longer see the output in the terminal when the dialog closes. Instead, the output is fed into eval, which reads the variable values. A command enclosed in backticks (`), not to be confused with apostrophes ('), evaluates to a string containing the stdout output of the command. This output is then double-quoted (") and passed to eval, which interprets it (sets the variables). (Be sure to double-quote the backticks as shown above or some data may be lost!)

    After running the above command, we can see the value is set:

        echo "$dialog_pressed"
        button1
    If you would like the output to also be written in the terminal, you can use the following method instead:
        out="`spacefm -g --label "This is a message." \
        	             --button ok`"
        eval "$out"   # read
        echo "$out"   # display
    The above commands place spacefm's output into the variable 'out', then pass that value to eval to set the variables, then echo writes the output to the terminal for you to see.

    Yet another method is to write the output to a file, then source the file. For example:

        spacefm -g --label "This is a message." \
    	       --button ok > /tmp/outputfile
        source /tmp/outputfile  # read
        cat /tmp/outputfile     # display
        rm /tmp/outputfile      # cleanup

    In general, anytime you need to use the dialog's variables in your script, you will want to use one of the above methods to evaluate the dialog's output. Or, if your shell doesn't support eval, you can parse the output manually.

    Contents Simple Elements

    Elements tell SpaceFM Dialog how to build your dialog. Each element is similar to a command line - it includes an element followed by arguments. When SpaceFM Dialog sees a new element on the command line, it knows the arguments for the previous element have ended.

    Most visible elements (widgets) are stacked vertically in the dialog (in a vbox), while buttons are packed horizontally at the bottom of the dialog:

      ELEMENT1
      ELEMENT2
      ELEMENT3
      BUTTON1 BUTTON2
    The following elements may be used to create dialogs:

    --title
    Usage: --title TEXT|@FILE

    The --title element sets the title of the dialog window ("SpaceFM Dialog" is the default title if no --title element is used). For example:

        spacefm -g --title "A Window Title"
    --title also accepts a file instead of a string. For example:
        echo "A Window Title" > /tmp/dialog-title
        spacefm -g --title @/tmp/dialog-title
    The "at" sign (@) indicates that a file path is being specified, and that SpaceFM Dialog should read the value from the first line of the file /tmp/dialog-title. The file is also watched for changes. This method allows you to later change the window title. As the dialog is running, in another terminal run:
        echo "Another Window Title" > /tmp/dialog-title
    and the dialog window's title will change to reflect the new value. Thus using @FILE is one method which allows you to dynamically change the dialog as its running (commands being another method).

    In commands, the value of a title element (%title1) is the title's TEXT. Also note that even if no --title element has been added to the dialog, you can later use the set command to set 'title' (no numeric suffix).

    --window-icon
    Usage: --window-icon ICON|@FILE

    The --window-icon element sets the dialog window's icon ("spacefm-48-pyramid-blue" is the default icon if no --window-icon element is used). For example:

        spacefm -g --window-icon gtk-open
    --window-icon also accepts a file instead of a string. For example:
        echo "gtk-open" > /tmp/dialog-wicon
        spacefm -g --window-icon @/tmp/dialog-wicon
    The icon name will be read from the first line of the file /tmp/dialog-wicon. The file is also watched for changes, allowing you to later change the window icon. As the dialog is running, in another terminal run:
        echo "gtk-save" > /tmp/dialog-wicon
    and the dialog window's icon will change to reflect the new value.

    In commands, the value of a window-icon (%windowicon1) is the icon name (ICON). Also note that even if no --window-icon element has been added to the dialog, you can later use the set command to set 'windowicon' (no numeric suffix).

    See also: --window-size

    --label
    Usage: --label [--wrap|--nowrap] LABEL|@FILE

    The --label element adds a GTK label widget to the dialog, which is used to display one or more lines of text, such as a message for the user or a label for an input box. For example:

        spacefm -g --label "The process is complete."
    --label also accepts a file instead of a string. For example:
        echo "The process is complete." > /tmp/dialog-label
        spacefm -g --label @/tmp/dialog-label
    The label's text will be read from the file /tmp/dialog-label (which may contain multiple lines). The file is also watched for changes, allowing you to later change the label's text. As the dialog is running, in another terminal run:
        echo "Another processs is complete." > /tmp/dialog-label
    and the text in the dialog window will change to reflect the new value in the file.

    As with most elements, you can add multiple --label elements to a dialog.

    Some escape sequences are unescaped when LABEL is read:

    \n newline
    \t tab
    \" "
    \\ \

    For example, to create a label with two lines:

        spacefm -g --label "This is line 1.\nThis is line 2."

    Note that you can also set a label to multiple lines by specifying a @FILE which contains multiple lines, in which case \n is not needed (but may be used in files too).

    Labels can also include Pango markup text, which can be used to italicize, bold, and otherwise stylize portions of text. The --label element (only) recognizes the prefix character tilde (~) to indicate that your text is Pango markup. For example:

        spacefm -g --label "~This is plain.  <b>This is bold.</b>"

    Labels accept a --wrap or --nowrap option to specify if the text in the label is to be wrapped to multiple lines. If neither option is specified, the GTK2 default is to always wrap, and the GTK3 default is to wrap unless the label is packed into an --hbox element.

    Like most elements, --label also accepts a --font option to change the font and font size of the text:

        spacefm -g --label --font "Times New Roman 16" "The process is complete."
    Note that the --font option must come directly after the --label element. In general it is best to use the default font unless your script is only intended for your own use.

    In commands, the value of a label (eg %label1) is the text of the label.

    --button
    Usage: --button LABEL[:ICON]|STOCK|@FILE [COMMAND...]

    The --button element adds a button to the dialog. All buttons are packed horizontally at the bottom of the dialog, in the order in which they are added (to add a button in the upper part of the dialog, use a --free-button instead). Most dialogs should include at least an "OK" button.

    The easiest way to add a complete button is to use a STOCK name, which may be any one of:
       ok|cancel|close|open|yes|no|apply|delete|edit|help|save|stop (in lowercase)

    For example, to add a stock OK button:

        spacefm -g --button ok
    The button will include the stock gtk-ok icon on it (taken from your icon theme), and an "OK" label.

    If you don't want to use a stock button, you can include a custom button label instead:

        spacefm -g --button _Update
    The underscore (_), which is optional, indicates that 'U' is to be shown as the shortcut key for this button (Alt-U). Also note that a button label may contain multiple lines if desired.

    You can also add an icon to your button using a colon:

        spacefm -g --button _Update:gtk-apply
    --button also accepts a file instead of a string. For example:
        echo "_Update:gtk-apply" > /tmp/dialog-button
        spacefm -g --button @/tmp/dialog-button
    The button's label and icon will be read from the first line of the file /tmp/dialog-button. The file is also watched for changes, allowing you to later change the button's appearance. As the dialog is running, in another terminal run:
        echo "close" > /tmp/dialog-button
    and the button in the dialog window will change to reflect the new value in the file.

    When the user presses a button, the dialog window will close if no COMMAND has been associated with the button. The output will include several variables to allow your script to determine what button was pressed. For example:

        dialog_pressed='button1'
        dialog_pressed_index='0'
        dialog_pressed_label='_Update:gtk-apply'
    The first, "$dialog_pressed", contains the name of the button which was pressed to close the window, in this case "button1" (the first button added). "$dialog_pressed_index" contains the index of the button. Buttons are indexed left to right, starting from 0, so the first button you add has index 0, the second index 1, etc. Finally, "$dialog_pressed_label" contains the "LABEL[:ICON]" used to create the button. Thus your script can evaluate what button was pressed and take an action, as shown in the example script below:
        #!/bin/bash
        # This script shows a Yes/No dialog
        # Use QUOTED eval to read variables output by SpaceFM Dialog:
        eval "`spacefm -g --label "Are you sure?" --button yes --button no`"
        if [[ "$dialog_pressed" == "button1" ]]; then
            echo "User pressed Yes - take some action"
        else
            echo "User did NOT press Yes - abort"
        fi
    

    Note: The stock 'cancel' button has a special function. If it is used to close the dialog (no COMMAND has been associated with the button), element @FILE values will NOT be saved. In this case, the element values written to stdout may not match the values stored in @FILEs. You can perform a source command first if you do want values to be written for @FILEs when Cancel is clicked. [Note: In SpaceFM 0.9.3 and prior, element @FILE values WERE saved when the user pressed Cancel.]

    Note: If the window is closed by the user pressing the X in the top-right corner, or by pressing Alt-F4, "$dialog_pressed" will be empty (no button was pressed) and "$dialog_pressed_index" will be -2. Also, element @FILE values will NOT be saved, as if the user clicked a Cancel button.

    If a command is added to a button, then the dialog will not necessarily close when the button is pressed. Instead, the COMMAND(s) will be run. The value of a button (eg %v, %button1, etc) is the "LABEL[:ICON]" used to create the button.

    The following example creates a dialog with a label and a button. When the button is pressed, the label is set to the current date.

        spacefm -g --label \
    	       --button 'Get Date' set label1 '%(date)'

    --free-button
    Usage: --free-button LABEL[:ICON]|STOCK|@FILE [COMMAND...]

    A --free-button element is similar to a --button, except that it is packed into the top area of the dialog like any other widget, instead of being placed in the horizontal row of buttons at the bottom.

    Like a --button, if the user presses a --free-button that has no COMMAND, the dialog window will be closed. The value of "$dialog_pressed_index" will always be -1 for a --free-button.

    --input
    Usage: --input [--select START[:END]] [TEXT|@FILE [COMMAND...]]

    An --input element adds a GTK entry widget to the dialog, which allows the user to enter text in a single-line box. This can be as simple as:

       spacefm -g --input
    If you would like the box to already have default text in it when the dialog is first shown, add your text on the command line:
       spacefm -g --input "Some default text"
    --input also accepts a file instead of a string. For example:
        echo "Some default text" > /tmp/dialog-input
        spacefm -g --input @/tmp/dialog-input --button ok
    The input's default text will be read from the first line of the file. The file is also watched for changes, allowing you to later change the input's contents. As the dialog is running, in another terminal run:
        echo "Some other text" > /tmp/dialog-input
    and the text in the input box will change to reflect the value in the file.

    Also, when the dialog is closed, the text in the input will be saved to the file. This method can be used to have the dialog remember the last text entered. The next time the dialog is run, assuming the file hasn't been deleted, the input will show the text from the previous dialog.

    A portion of the text may be selected when the dialog first opens using the --select option. By default, all of the text is selected. If you only want to select a portion, use a command like:

       spacefm -g --input --select 3:6 "Some default text"
    Note that the --select option must come directly after the --input element. The first number (START) is the first character to select, and the second number (:END), if included, is the last. So "--select 3:6" will select characters 3 thru 6. Note that counting starts from zero: the first chracter has index 0, the second 1, etc. If END is negative or omitted, text will be selected from START through the end of the text.

    --input also accepts a --font option to change the font and font size of the text:

        spacefm -g --input --font "Times New Roman 16" "Some default text"
    When the user presses Enter in an input box, one of several things may happen. If no COMMAND is associated with the input, then the right-most button at the bottom of the dialog will be automatically pressed. If the dialog has no buttons, nothing will happen.

    Or, if a command is added to the input, the COMMAND(s) will be run and no button will be automatically pressed. The value of an input (eg %v, %input1, etc) is the text in the box when the command is run.

    In SpaceFM Dialog's output, the value of an input can be read from, for example, "$dialog_input1".

    The following example creates a dialog with an input and a label. When Enter is pressed in the input box, the text of the input is copied to the label.

        spacefm -g --label "Enter some text and press Enter:" \
                   --input "" set label2 %v \
    	       --label \
    	       --button close

    --input-large
    Usage: --input-large [--select START[:END]] [TEXT|@FILE [COMMAND...]]

    An --input-large element works identically to an --input, except that the text box is larger. It still contains a single line of text, but the text may be wrapped to several display lines. Such boxes are useful for editing long lines, such as a file path.

    --password
    Usage: --password [TEXT|@FILE [COMMAND...]]

    A --password element, used to enter a password, is similar to an --input, except that the text is hidden. Also, the options --select and --font have no effect on a --password element.

    --viewer
    Usage: --viewer [--scroll] FILE|PIPE [SAVEFILE]

    A --viewer element adds a read-only multi-line text box to the dialog, and may be used to view the contents of a file or the data written to a pipe. By writing text to a temporary file, a viewer can also be used to show the user larger amounts of text which won't fit in a --label. A vertical scroll bar will automatically appear when the text exceeds the size of the box.

    To view the static or changing contents of a regular file:

        spacefm -g --viewer /etc/fstab
    Anytime the contents of the file changes, the viewer will be updated. If you always want the viewer to scroll to the end of the file (except when the user pulls the scroll handle up), include the --scroll option:
        spacefm -g --viewer --scroll /etc/fstab

    A --viewer may also be used to monitor data written to a pipe. This can be used to show the user changing information. For example:

        # First, create a pipe:
        mkfifo /tmp/dialog-pipe
        # Next, monitor the pipe:
        spacefm -g --viewer /tmp/dialog-pipe
    
    When you write text to the pipe, it will be added to the viewer box. For example, while the dialog is running, in another terminal run:
        echo "some text to a pipe" > /tmp/dialog-pipe
    Or:
        # Press Ctrl-C to cancel:
        while (( 1 )); do date > /tmp/dialog-pipe; sleep 1; done
    When the dialog is closed, the contents of the viewer are lost unless a SAVEFILE is also specified:
        spacefm -g --viewer /tmp/dialog-pipe /tmp/dialog-pipe-contents \
    	       --button ok

    In commands, the value of a viewer (eg %viewer1) is the path of the file being viewed. To change the file being viewed, use set (eg 'set viewer1 /etc/mtab'). Also note that the contents of the viewer are also saved to SAVEFILE whenever the internal command source is run.

    The following example creates a dialog with a file chooser and a viewer. When the user double-clicks a text file in the chooser, the file's contents are displayed.

        spacefm -g --label "Double-click a file to view:" \
                   --chooser --filter text/plain . set viewer1 %v \
                   --viewer \
    	       --button close

    --editor
    Usage: --editor [FILE [SAVEFILE]]

    Similar to a --viewer, an --editor element adds a multi-line text box to the dialog. Unlike a viewer, the user is able to edit the text in the box. To create an empty editor:

        spacefm -g --editor
    Or, to load a text file into the editor:
        spacefm -g --editor /etc/fstab
    When the dialog is closed, the contents of the editor are lost unless a SAVEFILE is also specified:
        spacefm -g --editor /etc/fstab /tmp/fstab-edited \
    	       --button ok
    When the above dialog is closed via the OK button, the contents of the editor will be automatically saved to /tmp/fstab-edited. Your script can then use this file to replace the original if the user pressed the appropriate button, etc.

    Note: It is possible to set FILE and SAVEFILE to the same path, in which case the original file will automatically be overwritten when the dialog is closed with any button except Cancel.

    In commands, the value of an editor (eg %editor1) is the path of the file last loaded. To load a file into the editor, use set (eg 'set editor1 /etc/mtab'). Also note that the contents of the editor are also saved to SAVEFILE whenever the internal command source is run.

    The following example creates a dialog with a file chooser and an editor. When the user double-clicks a text file in the chooser, the file's contents are displayed in the editor. If the user clicks the Save button, the editor's contents are saved to a temporary file (they are also saved when the dialog closes).

        spacefm -g --label "Double-click a file to edit a copy:" \
                   --chooser --filter text/plain . set editor1 %v \
                   --editor "" /tmp/dialog-copy \
    	       --label \
    	       --button save source /dev/null -- \
    	                     set label2 "Copy saved to /tmp/dialog-copy" \
    	       --button close

    --check
    Usage: --check LABEL [VALUE|@FILE [COMMAND...]]

    A --check element adds a checkbox and associated label to the dialog, allowing the user to check or uncheck the option. The value of the checkbox can be read from a variable when the dialog closes, or it can be used by internal commands while the dialog is running. For example:

        spacefm -g --check "Option One"
    By default, the checkbox will not have a check in it. To set a default value for the checkbox, specify "false" or "0" (unchecked), or "true" or "1" (checked). For example:
        spacefm -g --check "Option One" 1
    --check also accepts a file instead of a string for the VALUE (but not for the LABEL). For example:
        echo 1 > /tmp/dialog-check
        spacefm -g --check "Option One" @/tmp/dialog-check \
    	       --button ok
    The checkbox's default value will be read from the first line of the file. The file is also watched for changes, allowing you to later change the state of the checkbox. As the dialog is running, in another terminal run:
        echo 0 > /tmp/dialog-check
    and the checkbox state will change to reflect the value in the file.

    Also, when the dialog is closed with any button except Cancel, the state of the checkbox will be saved to the file. This method can be used to have the dialog remember the state. The next time the dialog is run, assuming the file hasn't been deleted, the checkbox will have the same state as when the previous dialog was closed.

    If a command is included, the COMMAND(s) will be run whenever the checkbox changes state, either due to the user clicking it, its @FILE value changing, or its value being set with an internal command. (The command is NOT run when the state is set to a default VALUE during dialog creation.)

    In commands, the value of a --check element (eg %check1) will equal 1 or 0, reflecting whether the box is checked or not. If internal command set is used on a --check and the value is not "0", "false", "1", or "true", the check's LABEL is set to the value (eg "set check1 "A new option label"), instead of the state being changed.

    In SpaceFM Dialog's output, the value of a check can be read from, for example, "$dialog_check1".

    The following example creates a dialog with a check and a label. If the checkbox is checked, the label is shown, otherwise it is hidden.

        spacefm -g --check "Show text" 1 show label1 %v \
                   --label "Some text"
    
    The check's value in the above command works as a reversal in the show command - if %v is "0" then label1 is hidden, otherwise it is shown.

    --radio
    Usage: --radio LABEL [VALUE|@FILE [COMMAND...]]

    A --radio element is similar to a --check, adding a radio button and associated label to the dialog, allowing the user to select or unselect the option. However, only one of a set of radio buttons may be selected at a given time - selecting one will unselect the others in the set. To add a --radio element:

        spacefm -g --radio "Apples"
    By default, the first --radio element of a set will be selected. To select another --radio element, include a default VALUE, specifying "false" or "0" (unselected), or "true" or "1" (selected). For example:
        spacefm -g --radio "Apples" 1
    Remember that only one --radio can be selected, so the last --radio element you add with a 1 VALUE will be selected.

    Consecutive --radio elements are part of the same set, until a visible non-radio element is added. For example, these elements will be part of a set:

        spacefm -g --radio "Apples"    \
    	       --radio "Oranges" 1 \
    	       --radio "Pears"
    In the above example, Oranges will be selected by default.

    As with --check elements, a @FILE may be substituted for VALUE, causing SpaceFM Dialog to read the value from the first line of the file. The state will be updated if the file is changed. The value will also be written to the file when the dialog closes.

    To have a dialog remember the selection of a radio set, you must specify a different file for each element. For example:

        spacefm -g --radio "Apples"  @/tmp/dialog-radio1 \
    	       --radio "Oranges" @/tmp/dialog-radio2 \
    	       --radio "Pears"	 @/tmp/dialog-radio3 \
    	       --button ok
    The files do not need to be created (they will be created automatically), unless you want to select an option other than the first. If you run the above command multiple times, you will note that your selection is remembered from the previously closed dialog.

    If a command is included, the COMMAND(s) will be run whenever the radio button is selected (but not when it is unselected), either due to the user clicking it, its @FILE value changing, or its value being set with an internal command. (The command is NOT run when the state is set to a default VALUE during dialog creation.)

    In commands, the value of a --radio element (eg %radio1) will equal 1 or 0. If internal command set is used on a --radio and the value is not "0", "false", "1", or "true", the radio's LABEL is set to the value (eg "set radio1 "A new option label"), instead of the state being changed.

    In SpaceFM Dialog's output, the value of each --radio in a set can be read from, for example, "$dialog_radio1", "$dialog_radio2", etc.

    --icon
    Usage: --icon ICON|@FILE [COMMAND...]

    An --icon element packs a dialog-sized icon into the dialog. ICON specifies an icon name (not a path - to use a path use --image instead). The icon is selected using your current icon theme. For example:

        spacefm -g --icon gtk-open
    --icon also accepts a file instead of a string. For example:
        echo "gtk-open" > /tmp/dialog-icon
        spacefm -g --icon @/tmp/dialog-icon
    In this case, the icon name is read from the first line of the file /tmp/dialog-icon. This file is also watched, so when its contents change, the icon will change. As the dialog is running, in another terminal run:
        echo "gtk-close" > /tmp/dialog-icon
    and the icon will change to reflect the value in the file.

    If a command is included, the COMMAND(s) will be run whenever the icon is clicked. For example:

        spacefm -g --icon gtk-open bash -c 'echo "# %n clicked %v" >&2'
    When you run the above command and click the icon in the dialog, a message will be written to the terminal showing what mouse button was pressed and the location of the click. Both values are in the element's value (%v). Note that the location is relative to the upper-left corner of the event box holding the icon, not necessarily the corner of the icon itself (pack the icon into a compact --vbox for the latter).

    In commands, the value of an --icon element (eg %icon1) when referenced from another element will equal the icon name, while the current --icon element's value (%v) will equal the mouse button and click location. If internal command set is used on an --icon, the icon name is changed.

    --image
    Usage: --image FILE|@FILE [COMMAND...]

    An --image element packs an image into the dialog. If FILE isn't found or can't be loaded, the resulting image will display a 'broken image' icon. If the file contains an animation, the image will contain an animation. Not all image formats are supported. For example:

        spacefm -g --image ~/example-image.jpg
    --image also accepts a file instead of a string. For example:
        echo "~/example-image.jpg" > /tmp/dialog-image
        spacefm -g --image @/tmp/dialog-image
    In this case, the image FILE path is read from the first line of the file /tmp/dialog-image. This file is also watched, so when its contents change, the image will change. As the dialog is running, in another terminal run:
        echo "~/another-image.jpg" > /tmp/dialog-image
    and the image will change to reflect the value in the file.

    Images are not resized. They are displayed at their full size, so only small images can be comfortably packed into a dialog. [Resizing options may be added soon - check this manual for updates.]

    If a command is included, the COMMAND(s) will be run whenever the image is clicked. For example:

        spacefm -g --image ~/example-image.jpg bash -c 'echo "# %n clicked %v" >&2'
    When you run the above command and click the image in the dialog, a message will be written to stderr of the terminal showing what mouse button was pressed and the location of the click (bash -c is required to send the output to stderr instead of stdout). Both values are in the element's value (%v). Note that the location is relative to the upper-left corner of the event box holding the image, not necessarily the corner of the image itself (pack the image into a compact --vbox for the latter).

    In commands, the value of an --image element (eg %image1) when referenced from another element will equal the image FILE path, while the current --image element's value (%v) will equal the mouse button and click location. If internal command set is used on an --image, the image path is changed.

    --progress
    Usage: --progress [VALUE|pulse|@FILE]

    A --progress element adds a progress bar to the dialog. For example:

        spacefm -g --progress
    By default, the progress bar will pulse automatically. You can also specify an initial VALUE (eg '100' or 'pulse'). To update the progress bar, it is most convenient to specify @FILE so the progress bar's value is read from FILE. For example:
        spacefm -g --progress @/tmp/dialog-progress
    The file is watched for changes. To later update the value of the progress bar:
        echo 50 > /tmp/dialog-progress
    Or, the progress bar will advance one pulse step each time you run:
        echo pulse > /tmp/dialog-progress
    Or, the progress bar will pulsate automatically if you run:
        echo auto-pulse > /tmp/dialog-progress
    Or, you can set additional text to appear in the progress bar:
        echo "25 % copying" > /tmp/dialog-progress
    Or, you can set just the progress bar length with no text in the bar (note the space):
        echo "75 " > /tmp/dialog-progress
    Or, you can set just the progress bar text, which will not change the bar length:
        echo "text" > /tmp/dialog-progress

    In commands, the value of a --progress element can be set using the internal set command (eg 'set progress1 "35 %"' or 'set progress1 pulse').

    --hsep
    Usage: --hsep

    An --hsep element adds a horizontal line separator to the dialog. The line will extend the full width of whatever box the widget is packed into.

    --vsep
    Usage: --vsep

    A --vsep element adds a vertical line separator to the dialog. The line will extend to the full height of whatever box the widget is packed into.

    --timeout
    Usage: --timeout [DELAY|@FILE]

    A --timeout element adds a Pause button to the dialog, which causes the dialog window to close automatically after DELAY seconds, unless the Pause button has been pressed.

    In commands, the timeout value can be changed while the dialog is running with 'set timeout1 VALUE'.

    In SpaceFM Dialog's output, if the window closes due to the timeout, "$dialog_pressed" will equal "timeout1", and "$dialog_pressed_index" will equal -3. (The timeout button is not indexed with the other buttons.)



    Contents List Elements

    --drop
    Usage: --drop {TEXT... --}|@FILE [DEFAULT|+N|@FILE [COMMAND...]]

    A --drop element adds a drop-down list to the dialog, allowing the user to select a single option or item in the list.

    The contents of the list can be passed to SpaceFM Dialog as arguments on the command line or as a file. To pass the list on the command line:

        spacefm -g --drop "Item One" "Item Two" "Item Three" --
    Especially if there are any arguments following the list, be sure to end the list with a '--' argument as shown above. By default, the list will have no item selected.

    To select a default item, add it to the command line after '--':

        spacefm -g --drop "Item One" "Item Two" "Item Three" -- "Item Two"
    Or, pass the index of the default item with a plus sign (+) (indexing starts counting from zero):
        spacefm -g --drop "Item One" "Item Two" "Item Three" -- +1
    To instead read the list from the lines of a text file:
        # First, create a text file containing multiple lines of text:
        echo -e "Item One\nItem Two\nItem Three" > /tmp/dialog-drop
        # Tell spacefm to load the drop list from a file:
        spacefm -g --drop @/tmp/dialog-drop
    To specify a default item, add the default item value or index number. For example:
        spacefm -g --drop @/tmp/dialog-drop +1
    The file /tmp/dialog-drop in the above example will be watched. When its contents change, the list contents will be updated to reflect the new list in the file.

    The default value, as an item value or a +N index, may also be read from the contents of a file:

        echo "Item Two" > /tmp/dialog-dropdef
        spacefm -g --drop @/tmp/dialog-drop @/tmp/dialog-dropdef \
    	       --button ok
    The file /tmp/dialog-dropdef in the above example will NOT be watched - changing its contents while the dialog is running will have no effect. However, when the dialog is closed with any button except Cancel, the currently selected item in the list will be written to the file. This will cause the dialog to remember the selected value between sessions. If you run the above spacefm command multiple times, you will note that your selection is remembered from the previously closed dialog.

    If a command is included, the COMMAND(s) will be run whenever the list selection changes. (The command is NOT run when the default item is set during dialog creation.) To include a COMMAND, be sure to include a DEFAULT value on the command line, or "" for no default.

    In commands, the value of a --drop element (eg %drop1) will equal the currently selected item in the list. If internal command set is used on a --drop element, the command will set a new file to read the list from. Or, if the set value is not a file, will select an item in the list. The internal select command can also be used to select an item in the list.

    In SpaceFM Dialog's output, the selected item of a --drop element can be read from, for example, "$dialog_drop1", and its index from "$dialog_drop1_index". (An index of -1 indicates no item is selected.)

    --combo
    Usage: --combo {TEXT... --}|@FILE [DEFAULT|+N|@FILE [COMMAND...]]

    A --combo element is similar to a --drop element, except that it adds a text entry box, so the user can either select an item from the list, or enter custom text.

    The list is created the same way as a --drop list, either with arguments on the command line, or reading the list from a file. However, the DEFAULT value will be set in the text entry box even if it isn't in the list.

    When the user presses Enter in the text entry box, one of several things may happen. If no COMMAND is associated with the input, then the right-most button at the bottom of the dialog will be automatically pressed. If the dialog has no buttons, nothing will happen.

    Or, if a command is included, the COMMAND(s) will be run when the user presses Enter in the text entry box, and no button will be automatically pressed. To include a COMMAND, be sure to include a DEFAULT value on the command line, or "" for no default.

    In commands, the value of a --combo element (eg %combo1) will equal the text in the entry box. If internal command set is used on a --combo element, the command will set a new file to read the list from. Or, if the set value is not a file, will set the text in the entry box. The internal select command can also be used to set the text in the box, and the unselect command will clear the text.

    In SpaceFM Dialog's output, the entry box text of a --combo element can be read from, for example, "$dialog_combo1", and its index from "$dialog_combo1_index". The index will be set only if the user selects an item from the list, otherwise it will be -1 (even if the text in the entry box equals an item in the list).

    --list
    Usage: --list {[^HEAD[:TYPE]] [--colwidth=W] TEXT... --}|@FILE [COMMAND...]]

    A --list element adds a list box to the dialog, which includes a scroll bar when the list is long, and allows the user to select a single item or no item in the list. The list is created similarly to a --drop or --combo list, either with arguments on the command line, or reading the list from a file. However, no default item may be selected on the command line, and several additional, optional components may be added.

    To create a simple list:

        spacefm -g --list "Item One" "Item Two" "Item Three" --
    Or, in a script, you can create an array and populate the list from the array. For example:
        #!/bin/bash
        # This script creates a list from an array
    
        alist=( "Item One" "Item Two" "Item Three" )
        eval "`spacefm -g --list "${alist[@]}" -- --button ok`"
        if (( dialog_list1_index != -1 )); then
            echo "Item selected: $dialog_list1"
            echo "Index selected: $dialog_list1_index = ${alist[dialog_list1_index]}"
        else
            echo "No item selected."
        fi
    
    The above method has the advantage that the list indices match your array indices.

    Or, create a text file and read the list from it:

        # First, create a text file containing multiple lines of text:
        echo -e "Item One\nItem Two\nItem Three" > /tmp/dialog-list
        # Tell spacefm to load the list from a file:
        spacefm -g --list @/tmp/dialog-list
    The file /tmp/dialog-list in the above example will be watched. When its contents change, the list contents will be updated to reflect the new list in the file.

    Lists can also contain multiple columns. Column headers are used to both set the column header label, and to define when a new column begins. A column header is an argument that begins with a caret (^). For example:

        spacefm -g --list ^Letter A B C ^Number 1 2 3 --
    The above command will create a list with three rows and two columns, where "Letter" and "Number" are column headers. By adding column headers, the list also becomes sortable - the user can click on a column header to sort by that column (and click again for a descending vs. ascending sort).

    You can also set a column width if desired. Include a --colwidth=WIDTH option anywhere after the start of a column. (Columns have a minimum width of 50.) For example:

        spacefm -g --list ^Letter A B C ^Number --colwidth=200 1 2 3 --

    Usually it's easier to create a multi-column list using a file. For example, create a text file with these contents:

    
    ^Letter
    A
    B
    C
    ^Number
    --colwidth=200
    1
    2
    3
    
    Save the above text to a file named '/tmp/dialog-list'. Note that the --colwidth option must be placed on a line by itself in a file. Then load the file:
    	 spacefm -g --list @/tmp/dialog-list
    It's also possible to set a data type for a column. Data types include 'string' (the default type if none is specified), 'int' (integer), 'double' (a double-precision floating point number), and 'progress' (a progress bar with values ranging 0-100). Different data types will be displayed and sorted differently. To define a data type for a column, include it in the column header after a colon. For example, edit the '/tmp/dialog-list' so it contains this list with three columns:
    
    ^Job
    A
    B
    C
    ^Number:int
    1
    2
    3
    ^Complete:progress
    35
    75
    90
    
    In the above example, the "Job" column is type 'string', the "Number" column contains integers, and the "Complete" column will show progress bars. Once again, show the list:
    	 spacefm -g --list @/tmp/dialog-list
    Note: If you want a column header to end with a colon (eg "Number:"), and you want to define a data type, use two colons (eg "Number::int").

    If a command is included, the COMMAND(s) will be run when the user double-clicks an item in the list. If no COMMAND is included, double-clicking an item in the list will automatically press the right-most dialog button, if present.

    In commands, the value of a --list element (eg %list1) will equal the currently selected item (first column data, or hidden column - see below). If internal command set is used on a --list element, the command will set a new file to read the list from. The internal select command will select an item in the list, and the unselect command will unselect any selection.

    In SpaceFM Dialog's output, the selected item can be read from, for example, "$dialog_list1", and its index from "$dialog_list1_index" (-1 if nothing is selected).

    It's also possible to set a hidden data column to be used for return values. Rather than returning the first column data of the selected item, the hidden column data will be returned. To set a hidden column, name the first column header "HIDE" (uppercase) (with optional data type :TYPE). For example:

    
    ^HIDE
    return1
    return2
    return3
    ^Job
    A
    B
    C
    ^Number:int
    1
    2
    3
    ^Complete:progress
    35
    75
    90
    
    The above list still has only three visible columns. The values in the "HIDE" column will be returned in the dialog's output, and in commands. For example, save the above list as '/tmp/dialog-list' and run:
    	 spacefm -g --list @/tmp/dialog-list bash -c 'echo "# %n = %v" >&2'
    When you double-click an item in the list, the return value will be printed to the terminal (eg "# list1 = return2"). bash -c is required to send the output to stderr instead of stdout.

    --mlist
    Usage: --mlist {[^HEAD[:TYPE]] [--colwidth=W] TEXT... --}|@FILE [COMMAND...]]

    An --mlist element behaves like a --list except that multiple items may be selected. (To select more than one item, hold down Ctrl and click, or hold down Ctrl and press arrows keys and Space to select.)

    In SpaceFM Dialog's output, the --mlist element variable (eg "$dialog_mlist1") is set to an array containing all selected items, and the index variable (eg $dialog_mlist1_index) is set to an array containing the indices of all selected items. For example:

    #!/bin/bash
    # This script creates an mlist from an array
    
    alist=( Aaa Bbb Ccc Ddd Eee Fff Ggg Hhh )
    eval "`spacefm -g --mlist "${alist[@]}" -- --button ok`"
    if [[ "${dialog_mlist1[0]}" != "" ]]; then
        echo "Selected items:"
        for item in "${dialog_mlist1[@]}"; do
    	echo "    $item"
        done
    else
        echo "No item selected."
    fi
    
    In commands, the --mlist element's value (eg %v, %mlist1) is set to a list of quoted values (eg 'Aaa' 'Bcc' 'Ccc') which can be passed to an executable's command line.

    --chooser
    Usage: --chooser [CHOOSER-OPTIONS] [DIR|FILE|@FILE [COMMAND...]]
    Chooser Options: [--save] [--dir] [--multi] [--filter F[:F...]]

    A --chooser element adds a GTK file chooser to the dialog, which includes a file list, recent places list, and other widgets as a group, allowing the user to select or enter the name of a file or directory. Filters can be added to control what types of files are displayed.

    To allow the user to select a file which already exists:

         spacefm -g --chooser

    If no path is specified, the chooser will open in "Recently Used". You can add a directory to the command line to make the chooser open in a default directory, or add a file path to select a file by default. For example:

         spacefm -g --chooser /etc/fstab

    The default file or directory can also be read from a file. For example:

        echo "/etc/fstab" > /tmp/dialog-chooser
        spacefm -g --chooser @/tmp/dialog-chooser \
                   --button ok
    In the above example, the file '/tmp/dialog-chooser' will be watched. When its contents change, the chooser will change directory and/or select a file to reflect the new value on the first line of the file. When the dialog is closed with any button except Cancel, the current directory of the chooser will be written to the file. Thus the next time the dialog opens, it will open to the same directory.

    To allow the user to select multiple files, add the --multi option (all options must precede any arguments):

         spacefm -g --chooser --multi /etc

    To allow the user to select a directory which already exists:

         spacefm -g --chooser --dir
    To allow the user to select multiple directories:
         spacefm -g --chooser --dir --multi

    To allow the user to select an existing file, or enter a filename that doesn't exist (to save a file, for example):

         spacefm -g --chooser --save

    To allow the user to select an existing directory, or enter a directory name that doesn't exist (to create a directory, for example):

         spacefm -g --chooser --dir --save
    Note that it is up to your script to determine if a file already exists before overwriting it, or to prompt the user for overwrite confirmation.

    Filters can be added to control what types of files are displayed. The F value in a filter can be a MIME type (eg "text/plain" or "video/*") or a filename pattern (eg *.txt). For example, to allow the user to choose only files with MIME type "text/plain":

         spacefm -g --chooser --filter text/plain
    Or to allow the user to select only files ending in ".avi":
         spacefm -g --chooser --filter '*.avi'
    Multiple filters can be added. The user will be able to select the desired filter from a drop-down list in the chooser. For example:
         spacefm -g --chooser --filter '*.avi' --filter video/x-matroska
    A single filter can include multiple types or patterns separated by a colon. For example:
         spacefm -g --chooser --filter '*.avi:*.mpg:video/*'
    More than one --chooser element can be added to a dialog.

    If a command is included, the COMMAND(s) will be run when the user double-clicks a file in the list. In commands, the value of a --chooser element (eg %v, %chooser1) will equal the currently selected file or files. If internal command set is used on a chooser, the command will change directory (and/or select a file). The select and unselect commands can be used to select and unselect files.

    In SpaceFM Dialog's output, the selected file(s) can be read from, for example, "$dialog_chooser1", and the current directory from "$dialog_chooser1_dir". Note that in some cases, such as when the chooser is in "Recently Used", "$dialog_chooser1_dir" will be null. Also, if the --multi option is used, "$dialog_chooser1" will be an array containing the selected paths.



    Contents Non-Visible Elements

    The following elements control how the dialog appears or behaves, and how other elements are packed into the dialog, but don't add a visible widget to the dialog:

    --prefix
    Usage: --prefix NAME|@FILE

    --prefix is a non-visible element which sets the base variable name that SpaceFM Dialog will use when writing output. By default, the base name is "dialog" (eg "$dialog_pressed"). In some cases you may want to use another name, especially if your script uses multiple dialogs. For example:

        spacefm -g --prefix var
    In this case, the output will use variables such as "$var_pressed" instead.

    As with many elements, --prefix also accepts a file instead of a string, and will read the value from the first line of the file. For example:

        echo "var" > /tmp/dialog-prefix
        spacefm -g --prefix @/tmp/dialog-prefix
    The "at" sign (@) indicates that a file path is being specified, and that SpaceFM Dialog should read the value from the first line of the file /tmp/dialog-prefix. The file is not watched or modified, but its value is not read until output is produced.

    --window-size
    Usage: --window-size "WIDTHxHEIGHT [PAD]"|@FILE

    The --window-size element sets a minimum WIDTH and/or HEIGHT for the dialog window. This element is used to make the window larger by default. If WIDTH or HEIGHT is negative, that dimension's minimum remains unchanged.

    For example, to make the minimum window size 800x600:

        spacefm -g --window-size 800x600
    Note that depending on the other elements added, the window may grow larger than the minimum size specified. Also, window managers are capable of overriding the default size request.

    Or, to only set a minimum width of 800, leaving the height at the default:

        spacefm -g --window-size 800x-1

    A padding amount can also be included.. This sets the amount of empty space around widgets (0-20 is a reasonable range of values for PAD, 4 is the default). For example:

        spacefm -g --window-size "800x600 10"
    IMPORTANT: The --window-size element must come before other elements on the command line for the padding value to have an effect.

    The minimum window size and padding can also be read from a file:

        spacefm -g --window-size @/tmp/dialog-wsize \
    	       --button ok
    When the file is changed, the window will be resized to the specified size. As the dialog is running, in another terminal run:
        echo 500x500 > /tmp/dialog-wsize
    and the window will be resized. (Note that the padding will not change once the dialog is running.) Also, when the dialog closes, the window size (and padding if specified) are written to the file. Thus when the dialog is next run, it will be at least whatever size the user last resized the window to.

    In commands, you can resize the window by using the internal set command on 'windowsize' (eg 'set windowsize 800x600'), even if you have not added a --window-size element.

    In SpaceFM Dialog's output, you can always read the window's last size (and padding if specified) from "$dialog_windowsize" (no numeric suffix), even if you have not added a --window-size element. To get the current size while the window is running, use the source command.

    See also: --title and --window-icon

    --hbox
    Usage: --hbox [--compact] [PAD|@FILE]

    The --hbox and --vbox elements allow to you create more sophisticated-looking dialogs. Instead of all elements being stacked vertically in the dialog, one after another, boxes also allow you to arrange elements horizontally in rows. You can also pack boxes within boxes. For example, a vertical box of small elements might be packed into a horizontal box of other elements.

    Boxes are invisible containers that hold elements - you can't actually see the box itself, only its affect on the elements within it. They come in two varieties: a vbox (vertical box) arranges its child elements in a vertical stack, while an hbox (horizontal box) arranges its child elements in a row.

    When you add an element to a dialog, it is packed into the current box of the dialog. The current box refers to whatever box was last added to the dialog. Or, if no boxes have been added, the current box is the default vbox of the dialog. Thus if you add no box elements, all elements are arranged vertically in a dialog.

    An --hbox element packs a new hbox into the current box. The hbox then becomes the new current box. Any widgets you add after the --hbox element will be packed into it, and thus arranged in a row. For example:

        spacefm -g --hbox \
                   --free-button "Button1" \
                   --free-button "Button2" \
                   --free-button "Button3"
    In the above command, the initial --hbox element is packed into the default vbox of the dialog. Then, the buttons are packed into the hbox, and are thus arranged in a row.

    When you are done adding elements to the hbox, you can close the box if you have other elements to add. When the box is closed, the current box becomes the previous box, in this case the default vbox of the dialog again. So any elements added after the box closure will again be stacked vertically in the dialog. For example:

        spacefm -g --hbox \
    	       --free-button "Button1" \
    	       --free-button "Button2" \
    	       --free-button "Button3" \
    	       --close-box \
                   --free-button "Button4" \
                   --free-button "Button5"
    You will notice that if you resize the above window, the row of buttons expand vertically. For some elements (like a --list or a --viewer) this is desirable, since the elements expand to fill the window. For other elements, such as buttons, you don't normally want this expansion. By default, an hbox will expand vertically consuming available window space, giving the extra space to its children, who in turn expand. If you don't want the hbox to consume extra vertical space in the window, include the --compact option:
        spacefm -g --hbox --compact \
    	       --free-button "Button1" \
    	       --free-button "Button2" \
    	       --free-button "Button3" \
    	       --close-box \
                   --free-button "Button4" \
                   --free-button "Button5"
    As with all elements, the --compact option determines how much window space a box will absorb. --compact tells the box not to expand in the other dimension. For an hbox, --compact will affect the vertical dimension (height), and for a vbox, --compact will affect the horizontal dimension (width). With --compact, the box will not consume extra window space beyond what its children require as a minimum, so the children will in turn not expand. The extra space in the window will be divided among other boxes (if they can expand), or will remain empty (as in the above example). Also, whether children expand in the same dimension (horizontally in an hbox or vertically in a vbox) depends on the type of elements in the box, and whether you have included --compact or --expand options for them. The box itself will expand in the same dimension, but its children may not (as seen in the above example).

    Note: A box with no children in it will take no space - it is effectively hidden.

    Finally, a PAD value may also be added to an hbox, which adds padding (empty space) between the children. For example:

        spacefm -g --hbox 30 \
    	       --free-button "Button1" \
    	       --free-button "Button2" \
    	       --free-button "Button3"
    

    If an --hbox is hidden, all of its children become invisible.

    --vbox
    Usage: --vbox [--compact] [PAD|@FILE]

    For a general discussion of boxes, see --hbox. A --vbox element works similarly to an --hbox, except that the child elements in the box are stacked vertically rather than horizontally.

    The default box in a dialog is a vbox, so elements are added in a vertical stack. Adding a --vbox element to the dialog's default vbox will have no apparent effect. Thus these two commands create the same dialog:

        spacefm -g --free-button "Button1" \
                   --free-button "Button2" \
                   --free-button "Button3"
    
        # Produces the same dialog as:
    
        spacefm -g --vbox \
                   --free-button "Button1" \
                   --free-button "Button2" \
                   --free-button "Button3"
    
    To see the effects of a vbox, we need to pack it into an hbox containing other elements:
        spacefm -g --hbox \
                   --list AAA BBB CCC \
    	       --vbox \
    	       --check "Option Alpha" \
    	       --check "Option Beta" \
    	       --check "Option Gamma"
    
    In the above example, an hbox is first packed in the dialog. This hbox contains two elements: a list and a vbox. Since its an hbox, those elements are arranged side-by-side, in a row - the list and the vbox will be next to each other. Finally, three check options are packed into the vbox. Since its a vbox, they are stacked vertically.

    If we wanted to add another element below all of that, in the original default vbox of the dialog, we would first need to close the boxes we added:

        spacefm -g --hbox \
                   --list AAA BBB CCC \
    	       --vbox \
    	       --check "Option Alpha" \
    	       --check "Option Beta" \
    	       --check "Option Gamma" \
    	       --close-box \
    	       --close-box \
    	       --drop item
    
    A --close-box always closes the current box. In the above example, the first --close-box closes the vbox, and the second closes the hbox. (You cannot close the default vbox of the dialog, so an additional --close-box would be ignored.)

    As with an --hbox, a --compact option can be added to a --vbox to prevent it from expanding in the other dimension - horizontally. In our example this will compact the check options to the right side of the window, giving the list more horizontal space in the window:

        spacefm -g --hbox \
                   --list AAA BBB CCC \
    	       --vbox --compact \
    	       --check "Option Alpha" \
    	       --check "Option Beta" \
    	       --check "Option Gamma" \
    	       --close-box \
    	       --close-box \
    	       --drop item
    
    Finally, as with an --hbox, a PAD value may be added to a --vbox to add empty space between its children:
        spacefm -g --hbox \
                   --list AAA BBB CCC \
    	       --vbox --compact 30 \
    	       --check "Option Alpha" \
    	       --check "Option Beta" \
    	       --check "Option Gamma" \
    	       --close-box \
    	       --close-box \
    	       --drop item
    

    If a --vbox is hidden, all of its children become invisible.

    --close-box
    Usage: --close-box

    A --close-box element closes the current box of the dialog, as demonstrated in --hbox and --vbox. Elements after the --close-box will be added to the previous current box of the dialog.

    --keypress
    Usage: --keypress KEYCODE MODIFIER COMMAND...

    A --keypress element associates a key combination with a COMMAND while the dialog is running. Pressing the key combination will run the COMMAND(s), which as always may be internal, external, or a mixture of both.

    For example, to associate Ctrl+K with a command that prints a value to the terminal and updates a label:

        spacefm -g --label "Press Ctrl+K" \
                   --keypress 0x6b 0x4 bash -c 'echo "# %n %v" >&2' -- \
                                       set label1 "You pressed Ctrl+K"
    
    In the above example, "0x6b" is the KEYCODE for the 'k' key, and "0x4" is the MODIFIER for Ctrl. When Ctrl+K is pressed, "# keypress1 0x6b 0x4" is written to the terminal.

    Keycodes and modifiers may be obtained using SpaceFM's Design Mode Key Shortcut setting. Right-click on a menu or toolbar item in SpaceFM and select Key Shortcut. Press the desired key combination to see the keycode and modifier, then click Cancel.

    Multiple --keypress elements can be added to a dialog.

    In commands, the value of a --keypress element (eg %v, %keypress1) will equal the keycode and modifier.

    --click
    Usage: --click COMMAND...

    A --click element will run the COMMAND(s) when some elements are clicked, focused, or change value.

    For --label, --input, --input-large, --password, --editor, and --viewer elements, COMMAND will be run whenever the element gets focus (is clicked or focused with keyboard).

    For --drop, --combo, --list, --mlist, and --chooser elements, COMMAND will be run whenever a selection is chosen, or a --combo element's text entry box gets focus.

    For other element types that get focus, COMMAND will not be run.

    In commands, the value of a --click element (eg %v, %click1) will equal the name of the element that was focused, a space, and one or more space-separated values for the element.

    For example, to print the value of whatever element is clicked:

        spacefm -g --label "Click HERE" \
                   --list 111 222 333 -- \
    	       --input \
    	       --click bash -c 'echo %v >&2'
    
    Running the above example, when you focus an element by clicking on it, its name and value will be printed.

    Multiple --click elements can be added to a dialog. Each one can run a different command when there is a click. Or, a single --click element can run multiple commands, like any element.

    Note that %v is passed to the command line as a single argument containing multiple quoted arguments. Thus you will generally want to run it through bash in order to expand the arguments into $1, $2, etc., even when running a script. This will also allow correct handling of filenames containing spaces, etc. For example, consider this script:

        #!/bin/bash
    
        echo "NAME: $1" >&2
        name="$1"
        shift
    
        if [ "$name" == "chooser1" ]; then
            md5sum "$@" >&2
        fi
    If you run that script with this command:
        spacefm -g --chooser --multi --label Nothing \
                   --click bash -c 'md5.sh %v'
    Clicking on the "Nothing" label does nothing but print the name. Clicking on a file will show the file's md5sum. You can also click multiple files at once (using Ctrl+Click), and they will ALL be summed each time you click. Each filename is passed to the md5.sh script as a single argument ($1, $2, etc).

    --window-close
    Usage: --window-close COMMAND...

    A --window-close element runs COMMAND when the user attempts to close the dialog (usually by clicking the 'X' button in the upper right corner or using Alt-F4, etc.) The window closure will be inhibited, but COMMAND can be used to close it conditionally.

    For example:

        spacefm -g --label "You can't close this window unless you enter text:" \
                   --input \
    	       --window-close close %input1
    In the above example, the internal close command is passed the contents of the --input element, which acts as a reversal to the close command. If %input1 is empty, the close command does nothing, otherwise it closes the window.

    --command
    Usage: --command FILE|PIPE [COMMAND...]

    A --command element causes SpaceFM Dialog to monitor a regular file or a pipe for internal commands. For example, to monitor a regular file:

        spacefm -g --command /tmp/dialog-cmd
    No command will be read from the file during dialog creation even if it contains one. When you write a command to the first line of the file while the dialog is running, it will be run as an internal command. In another terminal run:
        echo "set title A Window Title" > /tmp/dialog-cmd
    Note that separate quotes should NOT be used around the third argument, even if it contains spaces.

    Or, to monitor a pipe:

        # First create the pipe:
        mkfifo /tmp/dialog-cmdpipe
        spacefm -g --command /tmp/dialog-cmdpipe
    
    Then in another terminal, write text to the pipe:
        echo "set windowsize 500x500" > /tmp/dialog-cmdpipe

    Multiple --command elements may be added if desired. This can help prevent race conditions when submitting commands rapidly, etc.

    You can use a command file or pipe from your script to get data from a running dialog by submitting a source command (eg 'source /tmp/dialog-source'). Then in your script, parse the source file:

        source /tmp/dialog-source
    Note that you may or may not need to add a small delay (eg sleep 0.1) for the source file to be written in response to your command, before reading the file.

    COMMAND, if included, specifies initialization commands for the dialog. COMMAND(s) associated with a --command element are run only once, just after the dialog is created. These are used to initialize the dialog, such as disabling or hiding some elements. (FILE|PIPE may be "" if you want to include an initialization COMMAND but don't want to watch a command file.)

    Contents Commands

    One or more commands may be associated with a SpaceFM Dialog element if the element accepts COMMAND on its command line. Most commands are run when the element is activated - a user clicks a button, double-clicks an item in a list, presses Enter in a text box, etc.

    Commands may be internal (used to internally change aspects of the dialog while it's running) or external (an executable to be run). SpaceFM Dialog recognizes its internal commands by name; any commands which are not internal are run as external.

    The COMMAND argument may represent a single command followed by its command arguments, or multiple commands each with arguments. A "--" argument is used to separate multiple commands. Both internal and external may be mixed. For example:

        spacefm -g --label "Press Button" \
    	       --button "Button" set label1 "Button was pressed" -- \
    				 bash -c 'echo "# Button %n was pressed" >&2'
    
    The --button element above includes two commands with arguments, separated by a "--" argument. The first command (set label1 "Button was pressed") is an internal command. The second command (bash -c echo...) is an external command. When the button is pressed, both commands are run - the first changes the label internally, and the second runs the echo executable to write text to stderr of the terminal. (Note that any output to stdout will be discarded because this may interfere with evaluating the output.)

    Although commands are run in the order presented, note that external commands are run asynchronously. SpaceFM Dialog runs and forgets the command, and doesn't wait for it to finish. This means later commands may run before an earlier command has finished. (To run an external command synchronously, run it inside an internal noop command's %(command) substitution.)

    Substitution Variables
    Before SpaceFM Dialog runs a command, internal or external, it replaces some variables anywhere in the command or arguments with current values. The following substitution variables are replaced:

    %n Name of the current element
    %v Value of the current element
    %NAME Value of element named NAME (eg: %input1)
    %(command) stdout from an external command
    %% %

    %n
    In the above button example, %n would equal "button1", the name of the element. Elements are named automatically as they are added. These are the same names used in the variables in SpaceFM Dialog's output.

    %v
    The value of the current element, or "my value" from the element's perspective, is substituted for %v. This is equivalent to referring to the element's own value by name (eg %button1 in the above example).

    %NAME
    %NAME is used to get the value of any other element in the dialog. For example, the text in the first --input element of a dialog is always "%input1". If element NAME does not exist, %NAME has value "". Note that the value read from an element may differ from the value used to set an element. For example, using set on a --list element sets the file path for the list. But "%list1" will contain the selected items in the list.

    %(command)
    %(command) executes an external bash command line synchronously, and is substituted with the stdout output of the command. For example:

        spacefm -g --label \
    	       --button 'Get Date' set label1 '%(date +%%D)'
    Generally, you will need to quote the '%(command)' argument as shown above when running spacefm, or the shell will misinterpret the parentheses. The command line "date +%D" (remember %% is changed to %) is run, and the output is substituted.

    IMPORTANT: Because the %(command) command line is run synchronously, SpaceFM Dialog will wait until it finishes. While it's waiting, the dialog GUI and other functions will be suspended. If the command takes an appreciable amount of time, you will notice the GUI lags or hangs. Thus fast commands work best.

    Also, if you want to run an external command synchronously, you can run it inside an internal command with %(command). The noop command, which does nothing except evaluate arguments, is good for this, eg noop '%(command)'. In this case, the stdout output will be discarded, but the command will be run synchronously.

    Note that a small bash script can be run directly inside a %(command) substitution. For example:

    spacefm -g --check Option 0                                                      \
    		   set label1 '%( echo -n Option is\ ;                  \
    				  (( %v )) && echo checked || echo unchecked )' \
    	   --label "Option is unchecked"
    


    Contents Internal Commands

    Internal commands are run internally by the dialog to change elements while the dialog is running. They can be included as part of an element's COMMAND arguments, or submitted from an external process using a --command element.

    The following internal commands may be used:

    noop
    Usage: noop

    The noop (no operation) command simply does nothing, but its arguments, if any, are evaluated.

    One use for a noop command is to prevent a dialog closing when a button or other element is activated. Buttons will automatically close the dialog when pressed if no COMMAND is included. Other elements, such as lists and inputs, will press the right-most dialog button to close the dialog when they are activated if no COMMAND is included. To prevent this behavior, you can set COMMAND to noop. For example:

        spacefm -g --button ok noop
    Another use for the noop command is to evaluate arguments. This can be used to run an external command synchronously as detailed in %(command) substitution. For example:
        spacefm -g --button ok noop '%(myscript)' -- close
    In the above example, when the OK button is pressed, first 'myscript' will be run synchronously (an imaginary script which does something critical before closure). SpaceFM Dialog will wait for it to finish. Then and only then, the 'close' command will close the dialog.

    close
    Usage: close [REVERSE]

    The close command simply closes the dialog window, as if the user clicked the X in the top-right corner or used Alt+F4. $dialog_pressed_index will equal -2.

    REVERSE, if supplied and equal to "", "0", or "false", causes the close command to do nothing. This can be used with the value from another element, for example, to make the close command conditional. For example:

        spacefm -g --label "You can't close this window unless you enter text:" \
                   --input \
    	       --window-close close %input1
    Note: Element @FILE values are NOT saved when the dialog is closed via the close command (or via a SIGQUIT signal, etc). You can perform a source command first if you want values to be written for @FILEs. [Note: In SpaceFM 0.9.3 and prior, the close command DID save element @FILE values.]

    press
    Usage: press BUTTON-NAME

    The press command presses a button in the dialog, just as if the user clicked it. It is passed the name of the button to press. For example:

        spacefm -g --icon gtk-ok press button1 \
    	       --button ok
    When the above command is run and the icon is clicked, the OK button will be pressed, closing the dialog ($dialog_pressed = button1).

    Other elements, if no COMMAND is included, will press the right-most dialog button when activated. The press command can also be used to press another button instead.

    set
    Usage: set NAME VALUE

    The set command sets a new VALUE for the element named NAME. What effect this has will depend on the type of element. For most elements, set will change what they are displaying or their state. For details on how a particular element handles set, see the element's documentation.

    For example:

        spacefm -g --label "Press Button" \
    	       --button "Button" set label1 "Button was pressed"
    

    select
    Usage: select NAME [VALUE]

    The select command is used to select an item in any kind of list, or if no VALUE is supplied, all items are selected if possible. select can also be used to select a filename in a --chooser, or set the text in a --combo.

    For example:

        spacefm -g --list AAA BBB CCC \
                   --button "Select CCC" select list1 CCC \
    	       --button ok

    unselect
    Usage: unselect NAME [VALUE]

    The unselect command is used to unselect an item in any kind of list, or if no VALUE is supplied, all items are unselected. unselect can also be used to unselect a filename in a --chooser, or clear the text in a --combo.

    For example:

        spacefm -g --mlist AAA BBB CCC \
    	       --command "" select mlist1 \
                   --button "Unselect All" unselect mlist1 \
    	       --button ok

    focus
    Usage: focus [NAME [REVERSE]]

    The focus command gives the element NAME the focus in the dialog. The focused element receives keyboard input.

    If no NAME argument is included, the dialog window is presented (this may mean raising the window in the stacking order, deiconifying it, and/or moving it to the current desktop, depending on window manager settings).

    REVERSE, if supplied and equal to "", "0", or "false", causes the focus command to do nothing. This can be used with the value from a --check element, for example, to make the focus command conditional.

    hide
    Usage: hide NAME [REVERSE]

    The hide command makes the element named NAME invisible. A hidden element takes no space, so other elements may shift position or size in response to an element being hidden. hide can be used to hide or show dialog elements conditionally in a certain mode or use of the dialog.

    REVERSE, if supplied and equal to "", "0", or "false", causes the hide command to have the reversed effect (it becomes a show command). This can be used with the value from a --check element, for example, to make the hide command conditional.

    show
    Usage: show [NAME [REVERSE]]

    The show command makes the element named NAME visible. All elements are visible by default, so a show command only has an effect if an element was previously hidden with hide (or a reversed show).

    If no NAME argument is included, the dialog window is presented (this may mean raising the window in the stacking order, deiconifying it, and/or moving it to the current desktop, depending on window manager settings).

    REVERSE, if supplied and equal to "", "0", or "false", causes the show command to have the reversed effect (it becomes a hide command). This can be used with the value from a --check element, for example, to make the show command conditional. For example:

        spacefm -g --check "Show text" 1 show label1 %v \
                   --label "Some text"
    

    disable
    Usage: disable NAME [REVERSE]

    The disable command sets the element named NAME insensitive (grayed). A disabled element cannot be clicked or used by the user.

    REVERSE, if supplied and equal to "", "0", or "false", causes the disable command to have the reversed effect (it becomes an enable command). This can be used with the value from a --check element, for example, to make the disable command conditional.

    enable
    Usage: enable NAME [REVERSE]

    The enable command sets the element named NAME sensitive (not grayed). All elements are enabled by default, so an enable command only has an effect if an element was previously disabled with disable (or a reversed enable).

    REVERSE, if supplied and equal to "", "0", or "false", causes the enable command to have the reversed effect (it becomes a disable command). This can be used with the value from a --check element, for example, to make the enable command conditional.

    For example (you can't click OK unless you select a function):

        spacefm -g --label "Select a function and click OK:"           \
                   --drop "Function A" "Function B" "Function C" -- "" \
    	              enable button1 %v                            \
    	       --button ok                                         \
    	       --command "" disable button1
    
    In the above example, the drop's %v equals "", reversing the enable, unless a function is selected. The --command element is used to initialize the dialog by disabling button1 when the dialog is first created.

    source
    Usage: source FILE

    When a dialog closes, it saves some @FILE values, and it writes output to stdout containing variables for use in a script. The source command is used to trigger this output to be written to a file while the dialog is still running. The file can then be used as a source file in bash or a similar script, providing the script with the current state of the dialog elements.

    The source command also saves @FILEs for some elements, such as --input, which are normally only saved when the dialog closes by the user pressing a button other than Cancel. It also saves the contents of an --editor or --viewer element to SAVEFILE.

    If FILE is omitted or equals "", the output is written to stderr by the dialog process (useful for debuging). To run source with no output use 'source /dev/null'.

    Sockets
    Contents Introduction

    SpaceFM socket commands allow external processes (including custom commands) to easily communicate with a running instance of SpaceFM. They can be used to gather information about the state of the GUI, make changes to the GUI, and to run utility commands. When used in event handlers, socket commands can respond to various events in the SpaceFM window.

    When a user's first instance of SpaceFM is started, either by the user opening a window, starting a daemon instance, or starting a desktop manager daemon instance, a socket is created in /tmp for this instance. This socket is used by SpaceFM to open additional windows or tabs, and is also used to process socket commands. This allows other processes owned by the same user to communicate with the running instance.

    For example, socket commands can be used to record or change the size of a SpaceFM window; show or hide panels or side panes; resize panels, panes, and columns; select files in a given window, panel, or tab; place text or files on the clipboard; read text or files from the clipboard; place text in a panel's status bar; update the progress bar and other information displayed about running tasks, and much more.

    Contents Invocation

    To send a socket command and receive any reply, run SpaceFM with the -s (--socket-cmd) option. Any reply will be written to stdout and any errors or warnings to stderr. If an error occurs, the exit status will be set.

    Help Reference

    To see the help reference for SpaceFM's socket commands, run:

    $ spacefm -s help
    SpaceFM socket commands permit external processes (such as command scripts)
    to read and set GUI property values and execute methods inside running SpaceFM
    windows.  To handle events see View|Event Manager in the main menu bar.
    
    Usage:
        spacefm --socket-cmd|-s METHOD [OPTIONS] [ARGUMENT...]
    Example:
        spacefm -s set window_size 800x600
    
    METHODS
    -------
    spacefm -s set [OPTIONS] PROPERTY [VALUE...]
        Sets a property
    
    spacefm -s get [OPTIONS] PROPERTY
        Gets a property
    
    spacefm -s set-task [OPTIONS] TASKID TASKPROPERTY [VALUE...]
        Sets a task property
    
    spacefm -s get-task [OPTIONS] TASKID TASKPROPERTY
        Gets a task property
    
    spacefm -s run-task [OPTIONS] TASKTYPE ARGUMENTS
        Starts a new task
    
    spacefm -s emit-key [OPTIONS] KEYCODE [MODIFIER]
        Activates an item by emitting its shortcut key
    
    spacefm -s activate [OPTIONS] NAME
        Runs custom command or shows submenu named NAME
    
    spacefm -s add-event EVENT COMMAND ...
        Add asynchronous handler COMMAND to EVENT
    
    spacefm -s replace-event EVENT COMMAND ...
        Add synchronous handler COMMAND to EVENT, replacing default handler
    
    spacefm -s remove-event EVENT COMMAND ...
        Remove handler COMMAND from EVENT
    
    spacefm -s help|--help
        Shows this help reference.
    
    OPTIONS
    -------
    Add options after METHOD to specify a specific window, panel, and/or tab.
    Otherwise the current tab of the current panel in the last window is used.
    
    --window WINDOWID
        Specify window.  eg: spacefm -s set --window 0x104ca80 window_size 800x600
    --panel PANEL
        Specify panel 1-4.  eg: spacefm -s set --panel 2 bookmarks_visible true
    --tab TAB
        Specify tab 1-...  eg: spacefm -s set --tab 3 selected_filenames fstab
    
    PROPERTIES
    ----------
    Set properties with METHOD 'set', or get the value with 'get'.
    
    window_size                     eg '800x600'
    window_position                 eg '100x50'
    window_maximized                1|true|yes|0|false|no
    window_fullscreen               1|true|yes|0|false|no
    screen_size                     eg '1024x768'  (read-only)
    window_vslider_top              eg '100'
    window_vslider_bottom           eg '100'
    window_hslider                  eg '100'
    window_tslider                  eg '100'
    focused_panel                   1|2|3|4|prev|next|hide
    focused_pane                    filelist|devices|bookmarks|dirtree|pathbar
    current_tab                     1|2|...|prev|next|close
    tab_count                       1|2|...
    new_tab                         [DIR]    Open DIR or default in a new tab
    devices_visible                 1|true|yes|0|false|no
    bookmarks_visible               1|true|yes|0|false|no
    dirtree_visible                 1|true|yes|0|false|no
    toolbar_visible                 1|true|yes|0|false|no
    sidetoolbar_visible             1|true|yes|0|false|no
    hidden_files_visible            1|true|yes|0|false|no
    panel1_visible                  1|true|yes|0|false|no
    panel2_visible                  1|true|yes|0|false|no
    panel3_visible                  1|true|yes|0|false|no
    panel4_visible                  1|true|yes|0|false|no
    panel_hslider_top               eg '100'
    panel_hslider_bottom            eg '100'
    panel_vslider                   eg '100'
    column_width                    name|size|type|permission|owner|modified WIDTH
    sort_by                         name|size|type|permission|owner|modified
    sort_ascend                     1|true|yes|0|false|no
    sort_natural                    1|true|yes|0|false|no
    sort_case                       1|true|yes|0|false|no
    sort_hidden_first               1|true|yes|0|false|no
    sort_first                      files|folders|mixed
    show_thumbnails                 1|true|yes|0|false|no
    large_icons                     1|true|yes|0|false|no
    statusbar_text                  eg 'Current Status: Example'
    pathbar_text                    [TEXT [SELSTART [SELEND]]]
    current_dir                     DIR            eg '/etc'
    selected_filenames              [FILENAME ...]
    selected_pattern                [PATTERN]      eg '*.jpg'
    clipboard_text                  eg 'Some\nlines\nof text'
    clipboard_primary_text          eg 'Some\nlines\nof text'
    clipboard_from_file             eg '~/copy-file-contents-to-clipboard.txt'
    clipboard_primary_from_file     eg '~/copy-file-contents-to-clipboard.txt'
    clipboard_copy_files            FILE ...  Files copied to clipboard
    clipboard_cut_files             FILE ...  Files cut to clipboard
    
    TASK PROPERTIES
    ---------------
    status                          contents of Status task column  (read-only)
    icon                            eg 'gtk-open'
    count                           text to show in Count task column
    folder                          text to show in Folder task column
    item                            text to show in Item task column
    to                              text to show in To task column
    progress                        Progress percent (1..100) or '' to pulse
    total                           text to show in Total task column
    curspeed                        text to show in Current task column
    curremain                       text to show in CRemain task column
    avgspeed                        text to show in Average task column
    avgremain                       text to show in Remain task column
    elapsed                         contents of Elapsed task column (read-only)
    started                         contents of Started task column (read-only)
    queue_state                     run|pause|queue|stop
    popup_handler                   COMMAND  command to show a custom task dialog
    
    TASK TYPES
    ----------
    cmd [--task] [--popup] [--scroll] [--terminal] [--icon ICON] \
        [--dir DIR] COMMAND...      Run COMMAND as USER in DIR
    copy|move|link [--dir DIR] FILE|DIR... TARGET
                                    Copy|Move|Link FILE(s) or DIR(s) to TARGET dir
    delete [--dir DIR] FILE|DIR...  Recursively delete FILE(s) or DIR(s)
    edit [--as-root] FILE           Open FILE in user's or root's text editor
    web URL                         Open URL in user's web browser
    mount DEVICE|URL                Mount DEVICE or URL
    unmount DEVICE|DIR              Unmount DEVICE or mount point DIR
    
    EVENTS
    ------
    evt_start                       Instance start        %e
    evt_exit                        Instance exit         %e
    evt_win_new                     Window new            %e %w %p %t
    evt_win_focus                   Window focus          %e %w %p %t
    evt_win_move                    Window move/resize    %e %w %p %t
    evt_win_click                   Mouse click           %e %w %p %t %b %m %f
    evt_win_key                     Window keypress       %e %w %p %t %k %m
    evt_win_close                   Window close          %e %w %p %t
    evt_pnl_focus                   Panel focus           %e %w %p %t
    evt_pnl_show                    Panel show/hide       %e %w %p %t %f %v
    evt_pnl_sel                     Selection changed     %e %w %p %t
    evt_tab_new                     Tab new               %e %w %p %t
    evt_tab_chdir                   Tab change dir        %e %w %p %t %d
    evt_tab_focus                   Tab focus             %e %w %p %t
    evt_tab_close                   Tab close             %e %w %p %t
    evt_device                      Device change         %e %f %v
    
    Event COMMAND Substitution Variables:
    %e   event name (evt_start|evt_exit|...)
    %w   window ID
    %p   panel number (1-4)
    %t   tab number (1-...)
    %d   quoted directory ('/etc')
    %b   mouse button (0=double 1=left 2=middle 3=right ...
    %k   key code  (eg 0x63)
    %m   modifier key (eg 0x4  used with clicks and keypresses)
    %f   focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)
    %v   focus element is visible (0 or 1, or device state change)
    
    Examples:
    
        window_size="$(spacefm -s get window_size)"
        spacefm -s set window_size 1024x768
        spacefm -s set column_width name 100
        spacefm -s set-task $fm_my_task progress 25
        spacefm -s run-task --window $fm_my_window cmd --task --popup ls /etc
        spacefm -s run-task copy --dir /etc fstab hosts /destdir
        spacefm -r /etc; sleep 0.3; spacefm -s set selected_filenames fstab hosts
        spacefm -s set clipboard_copy_files /etc/fstab /etc/hosts
        spacefm -s emit-key 0xffbe 0   # press F1 to show Help
        spacefm -s activate --window $fm_my_window "Custom Menu"
        spacefm -s add-event evt_pnl_sel 'spacefm -s set statusbar_text "$fm_file"'
    
        #!/bin/bash
        eval copied_files="$(spacefm -s get clipboard_copy_files)"
        echo "These files have been copied to the clipboard:"
        i=0
        while [ "${copied_files[i]}" != "" ]; do
            echo "    ${copied_files[i]}"
            (( i++ ))
        done
        if (( i != 0 )); then
            echo "MD5SUMS:"
            md5sum "${copied_files[@]}"
        fi
    


    Contents Methods

    Methods represent different kinds of socket commands:

    set
    Usage: spacefm -s set [OPTIONS] PROPERTY [VALUE...]

    The set method sets a property to one or more values. Different properties accept different kinds of values. To see what values a property accepts, look the property up in the Help Reference.

    As with all methods, by default the set method will apply to the current tab in the current panel of the last used SpaceFM window. You can also specify a particular window, panel, and/or tab using the --window, --panel, and/or --tab OPTIONS. (The WINDOWID used by the --window option is obtained from the $fm_my_window bash variable.) For example:

        spacefm -s set --window $fm_my_window --panel 3 --tab 2 pathbar_text "/"
    

    Examples using the set method:

        # Set the size of the last used SpaceFM window:
        spacefm -s set window_size 1024x768
        
        # Set the size of my tasks's SpaceFM window
        spacefm -s set --window $fm_my_window window_size 1024x768
    
        # Maximize the window:
        spacefm -s set window_maximized 1
        
        # Show panel 3:
        spacefm -s set panel3_visible true
        
        # Focus panel 3:
        spacefm -s set focused_panel 3
    
        # Hide the Dir Tree:
        spacefm -s set dirtree_visible 0
        
        # Set the position of the vertical slider between panels 1 and 2:
        spacefm -s set window_vslider_top 400
    
        # Set the width of the Name column:
        spacefm -s set column_width name 100
        
        # Set the text in panel 2's status bar:
        spacefm -s set --panel 2 statusbar_text "Custom Status"
    
        # Remove the custom text in panel 2's status bar:
        spacefm -s set --panel 2 statusbar_text
    
        # Set the text in the pathbar:
        spacefm -s set pathbar_text "/etc"
        
        # Set the text in the pathbar and select it:
        spacefm -s set pathbar_text "/etc" 0
        
        # Focus the pathbar (put cursor there):
        spacefm -s set focused_pane pathbar
        
        # Change to directory '/etc':
        spacefm -s set current_dir '/etc'
    
        # Select files named 'fstab' and 'hosts', unselect others:
        spacefm -s set selected_files 'fstab' 'hosts'
    
        # Unselect all files:
        spacefm -s set selected_files
    
        # Select all files:
        spacefm -s set selected_pattern '*'
    
        # Select all jpg files, unselect others:
        spacefm -s set selected_pattern '*.jpg'
    
        # Copy text to the clipboard:
        spacefm -s set clipboard_text 'Some text'
        
        # Copy multiple lines of text to the clipboard:
        spacefm -s set clipboard_text 'Some\nlines\nof text'
        
        # Copy the contents of a text file to the clipboard:
        spacefm -s set clipboard_from_file /etc/fstab
        
        # Copy text to the primary (middle-click) clipboard:
        spacefm -s set clipboard_primary_text 'Some primary text'
    
        # Copy files to the clipboard:
        spacefm -s set clipboard_copy_files /etc/fstab /etc/hosts
    
        # Cut files to the clipboard:
        spacefm -s set clipboard_cut_files /etc/fstab /etc/hosts
    
        # Adjust sort settings:
        spacefm -s set sort_by size
        spacefm -s set sort_by name
        spacefm -s set sort_ascend false
        spacefm -s set sort_natural true
        spacefm -s set sort_first folders
    

    get
    Usage: spacefm -s get [OPTIONS] PROPERTY

    The get method gets a property's value. The reply is written to stdout.

    As with all methods, by default the get method will apply to the current tab in the current panel of the last used SpaceFM window. You can also specify a particular window, panel, and/or tab using the --window, --panel, and/or --tab OPTIONS.

    The reply to a get can be saved in a bash variable directly:

        size="$(spacefm -s get window_size)"
        echo "$size"
    
    Or, the reply can be tested directly:
        if [ "$(spacefm -s get clipboard_text)" == "" ]; then
    	echo "The clipboard is empty"
        fi
    

    Examples using the get method:

        # Is the window maximized?
        spacefm -s get window_maximized
        
        # Is panel 3 shown?
        spacefm -s get panel3_visible
        
        # Which panel is focused?
        spacefm -s get focused_panel
        
        # Is the Bookmarks pane shown in panel 4?
        spacefm -s get --panel 4 bookmarks_visible
        
        # Get the position of the vertical slider between panels 1 and 2:
        spacefm -s get window_vslider_top
    
        # Get the width of the Size column:
        spacefm -s get column_width size
        
        # Get the text in panel 2's status bar:
        spacefm -s get --panel 2 statusbar_text
    
        # Get the current directory of tab 2:
        spacefm -s get --tab 2 current_dir 
    
        # Get the text on the clipboard:
        spacefm -s get clipboard_text
        
        # Get the text on the clipboard and write it to a file:
        spacefm -s get clipboard_text > /tmp/clipboard-contents.txt
    


    When the clipboard contains cut or copied files, clipboard_text will contain the paths of the files, one per line, as text.

    Or, when getting the value of clipboard_copy_files or clipboard_cut_files, SpaceFM will reply with an array of quoted paths. For example:

        # First copy some files to the clipboard:
        spacefm -s set clipboard_copy_files /etc/fstab /etc/hosts
    
        # Now get the files on the clipboard:
        spacefm -s get clipboard_copy_files
        ('/etc/fstab' '/etc/hosts' )
    
    The returned value in the above example is intended to be saved to a bash array using eval. For example, the following script reads the copied files into an array, prints each member of the array, one per line, then calculates the MD5 sums of the files by passing the array to md5sum as a list:
        #!/bin/bash
        # Read the copied files into an array:
        eval copied_files="$(spacefm -s get clipboard_copy_files)"
    
        echo "These files have been copied to the clipboard:"
        i=0
        while [ "${copied_files[i]}" != "" ]; do
            echo "    ${copied_files[i]}"
            (( i++ ))
        done
        if (( i != 0 )); then
            echo "MD5SUMS:"
            md5sum "${copied_files[@]}"
        fi
    
    Note that when files have been copied to the clipboard, clipboard_copy_files will contain the list, and clipboard_cut_files will be empty. When files have been cut to the clipboard, clipboard_cut_files will contain the list, and clipboard_copy_files will be empty.

    Traditionally, when cut files are successfully copied to another location, you should then delete them from their original location, whereas files which have merely been copied to the clipboard are never deleted.

    Likewise, when getting the value of selected_filenames, SpaceFM will reply with an array of quoted filenames. For example:

        #!/bin/bash
        # Read the selected filenames into an array:
        eval sel_files="$(spacefm -s get selected_filenames)"
        
        echo "These filenames are selected:"
        i=0
        while [ "${sel_files[i]}" != "" ]; do
            echo "    ${sel_files[i]}"
            (( i++ ))
        done
        if (( i != 0 )); then
            cd "$(spacefm -s get current_dir)"
            echo "MD5SUMS:"
            md5sum "${sel_files[@]}"
        fi
    

    set-task
    Usage: spacefm -s set-task [OPTIONS] TASKID TASKPROPERTY [VALUE...]

    The set-task method is used to change the display values for a task, and also to stop, pause, queue, or resume a task, by setting a task property. Different task properties accept different kinds of values. To see what values a task property accepts, look the task property up in the Help Reference.

    Display values for a task are shown in the Task Manager, and also in task popup dialogs. These include such things as the Item, Total, Current, Remain, and other columns, the progress bar percentage, etc.

    As with all methods, by default the set-task method will apply to the current tab in the current panel of the last used SpaceFM window. You can also specify a particular window, panel, and/or tab using the --window, --panel, and/or --tab OPTIONS.

    The set-task method requires a TASKID, which indicates what task is being modified. There are two ways to obtain the TASKID. One is to use the exported bash variable $fm_my_task, which refers to the current command task. The other is to use $fm_task_id, which refers to the task currently selected in the task list when the current task is run. Note that a TASKID is only valid in the window in which the task is currently running, so it's generally appropriate to specify a WINDOWID ($fm_my_window) with the --window option to ensure the correct window is accessed.

    Note that when using $fm_my_task, the TASKID will not be valid when the command is first run - it usually takes about a half second for a task to appear in the task manager. If your script uses $fm_my_task immediately, it should plan for the socket command to fail until the task is shown in the task manager, or it can use a small delay (sleep 0.75) before sending task-related socket commands.

    Also, if a custom command is run from the SpaceFM desktop manager menu, note that there is no task manager or window associated with the task, so the TASKID will not be valid in socket commands.

    Examples using the set-task method:

        # Set my task's progress bar to 25%:
        spacefm -s set-task --window $fm_my_window $fm_my_task progress 25
    
        # Set the current item being processed in my task:
        spacefm -s set-task --window $fm_my_window $fm_my_task item "File 2"
    
        # Set the average speed displayed for my task (any text is valid):
        spacefm -s set-task --window $fm_my_window $fm_my_task avgspeed "10 M/s"
    
        # Pause my task:
        spacefm -s set-task --window $fm_my_window $fm_my_task queue_state pause
    

    The task property 'popup_handler', which accepts a bash command line, allows you to set a command to be run when the user clicks on the task in the Task Manager. Normally a click opens a task's popup dialog, but if popup_handler is set, that command will be run instead. This allows you to integrate your custom command's dialog into SpaceFM. The following script, to be run as a custom command script in SpaceFM, demonstrates this property's use:
        #!/bin/bash
        # Set a custom task dialog in SpaceFM.
        # Run this script as a SpaceFM custom command script.
        $fm_import
        
        # make a command pipe to talk to the dialog
        cmdpipe=/tmp/spacefm-task-dialog.pipe
        rm -f "$cmdpipe"
        mkfifo "$cmdpipe"
        
        # must wait for this task to be shown in manager before setting property
        ( sleep .75; \
          spacefm -s set-task $fm_my_task popup_handler "echo show > '$cmdpipe'" ) &
        
        # show dialog
        spacefm -g --label "\nThis window will be shown when you click on this \
        task in SpaceFM's Task Manager." \
                   --button close rm "$cmdpipe" -- close \
                   --command "$cmdpipe" \
                   --window-close rm "$cmdpipe" -- close > /dev/null
        
        # cleanup
        spacefm -s set-task $fm_my_task popup_handler
        rm -f "$cmdpipe"
        exit
    
    Running the above command script within SpaceFM will show the dialog. Anytime you click on the task in the list, the dialog will be raised. Note that the popup_handler command is only run when the user clicks on the task in the list. It is not run when the normal task popup dialog is raised due to a task's Popup settings.

    When popup_handler is set, the additional Show Output menu item will appear in the right-click context menu for the task, which opens the normal popup dialog.

    get-task
    Usage: spacefm -s get-task [OPTIONS] TASKID TASKPROPERTY

    The get-task method gets a task property's value. The reply is written to stdout. For instructions on saving the reply to a variable or testing it directly, see the examples in get.

    As with the set-task method, get-task requires a TASKID, and passing a WINDOWID is also recommended.

    Examples using the get-task method:

        # Get my task's progress bar value:
        spacefm -s get-task --window $fm_my_window $fm_my_task progress
    
        # Get the current status of my task (this is a read-only value):
        spacefm -s get-task --window $fm_my_window $fm_my_task status
    
        # Get the running state of my task (run|pause|queue):
        spacefm -s get-task --window $fm_my_window $fm_my_task queue_state
    

    run-task
    Usage: spacefm -s run-task [OPTIONS] TASKTYPE [TYPEOPTIONS] ARGUMENTS

    The run-task method is used to tell a running SpaceFM window to start a new task. A task may run an asynchronous command (run and forget), a command run as a SpaceFM task (shown in the Task Manager if it runs for more than one half second), or an internal task to copy, move, or delete files, or create links. A task can also be used to run a command in the user's configured terminal, open a file in the user's configured text editor, or open a URL in the user's web browser.

    To run a task in a particular SpaceFM window, or with the exported bash variables of a particular tab, --window, --panel, and --tab OPTIONS may be included.

    Each TASKTYPE accepts a different set of TYPEOPTIONS and ARGUMENTS, as detailed below.

    NOTE: The run-task method was added in SpaceFM 0.8.7. If sharing a plugin the user's current SpaceFM version can be examined with spacefm --version.

    cmd [--task] [--popup] [--scroll] [--terminal] [--icon ICON] [--dir DIR] COMMAND...

    The cmd (or 'command') TASKTYPE is used to run a program or bash command. Exported bash variables may be used in any COMMAND - just remember to include the $fm_import line in your command or script. Note that the contents of the variables will reflect the window, panel, and tab active for the socket command, not necessarily the focused tab of SpaceFM.

    By default COMMAND is run asynchronously (run and forgotten). It will not appear in the Task Manager, and no popup will be shown. For example:

        spacefm -s run-task cmd touch /tmp/a_new_file
    cmd also accepts the following TYPEOPTIONS:

    TYPEOPTION Use
    --task Run COMMAND as a SpaceFM task and list it in the Task Manager if it runs for more than one half second, and show a popup dialog if the command's exit status is non-zero. This is equivalent to custom command options Run As Task plus Popup Error.
    --popup Run COMMAND as a SpaceFM task and show a popup dialog if the task runs for longer than one half second or produces output or an error. This is equivalent to custom command options Run As Task plus Popup Output plus Popup Error.
    --scroll If option --task or --popup is used with --scroll, the scrollbar in the popup will be moved down, equivalent to custom command option Scroll.
    --terminal Run COMMAND in the user's configured terminal emulator. This is equivalent to custom command option Run In Terminal. Generally this option is used without --task or --popup.
    --icon ICON Use ICON as the task's icon in the Task Manager and popup dialog, where ICON is an icon name or absolute path. Not all icons may be shown due to various issues.
    --dir DIR Start COMMAND in working directory DIR. If not specified, SpaceFM's current working directory is used.

    If the --task or --popup options are used, meaning the task is run as a SpaceFM task, the command will return values for $new_task_id and $new_task_window, to be used in future socket commands for this running task. For example:

        spacefm -s run-task cmd --popup 'while true; do date; sleep 1; done'
        #!/bin/bash
        # Note: $new_task_id not valid until approx one half second after task start
        new_task_window=0x207a030
        new_task_id=0x2343150
    The output can be evaluated in one step like so (note the double-quoted backticks):
        eval "`spacefm -s run-task cmd --popup 'while true; do date; sleep 1; done'`"
        echo "Task window is $new_task_window and ID is $new_task_id."
        Task window is 0x207a030 and ID is 0x23432a0.
    Note when attempting to use $new_task_id in socket commands, the task ID will not be recognized until the task is listed in the Task Manager, which takes about one half second (if the command runs that long).

    copy|move|link [--dir DIR] FILE|DIR... TARGET

    The copy, move, and link TASKTYPEs start an internal SpaceFM task to copy, move, or create links to files and folders. The task will be listed in the Task Manager if it runs for longer than one half second. If files already exist in the TARGET directory, the SpaceFM overwrite query dialog will be shown as usual.

    FILE(s) and DIR(s) may be specified as absolute paths. Or, if the --dir DIR option is used to specify an (absolute) source directory, they may be relative to DIR. Each FILE and DIR specified must exist. TARGET, which is required as the last argument, specifies an absolute destination directory.

    For example:

        spacefm -s run-task copy /etc/fstab /etc/hosts /tmp
    The above command will copy the files 'fstab' and 'hosts' from /etc to /tmp. Also, the following command is equivalent:
        spacefm -s run-task copy --dir /etc fstab hosts /tmp
    In the above case, a source directory is specified so that simple filenames may be used in place of absolute paths.

    Another example, to create links to files and folders:

        spacefm -s run-task link /etc /etc/fstab /tmp
    The above command will create links to the folder /etc and the file /etc/fstab, placing them in /tmp.

    As with the cmd TASKTYPE, copy, move, and link TASKTYPEs will output $new_task_window and $new_task_id for evaluation and later use.

    delete [--dir DIR] FILE|DIR...

    The delete TASKTYPE starts an internal SpaceFM task to recursively delete files and folders. The task will be listed in the Task Manager if it runs for longer than one half second.

    FILE(s) and DIR(s) may be specified as absolute paths. Or, if the --dir DIR option is used to specify an (absolute) source directory, they may be relative to DIR. Each FILE and DIR must exist.

    WARNING: No confirmation dialog is shown to the user before files are deleted permanently. If you want a confirmation dialog, your command or script must show one itself. Also note that any specified folders are deleted recursively.

    For example, to delete the links created in the previous example:

        spacefm -s run-task delete /tmp/etc /tmp/fstab

    As with the cmd TASKTYPE, the delete TASKTYPE will output $new_task_window and $new_task_id for evaluation and later use.

    edit [--as-root] FILE

    The edit TASKTYPE opens FILE in the user's configured text editor (set in View|Preferences|Advanced). Or, if the --as-root option is included, FILE is opened in the user's configured root editor. This task type is always asynchronous (run and forgotten). For example:

        spacefm -s run-task edit /etc/fstab
    IMPORTANT: If sharing a plugin which does anything as root, please be sure to include this information clearly in the plugin's description.

    web URL

    The web TASKTYPE opens URL in the user's configured or auto-discovered web browser (set in Help|Options|Browser). This task type is always asynchronous (run and forgotten). For example:

        spacefm -s run-task web http://ignorantguru.github.io/spacefm/
    IMPORTANT: If sharing a plugin which open URLs in the user's browser, please be sure to include this information clearly in the plugin's description.

    mount DEVICE|URL

    The mount TASKTYPE uses the appropriate device or protocol handler to mount a DEVICE (eg /dev/sdd1) or URL (eg ftp://mirrors.kernel.org/). This task type may produce an error pop-up message, but does not set an error status on failure. For example:

        spacefm -s run-task mount /dev/sdd1
    Note: If you want to both mount and open a device or URL in SpaceFM's file manager, consider using:
        spacefm /dev/sdd1
        or
        spacefm ftp://mirrors.kernel.org/

    unmount DEVICE|DIR

    The unmount TASKTYPE uses the appropriate device or protocol handler to unmount a DEVICE (eg /dev/sdd1) or mount point DIR. This task type may produce an error pop-up message, but does not set an error status on failure. For example:

        spacefm -s run-task unmount /dev/sdd1

    emit-key
    Usage: spacefm -s emit-key [OPTIONS] KEYCODE [MODIFIER]

    The emit-key method activates the menu or toolbar item with the given shortcut key, as if the user had pressed the key combination.

    The KEYCODE and MODIFIER for a given key combination can be seen by right-clicking on an item, selecting Key Shortcut, and pressing the key combination.

    For example, to activate the menu item associated with Ctrl+C (associated with Copy by default):

        spacefm -s emit-key 0x63 0x4
    The KEYCODE and MODIFIER may also be specifed as decimal numbers by omitting the '0x' hexadecimal prefix.

    activate
    Usage: spacefm -s activate [OPTIONS] NAME

    The activate method is used to activate (run) a custom command, bookmark, or application from any menu or toolbar. Or, if the named item is a custom submenu, the submenu will be shown as a popup menu.

    NAME is the name of the item or submenu as it appears in the menu (underscores may be omitted). If multiple items have NAME as their name, only one will be activated. Alternatively, you can specify the internal name of the command, found in the command directory name, such as "cstm_782d52a7".

    For example, add a submenu anywhere named "My Gizmos", and add one or more commands inside the submenu. To make it popup:

        spacefm -s activate 'My Gizmos'

    When using activate to open a popup menu from within an evt_win_click event handler for the file list, a small delay may be needed before the menu is shown to prevent it from closing immediately when the mouse button is released:

        *if [ "%b" != "2" ]; then exit 1; fi; ( sleep .2; spacefm -s activate "A-C" ) &
    Because the sleep and spacefm commands are within parentheses, they are both backgrounded by the ampersand (&), preventing a lag in the GUI.

    NOTE: Prior to SpaceFM 1.0.4, the 'activate' method was called 'show-menu', and only worked for submenus, not commands. As of 1.0.4, 'show-menu' is deprecated yet still accepted in lieu of 'activate'.

    add-event
    Usage: spacefm -s add-event EVENT COMMAND ...

    The add-event method is used to dynamically add an asynchronous handler command to an event, such that when EVENT occurs, COMMAND will be run asynchronously (SpaceFM won't wait for it to finish).

    COMMAND is a bash command line. If any arguments follow it, they are added to the command before it is passed to bash. For all events except evt_start, evt_exit, evt_tab_close, and evt_device, the exported bash variables can be used in the command. COMMAND also accepts event substitution variables, which will vary with the event type.

    add-event may be used any number of times to add additional event handler commands to the same or different event types.

    Note that COMMAND will continue to run anytime EVENT occurs during the lifetime of the current SpaceFM instance, so be sure to remove the handler when your script is finished using it.

    In addition to adding dynamic event handlers, you can also set static event handlers using the View|Event Manager menu.

    Note that a single SpaceFM instance may open multiple windows, so your handler will run when events occur in any window. The handler can test for a specific window using the %w (window ID) substitution variable in the command (which will correspond to a task's $fm_my_window bash variable).

    For example, the following command will add a handler to the evt_pnl_sel (selection has changed) event, such that anytime the user changes the selection of files in the file list, the status bar will be set to display the first selected file's path:

        spacefm -s add-event evt_pnl_sel 'spacefm -s set statusbar_text "$fm_file"'
    Note that to preserve the quotes and dollar sign for bash to evaluate, the entire command is single-quoted and passed as a single argument. Alternatively, escaping those characters yields the same result:
        spacefm -s add-event evt_pnl_sel spacefm -s set statusbar_text \"\$fm_file\"

    replace-event
    Usage: spacefm -s replace-event EVENT COMMAND ...

    The replace-event method is used to dynamically add a synchronous handler command to an event, such that when EVENT occurs, COMMAND will be run synchronously (SpaceFM will wait for it to finish, and will examine the exit status).

    Because the command is run synchronously, SpaceFM's GUI will freeze while the command is being run. Your command should return a quick exit status to make this freeze minimal, then spawn a process to continue to perform whatever actions are desired.

    For event types evt_win_click (a mouse click), evt_win_key (a keypress), and evt_pnl_sel (file selection changed), SpaceFM will use the exit status of your command to determine whether SpaceFM's built-in handler for the event type should run after your command. If the exit status is zero, this will inhibit the built-in handler. For example, if the user clicks the right mouse button, and your command returns zero exit status, SpaceFM will not show the right-click context menu normally shown by the built-in handler.

    If more than one replace-event is set for a evt_win_click, evt_win_key, or evt_pnl_sel event type (including one set in the View|Event Manager menu), any zero exit status will inhibit the built-in handler.

    Using replace-event to set a handler for an event type other than evt_win_click, evt_win_key or evt_pnl_sel will cause the command to run synchronously (SpaceFM will wait for it and it will freeze the GUI until it exits) but the exit status will have no effect. (These events are notification only, so there is no built-in handler to inhibit.)

    COMMAND is a bash command line. If any arguments follow it, they are added to the command before it is passed to bash. Exported bash variables may NOT be used in COMMAND. COMMAND also accepts event substitution variables, which will vary with the event type.

    replace-event may be used any number of times to add additional synchronous event handler commands to the same or different event types.

    Note that COMMAND will continue to run anytime EVENT occurs during the lifetime of the current SpaceFM instance, so be sure to remove the handler when your script is finished using it.

    For example, the following command will add a handler to the evt_win_click event. If the user clicks a button other than the middle mouse button (%b = 2), the command returns exit status 1, so the built-in handler is used. But if the user clicks the middle mouse button, then a dialog message is displayed, and the command returns 0 (the default status on success), inhibiting the built-in handler.

        spacefm -s replace-event evt_win_click 'if [ "%b" != "2" ]; then exit 1; fi; \
            spacefm -g --label "\nMiddle button was clicked" --button ok &'
    Note the ampersand (&) after the 'spacefm -g' command. This runs the command asynchronously (run and forget) so the exit status is returned immediately and it doesn't cause a lag in the GUI.

    remove-event
    Usage: spacefm -s remove-event EVENT COMMAND ...

    The remove-event method removes an event handler previously set with the add-event or replace-event methods. You must pass remove-event the exact same EVENT and COMMAND that you passed when adding the handler.

    Because all handlers continue to run for the lifetime of the current SpaceFM instance, your scripts should remove all handlers they have added before finishing. When the SpaceFM instance exits, all dynamic event handlers are automatically removed. (If you want dynamic handlers to always be present, use the evt_start event to add them.)

    remove-event cannot remove static handlers set in the View|Event Manager menu.

    Contents Events

    Events represent actions or changes in the GUI, such as the user closing a tab, selecting a file, or opening a new window. SpaceFM has built-in handlers for these events, which update the GUI, open menus, or take other actions. You can also add your own handlers for events, commands which are run to take a custom action after the event occurs. In some cases your custom handler can replace the action normally taken by SpaceFM's built-in handler, allowing you to modify the default behavior in the GUI.

    Event handlers can be added in the Event Manager menu. Those handler commands always run until you remove them. Dynamic event handlers can also be added using the add-event or replace-event socket methods. These handlers will remain in effect until you remove them with the remove-event method, or until the SpaceFM instance exits.

    The following events are available. The name in parentheses is the event name as found in the Event Manager menu. Any event substitution variables available with the event are shown after it (eg %e).

    evt_start (Instance|Start) %e
    Occurs only once per instance when the SpaceFM instance first starts. Note that a single SpaceFM instance may open multiple windows. This is a good event to use to add any dynamic event handlers which you always want running.

    evt_exit (Instance|Exit) %e
    Occurs only once per instance when the SpaceFM instance exits. If a daemon or desktop manager instance is running, this event will occur when the user logs out. Otherwise, the instance will exit when the last SpaceFM window is closed.

    evt_win_new (Window|New) %e %w %p %t
    Occurs whenever a new SpaceFM window is opened, including the initial window.

    evt_win_focus (Window|Focus) %e %w %p %t
    Occurs whenever a SpaceFM window receives focus. For example, if you switch to another window in your window manager, then switch back to a SpaceFM window, this event will occur.

    evt_win_move (Window|Move) %e %w %p %t
    Occurs whenever a SpaceFM window is moved or resized. Note that during resizing, any handler for this event may be run multiple times (up to five times per second).

    evt_win_click (Window|Click) %e %w %p %t %b %m %f
    Occurs when the user clicks the mouse in most areas of a SpaceFM window. The mouse button pressed is available via the substitution variable %b, any key modifier (eg Ctrl+Click) via %m, and the window element which received the click via %f.

    If a handler set for the evt_win_click event is synchronous (has an asterisk prefix or is added with the replace-event method), and it returns a zero exit status, the built-in handler for the event will be inhibited.

    When using activate to show a popup menu from within an evt_win_click event handler, a small delay may be needed before the menu is shown to prevent it from closing immediately when the mouse button is released:

        *if [ "%b" != "2" ]; then exit 1; fi; ( sleep .2; spacefm -s activate "A-C" ) &
    Because the sleep and spacefm command are within parentheses, they are both backgrounded by the ampersand (&), preventing a lag in the GUI.

    evt_win_key (Window|Keypress) %e %w %p %t %k %m
    Occurs when the user presses a key in most areas of a SpaceFM window. The key code pressed is available via the substitution variable %k, and any key modifier (eg Ctrl+C) via %m.

    If a handler set for the evt_win_key event is synchronous (has an asterisk prefix or is added with the replace-event method), and it returns a zero exit status, the built-in handler for the event will be inhibited (SpaceFM will not react to the keypress in most cases, even if it's assigned to a menu item).

    evt_win_close (Window|Close) %e %w %p %t
    Occurs whenever a SpaceFM window is closed, including the last window of the instance.

    evt_pnl_focus (Panel|Focus) %e %w %p %t
    Occurs whenever a panel gets focus. Any handler command for this event will be run whenever a user clicks in the panel, even if the panel is not changed. The command will also be run if the user switches focus to another panel.

    evt_pnl_show (Panel|Show) %e %w %p %t %f %v
    Occurs whenever a panel or panel element is shown or hidden. The element shown or hidden is available via the substitution variable %f (panelN|filelist|devices|bookmarks|dirtree|pathbar), and the element's visibility (shown or hidden) is available via %v (1=shown or 0=hidden).

    evt_pnl_sel (Panel|Select) %e %w %p %t
    Occurs whenever the file selection in a panel changes.

    If a handler set for the evt_pnl_sel event is synchronous (has an asterisk prefix or is added with the replace-event method), and it returns a zero exit status, the built-in handler for the event will be inhibited. (The built-in handler for evt_pnl_sel updates the contents of the panel's status bar, so if you want to handle this yourself, you can inhibit it.)

    evt_tab_new (Tab|New) %e %w %p %t
    Occurs whenever a new tab is added to a panel, including initial tabs when the window is opened or the panel is first shown.

    evt_tab_chdir (Tab|Change Dir) %e %w %p %t %d
    Occurs whenever a tab changes directory, such as when a new tab opens, or the user navigates to a different directory. %d will be replaced with the quoted new directory of the tab.

    evt_tab_focus (Tab|Focus) %e %w %p %t
    Occurs whenever a tab gets focus within a panel. For example, changing tabs will trigger this event. However, merely switching panels will trigger the evt_pnl_focus event, but not evt_tab_focus.

    evt_tab_close (Tab|Close) %e %w %p %t
    Occurs whenever a tab is closed. The tab number which was closed is available via the substitution variable %t, and its panel via %p. (Note that closing a tab changes panel focus to the panel containing the tab being closed.)

    Note that exported bash variables cannot be used in the handler commands for evt_tab_close.

    evt_device (Device) %e %f %v
    Occurs whenever a device is added, removed, or otherwise changes state (mounted, unmounted, media inserted, etc). The device file is available via the substitution variable %f, and the change via %v (added|removed|changed).

    Note that exported bash variables cannot be used in the handler commands for evt_device.

    Contents Event Manager

    The Event Manager submenu, located in the main menu bar's View menu, is used to configure static event handler commands to be run when events occur. Each item in this menu opens a dialog in which a program name or bash command line can be entered. The dialog for each event type also explains when the event occurs and what event substitution variables are available for use in the command for that event.

    Socket commands are of particular use in these command lines. For example, to alter the default text in the status bar so that it shows only the filename of the first selected file, set Events|Panel|Select (an event which occurs when the file selection in a panel changes) to:

        spacefm -s set statusbar_text "$fm_filename"

    Any command line set in the Event Manager menu which is prefixed with an asterisk (*) as the first character, will be run synchronously, as if it was added with the replace-event method. (The asterisk is removed before the command is run.) This means the GUI will freeze while SpaceFM waits for the command to exit. For evt_win_click, evt_win_key, and evt_pnl_sel event types, a zero exit status will also inhibit the built-in handler.

    In addition to setting commands in the Event Manager menu, you can also add event handler commands dynamically using the add-event or replace-event socket command methods.

    Program Files
    Contents /home

    Your entire SpaceFM configuration, including settings and custom menu and toolbar items, is stored in the config directory: ~/.config/spacefm/ (unless you use --config-dir on the command line to specify another location).

    If the config directory doesn't exist, and /etc/xdg/spacefm/ does exist, the contents of /etc/xdg/spacefm/ will be copied to the new config directory on startup.

    Files in ~/.config/spacefm/ include:

    session
    Holds most user settings and customisations. This file is plain text so you can review its contents, but it should NOT be edited. SpaceFM saves the current session anytime you make a change to the configuration (at most once every 15 seconds or so). If SpaceFM can't find a session file at startup, it will use session-last or session-prior instead. If all session, session-last, and session-prior files are deleted, SpaceFM will be restored to factory default settings.

    session-last & session-prior
    These are the session files from your last and prior-to-last runs of SpaceFM. If you encounter a configuration problem or loss of settings when starting or using SpaceFM, be sure to make a backup copy of these files before running SpaceFM again. To revert to an older session, stop all instances of SpaceFM and rename the older session file 'session'.

    session.tmp
    For stability, when SpaceFM saves your session file, it first saves it as 'session.tmp'. If successful, it then renames it 'session', overwriting the old session file. Usually you won't find a session.tmp file because it is quickly written and renamed.

    bookmarks
    As of version 1.0.1, this file is no longer used or updated by SpaceFM, but it may remain if you used earlier versions. When upgrading to version 1.0.1 or later from an earlier version, this file is automatically imported into the new Bookmarks menu.

    plugin-data/
    Contains the data directories for custom commands and plugins, if any. If commands need to store persistent user data, this is where they store it. It should generally be safe to remove files from this folder, but your commands may lose their settings.

    scripts/
    Contains the command directories for custom commands you have added to SpaceFM's menus or toolbars, if any.

    Because SpaceFM is highly configurable, you may have much time and effort invested in your SpaceFM config folder, so it's a good idea to keep an up-to-date backup!

    scripts/default-script
    This file, if you create it, is used as your default command script rather than the automatically generated one. When you create a new custom command as a Script, ~/.config/spacefm/scripts/default-script will be copied to the command directory as exec.sh.

    Other locations in your home folder used by SpaceFM include:

    ~/.config/mimeapps.list
    SpaceFM reads mimeapps.list to determine associated MIME applications, and may modify the file when you change the default application for a MIME type. This file may also be located in its older location: ~/.local/share/applications/mimeapps.list. SpaceFM [version 1.0.2 and later] will read the older location, but will not modify that file.

    ~/.local/share/applications/
    This folder contains localized copies of desktop files which define applications available on your system. SpaceFM may create custom desktop files when needed. The system-wide /usr/share/applications/ folder is used similarly, though settings in the local folder take precedence. You can copy desktop files from /usr/share/applications/ to ~/.local/share/applications/ in order to modify them on a per-user basis, and also add your own custom desktop files. SpaceFM's MIME Menu automates some of these tasks.

    ~/.templates/
    The ~/.templates/ folder (or $XDG_TEMPLATES_DIR/ or ~/Templates/) holds file and folder templates for use in the New File/Folder Dialog.

    Contents /etc

    The first time you click OK in the View|Preferences dialog, and anytime you change your terminal or root editor in that dialog, SpaceFM will ask to save some settings as root to /etc/spacefm/  Although optional, this is recommended to help secure your use of SpaceFM's perform-as-root commands. Also, anytime you run a perform-as-root command, such as to format a partition, these settings may be updated. Without these settings saved as root, your system security may be more easily compromised.

    The following files may be found in /etc/spacefm/:

    spacefm.conf
    This file is designed to be edited by the system administrator. This file contains the following settings:

    • tmp_dir specifies what temporary directory SpaceFM should use. If unset, it defaults to /tmp. Be sure to use a temporary directory which is root-owned/protected and user-writable (see /tmp permissions). /dev/shm is usually a good choice too. The temporary directory may not contain spaces or other special characters - keep it simple. Because SpaceFM may run commands as other users (including root), the temporary directory must be writable by ALL users of SpaceFM.

      Note: If using Sandfox, please see its SpaceFM setup instructions.

    • terminal_su specifies an additional custom terminal su program, or alternate location. This program will appear in the list in Preferences|Advanced|Terminal SU. SpaceFM knows how to run su, sudo, and su-to-root. If using another terminal su program, you may need to open an issue on the tracker so that SpaceFM can be made to run your program with the correct options. No options may be included here.

    • graphical_su specifies an additional custom graphical su program, or alternate location. This program will appear in the list in Preferences|Advanced|Graphical SU. SpaceFM knows how to run common graphical su programs such as gksu and kdesu. If using another graphical su program, you may need to open an issue on the tracker so that SpaceFM can be made to run your program with the correct options. No options may be included here.

    USERNAME-as-root
    For each USERNAME who runs SpaceFM, you may find this file which contains the user's prefered root editor, terminal, and other perform-as-root settings. This file should NOT be edited.

    /etc/xdg/spacefm/
    This folder, if it exists, is used to copy a default configuration for new SpaceFM users. If no config directory (eg ~/.config/spacefm) exists for the current user when SpaceFM is first started, the contents of /etc/xdg/spacefm/ will be copied to the new config directory (be sure to kill all running instances of spacefm before testing this). This allows a distro or system admin to set a default SpaceFM configuration for new users. To do so, simply configure SpaceFM as you want it to appear and work by default, then copy the contents of the config directory to /etc/xdg/spacefm/ as root. Be sure to set all files in /etc/xdg/spacefm/ to be readable by all users:

        sudo cp -r /home/USER/.config/spacefm /etc/xdg/spacefm
        sudo chmod -R ugo+rX /etc/xdg/spacefm
    To test, start SpaceFM with a test config directory which doesn't exist:
        
        killall spacefm
        rm -rf /tmp/spacefm-test-config
        spacefm --config-dir /tmp/spacefm-test-config

    If you want to install plugins by default, install them uncompressed to /usr/share/spacefm/plugins/, just as SpaceFM does when you select Plugins|Install. In the user's configuration, plugins can be copied to other menus as well. Or you can simply import plugins into the user's menus before copying the config dir to /etc/xdg/spacefm.

    Contents /tmp

    SpaceFM writes small files to the temporary directory (which can be changed in spacefm.conf). These include:

    .spacefm-socketDISPLAY-USERNAME
    A socket which SpaceFM uses to open additional windows and other functions (including socket commands), removing the need to start additional instances of the entire program. DISPLAY is the current display of the user (eg :0) and USERNAME the username. Generally, this file will be removed when the current instance of SpaceFM exits.

    spacefm.tmp/
    This folder, shared by all users, contains temporary files used for running a command as another user, including root. Once a root command is run, this folder will be owned by root.

    spacefm-USERNAME-RANDOM.tmp/
    This folder contains temporary files used by USERNAME running SpaceFM. It is owned by the user and will be deleted on exit. Other users can access this folder, but usually not the files within it, unless a command is being run as another user.

    spacefm*.tmp/ID-tmp.sh
    A temporary bash script used to execute a command run in SpaceFM, which will be deleted when the command completes. ID will be an eight digit hexadecimal number. This script creates a suitable bash environment for the command being run, including import of file manager variables for use in commands. While the command is running, you can import the file manager variables from this script into another script using:

        $fm_import
        # OR
        source ID-tmp.sh

    spacefm*.tmp/ID/
    A folder used to store temporary data, usually plugin data which has been copied via Plugins|Import or New|Import, where ID is an eight digit hexadecimal number.

    Contents /usr

    The parent folder (--prefix=) for files listed below may be '/usr' or '/usr/local' depending on how you installed SpaceFM. With the exception of plugins installed by the user, all files stored in /usr are created only when SpaceFM is installed, and are not changed by SpaceFM. These include:

    bin/spacefm
    The SpaceFM executable file.

    bin/spacefm-auth
    This script is used internally by spacefm to authenticate temporary scripts run as another user (using /usr/bin/sha256sum). This file should not be modified or run directly. This file was added to SpaceFM version 0.7.2 to simplify the command line for su programs, which often handle special characters poorly and have inconsistent command line usage. If spacefm-auth or /usr/bin/sha256sum are missing, SpaceFM will operate in a less secure mode.

    bin/spacefm-installer
    The SpaceFM net installer, which can be used to download, build and install any version of SpaceFM. The installer must be run in a terminal.

    share/doc/spacefm/spacefm-manual-en.html
    A local copy of this manual you're reading (also may be in share/spacefm/, or in your distro's standard html docs folder). This copy is accessed when using context-sensitive help within SpaceFM. If available, a version for your language will automatically be used. To use a different manual location within SpaceFM, set your preference in Help|Options|Manual Location.

    share/spacefm/plugins/
    A folder containing plugins installed by the user. Plugin files should NOT be copied directly to this folder. Instead, use Plugins|Install to install them, or Design Mode to remove them. However, if you make a package for your plugin, you can instruct the package manager to install the correct uncompressed files to this folder, allowing users to install your plugin via their package manager.

    share/spacefm/ui/
    A folder containing glade files for some of SpaceFM's dialogs.

    share/icons/hicolor/48x48/apps/spacefm.png & spacefm-root.png
    The 48 pixel window icons for the non-root and root user of SpaceFM. Use of these icons can be avoided by changing View|Window Icon. See also icons in share/icons/hicolor/128x128/apps/ and share/icons/Faenza/apps/48/, as well as the alternate icons named "spacefm-[48|128]-[cube|pyramid|folder]-[blue|green|red].png".

    Note: If configure option --enable-pixmaps is used during build, icons will be installed to share/pixmaps/ instead.

    share/locale/*/LC_MESSAGES/spacefm.mo
    Language files used by SpaceFM, where '*' is a locale.

    share/applications/
    This folder contains desktop files which define applications available on your system, and the defaults.list file specifies default applications for given MIME types. SpaceFM checks both ~/.local/share/applications/ and /usr/share/applications/ to determine what application to use to open files. Settings in the local folder take precedence. You can copy desktop files from /usr/share/applications/ to ~/.local/share/applications/ in order to modify them on a per-user basis, and also add your own custom desktop files.

    share/applications/spacefm.desktop
    A desktop file which opens a SpaceFM window.

    share/applications/spacefm-find.desktop
    A desktop file which open a SpaceFM File Search window.

    share/applications/spacefm-folder-handler.desktop
    A desktop file which uses SpaceFM to open a folder

    share/mime/packages/spacefm-mime.xml
    Additional MIME types provided by libmimetype, adding globs for some missing but frequently seen file types.


    Copyright (C) 2016 IgnorantGuru

    DISCLAIMER: While the authors, copyright holders, and maintainers of this software endeavour to keep all content up to date and valuable, we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the software or the information, communications, products, services, or related graphics for any purpose. Any reliance you place on such content is therefore strictly AT YOUR OWN RISK.

    Updated 2016-01-20  (SpaceFM version 1.0.5)

    spacefm-1.0.5/data/spacefm-root.png000066400000000000000000000100721264770501700171620ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs aFIDAThٯ%Wuk3ܩGxh9qb@ $( L(~HE#߈GG!""@v{{ƪZ+kG*sϩ5|k |2]0>(`vEJSnէ=O(=ͮ~;Y\ݼpw?Cx駛0ǃݝ0څ|&륜6mO*yӮվ%eJIQ㖸3^3m[DX|'~G[gK?dIϊyOOe#80&vۇx1p2RlK(BqE/dw"x8LwJsw|o/^}me>|>K3!N{(Gsf._XQ0.[A0#;ShO8P &-Wd,aeHHtckdwi*^qsjaĕ{SOUXy"WB^-Yߺ]͌!aC_gKa^,c%6w: UD-2>8)3QĴM.?sn.nݮ@Ҳ#Zz R{pw4gk+CBĪDAod!{#H tv7I~/nk/6J͵ kͽDU0 (ӥڶ@G#H8Ǚ`*ozޝ50ݚ_~sr E;C"*R`hwۈUsb0jN<0!df5QOL1O݇r~ 8E&Cl6OD*x-uڄPT)m7Fv,o| 6X;nxQˬ}5_pI}F&A4Ii# `2-Tŀ1{zߨՠT.lcwGSfѿv}ܭ`y";Ūgziq)MZ-6 =ԶZ7G}~: RW1mJ)*kK6X .Z[F F,J (<0w*6}{_x[@ ͉ĮU;G#оK$RmѡJ!6h ;hm^9w{- Mn !}2`޽S_G~Z0h&#ma 4C^}5a\ 欿}U '9W {O<6L5>2N"Wi6BzC)"q2$+̌h ;3aSąAthO "ߠyH?~w><^7|r8VX$te]BR Lnjώhɸ9ќvJ ZBBsƅ`pmy#vv`qTa*J 5F( XnBL $9M&4VSڃ*sp8˵ʪ*R428А{;ی'/gXuHޏ*i~' &GJP hB;4- !+qwVT* i=xPZ8n8q>nMҋ_rh Rbɯ$|Z@H`sAof*ʐpcF :đL4;BǴOaэ7a{BYn7OX6p\5 D70}aKJ,I²'4M]`!}h}q52߾/VxrkXe !Ԣ F>(3zOw }l )#jDU1X1q4=](h_?}ZcyhssG.; Vm8pi%P%‡Mb_SVM&+ue8^L&QKN-&1z6bxJA7o)b\[WZ?Gr-d !Uֵ6HV\tC]O|ږ&B)_rU*jmkk^'vg ٪ 3=mtyUD,~.s>ǫFNVSS΅slvwR͙SzO'v>f[S>%]}>31&bXMX]ޘTQ;ݫ7s׾~nO>d悇3|_VNr.ĬhIG} I)bNDɢb2&(asP{Ϩ2in2 Fq㟭,7UY8lW>ׯoNmv}T(F96eL<Ԩ+x 㽧r'+TW<̠ƧQhG[{m,IB%_gb8ӡt ..)ɂH P9b8_raO&C.-ݸqb6ɻ' ٶ*ZCe03fGpdUd1P 773M3&wĻΡh6T<sᣫrn{I@(}WUӬ&X",$F3gwJ1L!H:?",d`8o: 4u}65sY,=`bmI&fe4_\T**ԇ#<3q0ZUDs 8ރ=P@UJP $j: kɈ]-3 +Ɉ#Ji} @t"˨/ [k aS|DAhfŃ岰Z''׮=MqژA2++ QEP j`'zG2h2[IFwynt'N4$.ҙ'*ڛ#PLW{?:;7Ls'WVpjl%;4H̳}@q,o3ȡFLl՞S6ӈKmë2"d:$ D3, qAgQLE}`U+kYYIz`ݩC-w%J{v~q.+1+fG@ Er2IntȬ!R& >}##3Lj_qrmL^@4fN#gF4Ңa֗6a*JJ$Aeؖt3pGβ!LdEONLǎ* *3jUGhV'Wk&򈫸׸\F\ 5 GTK_WIN_POS_CENTER_ON_PARENT GDK_WINDOW_TYPE_HINT_DIALOG SpaceFM by IgnorantGuru Copyright (C) 2016 GPL3+ http://ignorantguru.github.io/spacefm/ SpaceFM - Copyright (C) 2016 IgnorantGuru GPL3+ 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 3 of the License, or (at your option) any later version. USE AT YOUR OWN RISK. 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. The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3). You should have received a copy of the GNU General Public License and the GNU Lesser 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. IgnorantGuru <ignorantguru@gmx.com> Contributors: BwackNinja <BwackNinja@gmail.com> OmegaPhil <OmegaPhil@startmail.com> Artwork: SpaceFM icons and logo by Goran Simovic Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and packagers! Special thanks to: Jean-Philippe Fleury Vladimir Kudrya VastOne Hasufell SpaceFM is developed on geany, gcc, and git, with a little help from gdb. Source code taken from other projects: * pcmanfm-mod: IgnorantGuru * pcmanfm v0.5.2: Hon Jen Yee (PCMan) * libmd5-rfc: Aladdin Enterprises * Working area detection: Gary Kramlich * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer * Text and icon renderer uses code from Jonathan Blandford * Desktop icons use code from Brian Tarricone * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount SpaceFM icons and logo by Goran Simovic Additional icons were taken from the Tango Desktop Project icon set translator-credits spacefm True True 2 True GTK_BUTTONBOX_END False GTK_PACK_END spacefm-1.0.5/data/ui/appchooserdlg.ui000066400000000000000000000313431264770501700176670ustar00rootroot00000000000000 6 Choose Application 420 GDK_WINDOW_TYPE_HINT_DIALOG True 12 True 4 4 0 Please choose an application or enter a command: True False False 1 1 True 6 0 True 4 0 0 File Type: False False True True False False 2 False 2 3 True True True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_IN True True True False True _Associated Apps True False True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_IN True True True False True True A_ll Apps True 1 False 4 True 4 12 True _Command: True cmdline False False True True True 1 True True True 0 0 True 2 True gtk-open False False True _Browse True False False 1 False False 2 False 5 True 6 False True Opened in Terminal True True False False True True _Set as default application for this file type True True False False 1 False 6 True GTK_BUTTONBOX_END True True True gtk-cancel True True True True True gtk-ok True 1 False GTK_PACK_END cancelbutton okbutton spacefm-1.0.5/data/ui/file_properties.ui000066400000000000000000001272041264770501700202320ustar00rootroot00000000000000 6 File Properties GTK_WIN_POS_CENTER_ON_PARENT 360 GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_CENTER True 12 True True 6 True 6 6 12 True 4 9 2 12 6 True 0 <b>File _Name:</b> True True file_name 0 1 GTK_FILL True True 0 1 1 2 True 0 <b>_Location:</b> True True location 1 2 GTK_FILL True True 1 2 GTK_FILL 1 2 False 0 <b>Link _Target:</b> True True target 2 3 GTK_FILL False True 2 3 GTK_FILL 1 2 True 0 0 <b>Type:</b> True True 3 4 GTK_FILL GTK_FILL True True 0 0 False True PANGO_ELLIPSIZE_END 1 2 3 4 GTK_FILL True 0 <b>Opens _With:</b> True True open_with 4 5 GTK_FILL True 1 2 4 5 GTK_FILL GTK_FILL True 0 <b>Total Size:</b> True True 5 6 GTK_FILL True True 0 True 1 2 5 6 GTK_FILL True 0 <b>Size On Disk:</b> True True 6 7 GTK_FILL True True 0 True 1 2 6 7 GTK_FILL True 0 <b>Count:</b> True True 7 8 GTK_FILL True True 0 True 1 2 7 8 GTK_FILL True 0 <b>_Modified:</b> True True mtime 8 9 GTK_FILL True True 8 9 GTK_FILL 1 2 True 0 <b>_Accessed:</b> True True atime 9 10 GTK_FILL True True 9 10 GTK_FILL 1 2 True _Info True False True 6 6 12 True 6 True 2 2 2 12 6 True 0 <b>_Owner:</b> True True owner GTK_FILL True 0 <b>_Group:</b> True True group 1 2 GTK_FILL True True 1 2 True True 1 2 1 2 False False True False False 1 True 4 3 6 12 6 True 0 <b>Owner:</b> True True GTK_FILL True 0 <b>Group:</b> True True 1 2 GTK_FILL True 0 <b>Other:</b> True True 2 3 GTK_FILL True True 2 Read True True 1 2 GTK_FILL True True 2 Read True True 1 2 1 2 GTK_FILL True True 2 Read True True 1 2 2 3 GTK_FILL True True 2 Write True True 2 3 GTK_FILL True True 2 Write True True 2 3 1 2 GTK_FILL True True 2 Write True True 2 3 2 3 GTK_FILL True True 2 Execute True True 3 4 GTK_FILL True True 2 Execute True True 3 4 1 2 GTK_FILL True True 2 Execute True True 3 4 2 3 GTK_FILL True True 2 Set UID True True 5 6 GTK_FILL True True 2 Set GID True True 5 6 1 2 GTK_FILL True True 2 Sticky True True 5 6 2 3 GTK_FILL True 4 5 3 GTK_FILL GTK_FILL False 2 True False False True True Recursive (apply changes to folders and their contents) True False True _Permissions True 1 False 2 True GTK_BUTTONBOX_END True True True gtk-cancel True True True True gtk-ok True 1 False GTK_PACK_END cancel_button ok_button spacefm-1.0.5/data/ui/find-files.ui000066400000000000000000001162371264770501700170630ustar00rootroot00000000000000 100 0 10 1 10 0 100 0 10 1 10 0 Bytes KB MB GB Bytes KB MB GB Any Within One Day Within One Week Within One Month Within One Year Within Selected Date Range Find Files 580 400 True True True 4 True 6 6 True 6 True 0 <b>Filename:</b> True False 3 True True True True 1 True True Case Sensitive True True False 2 False 0 GTK_SHADOW_NONE True 12 True 4 3 2 6 6 True Video Files (avi, mpg,...) True 1 2 2 3 True Audio Files (mp3, ogg,...) True 2 3 True Image Files (jpg, png,...) True 1 2 1 2 True Plain Text Files True 1 2 True All Files and Folders True 2 True <b>File Types to Search</b> True False 1 True 0 GTK_SHADOW_NONE True 21 True 4 6 True 6 True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_ETCHED_IN True False True 6 True gtk-add True False True gtk-remove True False 1 False 1 2 True Search in subfolders True True False 1 True Search hidden files True False 2 True <b>Places to Search</b> True 2 True General True False True 6 True 0 GTK_SHADOW_NONE True 12 True 4 6 True 2 4 True 0 File Contains: False True True 1 False True 2 True Case Sensitive True False False True Use Regular Expression True False False 1 False 1 True <b>File Content</b> True False True Content 1 False True 6 True 0 GTK_SHADOW_NONE True 12 True 2 3 6 6 True True Greater Than: True GTK_FILL GTK_FILL True True Smaller Than: True 1 2 GTK_FILL GTK_FILL True True adjustment1 True 1 2 GTK_EXPAND | GTK_SHRINK | GTK_FILL GTK_FILL True True adjustment2 True 1 2 1 2 GTK_EXPAND | GTK_SHRINK | GTK_FILL GTK_FILL True model1 0 2 3 1 2 GTK_FILL GTK_FILL True model2 0 2 3 GTK_FILL GTK_FILL True <b>File Size</b> True False 2 True 0 GTK_SHADOW_NONE True 12 True 4 6 True model3 0 True True False True --> False 1 True False 2 1 True <b>Last Modified</b> True False 2 1 True Size & Date 2 False 0 GTK_SHADOW_NONE True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_ETCHED_IN True 0 <b>Search Result:</b> True 1 True 2 Search Again False 2 GTK_PACK_END 2 True True True True gtk-find True False 2 GTK_PACK_END 1 gtk-stop True False 2 GTK_PACK_END 1 False 2 2 False 3 spacefm-1.0.5/data/ui/find-files2.ui000066400000000000000000001163351264770501700171440ustar00rootroot00000000000000 100 0 10 1 10 0 100 0 10 1 10 0 Bytes KB MB GB Bytes KB MB GB Any Within One Day Within One Week Within One Month Within One Year Within Selected Date Range Find Files 580 400 True True True 4 True 6 6 True 6 True 0 <b>Filename:</b> True False 3 True True True True True 1 True True Case Sensitive True True False 2 False 0 GTK_SHADOW_NONE True 12 True 4 3 2 6 6 True Video Files (avi, mpg,...) True 1 2 2 3 True Audio Files (mp3, ogg,...) True 2 3 True Image Files (jpg, png,...) True 1 2 1 2 True Plain Text Files True 1 2 True All Files and Folders True 2 True <b>File Types to Search</b> True False 1 True 0 GTK_SHADOW_NONE True 21 True 4 6 True 6 True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_ETCHED_IN True False True 6 True gtk-add True False True gtk-remove True False 1 False 1 2 True Search in subfolders True True False 1 True Search hidden files True False 2 True <b>Places to Search</b> True 2 True General True False True 6 True 0 GTK_SHADOW_NONE True 12 True 4 6 True 2 4 True 0 File Contains: False True True 1 False True 2 True Case Sensitive True False False True Use Regular Expression True False False 1 False 1 True <b>File Content</b> True False True Content 1 False True 6 True 0 GTK_SHADOW_NONE True 12 True 2 3 6 6 True True Greater Than: True GTK_FILL GTK_FILL True True Smaller Than: True 1 2 GTK_FILL GTK_FILL True True adjustment1 True 1 2 GTK_EXPAND | GTK_SHRINK | GTK_FILL GTK_FILL True True adjustment2 True 1 2 1 2 GTK_EXPAND | GTK_SHRINK | GTK_FILL GTK_FILL True model1 0 2 3 1 2 GTK_FILL GTK_FILL True model2 0 2 3 GTK_FILL GTK_FILL True <b>File Size</b> True False 2 True 0 GTK_SHADOW_NONE True 12 True 4 6 True model3 0 True True False True --> False 1 True False 2 1 True <b>Last Modified</b> True False 2 1 True Size & Date 2 False 0 GTK_SHADOW_NONE True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_ETCHED_IN True 0 <b>Search Result:</b> True 1 True 2 Search Again False 2 GTK_PACK_END 2 True True True True gtk-find True False 2 GTK_PACK_END 1 gtk-stop True False 2 GTK_PACK_END 1 False 2 2 False 3 spacefm-1.0.5/data/ui/godlg.ui000066400000000000000000000045751264770501700161400ustar00rootroot00000000000000 True Go to folder True GTK_WIN_POS_CENTER_ON_PARENT GDK_WINDOW_TYPE_HINT_DIALOG False True True GTK_BUTTONBOX_END True True True gtk-cancel True True True True True gtk-ok True 1 False False GTK_PACK_END 1 cancelbutton okbutton spacefm-1.0.5/data/ui/prefdlg.ui000066400000000000000000002216121264770501700164600ustar00rootroot00000000000000 32768 0 10 1 0 0 512x512 384x384 256x256 192x192 128x128 96x96 72x72 64x64 48x48 36x36 32x32 24x24 22x22 16x16 12x12 512x512 384x384 256x256 192x192 128x128 96x96 72x72 64x64 48x48 36x36 32x32 24x24 22x22 GTK Default Size Menu Small Toolbar Large Toolbar Button DND Dialog Open In Current Tab Open In New Tab Stretch Fit Center Tile Zoom Transparent /bin/su /usr/bin/sudo /usr/bin/su-to-root /usr/bin/gksu /usr/bin/gksudo /usr/bin/gnomesu /usr/bin/xdg-su /usr/bin/kdesu /usr/bin/kdesudo /usr/bin/ktsuss /usr/bin/lxqt-sudo /usr/bin/lxsu /usr/bin/su-to-root /bin/su /usr/bin/sudo Automatic Copy (Ctrl+Drag) Move (Shift+Drag) Link (Ctrl+Shift+Drag) True 6 Preferences False GDK_WINDOW_TYPE_HINT_DIALOG False True 12 True True 6 False True 2 18 True 0 GTK_SHADOW_NONE True 12 True 2 2 12 6 True 0 Small Icons: 1 2 GTK_FILL True model1 0 1 2 1 2 GTK_FILL True model2 0 1 2 GTK_FILL True 0 Large Icons: GTK_FILL True 0 Toolbar Icons: 2 3 GTK_FILL True modeltoolsize 0 1 2 2 3 GTK_FILL True 0 <b>Icons</b> True False True 4 0 GTK_SHADOW_NONE True 12 True 6 True 6 True True Single click opens files True False False True True Hover selects True False False False 1 False 4 12 True Bookmarks: False False False model3 0 1 False 2 True True Show Thumbnails True True False False 3 True 4 12 True Max Pic Size To Thumbnail: False False True True adjustment1 1 1 True 2 KB False False 2 False 4 True <b>File List</b> True False 1 True _General True False True 6 6 6 6 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 6 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Always show the tab bar True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Hide 'Close Tab' buttons True False 1 True True Confirm delete/remove 0 True False 2 True True Click runs executables 0 True False 3 True True SI File Sizes (1K = 1000) (requires restart) 0 True False 4 True True Show root user indicator color 0 True False 5 True 6 True 0 Default Drag Action: False False True modeldrag 0 True True False 6 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK I_nterface True 1 False True 6 6 6 6 True 2 9 True 6 2 6 3 True True Wallpaper: True True 0 1 GTK_FILL True Please select an image file 1 2 0 1 True 0 Mode: 1 2 GTK_FILL True model4 0 1 2 1 2 True 12 True 12 True Background: False False True True False False 1 True 12 True Text: False False True True False False 1 1 True 12 True Shadow: True True True #000000000000 1 2 0 2 2 3 True 0 Font: 0 1 3 4 GTK_FILL True True 1 2 3 4 GTK_FILL True 0 GTK_SHADOW_NONE True 12 True 6 True Top: False 3 True True 3 False True Left: 3 True True 3 False True Right: 3 True True 3 False True Bottom: 3 True True 3 False True Pad: 3 True True 3 False True <b>Margins</b> True 0 2 4 6 False True 12 True False Single click opens files True True False True False Hover selects True True False False True False Right click shows WM menu True True False True False Open folders using associated MIME application True True False True _Desktop True 2 False 2 True _Volume Management True 3 False True 6 6 6 6 True 8 2 12 6 True 0 Terminal: 0 1 GTK_FILL GTK_FILL True 1 2 0 1 GTK_FILL True 0 Terminal SU: 1 2 GTK_FILL GTK_FILL True modelsu 0 1 2 1 2 GTK_FILL GTK_FILL True 0 Graphical SU: 2 3 GTK_FILL GTK_FILL True modelgsu 0 1 2 2 3 GTK_FILL True 0 Editor: 3 4 GTK_FILL GTK_FILL 80 True True 1024 1 2 3 4 GTK_FILL True True Run editor in terminal 0 True 0 2 4 5 GTK_FILL True 0 Root's Editor: 5 6 GTK_FILL GTK_FILL 80 True True 1024 1 2 5 6 GTK_FILL True True Run root's editor in terminal 0 True 0 2 6 7 GTK_FILL True 0 Date Format: 7 8 GTK_FILL GTK_FILL True 1 2 7 8 GTK_FILL True 0 (requires reload) 0 1 8 9 GTK_FILL GTK_FILL True 0 Date Display 1 2 8 9 GTK_FILL GTK_FILL True _Advanced True 4 False GTK_PACK_END 2 True GTK_BUTTONBOX_END True True True gtk-cancel True True True True True gtk-ok True 1 False GTK_PACK_END cancelbutton okbutton spacefm-1.0.5/data/ui/prefdlg2.ui000066400000000000000000002224171264770501700165460ustar00rootroot00000000000000 32768 0 10 1 0 0 512x512 384x384 256x256 192x192 128x128 96x96 72x72 64x64 48x48 36x36 32x32 24x24 22x22 16x16 12x12 512x512 384x384 256x256 192x192 128x128 96x96 72x72 64x64 48x48 36x36 32x32 24x24 22x22 GTK Default Size Menu Small Toolbar Large Toolbar Button DND Dialog Open In Current Tab Open In New Tab Stretch Fit Center Tile Zoom Transparent /bin/su /usr/bin/sudo /usr/bin/su-to-root /usr/bin/gksu /usr/bin/gksudo /usr/bin/gnomesu /usr/bin/xdg-su /usr/bin/kdesu /usr/bin/kdesudo /usr/bin/ktsuss /usr/bin/lxqt-sudo /usr/bin/lxsu /usr/bin/su-to-root /bin/su /usr/bin/sudo Automatic Copy (Ctrl+Drag) Move (Shift+Drag) Link (Ctrl+Shift+Drag) True 6 Preferences False GDK_WINDOW_TYPE_HINT_DIALOG True 12 True True 6 False True 2 18 True 0 GTK_SHADOW_NONE True 12 True 2 2 12 6 True 0 Small Icons: 1 2 GTK_FILL True model1 0 1 2 1 2 GTK_FILL True model2 0 1 2 GTK_FILL True 0 Large Icons: GTK_FILL True 0 Toolbar Icons: 2 3 GTK_FILL True modeltoolsize 0 1 2 2 3 GTK_FILL True 0 <b>Icons</b> True False True 4 0 GTK_SHADOW_NONE True 12 True 6 True 6 True True Single click opens files True False False True True Hover selects True False False False 1 False 4 12 True Bookmarks: False False False model3 0 1 False 2 True True Show Thumbnails True True False False 3 True 4 12 True Max Pic Size To Thumbnail: False False True True adjustment1 1 1 True 2 KB False False 2 False 4 True <b>File List</b> True False 1 True _General True False True 6 6 6 6 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 6 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Always show the tab bar True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Hide 'Close Tab' buttons True False 1 True True Confirm delete/remove 0 True False 2 True True Click runs executables 0 True False 3 True True SI File Sizes (1K = 1000) (requires restart) 0 True False 4 True True Show root user indicator color 0 True False 5 True 6 True 0 Default Drag Action: False False True modeldrag 0 True True False 6 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK I_nterface True 1 False True 6 6 6 6 True 2 9 True 6 2 6 3 True True Wallpaper: True True 0 1 GTK_FILL True Please select an image file 1 2 0 1 GTK_SHRINK True 0 Mode: 1 2 GTK_FILL True model4 0 1 2 1 2 GTK_SHRINK True 12 True 12 True Background: False False True True False False 1 True 12 True Text: False False True True False False 1 1 True 12 True Shadow: True True True #000000000000 1 2 0 2 2 3 GTK_SHRINK True 0 Font: 0 1 3 4 GTK_FILL True False 1 2 3 4 GTK_FILL True 0 GTK_SHADOW_NONE True 12 True 6 True Top: False 3 True True 3 False True Left: 3 True True 3 False True Right: 3 True True 3 False True Bottom: 3 True True 3 False True Pad: 3 True True 3 False True <b>Margins</b> True 0 2 4 6 GTK_SHRINK False True 12 True False Single click opens files True True False True False Hover selects True True False False True False Right click shows WM menu True True False True False Open folders using associated MIME application True True False True _Desktop True 2 False 2 True _Volume Management True 3 False True 6 6 6 6 True 8 2 12 6 True 0 Terminal: 0 1 GTK_FILL GTK_FILL True True 1 2 0 1 GTK_FILL True 0 Terminal SU: 1 2 GTK_FILL GTK_FILL True modelsu 0 1 2 1 2 GTK_FILL GTK_FILL True 0 Graphical SU: 2 3 GTK_FILL GTK_FILL True modelgsu 0 1 2 2 3 GTK_FILL True 0 Editor: 3 4 GTK_FILL GTK_FILL 80 True True 1024 1 2 3 4 GTK_FILL True True Run editor in terminal 0 True 0 2 4 5 GTK_FILL True 0 Root's Editor: 5 6 GTK_FILL GTK_FILL 80 True True 1024 1 2 5 6 GTK_FILL True True Run root's editor in terminal 0 True 0 2 6 7 GTK_FILL True 0 Date Format: 7 8 GTK_FILL GTK_FILL True True 1 2 7 8 GTK_FILL True 0 (requires reload) 0 1 8 9 GTK_FILL GTK_FILL True 0 Date Display 1 2 8 9 GTK_FILL GTK_FILL True _Advanced True 4 False GTK_PACK_END 2 True GTK_BUTTONBOX_END True True True gtk-cancel True True True True True gtk-ok True 1 False GTK_PACK_END cancelbutton okbutton spacefm-1.0.5/depcomp000077500000000000000000000371001264770501700145220ustar00rootroot00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2005-07-09.11 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. # 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, 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. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test -f "$tmpdepfile"; then : else stripped=`echo "$stripped" | sed 's,^.*/,,'` tmpdepfile="$stripped.u" fi if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mecanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: spacefm-1.0.5/distros/000077500000000000000000000000001264770501700146335ustar00rootroot00000000000000spacefm-1.0.5/distros/debian/000077500000000000000000000000001264770501700160555ustar00rootroot00000000000000spacefm-1.0.5/distros/debian/README-DEBIAN000066400000000000000000000027551264770501700176660ustar00rootroot00000000000000README-DEBIAN for SpaceFM The files in distros/debian/ may be used to build a binary deb package of SpaceFM for use on Debian-based distros (Lenny and later). For official Debian packages, please see Debian repositories: http://packages.debian.org/search?keywords=spacefm&searchon=names&suite=all§ion=all or the SpaceFM Debian Wiki: https://github.com/IgnorantGuru/spacefm/wiki/Debian To build a Debian package: 1) Install build dependencies for your build (see DEPENDENCIES in README), plus debhelper. 2) Download and extract the desired SpaceFM version. See DOWNLOAD in README. 3) Move the distros/debian directory into the source directory: mv distros/debian . NOTE: For some Debian versions, some adjustments to the 'control' file (package names used for dependencies) may be necessary. 4) IF GTK3 support IS desired: cp debian/control-gtk3 debian/control cp debian/rules-gtk3 debian/rules sed -i 's/^spacefm \(.*\)/spacefm-gtk3 \1/' debian/changelog 5) IF hal support IS desired (cannot be used with GTK3 unless you edit rules): cp debian/control-hal debian/control cp debian/rules-hal debian/rules sed -i 's/^spacefm \(.*\)/spacefm-hal \1/' debian/changelog 6) Build package: dpkg-buildpackage -b -uc # The package files will appear in the parent directory: cd .. # Clean up: rm -rf spacefm-* spacefm.tar.gz 7) To install the package you built: dpkg -i spacefm*.deb spacefm-1.0.5/distros/debian/changelog000066400000000000000000000001771264770501700177340ustar00rootroot00000000000000spacefm (1.0.5-1) unstable; urgency=low * release -- IgnorantGuru Wed, 20 Jan 2016 13:20:19 +0000 spacefm-1.0.5/distros/debian/compat000066400000000000000000000000021264770501700172530ustar00rootroot000000000000007 spacefm-1.0.5/distros/debian/control000066400000000000000000000022261264770501700174620ustar00rootroot00000000000000Source: spacefm Section: utils Priority: optional Maintainer: IgnorantGuru Build-Depends: debhelper (>= 7.0.50~), autotools-dev, bash, build-essential, desktop-file-utils, libc6, libcairo2, libglib2.0-0, libglib2.0-dev, libgtk2.0-0 (>= 2.18), libgtk2.0-dev, libgtk2.0-bin, libpango1.0-0, libx11-6, shared-mime-info, intltool, pkg-config, fakeroot, libudev0 (>=143) | libudev1, libudev-dev, libffmpegthumbnailer-dev Standards-Version: 3.9.1 Homepage: http://ignorantguru.github.com/spacefm/ Package: spacefm Architecture: any Depends: desktop-file-utils, bash (>=2.0), libc6, libcairo2, libglib2.0-0, libgtk2.0-0 (>= 2.18), libgtk2.0-bin, libpango1.0-0, libx11-6, shared-mime-info, libudev0 (>=143) | libudev1, libffmpegthumbnailer4 | libffmpegthumbnailer4v5 Recommends: Suggests: udevil, pmount, eject, udisks, lsof, wget, ktsuss, gksu, dbus, libdbus-1-3, libdbus-1-dev, libstartup-notification0, libstartup-notification0-dev, jmtpfs, fuseiso Conflicts: spacefm-hal, spacefm-gtk3, spacefm-common Description: A multi-panel tabbed file manager with built-in VFS, udev-based device manager, customizable menu system, and bash integration. spacefm-1.0.5/distros/debian/control-gtk3000066400000000000000000000022131264770501700203240ustar00rootroot00000000000000Source: spacefm-gtk3 Section: utils Priority: optional Maintainer: IgnorantGuru Build-Depends: debhelper (>= 7.0.50~), autotools-dev, build-essential, desktop-file-utils, libc6, libcairo2, libglib2.0-0, libglib2.0-dev, libgtk-3-0, libgtk-3-dev, libgtk-3-bin, libpango1.0-0, libx11-6, shared-mime-info, intltool, pkg-config, fakeroot, libudev0 (>=143) | libudev1, libudev-dev, libffmpegthumbnailer-dev Standards-Version: 3.9.1 Homepage: http://ignorantguru.github.com/spacefm/ Package: spacefm-gtk3 Architecture: any Depends: desktop-file-utils, bash (>=2.0), libc6, libcairo2, libglib2.0-0, libgtk-3-0, libgtk-3-bin, libpango1.0-0, libx11-6, shared-mime-info, libudev0 (>=143) | libudev1, libffmpegthumbnailer4 | libffmpegthumbnailer4v5 Recommends: Suggests: udevil, pmount, eject, udisks, lsof, wget, ktsuss, gksu, dbus, libdbus-1-3, libdbus-1-dev, libstartup-notification0, libstartup-notification0-dev, jmtpfs, fuseiso Conflicts: spacefm, spacefm-hal, spacefm-common Description: A multi-panel tabbed file manager with built-in VFS, udev-based device manager, customizable menu system, and bash integration. GTK3 version. spacefm-1.0.5/distros/debian/control-hal000066400000000000000000000025601264770501700202250ustar00rootroot00000000000000Source: spacefm-hal Section: utils Priority: optional Maintainer: IgnorantGuru Build-Depends: debhelper (>= 7.0.50~), autotools-dev, build-essential, dbus, desktop-file-utils, libc6, libcairo2, libdbus-1-3, libglib2.0-0, bash, libgtk2.0-0 (>= 2.18), libgtk2.0-bin, libpango1.0-0, libstartup-notification0, libx11-6, shared-mime-info, intltool, pkg-config, libgtk2.0-dev (>= 2.18), libglib2.0-dev, fakeroot, libstartup-notification0-dev, libdbus-1-dev, hal, libhal-dev, libhal-storage-dev, libdbus-glib-1-dev, libhal-storage1, libhal1, libdbus-glib-1-2, libffmpegthumbnailer-dev Standards-Version: 3.9.1 Homepage: http://ignorantguru.github.com/spacefm/ Package: spacefm-hal Architecture: any Depends: dbus, desktop-file-utils, bash (>=2.0), libc6, libcairo2, libdbus-1-3, libglib2.0-0, libgtk2.0-0 (>= 2.18), libgtk2.0-bin, libpango1.0-0, libstartup-notification0, libx11-6, shared-mime-info, hal, libhal-storage1, libhal1, libdbus-glib-1-2, libffmpegthumbnailer4 | libffmpegthumbnailer4v5 Recommends: Suggests: eject, lsof, wget, ktsuss, gksu Conflicts: spacefm, spacefm-gtk3, spacefm-common Description: A multi-panel tabbed file manager with built-in VFS, udev-based device manager*, customizable menu system, and bash integration. * This package is built with deprecated HAL support in place of udev (HAL device manager functions are very limited). spacefm-1.0.5/distros/debian/copyright000066400000000000000000000017361264770501700200170ustar00rootroot00000000000000Format: http://dep.debian.net/deps/dep5 Upstream-Name: spacefm Source: https://github.com/IgnorantGuru/spacefm/tree/master/packages/ Files: * Copyright: 2012 IgnorantGuru License: GPL-3+ License: GPL-3+ This package 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 3 of the License, or (at your option) any later version. . This package 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, see . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". spacefm-1.0.5/distros/debian/docs000066400000000000000000000000141264770501700167230ustar00rootroot00000000000000NEWS README spacefm-1.0.5/distros/debian/install000066400000000000000000000000011264770501700174350ustar00rootroot00000000000000 spacefm-1.0.5/distros/debian/menu000066400000000000000000000002031264770501700167370ustar00rootroot00000000000000?package(spacefm): needs=X11 \ section="Applications/File Management" \ title="SpaceFM" command="/usr/bin/spacefm" spacefm-1.0.5/distros/debian/postinst000066400000000000000000000022341264770501700176640ustar00rootroot00000000000000#!/bin/sh # postinst script for pcmanfm-mod # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) update-mime-database /usr/share/mime > /dev/null update-desktop-database -q gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 spacefm-1.0.5/distros/debian/postrm000066400000000000000000000020021264770501700173160ustar00rootroot00000000000000#!/bin/sh # postrm script for pcmanfm-mod # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) update-mime-database /usr/share/mime > /dev/null update-desktop-database -q ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 spacefm-1.0.5/distros/debian/rules000077500000000000000000000007711264770501700171420ustar00rootroot00000000000000#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ override_dh_auto_configure: dh_auto_configure -- --with-gtk2 spacefm-1.0.5/distros/debian/rules-gtk3000077500000000000000000000007711264770501700200100ustar00rootroot00000000000000#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ override_dh_auto_configure: dh_auto_configure -- --with-gtk3 spacefm-1.0.5/distros/debian/rules-hal000077500000000000000000000010061264770501700176740ustar00rootroot00000000000000#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ override_dh_auto_configure: dh_auto_configure -- --enable-hal --with-gtk2 spacefm-1.0.5/distros/debian/source/000077500000000000000000000000001264770501700173555ustar00rootroot00000000000000spacefm-1.0.5/distros/debian/source/format000066400000000000000000000000151264770501700205640ustar00rootroot000000000000003.0 (native) spacefm-1.0.5/distros/debian/watch000066400000000000000000000001161264770501700171040ustar00rootroot00000000000000version=3 https://github.com/IgnorantGuru/spacefm/tags .*/tarball/(\d[\d\.]+) spacefm-1.0.5/etc/000077500000000000000000000000001264770501700137175ustar00rootroot00000000000000spacefm-1.0.5/etc/Makefile.am000066400000000000000000000004521264770501700157540ustar00rootroot00000000000000EXTRA_DIST = spacefm.conf install-data-hook: test -d $(DESTDIR)/$(sysconfdir)/spacefm || mkdir -p -- \ $(DESTDIR)/$(sysconfdir)/spacefm test -f $(DESTDIR)/$(sysconfdir)/spacefm/spacefm.conf || $(INSTALL_DATA) \ $(srcdir)/spacefm.conf \ $(DESTDIR)/$(sysconfdir)/spacefm/spacefm.conf spacefm-1.0.5/etc/Makefile.in000066400000000000000000000321171264770501700157700ustar00rootroot00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = etc DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FAM_CFLAGS = @FAM_CFLAGS@ FAM_LIBS = @FAM_LIBS@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ G_CAST_CHECKS = @G_CAST_CHECKS@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_EXPORT_OPTIONS = @LIBTOOL_EXPORT_OPTIONS@ LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@ LIBUDEV_LIBS = @LIBUDEV_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SN_CFLAGS = @SN_CFLAGS@ SN_LIBS = @SN_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = spacefm.conf all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu etc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-hook install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am install-data-hook: test -d $(DESTDIR)/$(sysconfdir)/spacefm || mkdir -p -- \ $(DESTDIR)/$(sysconfdir)/spacefm test -f $(DESTDIR)/$(sysconfdir)/spacefm/spacefm.conf || $(INSTALL_DATA) \ $(srcdir)/spacefm.conf \ $(DESTDIR)/$(sysconfdir)/spacefm/spacefm.conf # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: spacefm-1.0.5/etc/spacefm.conf000066400000000000000000000011511264770501700162020ustar00rootroot00000000000000# spacefm.conf # This file affects all users of SpaceFM on this system. # Documentation: /usr/share/doc/spacefm/spacefm-manual-en.html#programfiles-etc # http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#programfiles-etc # tmp_dir must be a root-protected user-writable dir like /tmp # ALL users must be able to write to this dir. # tmp_dir must NOT contain spaces or special chars - keep it simple #tmp_dir=/tmp # Specify an absolute path to an additional terminal su or sudo program: #terminal_su=/bin/su # Specify an absolute path to an additional graphical su program: #graphical_su=/usr/bin/gksu spacefm-1.0.5/install-sh000077500000000000000000000220211264770501700151450ustar00rootroot00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2005-05-14.22 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" chmodcmd="$chmodprog 0755" chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test -n "$1"; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; *) # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. test -n "$dir_arg$dstarg" && break # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done break;; esac done if test -z "$1"; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src src= if test -d "$dst"; then mkdircmd=: chmodcmd= else mkdircmd=$mkdirprog fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dst=$dst/`basename "$src"` fi fi # This sed command emulates the dirname command. dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` # Make sure that the destination directory exists. # Skip lots of stat calls in the usual case. if test ! -d "$dstdir"; then defaultIFS=' ' IFS="${IFS-$defaultIFS}" oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` shift IFS=$oIFS pathcomp= while test $# -ne 0 ; do pathcomp=$pathcomp$1 shift if test ! -d "$pathcomp"; then $mkdirprog "$pathcomp" # mkdir can fail with a `File exist' error in case several # install-sh are creating the directory concurrently. This # is OK. test -d "$pathcomp" || exit fi pathcomp=$pathcomp/ done fi if test -n "$dir_arg"; then $doit $mkdircmd "$dst" \ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } else dstfile=`basename "$dst"` # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. $doit $cpprog "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dstdir/$dstfile"; then $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ || { echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" } } fi || { (exit 1); exit 1; } done # The final little trick to "correctly" pass the exit status to the exit trap. { (exit 0); exit 0 } # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: spacefm-1.0.5/intltool-extract.in000066400000000000000000000000001264770501700167760ustar00rootroot00000000000000spacefm-1.0.5/intltool-merge.in000066400000000000000000000000001264770501700164230ustar00rootroot00000000000000spacefm-1.0.5/intltool-update.in000066400000000000000000000000001264770501700166060ustar00rootroot00000000000000spacefm-1.0.5/ltmain.sh000066400000000000000000010520261264770501700147720ustar00rootroot00000000000000 # libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.7 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . # GNU libtool home page: . # General help using GNU software: . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.2 Debian-2.4.2-1.7" TIMESTAMP="" package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_dirname may be replaced by extended shell implementation # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_basename may be replaced by extended shell implementation # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # func_dirname_and_basename may be replaced by extended shell implementation # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname may be replaced by extended shell implementation # These SED scripts presuppose an absolute path with a trailing slash. pathcar='s,^/\([^/]*\).*$,\1,' pathcdr='s,^/[^/]*,,' removedotparts=':dotsl s@/\./@/@g t dotsl s,/\.$,/,' collapseslashes='s@/\{1,\}@/@g' finalslash='s,/*$,/,' # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # Sed substitution that converts a w32 file name or path # which contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_tr_sh # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_version # Echo version message to standard output and exit. func_version () { $opt_debug $SED -n '/(C)/!b go :more /\./!{ N s/\n# / / b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $opt_debug $SED -n '/^# Usage:/,/^# *.*--help/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $opt_debug $SED -n '/^# Usage:/,/# Report bugs to/ { :print s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } /^# .* home page:/b print /^# General help using/b print ' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $opt_debug func_error "missing argument for $1." exit_cmd=exit } # func_split_short_opt shortopt # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. func_split_short_opt () { my_sed_short_opt='1s/^\(..\).*$/\1/;q' my_sed_short_rest='1s/^..\(.*\)$/\1/;q' func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` } # func_split_short_opt may be replaced by extended shell implementation # func_split_long_opt longopt # Set func_split_long_opt_name and func_split_long_opt_arg shell # variables after splitting LONGOPT at the `=' sign. func_split_long_opt () { my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` } # func_split_long_opt may be replaced by extended shell implementation exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. nonopt= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "${1}=\$${1}\${2}" } # func_append may be replaced by extended shell implementation # func_append_quoted var value # Quote VALUE and append to the end of shell variable VAR, separated # by a space. func_append_quoted () { func_quote_for_eval "${2}" eval "${1}=\$${1}\\ \$func_quote_for_eval_result" } # func_append_quoted may be replaced by extended shell implementation # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "${@}"` } # func_arith may be replaced by extended shell implementation # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` } # func_len may be replaced by extended shell implementation # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_lo2o may be replaced by extended shell implementation # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_xform may be replaced by extended shell implementation # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Option defaults: opt_debug=: opt_dry_run=false opt_config=false opt_preserve_dup_deps=false opt_features=false opt_finish=false opt_help=false opt_help_all=false opt_silent=: opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false # Parse options once, thoroughly. This comes as soon as possible in the # script to make things like `--version' happen as quickly as we can. { # this just eases exit handling while test $# -gt 0; do opt="$1" shift case $opt in --debug|-x) opt_debug='set -x' func_echo "enabling shell trace mode" $opt_debug ;; --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) opt_config=: func_config ;; --dlopen|-dlopen) optarg="$1" opt_dlopen="${opt_dlopen+$opt_dlopen }$optarg" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) opt_features=: func_features ;; --finish) opt_finish=: set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help_all=: opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_mode="$optarg" case $optarg in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_silent=false func_append preserve_args " $opt" ;; --no-warning|--no-warn) opt_warning=false func_append preserve_args " $opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" ;; --silent|--quiet) opt_silent=: func_append preserve_args " $opt" opt_verbose=false ;; --verbose|-v) opt_verbose=: func_append preserve_args " $opt" opt_silent=false ;; --tag) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_tag="$optarg" func_append preserve_args " $opt $optarg" func_enable_tag "$optarg" shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; # Separate optargs to long options: --*=*) func_split_long_opt "$opt" set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-n*|-v*) func_split_short_opt "$opt" set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) set dummy "$opt" ${1+"$@"}; shift; break ;; esac done # Validate options: # save first non-option argument if test "$#" -gt 0; then nonopt="$opt" shift fi # preserve --debug test "$opt_debug" = : || func_append preserve_args " --debug" case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test "$opt_mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$opt_mode' for more information." } # Bail if the options were screwed $exit_cmd $EXIT_FAILURE } ## ----------- ## ## Main. ## ## ----------- ## # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case "$lt_sysroot:$1" in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result="=$func_stripname_result" ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$lt_sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $opt_debug # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result="" if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result" ; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $opt_debug if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $opt_debug # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $opt_debug if test -z "$2" && test -n "$1" ; then func_error "Could not determine host file name corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result="$1" fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $opt_debug if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " \`$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result="$3" fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $opt_debug case $4 in $1 ) func_to_host_path_result="$3$func_to_host_path_result" ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via `$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $opt_debug $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $opt_debug case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result="$1" } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result="$func_convert_core_msys_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via `$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $opt_debug if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd="func_convert_path_${func_stripname_result}" fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $opt_debug func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result="$1" } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_msys_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_mode_compile arg... func_mode_compile () { $opt_debug # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify \`-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" func_append_quoted lastarg "$arg" done IFS="$save_ifs" func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj="$func_basename_result" } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$opt_mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$opt_mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$opt_mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "\`$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument \`$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and \`=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test "$opt_mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$opt_mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename="" if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname" ; then func_basename "$dlprefile_dlname" dlprefile_dlbasename="$func_basename_result" else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename" ; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $opt_debug sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $opt_debug match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive which possess that section. Heuristic: eliminate # all those which have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $opt_debug if func_cygming_gnu_implib_p "$1" ; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1" ; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result="" fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ which is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options which match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #if defined(LT_DEBUGWRAPPER) static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-flto*|-fwhopr*|-fuse-linker-plugin) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test "$prev" = dlfiles; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps ; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test "$prefer_static_libs" = yes || test "$prefer_static_libs,$installed" = "built,no"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib="$l" done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$lt_sysroot$libdir" absdir="$lt_sysroot$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later func_append notinst_path " $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi case "$host" in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test "$installed" = no; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$opt_mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$opt_mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs="$temp_deplibs" fi func_append newlib_search_path " $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. func_append verstring ":${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" func_append libobjs " $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$opt_mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then # Remove ${wl} instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$opt_mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd1 in $cmds; do IFS="$save_ifs" # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test "$try_normal_branch" = yes \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=${output_objdir}/${output_la}.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " ${wl}-bind_at_load" func_append finalize_command " ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs="$new_libs" func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then func_append oldobjs " $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" func_resolve_sysroot "$deplib" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$opt_mode" = link || test "$opt_mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) func_append RM " $arg"; rmforce=yes ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then odir="$objdir" else odir="$dir/$objdir" fi func_basename "$file" name="$func_basename_result" test "$opt_mode" = uninstall && odir="$dir" # Remember odir for removal later, being careful to avoid duplicates if test "$opt_mode" = clean; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case "$opt_mode" in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$opt_mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 spacefm-1.0.5/missing000077500000000000000000000153311264770501700145460ustar00rootroot00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2012-06-26.16; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # 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, 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'automa4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: spacefm-1.0.5/mkinstalldirs000077500000000000000000000067221264770501700157610ustar00rootroot00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy scriptversion=2009-04-28.21; # UTC # Original author: Noah Friedman # Created: 1993-05-16 # Public domain. # # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' IFS=" "" $nl" errstatus=0 dirmode= usage="\ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" exit $? ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --version) echo "$0 $scriptversion" exit $? ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and # mkdir -p a/c at the same time, both will detect that a is missing, # one will create a, then the other will try to create a and die with # a "File exists" error. This is a problem when calling mkinstalldirs # from a parallel make. We use --version in the probe to restrict # ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because `.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version fi ;; *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else # Clean up after NextStep and OpenStep mkdir. for d in ./-m ./-p ./--version "./$dirmode"; do test -d $d && rmdir $d done fi ;; esac for file do case $file in /*) pathcomp=/ ;; *) pathcomp= ;; esac oIFS=$IFS IFS=/ set fnord $file shift IFS=$oIFS for d do test "x$d" = x && continue pathcomp=$pathcomp$d case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr= chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp=$pathcomp/ done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: spacefm-1.0.5/po/000077500000000000000000000000001264770501700135625ustar00rootroot00000000000000spacefm-1.0.5/po/ChangeLog000066400000000000000000000026501264770501700153370ustar00rootroot000000000000002013-05-04 miroslav * added sr@latin.po 2013-04-29 IgnorantGuru * removed translable strings from exo-icon-view.c exo-tree-view.c * removed exo-icon-view.c exo-tree-view.c from potfiles.in 2013-02-13 IgnorantGuru * merged all po files for upload * see https://www.transifex.com/projects/p/spacefm/ 2012-10-25 IgnorantGuru * POTFILES.in updated for prefdlg2.ui 2012-10-16 tct1501 * partial nl.po 2012-09-10 IgnorantGuru * POTFILES.in updated for cust-dialog.c cust-dialog.h 2012-07-16 Vladimir Kudrya * completed ru.po 2012-06-24 Tomas Forsman * partially completed new sv.po 2012-06-13 Jean-Philippe Fleury * updated fr.po 2012-02-08 IgnorantGuru * spacefm POTFILES.in and translatable strings updated 2009-04-27 Og Maciel * pt_BR.po: Updated Brazilian Portuguese translation by Henrique P. Machado. 2009-01-26 Og Maciel * pcmanfm.pot: Updated. * POTFILES.in: Updated. * pt.po: Renamed from pt_PT.po as there is no pt_PT. * .po: Updated all message catalogs against the updated pcmanfm.pot file. * LINGUAS: Added with available languages. spacefm-1.0.5/po/LINGUAS000066400000000000000000000002461264770501700146110ustar00rootroot00000000000000af ar bg bn_IN ca cs da de el es et eu fa fi fr gl he hr hu id it ja km ko lt ltg ml ms nb nl nn pl ps pt_BR pt ru sk sl sr sr@latin sv tr uk ur_PK ur vi zh_CN zh_TW spacefm-1.0.5/po/Makefile.in.in000066400000000000000000000160201264770501700162330ustar00rootroot00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ DATADIRNAME = @DATADIRNAME@ itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V)) INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@; .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< .po.gmo: $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: spacefm-1.0.5/po/POTFILES.in000066400000000000000000000025271264770501700153450ustar00rootroot00000000000000[encoding: UTF-8] # List of source files containing translatable strings. data/spacefm-folder-handler.desktop.in data/spacefm-find.desktop.in data/spacefm.desktop.in [type: gettext/glade]data/ui/about-dlg.ui [type: gettext/glade]data/ui/appchooserdlg.ui [type: gettext/glade]data/ui/file_properties.ui [type: gettext/glade]data/ui/find-files.ui [type: gettext/glade]data/ui/find-files2.ui [type: gettext/glade]data/ui/godlg.ui [type: gettext/glade]data/ui/prefdlg.ui [type: gettext/glade]data/ui/prefdlg2.ui src/cust-dialog.c src/cust-dialog.h src/main.c src/main-window.c src/pref-dialog.c src/settings.c src/ptk/ptk-file-browser.c src/ptk/ptk-location-view.c src/ptk/ptk-file-task.c src/ptk/ptk-file-archiver.c src/ptk/ptk-console-output.c src/ptk/ptk-dir-tree.c src/ptk/ptk-file-menu.c src/ptk/ptk-file-misc.c src/ptk/ptk-file-properties.c src/ptk/ptk-path-entry.c src/ptk/ptk-handler.c src/ptk/ptk-app-chooser.c src/vfs/vfs-app-desktop.c src/vfs/vfs-file-info.c src/vfs/vfs-file-task.c src/vfs/vfs-volume-hal.c src/vfs/vfs-volume-nohal.c src/desktop/desktop.c src/desktop/desktop-window.c src/find-files.c src/item-prop.c src/exo/exo-cell-renderer-ellipsized-text.c src/exo/exo-cell-renderer-icon.c src/exo/exo-gdk-pixbuf-extensions.c src/exo/exo-gtk-extensions.c src/exo/exo-icon-chooser-dialog.c src/exo/exo-icon-chooser-model.c src/exo/exo-thumbnail-preview.c spacefm-1.0.5/po/POTFILES.skip000066400000000000000000000000601264770501700156730ustar00rootroot00000000000000src/exo/exo-icon-view.c src/exo/exo-tree-view.c spacefm-1.0.5/po/af.po000066400000000000000000004731141264770501700145220ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Afrikaans (http://www.transifex.com/projects/p/spacefm/" "language/af/)\n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/ar.po000066400000000000000000005054401264770501700145340ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Ahmad Farghal , 2009 # Khaled Hosny , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/spacefm/language/" "ar/)\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "فريق عربآيز للترجمة http://www.arabeyes.org:\n" "أحمد فرغل\t\n" "خالد حسني\t" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_تصفح" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "فُتِح في الطرفية" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "خصائص الملف" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "ال_مالك:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "الم_جموعة:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "المالك:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "المجموعة:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "القراءة" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "الكتابة" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "التنفيذ" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "عيّن هوية المستخدم" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "عيّن هوية المجموعة" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "مثبت" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "الت_صاريح" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "بايت" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "ك.بايت" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "م.بايت" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "ج.بايت" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "الكل" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "خلال يوم واحد" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "خلال أسبوع واحد" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "خلال شهر واحد" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "خلال سنة واحدة" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "خلال الحيز الزمني المحدد" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "ابحث عن ملفات" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "حساس لحالة الأحرف" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "ملفات فيديو (avi، mpg،...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "ملفات صوتية (mp3، ogg،...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "ملفات صور (jpg، png،...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "ملفات نصية" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "كل الملفات والمجلدات" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "أنواع الملفات التي سيتم البحث عنها" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "الأماكن التي سيتم البحث فيها" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "عام" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "يحتوي الملف على:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "استخدم التعابير النمطية" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "محتوى الملف" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "المحتوى" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "أكبر من:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "أصغر من:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "حجم الملف" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "آخر تعديل" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "الحجم والتاريخ" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "نتيجة البحث:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "ابحث مرة أخرى" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "اذهب للمجلد" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "التفضيلات" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "العلامات:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_عام" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "اعرض شريط الألسنة دوما" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "ال_واجهة" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "الخلفية:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "رجاء اختر ملف صورة" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "الوضع:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "الخلفية:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "النص:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "الظل:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_سطح المكتب" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "إدارة ال_وسائط" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "الطرفية:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "مت_قدم" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "الملف غير موجود" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "خطأ" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "خطأ: تعذّر تأسيس اتصال مع FAM.\n" "\n" "هل ركبت إما \"FAM\" أو \"Gamin\" بصورة صحيحة، وقمت بتشغيله؟" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "لا أعرف كيف افتح هذا الملف" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "تعذّر فتح الملف:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_ملف" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_عرض" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "م_ساعدة" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "مجلد" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "الاسم" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "الحجم" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "النوع" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "التصريح" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "للخلف" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "للأمام" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "أعِد التحميل" #: ../src/settings.c:160 msgid "New Tab" msgstr "لسان جديد" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "م_جلد" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_علامات" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_خصائص" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "ت_حرير" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "ا_فتح" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "_نافذة جديدة" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "أ_دوات" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_نفذ" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "كل الملفات والمجلدات" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "استخرج إل_ى" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_علامات" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_ذهاب" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_غير الاسم" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "ا_حذف" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "ا_عكس الاختيار" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "أي_قونات" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "تعذّر وصل الجهاز" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "تعذّر فصل الجهاز" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "تعذّر إخراج الجهاز" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "أ_خرِج" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "انقل: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "انسخ: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "احذف: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "رابط:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "ينقل..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "ينسخ..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "يحذف..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "يربط..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "إلى:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "استبدل الكل" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "تخط الكل" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "تم!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "الأمر:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "نظام الملفات" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "مجلد" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "مجلد جديد" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "ملف جديد" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "يحسب..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "مستخدم غير صحيح" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "مجموعة غير صحيحة" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "كل الملفات والمجلدات" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "الأمر غير موجود" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "الدليل الهدف \"%1$s\" موجود في المصدر \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "وسط %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "اسطوانة" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "محرك %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "محرك %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "محرك أقراص مرنة" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "محرك Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "محرك Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "محرك Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "محرك SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "محرك Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "محرك Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "محرك قلم" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "مشغل موسيقى %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "آلة تصوير رقمية %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "محرك" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s خارجي" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "قرص اسطوانة" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "قرص CD-R فارغ" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "قرص CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "قرص CD-RW فارغ" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "قرص CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "قرص DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "قرص DVD-RAM فارغ" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "قرص DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "قرص DVD-R فارغ" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "قرص DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "قرص DVD-RW فارغ" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "قرص DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "قرص DVD+R فارغ" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "قرص DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "قرص DVD+RW فارغ" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "قرص DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "قرص صوتي" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "جزء قابل للإزالة %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "جزء" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "فشل في الاتصال بناظر HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "الجهاز المحدد \"%s\" ليس حجما ولا محركا" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "الجهاز \"%s\" غير موجود في جدول أجهزة أنظمة الملفات" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "ليست لديك صلاحية وصل الحجم \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "ليست لديك صلاحية فصل الحجم \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "ليست لديك صلاحية إخراج الحجم \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "خيار وصل غير صالح عند محاولة وصل الحجم \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "الحجم \"%s\" يستخدم نظام الملفات %s الذي لا يدعمه نظامك" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "يمنع أحد التطبيقات فصل الحجم \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "الجزء \"%s\" ليس موصولا" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "خطأ %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "غالبا، تم وصل الجزء \"%s\" يدويا من سطر الأوامر" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "لا يمكن وصل الأقراص الفارغة، استخدم برنامجا للكتابة على الأقراص لتسجيل أصوات " "أو بيانات عل القرص" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "لا يمكن وصل الأقراص الصوتية؛ استخدم مشغل موسيقى لتشغيل المقطوعات الصوتية" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "افتح الم_جلد المحتوي" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "اختر مجلدا" #: ../src/find-files.c:825 msgid "Browse..." msgstr "تصفح..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "آخر تعديل" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "الأمر غير موجود" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/bg.po000066400000000000000000004771651264770501700145360ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Rossen Karpuzov , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/spacefm/" "language/bg/)\n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Росен Карпузов " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Разглеждане" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Стартиране в терминал" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Информация за файла" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Собственик:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Група:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Собственик:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Група:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Четене" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Запис" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Изпълняване" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Задаване на UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Задаване на GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Права" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Общи" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Текст:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Терминал:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Грешка" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Файл" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Изглед" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Помощ" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Папка" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Име" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Размер" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Тип" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Права" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Назад" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Напред" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Опресни" #: ../src/settings.c:160 msgid "New Tab" msgstr "Нов подпрозорец" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Настройки" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Редактиране" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Отваряне" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Нов _прозорец" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Инструмент" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_Изпълнение" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "П_реименуване" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Изтриване" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Обръщане на избора" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Икони" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Изваждане" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "До:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Презаписване на всички" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Пропускане на всички" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Команда:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Файлова система" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Папка" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Нова директория" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Нов файл" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Изчисление..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "несъществуващ потребител" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Невалидна група" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Устройство %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Устройство %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Флопи-дисково устройство" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Устройство за компактна флаш памет" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Устройство за умни носители (smart media)" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Устройство SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Устройство Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Устройство Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Устройство Pen" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Портативно устройство за музика %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Цифров фотоапарат/камера %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Устройство" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Външно %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Диск CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Празен диск CD-R" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Диск CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Празен диск CD-RW" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Диск CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Диск DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Празен диск DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Диск DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Празен диск DVD-R" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Диск DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Празен диск DVD-RW" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Диск DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Празен диск DVD+R" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Диск DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Празен диск DVD+RW" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Диск DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Аудио диск" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Сила на звука" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Грешка %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Избор на папка" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Преглед..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Последна промяна" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/bn_IN.po000066400000000000000000005065231264770501700151220ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # sankarshan mukhopadhyay , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Bengali (India) (http://www.transifex.com/projects/p/spacefm/" "language/bn_IN/)\n" "Language: bn_IN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "অনুবাদক-স্বীকৃতি" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "ব্রাউজ(_B)" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "টার্মিনালে খোলা হয়েছে" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "ফাইলের বৈশিষ্ট্য" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "মালিক(_O):" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "গ্রুপ(_G):" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "প্রস্তুতকর্তা:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "গ্রুপ:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "পড়ুন" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "লিখুন" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "সঞ্চালন করুন" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "UID ধার্য্য করুন" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "GID ধার্য্য করুন" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "স্টিকি" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "অনুমতি(_P)" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "ফাইল খুঁজে নিন" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "ছাঁদ সংবেদনশীল" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "ভিডিও ফাইল (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "অডিও ফাইল (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "ছবির ফাইল (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "প্লেন টেক্সট ফাইল" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "সকল ফাইল ও ফোলডার" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "যে সকল ফাইলের প্রকার খোঁজা হবে" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "যে সকল স্থান খোঁজা হবে" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "সাধারণ" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "ফাইলের বিষয়বস্তু:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "রেগুলার এক্সপ্রেসন ব্যবহার করুন" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "ফাইলের বিষয়বস্তু" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "বিষয়বস্তু" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "এর থেকে বেশী:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "এর থেকে ছোট:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "ফাইলের আয়তন" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "সর্বশেষ পরিবর্তনের সময়" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "আয়তন & তারিখ" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "খোঁজের ফলাফল:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "পুনরায় খুঁজে নিন" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "ঐ ফোল্ডারে যাওয়া হবে" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "বিবিধ বৈশিষ্ট্য" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "বুকমার্ক:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "সাধারণ(_G)" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "সর্বদা ট্যাব-বার প্রদর্শন করা হবে" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "ইন্টারফেস(I_)" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "ওয়ালপেপার:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "একটি ছবির ফাইল বেছে নিন" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "মোড:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "পটভূমি:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "টেক্সট:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "শ্যাডো:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "ডেস্কটপ(_D)" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "ভলিউম সঞ্চালন(_V)" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "টার্মিনাল:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "উন্নত(_A)" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "ফাইল অনুপস্থিত" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "ফাইল কিভাবে খোলা হবে তা অজানা" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "ফোল্ডার" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "নাম" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "মাপ" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "প্রকার" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "নতুন ট্যাব" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "ফোল্ডার(_F)" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "বিবিধ বৈশিষ্ট্য(_P)" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "খুলুন(_O)" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "নতুন উইন্ডো(_W)" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "সঞ্চালন(_x)" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "সকল ফাইল ও ফোলডার" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "ঐখানে এক্সট্র্যাক্ট করুন(_T)" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "আইকন(_I)" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "লিংক:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "গন্তব্যস্থল:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "সমাপ্ত!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "কম্যান্ড:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "ফাইল সিস্টেম" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "ফোল্ডার" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "নতুন ফোল্ডার" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "নতুন ফাইল" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "গণনা করা হচ্ছে..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "অবৈধ ব্যবহারকারী" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "অবৈধ গ্রুপ" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "সকল ফাইল ও ফোলডার" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s ভলিউম" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "ফ্লপি ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "কম্প্যাক্ট ফ্ল্যাশ ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "মেমরি স্টিক ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "স্মার্ট মিডিয়া ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "জিপ ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "জ্যাজ ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "পেন ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s মিউজিক প্লেয়ার" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s ডিজিটাল ক্যামেরা" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "ড্রাইভ" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "বহিস্থিত %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "শূন্য CD-R ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "শূন্য CD-RW ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "শূন্য DVD-RAM ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "শূন্য DVD-R ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "শূন্য DVD-RW ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "শূন্য DVD+R ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "শূন্য DVD+RW ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "অডিও ডিস্ক" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s রিমুভেবেল ভলিউম" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "ভলিউম" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "আপনার ভলিউম \"%s\" মাউন্ট করার অধিকার নেই" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "আপনার ভলিউম \"%s\" আনমাউন্ট করার অধিকার নেই" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "আপনার ভলিউম \"%s\" বহিষ্কার করার অধিকার নেই" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "\"%s\" ভলিউম মাউন্ট করার সময় অবৈধ মাউন্ট বিকল্প ব্যবহার করা হয়েছে" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "ভলিউম \"%s\" এই %s ফাইলসিস্টেম ব্যবহার করে যেটি আপনার সিস্টেম দ্বারা " "সমর্থিত নয়" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "একটি অ্যাপ্লিকেশন ভলিউম \"%s\" টিকে আনমাউন্ট করতে বাধা দিয়েছে" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "ভলিউম \"%s\" টি মাউন্ট করা নেই" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "ত্রুটি %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" "ভলিউম \"%s\" টি বোধহয় কম্যান্ড লাইনের সাহায্য মাউন্ট করা হয়েছে HAL এটি আনমাউন্ট " "করতে সক্ষম নয়" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "শূন্য ডিস্ক মাউন্ট করা সম্ভব নয়, কোন সিডি রেকর্ডিং অ্যাপ্লিকেশন ব্যবহার করে ডিস্কে " "অডিও বা তথ্য লিখুন" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "অডিও সিডি মাউন্ট করা যায়নি, অডিও ট্র্যাক শোনার জন্য মিউজিক প্লেয়ার ব্যবহার করুন" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "ফোল্ডারটি খুলুন(_F)" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "একটি ফোল্ডার বেছে নিন" #: ../src/find-files.c:825 msgid "Browse..." msgstr "ব্রাউজ..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "শেষ পরিবর্তনের তারিখ" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/ca.po000066400000000000000000005016321264770501700145140ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Josep Sànchez , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/spacefm/language/" "ca/)\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Josep Sànchez MeseguéOriol Piera" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Navega" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Obre un terminal aquí" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Propietats del fitxer" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "Pr_opietari:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grup:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Propietari:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grup:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lectura" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Escriptura" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Executa" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Defineix UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Defineix GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Enganxós" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Permisos" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Cerca _fitxers" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Distingeix entre majúscules i minúscules" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Fitxers de vídeo (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Fitxers d'audio (mp3, ogg, ...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Fitxers d'imatge (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "_Arxius de text pla" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Tots els fitxers i carpetes" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Tipus de fitxer a buscar" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Llocs on cercar" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "_General" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "El fitxer conté:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Empra expressions regulars" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Contingut del fitxer" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Contingut" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Més gran que:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Més petit que:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Mida del fitxer" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Modificat:" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Mida i data" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Resultat de la cerca" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Torna a cercar" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ves a la carpeta" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Preferències" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Marcadors:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_General" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Mostra sempre la barra de pestanyes" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterfície" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Fons de pantalla" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Seleccioneu una imatge" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Mode:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Fons" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Text:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Ombra:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Escriptori" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Gestió de _volums" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avançat" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "No existeix el fitxer!" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Error" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Error: no s'ha pogut establir una connexió amb FAM.\n" "\n" "Pot ser que no tingueu instal·lat o funcionant \"FAM\" o \"Gamin\"?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "No es sap com obrir el fitxer" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "No s'ha pogut obrir el fitxer:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fitxer" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "Visualit_za" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "A_juda" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Carpeta" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nom" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Mida" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipus" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Permisos" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Enrere" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Endavant" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Actualitza" #: ../src/settings.c:160 msgid "New Tab" msgstr "Nova pestanya" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Carpeta" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Marcadors" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Propietats" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Edita" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Obre" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nova _finestra" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "Ei_nes" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "E_xecuta" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Tots els fitxers i carpetes" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Ex_treu a" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Marcadors" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Ves" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Reanomena" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Esborra" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Inverteix la selecció" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "Vista d'_icones" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "No s'ha pogut muntar el dispositiu" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "No s'ha pogut desmuntar el dispositiu" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "No s'ha pogut expulsar el dispositiu" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Expulsa" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Mou: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Copia: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Esborra: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Enllaça: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "S'està movent..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "S'està copiant..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "S'està esborrant..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Enllaçant..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "A:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Sobreescriu tot" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Omet tot" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "S'ha completat la tasca!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Ordre:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Tipus Mime:" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Carpeta" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Nou directori" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Nou fitxer" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "S'està calculant..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "L'usuari no és vàlid" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "El grup no és vàlid" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Tots els fitxers i carpetes" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "No s'ha trobat l'ordre" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "El directori destí \"%1$s\" és dins l'origen \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Volum %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Unitat %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Unitat %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Unitat de disc flexible" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Lector de Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Lector de Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Lector d'Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Lector SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Unitat ZIP" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Unitat Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen drive" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Reproductor musical %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Càmara digital %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Unitat" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s extern" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disc de CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Disc CD-R verge" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disc CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Disc CD-RW verge" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disc CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disc DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Disc DVD-RAM verge" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disc DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Disc DVD-R verge" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disc DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Disc DVD-RW verge" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disc DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Disc DVD+R verge" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disc DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Disc DVD+RW verge" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disc DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Disc d'audio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Volum extraible %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volum" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "No s'ha pogut connectar amb el dimoni HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "El dispositiu esmentat %s no és un volum o dispositiu" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "No s'ha trobat el dispositiu \"%s\" a la taula del sistema de fitxers" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "No teniu els permisos per a muntar el volum \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "No teniu permisos per a desmuntar el volum \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "No teniu permisos per a expulsar el volum \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "En muntar el volum s'ha especificat una opció no vàlida \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "El volum \"%s\" empra el sistema de fitxers %s que no està suportat " "pel vostre sistema" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Una aplicació impedeix que el volum \"%s\" es pugui desmuntar" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "El volum \"%s\" no esta muntat" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Error %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "És probable que el volum \"%s\" s'hagi muntat manualment" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Els discs verges no es poden muntar. Empreu una aplicació de gravació de CD " "per a gravar dades o audio al disc" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Els CD d'audio no es poden muntar. Empreu un reproductor musical per a " "escoltar les pistes musicals" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Obre la carpeta contenidora" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Seleccion_a-ho tot" #: ../src/find-files.c:825 msgid "Browse..." msgstr "_Navega..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Última modificació" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "No s'ha trobat l'ordre" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/cs.po000066400000000000000000006754541264770501700145540ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # fri, 2013-2014 # Jiří Vírava , 2013 # fri, 2015 # Radek , 2008 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-13 13:46+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Czech (http://www.transifex.com/ignorantguru/spacefm/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Otevření složky SpaceFM" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Otevřít složku" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Hledání souborů SpaceFM" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Hledat soubory a složky" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Správce souborů" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Procházet systém souborů" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "Od IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Autorské právo (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "Ikony SpaceFM a logo od Goran Simovic\n\nAdditional icons were taken from the Tango Desktop Project icon set" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Radek Tříška (radek@fastlinux.eu), Pavel Fric " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Vybrat program" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Vyberte, prosím, program nebo zadejte příkaz" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Typ souboru:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Přiřazené programy" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "_Všechny programy" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Příkaz:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Procházet" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Otevřeno v terminálu" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "_Nastavit jako výchozí program pro tento typ souboru" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Vlastnosti souboru" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "_Název souboru:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Umístění:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "_Cíl odkazu:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Typ:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Otevřít _s:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Celková velikost:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Velikost na disku:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Počet:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "Změněno:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "Poslední _přistup:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Informace" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Vlastník:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Skupina:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Vlastník:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Skupina:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Ostatní:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Pro čtení" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Zapisovatelný" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Spustitelný" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Nastavit UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Nastavit GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sticky" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Použít změny na složky a jejich podsložky" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "_Oprávnění" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytů" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Kdykoli" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Během jednoho dne" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Během jednoho týdne" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Během jednoho měsíce" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Během jednoho roku" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Během vybraného rozsahu data" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Najít soubory" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Název souboru:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Rozlišovat velikost písmen" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Obrazové soubory (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Zvukové soubory (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Obrázky (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Textové soubory" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Všechny soubory a adresáře" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Typy souborů k hledání" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Hledat v podsložkách" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Hledat skryté soubory" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Místa k prohledání" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Obecné" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Soubor obsahuje:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Použít regulární výraz" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Obsah souboru" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Obsah" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Větší než:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Menší než:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Velikost souboru" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Naposledy změněno" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Velikost a datum" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Výsledek Hledání:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Opakovat Hledání" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Jít do složky" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Otevřít v současné kartě" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Otevřít v nové kartě" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Zvětšit" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Přizpůsobit" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Střed" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Dlažďice" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Zvětšení" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Průhledný" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automaticky" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopírovat (Ctrl+tažení doleva)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Přesunout (Shift+tažení)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Spojit (Ctrl+Shift+tažení)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Nastavení" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Malé ikony" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Velké ikony" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Ikony v nástrojovém pruhu:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Ikony" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Otevírat soubory jedním klepnutím" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Přejetím se vybere" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Záložky:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Ukázat náhledy" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Největší velikost obrázku náhledu:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Seznam souborů" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Hlavní" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Vždy ukazovat pruh s kartami" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Skrýt tlačítka Zavřít kartu" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Potvrdit smazání/odstranění" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Klepnutí spustí spustitelné soubory" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "SI velikosti souborů (1K = 1000) (vyžaduje opětovné spuštění)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Ukázat barvu ukazatele uživatele s právy superuživatele" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Výchozí činnost tažení:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "_Rozhraní" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Pozadí:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Prosím vyberte obrázek" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Mód:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Pozadí:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Text:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Stín:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Písmo:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Nahoře:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Vlevo:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Vpravo:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Dole:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Výplň:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Okraje" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Klepnutí pravým tlačítkem myši ukáže nabídku" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Otevřít složky pomocí přiřazeného programu MIME" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Pracovní plocha" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Správa svazků" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminál:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Superuživatel - terminál:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Superuživatel - grafické uživatelské rozhraní:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Kódování souborového názvu:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Spustit editor v terminálu" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Editor superuživatele:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Spustit editor superuživatele v terminálu:" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Formát data:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(vyžaduje opětovné nahrání)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Zobrazení data" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Pokročilé" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Příliš mnoho sloupců (>%d) v %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "Chyba při čtení souboru %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "Obsah souboru '%s' není UTF-8" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "Nelze nastavit chybějící prvek '%s'" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "Soubor '%s není běžným souborem" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "Dynamická změna velikosti vyžaduje šířku a výšku > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "interníí příkaz %s vyžaduje argument" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "prvek '%s' neexistuje" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "Vnitřní příkaz Klepnout není na %s použitelné" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "Vnitřní příkaz Vybrat/Zrušit výběr není na %s použitelné" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "Chyba při zápisu souboru %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' není vnitřní příkaz" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "Chyba při vytváření souboru %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "Řetěz příkazů '%s' neodpovídá normě UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ SNIP - hořejší dodatečný výstup byl z tohoto převzat ve zlepšeném tvaru ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "(Obsah souboru neodpovídá normě UTF-8)" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "Předpona '%s' není platný název proměnné" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Pozastavit" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "Soubor '%s není ani běžným souborem ani řetězem příkazů" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "SpaceFM Dialog vytvoří vlastní dialog GTK založený na prvcích GUI, jež\nstanovíte v příkazovém řádku, nabízí vnitřní/vnější příkazy, které\nmohou změnit prvky za běhu, a dává vyhodnotitelné/dále použitelné výsledky.\n" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "Použití:\n" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ELEMENT [VOLBY] [ARGUMENTY...]} ...\n" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Příklad:\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Zpráva\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "\nELEMENT: VOLBY A ARGUMENTY:\n" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nNásledující argumenty jsou použitelné, jak je to ukázáno výše:\n" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr " STOCK INVENTÁRNÍ KUS %s\n" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ICON Název symbolu, např. gtk-open\n" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr " @FILE Textový soubor, z nějž se má přečíst hodnota. V některých případech\n je tento soubor za běhu sledován, takže zapsání nové hodnoty do souboru\n starý prvek nahradí. Jinak bude nová hodnota přidělena.\n" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr " SAVEFILE Obsah zobrazovacího programu nebo editoru je uložen do tohoto souboru.\n" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr " COMMAND Vnitřní příkaz nebo spustitelný soubor s vlastními volbami pro zavolání. Více\n příkazů se musí oddělit argumentem -- .\n V PŘÍKAZECH jsou dovoleny následující nahrazení:\n %%n Název nynějšího prvku\n %%v Hodnota nynějšího prvku\n %%NAME Hodnota prvku pojmenovaného NAME (např.: %%input1)\n %%(command) stdout bashového příkazového řádku\n %%%% %%\n" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr " LABEL Na následující únikové (escape) sekvence v LABEL se nebere zřetel:\n \\n newline\n \\t tab\n \\\" \"\n \\\\ \\\n Jen v --label prvcích, pokud je prvním znakem v LABEL \n vlnovka (~), je možné použít pango markup. Příklad:\n --label '~Toto je plain. Toto je bold.'\n" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "\nDodatkem k výše uvedeným VOLBÁM mohou být přidány ke kterémukoli prvku ještě volby --compact nebo --expand\n--expand. Pro většinu písem pro prvky je i\nvolba --font na změnu typu písma a velikosti písma. Příklad:\n --input --font \"Times New Roman 16\" \"Text\"\n" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "\nVNITŘNÍ PŘÍKAZY:\n" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "\nPŘÍKLAD S PŘÍKAZY:\n" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr " spacefm -g --label \"Zadejte nějaký text a stiskněte Enter:\" \\\n --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n --label \\\n --button ok\n" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "\nPŘÍKLAD SKRIPTU:\n" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nCelou dokumentaci a příklady naleznete v uživatelské příručce SpaceFM:\n" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: Argument neodpovídá normě UTF-8\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "Neplatná dialogová volba" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Ukázat název okna" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Nastavit ikonu okna" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Přidat textový popisek" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Přidat dialogové tlačítko INVENTÁRNÍ KUS nebo TLAČÍTKO POPISEK se SYMBOLEM" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Přidat dialogové tlačítko INVENTÁRNÍ KUS nebo TLAČÍTKO POPISEK se SYMBOLEM na libovolném místě" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Přidat textovou položku" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Přidat velkou textovou položku" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Přidat položku s heslem" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Přidat prohlížeč souboru nebo řetězu příkazů" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Přidat víceřádkový textový editor" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Přidat volbu zaškrtávacího okénka" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Přidat volbu kulatého tlačítka" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Přidat ikonu" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Přidat obrázek" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Přidat ukazatel průběhu" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Přidat vodorovný čárový oddělovač" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Přidat svislý čárový oddělovač" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Automaticky zavřít okno po uplynutí stanoveného množství sekund" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Přidat rozbalovací seznam. PŘÍKAZ je proveden po klepnutí." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Přidat společné pole s rozbalovacím seznamem. PŘÍKAZ je proveden po stisknutí klávesy Enter." #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Přidat seznam PŘÍKAZ je proveden po dvojitém klepnutí." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Přidat seznam s vícenásobným výběrem" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Volby: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Nastavit název základní proměnné (Výchozí: \"dialog\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Nastavit nejmenší šířku, výšku, výplň (-1 = nezměněno)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Přidat následující prvky do vodorovného pole" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Přidat následující prvky do svislého pole" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Zavřít nynější pole prvků" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Spustit PŘÍKAZ při stisknutí spojení kláves" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "Spustit PŘÍKAZ při pokusu o zavření okna" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Číst příkazy ze SOUBORU nebo ŘETĚZU PŘÍKAZŮ. PŘÍKAZ pro inicializaci." #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "Žádná operace - nedělá nic, ale přezkouší argumenty" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "Zavřít dialog" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "Stiskněte tlačítko BUTTON-NAME" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "Nastavit prvek NAME na na hodnotu HODNOTA" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Vybrat položku HODNOTA (nebo první/vše) v prvku NÁZEV" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Zrušit výběr položky HODNOTA (nebo vše) v prvku NÁZEV" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "Zaměřit prvek NAME, nebo otevřít dialogové okno" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "Skrýt prvek NAME" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "Ukázat prvek NAME, pokud byl předtím skryt" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "Zakázat prvek NAME" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "Povolit prvek NAME, pokud byl předtím zakázán" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "Uložit soubory a zapsat výstup zdroje do SOUBORU" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Otevřít složky v nové kartě posledního okna (výchozí)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Otevřít složku v nynější kartě naposledy použitého okna" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Nenahrávat uložené karty" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Otevřít složky v novém okně" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Otevřít složky v panelu 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Spustit démona správce pracovní plochy" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Ukázat nastavení pracovní plochy" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Ukázat nastavení ('N' je počet karet pro nastavení)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Spustit jako démona" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Použít adresář (DIR) jako adresáři s nastavením" #: ../src/main.c:138 msgid "Show File Search" msgstr "Ukázat hledání souboru" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Nastavit pozadí plochy na SOUBOR" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Ukázat uživatelsky stanovený dialog (Podívejte se na -g pro nápovědu)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Poslat příkaz socket (Podívejte se na -s pro nápovědu)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Žádná funkce - přítomno jen z důvodu kompatibility" #: ../src/main.c:151 msgid "Show version information" msgstr "Ukázat informace o verzi" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | SOUBOR | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Volba --config-dir se přehlíží - Část programu již běží" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Volba --config-dir obsahuje neplatné znaky - Nelze spustit" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd vyžaduje argument\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: Nepodařilo se vytvořit socket\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm : Nepodařilo se spojit se se socketem (neběží? nebo DISPLAY není nastaveno?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: Neplatná odpověď od socketu 's'\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "Příkazy SpaceFM pro patici (socket) dovolují vnější procesy (jako příkazové skripty) das\nLesen a nastavení hodnot vlastností GUI a provádění metod v\notevřených oknech SpaceFM. Na to jak zacházet s událostmi se podívejte přes hlavní nabídku: Pohled|Události" #: ../src/main.c:677 msgid "Usage:" msgstr "Použití:" #: ../src/main.c:679 msgid "Example:" msgstr "Příklad:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "METODY\n-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Nastaví vlastnost" #: ../src/main.c:687 msgid "Gets a property" msgstr "Načte vlastnost" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Nastaví vlastnost úkolu" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Načte vlastnost úkolu" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Začne nový úkol" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Zapne položku nabídky odevzdáním její klávesové zkratky" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Přidat asynchronní část programu PŘÍKAZ k UDÁLOSTI" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Přidat synchronní část programu PŘÍKAZ k UDÁLOSTI. Nahradí přednastavený příkaz" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Odstranit část programu PŘÍKAZ z UDÁLOSTI" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Ukáže tento odkaz na nápovědu. (Podívejte se i na odkaz na příručku níže.)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "VOLBY\n-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Přidat volby po provedení METODY k stanovení určitého okna, panelu a/nebo karty." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Jinak se použije nynější karta nynějšího panelu posledního okna" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Stanovit okno. Např.:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Stanovit panel 1-4. Např.:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Stanovit kartu 1-. Např.:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "VLASTNOSTI\n----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Nastavit vlastnosti METODOU 'set', nebo dostat hodnotu pomocí 'get'." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "Např. '800x600'" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "Např. '100x50'" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "Např. '1024x768' (jen pro čtení)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "Např. '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Otevřít DIR nebo přednastavenou složku v nové kartě" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "Např. 'Nynější stav: Příklad'" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR Např. '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[NÁZEV SOUBORU...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[VZOR] např '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "Např. 'nějaké\\nřádky\\ntextu'" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "Např. '~/Kopírovat-obsah-souboru-do-schránky.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "SOUBOR... Soubory zkopírovány do schránky" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "SOUBOR... Soubory přesunuty do schránky" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "VLASTNOSTI ÚKOLU\n---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "Obsah sloupce s úkoly Stav (pouze pro čtení)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "Např. 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "Text k ukázání ve sloupci s úkoly Počet" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "Text k ukázání ve sloupci s úkoly Složka" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "Text k ukázání ve sloupci s úkoly Položka" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "Text k ukázání ve sloupci s úkoly Do" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "Postup v procentech (1..100) nebo \" pro tepající" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "Text k ukázání ve sloupci s úkoly Celkem" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "Text k ukázání ve sloupci s úkoly Nynější" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "Text k ukázání ve sloupci s úkoly Nyní zbývá" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "Text k ukázání ve sloupci s úkoly Průměr" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "Text k ukázání ve sloupci s úkoly Zbývá" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "Obsah sloupce s úkoly Uplynulo (pouze pro čtení)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "Obsah sloupce s úkoly Spuštěno (pouze pro čtení)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "PŘÍKAZ příkaz k ukázání uživatelsky stanoveného dialogu\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "TYPY ÚKOLŮ\n----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Spustit PŘÍKAZ v ADRESÁŘI" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Kopírovat|Přesunout|Odkázat SOUBOR(Y) oder ADRESÁŘ(E) do CÍLOVÉHO adresáře/složky" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Smazat SOUBOR(Y) oder ADRESÁŘ(E) včetně podložek" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "Otevřít SOUBOR v textovém editoru superuživatele" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "Otevřít adresu (URL) v prohlížeči uživatele" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "Připojit ZAŘÍZENÍ nebo ADRESU (URL)" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "Odpojit ZAŘÍZENÍ nebo ADRESÁŘ přípojného bodu" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "UDÁLOSTI\n------" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "Spustit instanci %e" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "Ukončit instanci %e" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "Nové okno %e %w %p %t" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "Zaměřit okno %e %w %p %t" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "Přesunout okno/Změnit velikost okna %e %w %p %t" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Klepnutí myši %e %w %p %t %b %m %f" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "Stisknout klávesu okna %e %w %p %t %k %m" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "Zavřít okno %e %w %p %t" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "Zaměřit panel %e %w %p %t" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Ukázat/Skrýt panel %e %w %p %t %f %v" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "Výběr změněn %e %w %p %t" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "Nová karta %e %w %p %t" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "Zaměřit kartu %e %w %p %t" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "Zavřít kartu %e %w %p %t" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "Změnit zařízení %e %f %v" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "Nahrazovací proměnná pro událost PŘÍKAZ:" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "Typ události (spuštění|ukončení|...)" #: ../src/main.c:828 msgid "window ID" msgstr "ID okna" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "Číslo panelu (1-4)" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "Číslo karty (1-...)" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "Tlačítko myši (0=pravé+levé 1=levé 2=prostřední 3=pravé ...)" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "Kód klávesy (např. 0x63)" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "Klávesa modifikátoru (např. 0x4 dohromady s klepnutím nebo stisknutím klávesy)" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "Prvek v zaměření (PanelN|Seznam souborů|Zařízení|Záložky|Adresářový strom|Pole s cestou)" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "Prvek v zaměření je viditelný (0 nebo 1, nebo změnit stav zařízení)" #: ../src/main.c:838 msgid "Examples" msgstr "Příklady" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "Tyto soubory byly zkopírovány do schránky" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Úplná dokumentace a příklady jsou v uživatelské příručce k SpaceFM:" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "U této verze SpaceFM je integrace plochy vypnuta" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Chyba: Nelze uložit sezení\n %s\n" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "Soubor neexistuje" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Chyba" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "Chyba: Nelze inicializovat sledování změn souborů inotify.\n\nMáte jádro s podporou pro inotify (kernel)?" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Chyba: Nemohu navázat spojení s FAM.\n\nMáte nainstalován a spuštěn \"FAM\" nebo \"Gamin\" ?" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "--dialog musí být první volba" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "--socket-cmd musí být první volba" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Neví se, jak soubor otevřít" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Nelze otevřít soubor:\n\"%s\"\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Vybrat soubor s přídavným modulem" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Zadat adresu (URL) přídavného modulu" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Zadat adresu (URL) přídavného modulu SpaceFM:\n\n(soubor s přídavným modulem bude stažen pomocí wget)" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "Neplatný název přídavného modulu. Přejmenujte jej, prosím (jen alfanumerické znaky ASCII!) a zkuste to ještě jednou." #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "Neplatný název souboru přídavného modulu" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "Přídavný modul '%s' již je nainstalován. Přepsat?\n\nRada: Je možné tento přídavný modul přepsat a uložit pod jiným názvem, pod kterým se pak nainstaluje. " #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "Přepsat přídavný modul?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Chyba při vytváření dočasného adresáře" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "Nelze vytvořit dočasný adresář" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Chyba: Nelze uložit soubor se sezením.\n\n( %s )" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Chyba při ukládání sezení" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Otevřít okno superuživatele" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminál nedostupný" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Nastavte, prosím, svůj program pro terminál v Pohled|Nastavení|Pokročilé" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Otevřít terminál" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "Nápověda k návrhovému režimu" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1903 msgid "Panel" msgstr "Panel" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Nový _příkaz" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "Ukázat panel %d" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Soubor" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "_Pohled" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Zařízení" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "Zál_ožky" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Moduly" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "_Nástroje" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "Nápo_věda" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Chyba: Nelze uložit soubor se sezením. Chcete program ukončit bez uložení?\n\n( %s )" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "Chyba SpaceFM" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "Zastavit všechny úkoly spuštěné v tomto okně?" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "Rušení úkolů..." #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr "%s volné / %s" #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "%sČtení %s ..." #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr " Odkaz → %s" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr " Odkaz → %s/" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Odkaz → %s/ (chybí)" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr " Odkaz → %s (%s)" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr " !Odkaz → %s (chybí)" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr " !Odkaz → (chyba při čtení cíle)" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "skrytý" msgstr[1] "skrytý" msgstr[2] "skrytý" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d viditelný (%s) %s" msgstr[1] "%s%d viditelný (%s) %s" msgstr[2] "%s%d viditelný (%s) %s" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d položka %s" msgstr[1] "%s%d položky %s" msgstr[2] "%s%d položek %s" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Klávesové zkratky správy zařízení jsou v režimu HAL vypnuty" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "Stav" #: ../src/main-window.c:4302 msgid "#" msgstr "#" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Složka" #: ../src/main-window.c:4302 msgid "Item" msgstr "Položka" #: ../src/main-window.c:4303 msgid "To" msgstr "Do" #: ../src/main-window.c:4303 msgid "Progress" msgstr "Postup" #: ../src/main-window.c:4303 msgid "Total" msgstr "Celkem" #: ../src/main-window.c:4304 msgid "Started" msgstr "Spuštěno" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "Uplynulo" #: ../src/main-window.c:4304 msgid "Current" msgstr "Nynější" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "Nyní zbývá" #: ../src/main-window.c:4305 msgid "Average" msgstr "Průměr" #: ../src/main-window.c:4305 msgid "Remain" msgstr "Zbývá" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "Nápověda k přeuspořádání sloupců" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Pro změnu pořadí sloupců táhněte záhlaví sloupce na požadované místo." #: ../src/main-window.c:5913 msgid "moving" msgstr "Přesouvá se" #: ../src/main-window.c:5914 msgid "copying" msgstr "Kopíruje se" #: ../src/main-window.c:5915 msgid "trashing" msgstr "Zahazuje se do koše" #: ../src/main-window.c:5916 msgid "deleting" msgstr "Maže se" #: ../src/main-window.c:5917 msgid "linking" msgstr "Odkazuje se" #: ../src/main-window.c:5918 msgid "changing" msgstr "Mění se" #: ../src/main-window.c:5919 msgid "running" msgstr "Spouští se" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "%d chyba %s" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "%d chyby %s" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "Pozastaveno" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "Zařazeno" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Název" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Velikost" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Typ" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Práva" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "Vlastník" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "Upraveno" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "spacefm: Neplatný příkaz konektoru\n" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: Neplatný přepínač '%s'\n" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: Přepínač %s vyžaduje argument\n" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "spacefm: Neplatné okno\n" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: Neplatné okno %s\n" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: Neplatný panel %d\n" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: Panel %d není viditelný\n" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: Neplatná karta %d\n" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: Sada příkazů vyžaduje argument\n" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: Neplatná hodnota %s\n" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "spacefm: Neplatná hodnota posuvníku\n" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "spacefm: Neplatné číslo panelu\n" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "spacefm: Neplatné číslo karty\n" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: Neplatná vlastnost %s\n" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "spacefm: Neplatná šířka sloupce\n" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: Neplatný název sloupce '%s'\n" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: Text neodpovídá normě UTF-8\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s vyžaduje cestu k souboru\n" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: Chyba při čtení souboru '%s'\n" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: Obsah souboru '%s' neobsahuje platný text UTF-8\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s vyžaduje cestu k adresáři\n" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: Adresář '%s' neexistuje\n" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: Příkaz %s vyžaduje argument\n" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s vyžaduje dva argumenty\n" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: Neplatný úkol '%s'\n" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: Vnitřní úkol %s je pouze ke čtení\n" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: Vlastnost úkolu '%s' je pouze ke čtení\n" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: Neplatný stav řetězce '%s'\n" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: Neplatná vlastnost úkolu '%s'\n" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: Není žádný takový adresář '%s'\n" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: Neplatná volba %s u úkolu '%s'\n" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: Není žádný takový soubor '%s'\n" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "spacefm: Typ úkolu %s vyžaduje sestavení udev\n\n" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "spacefm: Typ úkolu %s vyžaduje argument CÍL\n" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "spacefm: Neplatný CÍL '%s'\n" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: relativní cesta '%s' vyžaduje %s volbu --dir DIR\n" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: Typ úkolu %s vyžaduje argument(y) SOUBOR\n" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: Neplatný typ úkolu '%s'\n" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: Neplatný kód klávesy '%s'\n" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm: Neplatný typ události '%s'\n" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: Správa události nenalezena\n" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: Neplatná metoda socketu '%s'\n" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "Výchozí" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "Vybrat písmo plochy" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "Příklad 0123456789" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "Požadavky na průhlednost" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "" #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "Uložit nastavení superuživatele" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Zadejte program nebo (bash) příkazový řádek(y):\n\nPoužití:\n\t%%F\tvybrané soubory nebo %%f první vybraný soubor\n\t%%N\tvybrané souborové názvy nebo %%n první vybraný souborový název\n\t%%d\tnynější adresář\n\t%%v\tvybrané zařízení (např. /dev/sda1)\n\t%%m\tpřípojný bod zařízení (např. /media/dvd); %%l štítek (označení) zařízení\n\t%%b\tvybraná záložka\n\t%%t\tvybraný adresář s úkoly; %%p PID úkolu\n\t%%a\thodnota položky nabídky\n\t$fm_panel, $fm_tab, $fm_command, atd." #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "" #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "" #: ../src/settings.c:156 msgid "Show Devices" msgstr "Ukázat zařízení" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "Ukázat záložky" #: ../src/settings.c:158 msgid "Show Tree" msgstr "Ukázat strom" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "Domovská složka" #: ../src/settings.c:161 msgid "Up" msgstr "Nahoru" #: ../src/settings.c:162 msgid "Back" msgstr "Zpět" #: ../src/settings.c:163 msgid "Back History" msgstr "Historie zpět" #: ../src/settings.c:164 msgid "Forward" msgstr "Vpřed" #: ../src/settings.c:165 msgid "Forward History" msgstr "Historie vpřed" #: ../src/settings.c:166 msgid "Refresh" msgstr "Obnovit" #: ../src/settings.c:167 msgid "New Tab" msgstr "Nová karta" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Nová karta zde" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "Ukázat skryté" #: ../src/settings.c:171 msgid "Large Icons" msgstr "Velké ikony" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "" #: ../src/settings.c:462 msgid "file not found" msgstr "soubor nenalezen" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "Přehlížet příkazy ke skrývá_ní" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "Přehlížet příkazy k _vyloučení" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "Č_asto kladené otázky" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "Za_stavit" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "Ukázat _správce" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "Skrýt správce automaticky" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "_Chyby" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "Nyní z_bývá" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "Průměrně zbý_vá" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Složka" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "_Podrobné statistiky" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "Odstrani_t/Vysunout" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "_Zavést" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "Správce ú_kolů" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "Název _souboru" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "Ty_p" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "_Cíl" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "Pře_dloha" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "Otevřít adresu (_URL)" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# Soubor se sezením SpaceFM\n\n# TENTO SOUBOR NENÍ NAVRŽEN PRO ÚPRAVY - bude přečten a PŘEPSÁN\n\n# pokud smažete všechny soubory session*, SpaceFM bude nastaven znovu na výchozí tovární nastavení.\n\n" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "Chyba při ukládání souboru" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "Chyba SpaceFM: Nelze automaticky uložit soubor se sezením ( %s )\n" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "" #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "Nápověda není dostupná" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "Tento přídavný modul nezahrnuje žádný soubor README." #: ../src/settings.c:4346 msgid "Create README" msgstr "Vytvořit ČTI MĚ" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "Pro tento příkaz není žádný soubor ČTI MĚ (README).\n\nVytvořit výchozí soubor ČTI MĚ, abyste jej mohl vyplnit?" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "Vytvoření se nezdařilo" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "Při vytváření souboru README pro tento příkaz se vyskytla chyba." #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Při kopírování souborů s příkazy se vyskytla chyba\n\n%s" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "Chyba při kopírování" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Při kopírování souborů s daty příkazů se vyskytla chyba\n\n%s" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "Chyba při čtení souboru s přídavným modulem %s" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "Složka se zavedeným přídavným modulem neobsahuje platný přídavný modul.\n\n(%s/)" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "Neplatný přídavný modul" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "Přídavný modul %s' byl zkopírován do návrhové schránky. K jeho vložení do nabídky použijte Pohled|Návrhový režim.\n\nProtože nebyl nainstalován, neobjeví se tento přídavný modul v nabídce s přídavnými moduly" #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "Přídavný modul %s' byl zkopírován do návrhové schránky. K jeho vložení do nabídky použijte Pohled|Návrhový režim.\n\nProtože nebyl nainstalován, neobjeví se tento přídavný modul v nabídce s přídavnými moduly. Jeho obsah není chráněn superuživatelskými oprávněními (až bude vložen, bude chráněn obyčejnými uživatelskými oprávněními).\n\nPokud tento přídavný modul obsahuje příkazy su, nebo pokud bude spuštěn pod superuživatelem, doporučuje se z bezpečnostních důvodů jeho instalace a spuštění pouze z nabídky s přídavný moduly." #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "Odinstalovat přídavný modul '%s'?\n\n( %s )" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Odinstalovat přídavný modul" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Nainstalovat přídavný modul" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "Uložit jako soubor s přídavným modulem" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Vyvést přídavný modul" #: ../src/settings.c:5601 msgid "Export Error" msgstr "Chyba při vyvedení" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "Nelze vytvořit dočasné soubory" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "Cíl záložky '%s' chybí nebo je neplatný." #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "Neplatný cíl záložky" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "Editor není nastaven" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Nastavte, prosím, svůj editor v Pohled|Nastavení|Pokročilé" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "Editor pro superuživatele není nastaven" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Nastavte, prosím, editor pro superuživatele v Pohled|Nastavení|Pokročilé" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "Upravit %s" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "Příručka uživatele nenalezena" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "Číst uživatelskou příručku na internetu?'\n\nV místním systému se nepodařilo najít žádnou příručku. Klepněte na Ano pro její čtení na internetu, nebo klepněte na Ne, a pak nastavte správné umístění příručky v Nápověda|Volby|Příručka." #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "Je příručka otevřena?" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "Uživatelská příručka k SpaceFM by se měla otevřít ve vašem prohlížeči. Pokud se neotevřela, nebo v případě, že byste rád použil jiný prohlížeč, nastavte svůj prohlížeč v Nápověda|Volby|Prohlížeč.\n\nTato zpráva se nebude opakovat." #: ../src/settings.c:6627 msgid "( none )" msgstr "(žádná)" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tKód klávesy: %#4x Modifikátor: %#x\n\n%s je již přiřazen k '%s'.\n\nStiskněte jinou klávesu nebo klepněte na Nastavit pro nahrazení nynějšího přiřazení klávesy." #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "\t%s\n\tKód klávesy: %#4x Modifikátor: %#x" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6820 msgid "Cancel" msgstr "Zrušit" #: ../src/settings.c:6826 msgid "Unset" msgstr "Zrušit nastavení" #: ../src/settings.c:6839 msgid "Set" msgstr "Nastavit" #: ../src/settings.c:6853 msgid "Set Key" msgstr "Nastavit klávesu" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "Nastavit ikonu" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "Upravit příkazový řádek" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "Vybrat vlastní spustitelný soubor" #: ../src/settings.c:7041 msgid "Run As User" msgstr "Spustit jako uživatel" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Spustit tento příkaz jako uživatel:\n\n( Ponechte prázdné pro nynějšího uživatele )" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Přidáváte uživatelsky stanovený příkaz do výchozí položky nabídky. Tato položka nabídky bude mít potom automatické omezení souvislostí -- objeví se, jen když se bude shodovat typ MIME prvního vybraného souboru s nynějším typem '%s'.\n\nPřidávejte zde jen ty příkazy nebo nabídky, které se mají u tohoto typu MIME objevovat." #: ../src/settings.c:7050 msgid "New Context Command" msgstr "Nový související příkaz" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "Nastavit název položky" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Vybrat složku" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Přidáváte uživatelsky stanovený podnabídku do výchozí položky nabídky. Tato položka nabídky bude mít potom automatické omezení souvislostí -- objeví se, jen když se bude shodovat typ MIME prvního vybraného souboru s nynějším typem '%s'.\n\nPřidávejte zde jen ty příkazy nebo nabídky, které se mají u tohoto typu MIME objevovat." #: ../src/settings.c:7140 msgid "(none)" msgstr "(žádné)" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "Zadat název podnabídky" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Zadejte název podnabídky:\n\nJedno písmeno můžete uvést podtržítkem (_) pro zdůraznění tohoto znaku jako klávesové zkratky." #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "Nová _podnabídka" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "" #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "Zavést záložky GTK" #: ../src/settings.c:7346 msgid "( no name )" msgstr "(žádný název)" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "Trvale odstranit PODNABÍDKU '%s' A VŠECHNY TAMĚJŠÍ PŘÍKAZY?\n\nTento krok smaže všechna nastavení a soubory spojené s těmito položkami." #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "Trvale odstranit položku '%s'?\n\nTento krok smaže všechna nastavení a soubory spojené s těmito položkami." #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "Potvrdit odstranění" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Jste si jistý?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "Dialogová zpráva" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Zadejte zprávu, která se má zobrazit v tomto dialogu:\n\nPoužít:\n\t\\n\tnovýřádek\n\t\\t\tzarážka (tabulátor)" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "_Vyjmout" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "_Kopírovat" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "V_ložit" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "O_dstranit" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "_Vyvést" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "_Nový" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Záložka" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "_Program" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "_Příkaz" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "Pod_nabídka" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "O_ddělovač" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "Adresa (_URL)" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "Záložky _GTK" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "_Přidat" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "_Nástroje" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "_Klávesová zkratka" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "_Upravit skript" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "U_pravit jako superuživatel" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "Up_ravit příkaz" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "_Vlastnosti" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "Vybrat ikonu" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Upravit" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "Stanovit symbol okna" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "Vy_brat" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "_Výchozí" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "Vaše zadání je neplatné, protože obsahuje posuny na nové řádky" #: ../src/settings.c:9372 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9509 msgid "_Unset" msgstr "_Zrušit nastavení" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "O_dpojit" #: ../src/settings.c:10640 msgid "Re_load" msgstr "_Nahrát znovu" #: ../src/settings.c:10644 msgid "_Sync" msgstr "_Seřídit" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Otevřít" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "Otevřít v _kartě" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "_Připojit" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "Znovu_připojit" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "_Superuživatel" #: ../src/settings.c:10693 msgid "_Label" msgstr "Š_títek" #: ../src/settings.c:10743 msgid "_Check" msgstr "_Přezkoušet" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "_Upravit fstab" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "Upravit u_devil.conf" #: ../src/settings.c:10755 msgid "_Format" msgstr "_Formátovat" #: ../src/settings.c:10815 msgid "_Backup" msgstr "_Zálohovat" #: ../src/settings.c:10837 msgid "_Restore" msgstr "_Obnovit" #: ../src/settings.c:10842 msgid "_From File" msgstr "_Ze souboru" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "_Informace o souboru" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "Nasta_vení" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "U_kázat" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "_Vnitřní diskové jednotky" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "P_rázdné diskové jednotky" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "Tabulky _oddílů" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "Připojené sí_tě" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "Připojené _jiné" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "Sv_azky..." #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "Ukázat/Skrýt svazky" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Pro vynucení ukázání nebo skrytí jednotlivých svazků, přepsání jiných nastavení, můžete zadat zařízení, popisky svazků, nebo ID zařízení v mezerami odděleném seznamu níže\n\nPříklad: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nTímto bude /dev/sdd1 a zařízení OCZ ukázáno, a svazek s popiskem \"Label With Space\" skryt.\n\nMezi záznamy musí být mezera znaménko plus nebo minus přímo před každou položkou. Tento seznam bere ohled na velikost písmen.\n\n" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "_Zobrazit název" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "Nastavit formát zobrazení názvu" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "Připojit _automaticky" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "Připojit _optickou diskovou jednotku" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "_Připojit odpojitelný" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "Připojit _svazky..." #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "Připojit svazky automaticky" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Pro vynucení nebo zabránění automatického připojení jednotlivých svazků, přepsání jiných nastavení, můžete zadat zařízení, popisky svazků, nebo ID zařízení v mezerami odděleném seznamu níže\n\nPříklad: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nTímto bude /dev/sdd1 a zařízení OCZ při zjištění automaticky připojeno, a svazek s popiskem \"Label With Space\" přehlížen.\n\nMezi záznamy musí být mezera znaménko plus nebo minus přímo před každou položkou. Tento seznam bere ohled na velikost písmen.\n\n" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "" #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "Otevřít _kartu" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "Odpojit při _ukončení" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "_Spustit automaticky" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "Při _připojení" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "Spustit automaticky při připojení" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je automaticky připojen odpojitelný disk nebo datový nosič:\n\nPoužití:\n\t%%v\tzařízení (např. /dev/sda1)\n\t%%l\tpopisek zařízení\n\t%%m\tpřípojný bod zařízení (např. /media/disk)" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "Při _zvukovém CD" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "Spustit automaticky při zvukovém CD" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je do příslušného zařízení vloženo zvukové CD:\n\nPoužití:\n\t%%v\tzařízení (např. /dev/sda1)\n\t%%l\tpopisek zařízení\n\t%%m\tpřípojný bod zařízení (např. /media/disk)" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "Při o_brazovém DVD" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "Spustit automaticky při obrazovém DVD" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je automaticky připojeno obrazové DVD:\n\nPoužití:\n\t%%v\tzařízení (např. /dev/sda1)\n\t%%l\tpopisek zařízení\n\t%%m\tpřípojný bod zařízení (např. /media/disk)" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "Při _vložení" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "Spustit automaticky při vložení" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je vloženo libovolné zařízení:\n\nPoužití:\n\t%%v\tzařízení přidáno (např. /dev/sda1)\n\t%%l\tpopisek zařízení\n\t%%m\tpřípojný bod zařízení (např. /media/disk)" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "Při _odpojení" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "Spustit automaticky při odpojení" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je odpojeno libovolné zařízení:\n\nPoužití:\n\t%%v\tzařízení odstraněno (např. /dev/sda1)\n\t%%l\tpopisek zařízení\n\t%%m\tpřípojný bod zařízení (např. /media/disk)" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "Při o_dstranění" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "Spustit automaticky při odstranění" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je odpojeno libovolné zařízení (vysunutí datového nosiče nestačí):\n\nPoužití:\n\t%%v\tzařízení odstraněno (např. /dev/sda1)\n\t%%l\tpopisek zařízení\n\t%%m\tpřípojný bod zařízení (např. /media/disk)" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "Volby pro připojení" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "Výchozí volby pro připojení" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "Opakovat připojení s volbami" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "Zařízení bude (znovu) připojeno pomocí voleb níže.\n\nDodatečně k běžným volbám lze přidat nebo odstranit volby pro určité souborové systémové typy pomocí zadávacího formuláře VOLBA+TYPSOUBOROVÉHOSYSTÉMU nebo VOLBA-TYPSOUBOROVÉHOSYSTÉMU.\n\nPříklad: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nTímto se přidá nosuid a noatime ke všem typům souborových systémů, sync pouze pro vfat a ntfs, a odstraní noatime pro ext4.\n\nPoznámka: Některé volby, jako je nosuid, mohou být, pokud je nezahrnete, přidány pomocí připojovacího příkazu. Volby v fstab mají přednost. pmount přehlíží zde nastavené volby." #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "Zjištění _změny" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "" #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "Černá listina zjištění změny" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "Zacházení se _zařízeními" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "Zacházení s _protokoly" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "_Symbol" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "Audio CD" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "Připojena disková jednotka CD/DVD" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "V diskové jednotce CD/DVD je přítomen nosič dat" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "V diskové jednotce CD/DVD není přítomen žádný nosič dat" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "Připojena disketová jednotka" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "Odpojena disketová jednotka" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "Připojen vnější odpojitelný disk" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "Odpojen vnější odpojitelný disk" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "Připojen vnitřní disk" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "Odpojen vnitřní disk" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "Připojen síťový disk" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "Připojené jiné" #: ../src/settings.c:11148 msgid "_Settings" msgstr "_Nastavení" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "_Ikona záložky" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "Ikona pod_nabídky" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "_Ukázat záložky" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "Nová _záložka" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "_Název" #: ../src/settings.c:11185 msgid "_Parent" msgstr "Pů_vod" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "_Cesta" #: ../src/settings.c:11204 msgid "_Option" msgstr "_Volba" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Zástupce" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "Kopírovat _cíl" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "Cíl _odkazu" #: ../src/settings.c:11222 msgid "_As Root" msgstr "_Jako superuživatel" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "_Písmo" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "Posunout písmo pro dialog" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "/home/user/Příklad názvu souboru.ext" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "_Potvrdit vytvoření" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "Zvýraznit řá_dek" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "Barva zvýraznění stavového řádku" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "Zvýraznit _text" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "Barva zvýraznění textu stavového řádku" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "Klepnutí p_rostředním tlačítkem myši" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "Kopírovat _název" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "Kopírovat _cestu" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "_Skrýt panel" #: ../src/settings.c:11283 msgid "New _Window" msgstr "Nové _okno" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "Okno s_uperuživatele" #: ../src/settings.c:11289 msgid "_File Search" msgstr "Hledání _souboru" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "_Terminál" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "Terminál sup_eruživatele" #: ../src/settings.c:11302 msgid "Open URL" msgstr "Otevřít adresu (URL)" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "Uložit k_arty" #: ../src/settings.c:11310 msgid "E_xit" msgstr "U_končit" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "Panel _1" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "Panel _2" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "Panel _3" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "Panel _4" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "_Pruh s panely" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "_Zaměření" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "_Předchozí" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "_Další" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "_Skrýt" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "Správce _událostí" #: ../src/settings.c:11391 msgid "_Instance" msgstr "_Instance" #: ../src/settings.c:11396 msgid "_Startup" msgstr "_Spuštění" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "Stanovit příkaz pro spuštění instance" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je spuštěna instance SpaceFM:\n\nPoužití:\n\t%%e\ttyp události (evt_start)\n" #: ../src/settings.c:11402 msgid "_Exit" msgstr "U_končit" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "Stanovit příkaz pro ukončení instance" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je ukončena instance SpaceFM:\n\nPoužití:\n\t%%e\ttyp události (evt_exit)\n" #: ../src/settings.c:11408 msgid "_Window" msgstr "_Okno" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Nový" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "Stanovit příkaz pro nové okno" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je otevřeno nové okno SpaceFM:\n\nPoužití:\n\t%%e\ttyp události (evt_win_new)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "_Zaměření" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "Stanovit příkaz pro zaměření okna" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je zaměřeno okno SpaceFM:\n\nPoužití:\n\t%%e\ttyp události (evt_win_focus)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "_Přesunout/Změnit velikost" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "Stanovit příkaz pro přesunutí/změnu velikosti" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je okno SpaceFM přesunuto, nebo je změněna jeho velikost:\n\nPoužití:\n\t%%e\ttyp události (evt_win_move)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11431 msgid "_Click" msgstr "_Klepnout" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "Stanovit příkaz pro klepnutí" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je klepnuto myší:\n\nPoužití:\n\t%%e\ttyp události (evt_win_click)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\t%%b\ttlačítko (stisknuto tlačítko myši)\n\t%%m\tmodifikátor (klávesy modifikátorů)\n\t%%f\tzaměření (prvek, jenž přijal klepnutí)\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít.\n\nUveďte před svůj příkaz hvězdičku (*) a podmínečně vrácení stavu ukončení 0 pro zabránění výchozímu zacházení. Například:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nProstřední tlačítko myši stisknuto v %%f\" --button ok &" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "Stisknout _klávesu" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "Stanovit příkaz pro stisknutí klávesy" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je stisknuta klávesa:\n\nPoužití:\n\t%%e\ttyp události (evt_win_key)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\t%%k\tkód klávesy (stisknutá klávesa)\n\t%%m\tmodifikátor (klávesy modifikátorů)\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít.\n\nUveďte před svůj příkaz hvězdičku (*) a podmínečně vrácení stavu ukončení 0 pro zabránění výchozímu zacházení. Například:\n*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKlávesa F8 stisknuta\" --button ok &" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "Z_avřít" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "Stanovit příkaz pro zavření okna" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je okno SpaceFM zavřeno:\n\nPoužití:\n\t%%e\ttyp události (evt_win_close)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11449 msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "Stanovit příkaz pro zaměření panelu" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je panel zaměřen:\n\nPoužití:\n\t%%e\ttyp události (evt_pnl_focus)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Ukázat" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "Stanovit příkaz pro ukázání panelu" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je panel nebo prvek panelu ukázán nebo skryt:\n\nPoužití:\n\t%%e\ttyp události (evt_pnl_show)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\t%%f\tzaměření (prvek ukázán nebo skryt)\n\t%%v\tvisible (1 or 0)\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11466 msgid "S_elect" msgstr "_Vybrat" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "Stanovit příkaz pro vybrání panelu" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když se změní výběr panelu:\n\nPoužití:\n\t%%e\ttyp události (evt_pnl_sel)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "_Karta" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "Stanovit příkaz pro novou kartu" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je otevřena nová karta:\n\nPoužití:\n\t%%e\ttyp události (evt_tab_new)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "Adresář _změny" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "Stanovit příkaz pro zaměření karty" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je karta zaměřena:\n\nPoužití:\n\t%%e\ttyp události (evt_tab_focus)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tkarta\n\nVyvedené proměnné příkazového řádku (bash) (např. $fm_pwd, atd.) lze v tomto příkazu použít." #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Zavřít" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "Stanovit příkaz pro zavření karty" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když je karta zavřena:\n\nPoužití:\n\t%%e\ttyp události (evt_tab_close)\n\t%%w\tID okna (podívejte se na spacefm -s pro nápovědu)\n\t%%p\tpanel\n\t%%t\tzavřená karta" #: ../src/settings.c:11501 msgid "_Device" msgstr "Zaříz_ení" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "Stanovit příkaz pro zařízení" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "Zadejte program nebo příkaz pro (bash) příkazový řádek, aby byl spuštěn automaticky, když se změní stav zařízení:\n\nPoužití:\n\t%%e\ttyp události (evt_device)\n\t%%f\tsoubor zařízení\n\t%%v\tzměna (přidáno|odstraněno|změněno)\n" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "Název _okna" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "Stanovit formát názvu okna" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Nastavit formát názvu okna:\n\nPoužití:\n\t%%n\tnázev nynější složky (např. bin)\n\t%%d\tcesta k nynější složce (např. /usr/bin)\n\t%%p\tčíslo nynějšího panelu (1-4)\n\t%%t\tčíslo nynější karty\n\t%%P\tcelkový počet viditelných panelů\n\t%%T\tcelkový počet karet v nynějším panelu\n\t*\thvězdička ukázána, pokud v okně běží úkoly" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "Symbol okn_a" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "_Celá obrazovka" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "_Návrhový režim" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "_Nastavení" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Nástroje" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "_Náhledy (celkové)" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "_Nainstalovat" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "Pod_robný" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "Za_hrnuto" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "Uži_vatelská příručka" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "_Domovská stránka" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "_Zprávy SpaceFM" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "Získ_at přídavné moduly" #: ../src/settings.c:11606 msgid "_Options" msgstr "_Volby" #: ../src/settings.c:11611 msgid "_Browser" msgstr "P_rohlížeč" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "Vybrat prohlížeč HTML" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "Zadejte název prohlížeče neboo příkaz pro (bash) příkazový řádek, aby byl použit k zobrazení souborů HTML a adres (URL):\n\nPoužití:\n\t%%u\turl\n\n(Ponechte prázdné pro automatické zjištění prohlížeče)" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "Umístění _příručky" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "Vyberte umístění uživatelské příručky" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "Zadejte cestu k místnímu souboru nebo vzdálenou adresu (URL) pro uživatelskou příručku SpaceFM:\n\n(Ponechte prázdné pro výchozí)\n" #: ../src/settings.c:11623 msgid "_About" msgstr "O _programu" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "_Ukázat zařízení" #: ../src/settings.c:11656 msgid "_Status" msgstr "_Stav" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "Poč_et" #: ../src/settings.c:11673 msgid "_Item" msgstr "P_oložka" #: ../src/settings.c:11679 msgid "_To" msgstr "_Do" #: ../src/settings.c:11685 msgid "_Progress" msgstr "_Postup" #: ../src/settings.c:11692 msgid "T_otal" msgstr "_Celkem" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "Spuště_no" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "_Uplynulo" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "N_ynější rychlost" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "P_růměrná rychlost" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "Přeuspořáda_t" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pozastav_it" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "_Zařadit" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "_Pokračovat" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "_Ukázat výstup" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "_Všechny úkoly" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "Písmo správce úkolů" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "Kopíruje se soubor 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11789 msgid "_Columns" msgstr "_Sloupce" #: ../src/settings.c:11794 msgid "_Popups" msgstr "_Oznámení" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "Nechat ukázat _všechny úkoly" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "Zůstat na v_rchu" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "Zůstat _nad ostatními" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "Všechny _pracovní plochy" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "Volba pro _přepsání" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "Volba pro zacházení s ch_ybami" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "Písmo oznámení úkolu (ovlivní nové úkoly)" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "Příklad výstupu 0123456789" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "Zastavit, pokud je prv_ní" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "Zastavit při _jakémkoli" #: ../src/settings.c:11857 msgid "_Continue" msgstr "_Pokračovat" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "Z_ařadit" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "_Zařadit nové úkoly" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "C_hytré zařazení" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "_Pozastavit při chybě" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "Uspořádat _symboly" #: ../src/settings.c:11892 msgid "By _Name" msgstr "Podle _názvu" #: ../src/settings.c:11895 msgid "By _Type" msgstr "Podle _typu" #: ../src/settings.c:11898 msgid "By _Date" msgstr "Podle _data" #: ../src/settings.c:11901 msgid "By _Size" msgstr "Podle _velikosti" #: ../src/settings.c:11904 msgid "_Custom" msgstr "_Vlastní" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "Vzest_upně" #: ../src/settings.c:11910 msgid "D_escending" msgstr "S_estupně" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "_Nastavení plochy" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "_Zařízení" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "Složka na _ploše" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "Písmo editoru" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "Příklad vstupu 0123456789" #: ../src/settings.c:11964 msgid "Input Font" msgstr "Písmo pro vstup" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "S_pustit" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "_Upravit" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Upravit jako _superuživatel" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "_Vybrat..." #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "Otevřít s _výchozím" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "V _kartě" #: ../src/settings.c:11993 msgid "N_ew" msgstr "N_ová" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "Karta _1" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "Karta _2" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "Karta _3" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "Karta _4" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "Karta _5" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "Karta _6" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "Karta _7" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "Karta _8" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "Karta _9" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "Karta _10" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "V _panelu" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "_Rozbalit" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Rozbalit _do" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "Ukázat _obsah" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "Výchozí _archivy" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "_Otevřít s programem" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "Vy_tvořit podsložku" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "Přístup k _zápisu" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "Za_cházení s archivy" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "Slož_ka" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Záložka" #: ../src/settings.c:12104 msgid "_Archive" msgstr "_Archiv" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "_Karta" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "Karta _zde" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "Program _plochy" #: ../src/settings.c:12122 msgid "_Go" msgstr "_Přejít" #: ../src/settings.c:12127 msgid "_Back" msgstr "_Zpět" #: ../src/settings.c:12129 msgid "_Forward" msgstr "_Vpřed" #: ../src/settings.c:12131 msgid "_Up" msgstr "_Nahoru" #: ../src/settings.c:12133 msgid "_Home" msgstr "_Domovská složka" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "_Nastavit jako výchozí" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "_Skutečná cesta" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "Z_aměření" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "Pruh s _cestou" #: ../src/settings.c:12149 msgid "_File List" msgstr "Seznam _souborů" #: ../src/settings.c:12151 msgid "_Tree" msgstr "S_trom" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "_Karta" #: ../src/settings.c:12164 msgid "_Close" msgstr "_Zavřít" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "Sty_l" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "S_loupce" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "_Přeuspořádat" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "_Gumičkový výběr" #: ../src/settings.c:12202 msgid "_Sort" msgstr "_Seřadit" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "_Velikost" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "_Typ" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "_Oprávnění" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "_Vlastník" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "_Změněno" #: ../src/settings.c:12220 msgid "_Descending" msgstr "Ses_tupně" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "Př_irozeně" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "Rozlišovat _velikost písmen" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "Nejprve sl_ožky" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "Nejprve sou_bory" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "S_míšeně" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "Nejprve s_kryté" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "Skryté naposledy" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "Ob_novit" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "_Hledat automaticky" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "_Nápověda k pruhu s cestou" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Přejmenovat" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Smazat" #: ../src/settings.c:12281 msgid "_Actions" msgstr "Či_nnosti" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "Kopírovat pů_vod" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "Vložit _odkaz" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "Vložit _cíl" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "Vložit _jako" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "_Kopírovat do" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "_Umístění" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "Posle_dní umístění" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Karta" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12346 msgid "_Move To" msgstr "_Přesunout do" #: ../src/settings.c:12350 msgid "_Location" msgstr "_Umístění" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Karta" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12383 msgid "_Select All" msgstr "_Vybrat vše" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "_Zrušit výběr všeho" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Obrátit výběr" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "V_ybrat podle vzoru" #: ../src/settings.c:12392 msgid "R_oot" msgstr "S_uperuživatel" #: ../src/settings.c:12398 msgid "Move _To" msgstr "Přesunout _do" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "_Vlastnosti" #: ../src/settings.c:12414 msgid "_Quick" msgstr "_Rychle" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "_Rekurzivní" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "_Nástrojový pruh" #: ../src/settings.c:12526 msgid "T_ree" msgstr "S_trom" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "P_ostranní nástrojový pruh" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "_Podrobné" #: ../src/settings.c:12550 msgid "_Icons" msgstr "_Ikony" #: ../src/settings.c:12555 msgid "_Compact" msgstr "Ce_listvý" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "_Velké ikony" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "S_kryté soubory" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "Písmo pro seznam souborů (Panel %d)" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Příklad 1.1 M Soubor -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "Písmo pro zařízení (Panel %d)" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [no media] :PŘÍKLAD" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Písmo pro záložky (Panel %d)" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "Příklad pro název záložky" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Písmo pro pruh s cestou (Panel %d)" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/Beispiel" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "Písmo pro kartu (Panel %d)" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Písmo pro stavový řádek (Panel %d)" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "12 G volné / 200 G 52 položek" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "Sledovat _adresář" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "_Nová karta" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "_Jedno klepnutí" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "Adresář neexistuje\n\n%s" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "Nelze přistupovat k %s\n\n%s" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Vybrat podle vzoru" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "Zadejte vzor pro výběr souborů a složek:\n\npokud váš vzor obsahuje velká písmena, bude se při porovnání rozlišovat velikost písmen.\n\nPříklad: *sp*e?m*\n\nRADA: '%% VZOR' lze také zadat v pruhu s cestou." #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "Vybrat umístění" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "Neplatný cíl" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "Cíl stejný jako zdroj" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "Neplatný cíl" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "Skrýt soubor" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "Názvy vybraných souborů budou přidány do souboru '.hidden' umístěného v této složce, což je skryje ze zobrazení v SpaceFM. Případně bude nutné obnovit zobrazení nebo SpaceFM spustit znovu, aby soubory zmizely.\n\nPro opětovné ukázání souboru, otevřete soubor .hidden ve svém textovém editoru, odstraňte ze souboru název, a obnovte zobrazení." #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "Chyba při skrývání souborů" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "Nejsou vybrány žádné soubory" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Nelze připojit zařízení" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Nelze odpojit zařízení" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Nelze vysunout zařízení" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "udev nenastaveno" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Připojení v síti sdílených složek vyžaduje sestavení SpaceFM pro udev (--disable-hal)." #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "Neplatná adresa (URL)" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "Zadaná adresa (URL) je neplatná." #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "Manipulátor nenalezen" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "Pro tuto adresu (URL) není nastaven žádný síťový manipulátor, nebo není nastaven žádný příkaz pro připojení. Přidejte manipulátor v Zařízení|Nastavení|Zacházení s protokoly." #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "Otevřít adresu (URL) %s" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "Připojit" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "Odpojit" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "Pro tento typ zařízení není nastaven žádný manipulátor, nebo není nastaven žádný příkaz %s. Přidejte manipulátor v Nastavení|Zacházení se zařízeními nebo Zacházení s protokoly." #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "Připojit %s" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "%s je nyní připojeno. Před přezkoušením musí být odpojeno." #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "Zařízení je připojeno" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Zadejte příkaz pro přezkoušení souborového systému:\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele" #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "Přezkoušet jako superuživatel" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "Přezkoušet jako superuživatel" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "Přezkoušet jako superuživatel %s" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Zadejte příkaz pro přezkoušení souborového systému:\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\t%%%%o\tzvláštní volby pro připojení svazku\n\t\t( %s )\n\nPoznámka: fstab přepíše některé volby\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele" #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "Připojit jako superuživatel" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "Připojit jako superuživatel" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "Připojit jako superuživatel %s" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Zadejte příkaz pro odpojení:\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele" #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "Odpojit jako superuživatel" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "Odpojit jako superuživatel" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "Odpojit jako superuživatel %s" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "\n\nVAROVÁNÍ: %s je připojen. Před změnou popisku je lepší provést odpojení." #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "Zadejte název svazku pro %s:%s" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "Změnit popisek svazku" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Zadejte příkaz pro odstranění popisku pro fstype '%s':\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\t%%%%l\tnový popisek ( \"%s\" )\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele %s" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Zadejte příkaz pro změnu popisku pro fstype '%s':\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\t%%%%l\tnový popisek ( \"%s\" )\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele %s" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "Změnit popisek jako superuživatel" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "Popisek jako superuživatel" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "Popisek jako superuživatel %s" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "Odpojit %s" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "Odstranit %s" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "Připojit znovu %s" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "Nahrát znovu %s" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "Seřídit" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "%s je nyní připojeno. Před formátováním musí být odpojeno." #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr " (CELÝ DATOVÝ NOSIČ) " #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Chystáte se vymazat %s %s- VŠECHNA DATA BUDOU ZTRACENA. Buďte opatrný - může to chvíli trvat a dd nedává žádnou zpětnou vazbu.\n\nZadejte příkaz pro přepsání celého svazku /dev/%s:\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele" #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Chystáte se formátovat %s %s- VŠECHNA DATA BUDOU ZTRACENA.\n\nZadejte příkaz pro přepsání %s:\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele" #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "Formátovat" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "VAROVÁNÍ PŘED ZTRÁTOU DAT" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "Formátovat %s" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s je nyní připojeno. Před obnovením musí být odpojeno." #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "Vybrat zálohu pro obnovení" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "Chystáte se přepsat zaváděcí kód (boot code) %s v MBR pomocí %s.\n\nTato změna může vašemu počítači zabránit v řádném zavedení. Všechna důležitá data na celém zařízení by se nejprve měla zazálohovat\n\nPokračovat? (Pokud stisknete Ano, stále ještě máte jednu další příležitost k přerušení, předtím než bude datový nosič (disk) změněn.)" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "Obnovit MBR" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "Neznámý typ" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "Vybraný soubor není rozpoznán jako záložní soubor.\n\nSouborové názvy FSArchiver obsahují 'fsarchiver' nebo končí na '.fsa'. Souborové názvy Partimage obsahují 'partimage' nebo končí na '.000'. Souborové názvy MBR končí na '.mbr', '.mbr.bin', nebo '-MBR-back' a mají velikost 512 bytů. pokud jste si JISTÝ, že tento soubor je platnou zálohou, můžete jej přejmenovat, abyste se vyhnul této chybě." #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Chystáte se obnovit %s %s pomocí %s- VŠECHNA DATA BUDOU ZTRACENA.\n\nZadejte příkaz pro obnovení %s:\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\t%%%%s\tsoubor se zálohou ( %s )\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele" #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "Obnovit" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "%s Obnovit %s" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "Adresář chybí" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "Vybrat zálohu pro informace" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "Soubor MBR" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "Podle jeho názvu se zdá, že vybraný soubor je záložní soubor MBR. U tohoto typu zálohy nejsou dostupné žádné další zálohy." #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "Informace o obnovení" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "\n\nVAROVÁNÍ: %s je připojen. FSArchiver podle výchozího nastavení zazálohuje jen svazky připojené pouze pro čtení. Pro zazálohování svazku nastaveného na čtení-zápis (read-write) potřebujete přidat --allow-rw-mounted do příkazu umožňujícího zálohu datového nosiče rw. Podívejte se do 'man fsarchiver' na podrobnosti." #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "%s je nyní připojeno. Před vytvořením zálohy pomocí Partimage musí být odpojeno." #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "Uložit jako %s zálohu" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "Přepsat?" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "Vybraná záloha již existuje. Přepsat?" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Zadejte příkaz pro zálohu %s:\n\nPoužití:\n\t%%%%v\tsoubor zařízení ( %s )\n\t%%%%s\tsoubor se zálohou ( %s )%s\n\nUPRAVUJTE OPATRNĚ Tento příkaz je spuštěn s oprávněními superuživatele" #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "Záloha" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "%s Záloha dat %s" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "Vlastnosti %s" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sNyní vybrané zařízení: %s\npopisek svazku: %s\nID zařízení: %s" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "_Vysunout" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Zabít jako jiné" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "_Zařadit" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "_Pokračovat" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Zastavit jako jiné" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Počítat jako jiné" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Přesunout:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopírovat:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Koš:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Mazat:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Odkaz:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Změnit: " #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Spustit: " #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Přesouvá se..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopíruje se..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Odhazuje se..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Maže se..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Spojuje se..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Mění se..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Běží..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Z:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Do:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Postup: " #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Stav: " #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pozastaveno" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "Zařazeno" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Ptát se" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Přepsat vše" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Přeskočit vše" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Přejmenovat automaticky" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Zastavit při první chybě" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Zastavit při jakékoli chybě" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Pokračovat" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Zastaveno" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Chyby" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Hotovo" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s zbývá" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Chyba (zastavit pokud první)" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Chyba (zastavit při jakékoli)" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Zastaveno s %d chybou" msgstr[1] "Zastaveno s %d chybami" msgstr[2] "Zastaveno s %d chybami" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Dokončeno s %d chybou" msgstr[1] "Dokončeno s %d chybami" msgstr[2] "Dokončeno s %d chybami" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Dokončeno s chybou (stav ukončení %d)" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Dokončeno s chybou" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Pozastaveno ( PID %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Pozastaveno (stav ukončení %d)" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "Zařazeno ( PID %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "Pozastaveno (stav ukončení %d)" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Běží s %d chybou" msgstr[1] "Běží s %d chybami" msgstr[2] "Běží s %d chybami" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Běží... ( PID %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Běží... (stav ukončení %d)" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "přerušeno" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[ SNIP - dodatečné chyby výše byly z tohoto zápisu odstraněny ]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Přesunout ze složky:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Odkázat ze složky:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Kopírovat ze složky:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Složka existuje" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Složka již existuje. Přejmenujte ji, prosím, nebo zvolte činnost." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( odkaz )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! Přepsat soubor s odkazem !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( stejná velikost )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu bytů )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "Větší" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "Menší" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( stejný čas )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "novější" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "starší" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Souborový název existuje" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "Souborový název již existuje. Přejmenujte jej, prosím, nebo zvolte činnost." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Požadováno přejmenování" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "Ve složce:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "_Přepsat" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Přepsat _vše" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pozastavit" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Přeskočit" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "_Přeskočit vše" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Po složku:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Název složky:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Přejmenovat" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "Přejmenovat _automaticky" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "_Přejmenovat vše automaticky" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "Chyba při nahrávání manipulátoru" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "Vytvořit archiv" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "_Nastavit" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "Příkazy pro _kompresi:" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "Zacházení s archivy - Vytvořit archiv" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "Nenastaveny žádné manipulátory s archivy. Před vytvořením archivu musíte přidat manipulátor." #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "Formát _archivu:" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "Příkaz pro vytvoření archivu je prázdný. Zadejte, prosím, příkaz." #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "Chyba při ukládání manipulátoru" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "Kopírovat" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "Zabalit" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "Rozbalit do" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "Vy_tvořit podsložku(y):" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "Udělat obsah _zapisovatelný pro uživatele" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "Nenalezen žádný manipulátor archivu/příkaz pro soubor:" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "Rozbalit %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nHotovo!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Příkaz:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Systém souborů" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "(žádná podsložka)" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "Odstranit přiřazení typu textu" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "Kopírovat soubor plochy" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "Vytvořit nové XML" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "_Nastavit jako výchozí" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "_Přidat..." #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "Nový" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Smazat %d vybranou položku?" msgstr[1] "Smazat %d vybrané položky?" msgstr[2] "Smazat %d vybraných položek?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Potvrdit smazání" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "_Cesta: původní" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Název: původní" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "_Souborový název: původní" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "_Původ: původní" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "C_esta: existuje jako složka" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "Ná_zev: existuje jako složka" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "S_ouborový název: existuje jako složka" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "Pů_vod:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "C_esta: existuje jako soubor" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "Ná_zev: existuje jako soubor" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "S_ouborový název: existuje jako soubor" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "C_esta: * přepsat stávající soubor" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Název: * přepsat stávající soubor" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "S_ouborový název: * přepsat stávající soubor" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "C_esta: rodič existuje jako soubor" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "_Název:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "_Název souboru:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "_Původ: rodič existuje jako soubor" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "_Cesta: * vytvořit rodiče" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "_Původ: * vytvořit rodiče" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "_Cesta:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Přesunout" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Vybrat cíl odkazu" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Vybrat soubor s předlohou" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Vybrat složku s předlohou" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Procházet" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "S_ouborový název" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "_Původ" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Vložit jako" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "_Vytvořit" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Vytvořit nový" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Soubor" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Složka" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Odkaz" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Přesunout" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "K_opírovat" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Kopírovat" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Vytvořit odkaz na" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Cíl odkazu" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Cíl" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr " Jako superuživatel" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Odkaz" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "Soubor" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "Vol_by" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "_Obrátit" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& _Otevřít..." #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Odkaz -> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "Odkaz -> %s (chybí)" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "_Cíl:" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "_Předloha:" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "Prázdný soubor" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "Prázdná složka" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "_Přípona:" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "Př_esunout" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "_Kopírovat" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "_Odkázat" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "_Cíl odkazu" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "J_ako superuživatel" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "Sou_bor" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "Slo_žka" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "_Zástupce" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Nový" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "Cesta obsahuje posuny na nové řádky" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "Vytvořit nadřazenou složku" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "Nadřazená složka neexistuje Vytvořit?" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Chyba při vytváření nadřazené složky\n\n%s" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "Chyba Mkdir" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "Přepsat existující soubor" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "VAROVÁNÍ PŘI PŘEPISOVÁNÍ" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "Cesta k souboru existuje. Přepsat stávající soubor?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "Vytvořit odkaz %s" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "Předloha chybí" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "Zadaná předloha neexistuje" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "Vytvořit nový soubor %s" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "Vytvořit novou složku %s" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "Kopírovat %s" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "Chyba při kopírování cíle" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "Chyba při určování cíle odkazu" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "Chyba při odkazování cíle" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "Přesunout %s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "Chyba při přejmenovávání souboru\n\n%s" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Chyba při přejmenovávání" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Nová složka" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "Název nové složky:" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Nový soubor" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "Název nového souboru" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "Název již existuje\n\nZadejte, prosím, nový:" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "Nový soubor nelze vytvořit" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "Cíl tohoto odkazu chybí nebo nemáte oprávnění pro přistupování k němu:\n%s\n\nCíl: %s" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "Poškozený odkaz" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Smazat %d vybranou položku jako superuživatel?" msgstr[1] "Smazat %d vybrané položky jako superuživatel?" msgstr[2] "Smazat %d vybraných položek jako superuživatel?" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "Potvrdit smazání jako superuživatel" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "Smazat jako superuživatel" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "Smazat jako superuživatel" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "Přesunout jako superuživatel" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "Kopírovat jako superuživatel" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytů )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d složka" msgstr[1] "%d složky" msgstr[2] "%d složek" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d soubor, %s" msgstr[1] "%d soubory, %s" msgstr[2] "%d souborů, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d soubor" msgstr[1] "%d soubory" msgstr[2] "%d souborů" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "(více souborů)" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "(více typů)" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "Vybrat..." #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "_Název složky:" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytů )" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "Jeden soubor" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "_Název odkazu:" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "( poškozený odkaz )" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "( chyba při čtení odkazu )" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Počítá se..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "Změnit datum souboru" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Neplatný uživatel" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Neplatná skupina" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "Dodatečně lze ke složce nebo souborové cestě zadávat v pruhu s cestou příkazy. Předpony:\n\t$\tspustit jako úkol\n\t&\tspustit a zapomenout\n\t+\tspustit v terminálu\n\t!\tspustit jako superuživatel\nPoužití:\n\t%%F\tvybrané soubory nebo %%f první vybraný soubor\n\t%%N\tvybrané souborové názvy nebo %%n první vybraný souborový název\n\t%%d\tnynější adresář\n\t%%v\tvybrané zařízení (např. /dev/sda1)\n\t%%m\tpřípojný bod zařízení (např. /media/dvd); %%l popisek zařízení\n\t%%b\tvybraná záložka\n\t%%t\tadresář vybraného úkolu; %%p PID úkolu\n\t%%a\thodnota položky nabídky\n\t$fm_panel, $fm_tab, $fm_command, atd.\n\nPříklad: $ echo \"Current Directory: %%d\"\nPříklad: +! umount %%v" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "Zacházení s archivy" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "Zacházení se zařízeními" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "Zacházení s protokoly" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "Zacházení se soubory" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "_Zacházení s archivy" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "Z_acházení se zařízeními" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "Za_cházení s protokoly" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "Zac_házení se soubory" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "Chyba: Nelze nahrát příkaz (vnitřní chyba)" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "Chyba: Nelze uložit příkaz (nelze získat cestu ke skriptu?)" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "Chyba při čtení souboru" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "Chyba: Nelze uložit příkaz (vnitřní chyba)" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "Chyba při zápisu do souboru" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "Zařízení" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "Protokol" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "Manipulátor zaveden" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "(volitelné)" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "(zakázáno)" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "Trvale odstranit vybraný ovladač?" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "Použít změny?" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "Použít změny na nynější ovladač?" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "Obnovit výchozí ovladače" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "Chybějící výchozí ovladače budou obnoveny.\n\nTakže PŘEPSAT VŠECHNY STÁVAJÍCÍ výchozí ovladače?" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "Zadejte, prosím, platný název ovladače" #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "Zadejte, prosím, platný typ MIME nebo vzor názvu cesty." #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "_Vyvést" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "Zavést _soubor" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "Zavést _adresu (URL)" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "Obnovit _výchozí ovladače" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "_Výchozí" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "_Přidat" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "P_oužít" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "_Nahoru" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "_Dolů" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "Povo_lit jako výchozí otevírač" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "Povol_it ovladač" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "_Název:" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "MIM_E Typ:" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "_Bílá listina:" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "Název _cesty:" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "Č_erná listina:" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "_Ikona:" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "Ko_mprimovat:" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "Otevřít _příkaz:" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "Připo_jit:" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "V_ytáhnout:" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "Odpoji_t:" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "Vyp_sat:" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "_Vlastnosti:" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Spustit v terminálu" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "Spustit jako úkol" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "Upravit" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Vyberte, prosím, program:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "MIME typ má manipulátor" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Příkaz nenalezen" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Cílový adresář \"%1$s\" je obsažen ve zdroji \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "Přistupuje se" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Odstraňuje se" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Vytváří se adresář" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Vytváří se odkaz" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Zapisuje se" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Vytváří se " #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Přejmenovává se" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "Nainstalujte, prosím, /usr/bin/sha256sum, aby šlo zlepšit vaši bezpečnost, když pracujete s příkazy příslušejícími superuživateli\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Nastavte, prosím, platný příkaz pro terminál superuživatele (su) v Pohled|Nastavení|Pokročilé" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminálové SU nedostupné" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "Nastavte, prosím, platný příkaz pro obrazové rozhraní pro superuživatele (su) v Pohled|Nastavení|Pokročilé" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Grafické SU nedostupné" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Nelze vytvořit dočasný adresář" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Nastavte, prosím, platný program pro terminál v Pohled|Nastavení|Pokročilé" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "spacefm-auth nenalezen v cestě - to zmenšuje bezpečnost systému" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "Chyba při provádění '%s'\nPodívejte se na stdout (spusťte spacefm v terminálu) pro ladicí informace" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "Chyba při zápisu dočasného souboru" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "Překročení časového omezení při počítání celkové velikosti\n" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nChyba: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Svazek" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Jednotka" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Jednotka" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Disketová jednotka" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Jednotka Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Jednotka Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Jednotka Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Jednotka SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Jednotka Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jednotka Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen Disk" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Hudební přehrávač" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Digitální kamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Disk" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Externí %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM Disk" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Prázdný disk CD-R" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R Disk" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Prázdný disk CD-RW" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW Disk" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM Disk" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Prázdný disk DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM Disk" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Prázdný disk DVD-R" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R Disk" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Prázdný disk DVD-RW" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW Disk" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Prázdný disk DVD+R" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R Disk" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Prázdný disk DVD+RW" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW Disk" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Hudební disk" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Odpojitelný svazek" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Svazek" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Chyba při spojeni s HAL démonem: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Zařízení \"%s\" není svazek nebo jednotka" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Zařízení \"%s\" nebylo nalezeno" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Nemáte oprávnění připojit svazek \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Nemáte oprávnění odpojit svazek \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Nemáte oprávnění vysunout svazek \"%s\"" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Chybné parametry při pokusu o připojení svazku \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Svazek \"%s\" používá %s systém souborů, který není podporován vaším systémem" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Program zabraňuje svazku \"%s\" v odpojení" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Svazek \"%s\" není připojen" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Chyba %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Svazek \"%s\" byl pravděpodobně připojen ručně z příkazové řádky" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Prázdné disky nemohou být připojeny, použijte vypalovací program pro zapsání dat." #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "Audio CD nemohou být připojena, použijte hudební přehrávač pro přehrátí " #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr ":disketa" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr ":optické médium" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "[nepopsaná]" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "[zvuk]" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "[žádné médium]" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "Vybraný způsob zacházení se zařízením" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "Vybraný způsob zacházení s protokolem" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "( není zařízením udev )" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "\nAutomatické spuštění: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "\nKartu otevřít automaticky pro %s v %s\n" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "\nAutomatické odpojení: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "\nAutomatické odpojení: chyba: Není dostupný žádný program pro odpojování\n" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "\nAutomatické připojení: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "\nAutomatické připojení: chyba: Není dostupný žádný příkaz pro připojování\n" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Odpojit pokud připojeno: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "Nemáte oprávnění k tomu, abyste mohl upravovat obsah souborů %s\n\nZvažte zkopírování souboru na plochu, nebo udělání odkazu na kopii umístěnou v ~/.local/share/applications/" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Nelze přejmenovat" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "Zadat nový název položky pracovní plochy:\n\nZměna názvu položky této pracovní plochy vyžaduje změnu obsahu souboru pracovní plochy %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Změnit název položky pracovní plochy" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Při přejmenovávání této položky plochy se vyskytla chyba." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Otevřít obsahující _složku" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Vybrat složku" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Prohlížet..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Místní svazky" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Naposledy změněno" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Zadat program nebo (bash) příkazový řádek(y):\n\nPoužít:\n\t%F\tvybrané soubory nebo %f vybraný soubor\n\t%N\tvybrané souborové názvy nebo %n první vybraný souborový název\n\t%d\tnynější adresář\n\t%v\tvybrané zařízení (např. /dev/sda1)\n\t%m\tpřípojný bod zařízení (např. /media/dvd); %l štítek (označení) zařízení\n\t%b\tvybraná záložka\n\t%t\tvybraný adresář s úkoly; %p PID úkolu\n\t%a\thodnota položky nabídky\n\t$fm_panel, $fm_tab, $fm_command, atd." #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME Typ" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Název souboru" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Adresář" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Právo zapisovat do adresáře" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Soubor je text" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Soubor je adresář" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Soubor je zástupce" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Uživatel je superuživatel (root)" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Výcenásobný výběr" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Schránka obsahuje soubory" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Schránka obsahuje text" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Nynější panel" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Počet panelů" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Nynější karta" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Počet karet" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Záložka" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Přípojný bod zařízení" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Štítek zařízení" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Typ FS zařízení" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UID zařízení" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Vlastnosti zařízení" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Počet úkolů" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Adresář úkolu" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Typ úkolu" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Název úkolu" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Panel 1 Adresář" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Panel 2 Adresář" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Panel 3 Adresář" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Panel 4 Adresář" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Označení v Panel 1" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Označení v Panel 2" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Označení v Panel 3" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Označení v Panel 4" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Panel 1 Zařízení" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Panel 2 Zařízení" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Panel 3 Zařízení" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Panel 4 Zařízení" #: ../src/item-prop.c:205 msgid "equals" msgstr "Rovná se" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "Nerovná se" #: ../src/item-prop.c:207 msgid "contains" msgstr "Obsahuje" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "Neobsahuje" #: ../src/item-prop.c:209 msgid "begins with" msgstr "Začíná na" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "Nezačíná na" #: ../src/item-prop.c:211 msgid "ends with" msgstr "Končí na" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "Nekončí na" #: ../src/item-prop.c:213 msgid "is less than" msgstr "Je menší než" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "Je větší než" #: ../src/item-prop.c:215 msgid "matches" msgstr "Odpovídá" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "Neodpovídá" #: ../src/item-prop.c:222 msgid "Application" msgstr "Program" #: ../src/item-prop.c:223 msgid "Command" msgstr "Příkaz" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Nynější: Ukázat" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Nynější: Skrýt" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Nynější: Zakázat" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "Nynější: Povolit" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Uložit upravený skript?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Uložit vaše změny do příkazového skriptu?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Přepsat skript?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "Skript s příkazem na disku se změnil.\n\nChcete jej přepsat?" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "Adresář s příkazem" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "(žádné soubory)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "Příkazový řádek nezačíná textovým souborem (skript) k otevření, nebo skript nebyl nalezen ve vaší $PATH." #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Cíle: (středníky oddělený seznam cest nebo adres)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Cíl: (soubor .desktop nebo spustitelný textový soubor)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Vybrat spustitelný soubor" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "Příkazový řádek je příliš dlouhý" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Vlastnosti položek nástrojového pruhu" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Vlastnosti položek nabídky" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Položka ná_strojového pruhu" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Položka _nabídky" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Typ:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Název:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Klávesa:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Ikona:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "_Souvislost" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "Po_užít" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "Odpovídá jakémukoli pravidlu:" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "Odpovídá všem pravidlům:" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "Neodpovídá žádnému pravidlu:" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "Neodpovídá všem pravidlům:" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Ukázat" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Povolit" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Skrýt" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Zakázat" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "Položka pokud souvislost" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "Upravit pravidlo" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Hodnota:" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "Pokud povolen, použít jako manipulátor pro:" #: ../src/item-prop.c:1962 msgid "none" msgstr "Žádný" #: ../src/item-prop.c:1964 msgid "files" msgstr "Soubory" #: ../src/item-prop.c:1966 msgid "devices" msgstr "Zařízení" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "Pře_hlížet souvislost/Ukázat vše (celkové nastavení)" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "_Příkaz" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "Příkazový řá_dek" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Skript:" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Otevřít v _editoru" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "Editor _superuživatele" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "_Volby" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "Volby pro spuštění" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "Oznámení o úkolu" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "Oznámení o chybě" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "Oznámení o výstupu" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "Posunovat výstup" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "Ponechat terminál otevřený" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "Spustit jako uživatel:" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "(ponechat prázdné pro nynějšího uživatele)" #: ../src/item-prop.c:2184 msgid "Style" msgstr "Styl" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "Normální" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "Zaškrtávací okénko" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "Potvrzení" #: ../src/item-prop.c:2204 msgid "Input" msgstr "Vstup" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "Zpráva o potvrzení/vstupu" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Otevřít v prohlížeči:" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "Adresář s daty" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "Adresář s přídavným modulem" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "Vestavěná položka nástrojového pruhu" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Podnabídka" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "Oddělovač" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "Vestavěný příkaz" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "Sledovat stav" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "Ikona" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "Ikona k vykreslení." #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "GIkona" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "GIkona k vykreslení." #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "Velikost" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "Velikost ikony k vykreslení v obrazových bodech." #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "Ikony činností" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Animace" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Ikony programů" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Ikony nabídek" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Ikony zařízení" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "Odznaky" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "Ikony vyjadřující city" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "Mezinárodní církve" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "Ikony typů souborů" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "Ikony umístění" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "Stavové ikony" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "Nezařazené ikony" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Všechny ikony" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "Obrázkové soubory" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "Vybrat _ikonu z:" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "_Hledat ikonu:" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "Vyprázdnit vyhledávací pole" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Náhled" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "Není vybrán žádný soubor" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "Blokovat zařízení" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "FIFO" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "Kabelový vývod" spacefm-1.0.5/po/da.po000066400000000000000000005011461264770501700145150ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # vidarjb , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Danish (http://www.transifex.com/projects/p/spacefm/language/" "da/)\n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "Vidar Jon Bauge \n" "Charlie Tyrrestrup " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Gennemse" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Åbnes i terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Fil Egenskaber" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Ejer:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "Gruppe:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Ejer:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Gruppe:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Læs" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Skriv" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Kør" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Sæt UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Sæt GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Klæbrig" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "Rettigheder" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Alle" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Inden et døgn" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Inden en Uge" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Inden en Måned" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Inden et År" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "I En Bestemt Periode" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Find filer" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Forskel på små og store bogstaver" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Videofiler (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Lydfiler (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Billedfiler (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Simple tekstfiler" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Alle filer og mapper" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Søg efter filtype" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Placeringer at søge på" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Generelt" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Filen indeholder:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Brug regulært udtryk" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Fil indhold" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Indhold" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Større end:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Mindre end:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Filens størrelse" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Sidst ændret" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Dato & størrelse" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Søgeresultat:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Søg igen" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Gå til mappe" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Indstillinger" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Bogmærker:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Generelt" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Vis altid faneblade" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Græ_nseflade" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Skrivebordsbaggrund:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Vælg en billedfil" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Tilstand:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Baggrund:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekst:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Skygge:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Skrivebor_d" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Håndtering af medier" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avanceret" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Filen findes ikke" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Fejl" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Fejl: Ude af stand til at oprette forbindelse til FAM.\n" "\n" "Er \"FAM\" eller \"Gamin\" installeret og kørende?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Ved ikke hvordan filen skal åbnes" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Kan ikke åbne filen:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fil" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Vis" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Hjælp" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Mappe" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Navn" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Størrelse" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Type" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Rettighed" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Tilbage" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Frem" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Opdater" #: ../src/settings.c:160 msgid "New Tab" msgstr "Ny Tab" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "Mappe" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Bogmærke" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "Egenskaber" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "R_ediger" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "Åbn" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nyt Vindue" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "Værk_tøj" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "Kør" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Alle filer og mapper" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Pak Ud _Til" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Bogmærke" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Gå" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "Omdøb" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "Slet" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Inverter Udvalg" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikoner" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Kan ikke montere enhed" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Kan ikke afmontere enhed" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Kan ikke skubbe enhed ud" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "Skub ud" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Flyt: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopier: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Slet: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Lænke: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Flytter..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopierer..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Sletter..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Lænker..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Til:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Skriv Over Alle" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Hop Over Alle" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Færdig!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Kommando:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Filsystem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Mappe" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Ny Mappe" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Ny Fil" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Beregner..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Ugyldig Bruger" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Ugyldig Gruppe" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Alle filer og mapper" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Kommando ikke fundet" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Målmappen \"%1$s\" findes i kildemappen \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Enhed" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Enhed" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Enhed" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Floppy disk" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash Drev" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Usb lagringsenhed" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media Drev" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC Drev" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip Drev" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz Drev" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen Drev" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Musik afspiller" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Digitalkamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Drev" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Ekstern %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM disk" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Blank CD-R disk" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R disk" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Tom CD-RW disk" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW disk" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM disk" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Tom DVD-RAM disk" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM disk" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Tom DVD-R disk" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R disk" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tom DVD-RW disk" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW disk" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tom DVD+R disk" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R disk" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tom DVD+RW disk" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW disk" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Lyd cd" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Aftagbart medie" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Enhed" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Ingen forbindelse til HAL processen: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Enheden \"%s\" er ikke et medie eller drev" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Enheden \"%s\" kunne ikke findes i systemets enhedsoversigt" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Du har ikke rettigheder til at montere enheden \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Du har ikke rettigheder til at afmontere enheden \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Du har ikke rettigheder til at skubbe ud enheden \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Ugyldig valg ved montering af enheden \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Enheden \"%s\" bruger %s filsystemet, der ikke er understøttet af " "dette system" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "En applikation forhindrer enheden \"%s\" fra at blive afmonteret" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Enheden \"%s\" er ikke monteret" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Fejl %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Enheden \"%s\" er sandsynligvis monteret manuelt fra kommandolinien" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Tomme diske kan ikke monteres. Brug en applikation til CD brænding til at " "skrive lyd eller data til disken" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Lyd CD kan ikke monteres. Brug en musik afspiller til at afspille indholdet" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "_Åbne overordnet Mappe" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Vælg en mappe" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Gennemse..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Sidst Ændret" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Kommando ikke fundet" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/de.po000066400000000000000000006627241264770501700145330ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Aqualung71 , 2013 # delix, 2013 # Fábio Antunes , 2008 # Flávio Costa , 2006 # Foobar , 2015 # Henrique P. Machado , 2009 # , 2013 # Mario Blättermann , 2013 # Rüdiger Arp , 2006 # wandows , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: German (http://www.transifex.com/projects/p/spacefm/language/" "de/)\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Ordner mit SpaceFM öffnen" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Ordner öffnen" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM Dateisuche" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Nach Dateien und Ordnern suchen" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Dateiverwaltung" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Im Dateisystem navigieren" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "by IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" "SpaceFM-Symbole and Logo von Goran Simovic\n" "\n" "Zusätzliche Symbole wurden vom Symbolsatz des Tango Desktop Project " "übernommen" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "Aqualung71 \n" "delix \n" "Johannes Ballentin \n" "Mario Blättermann \n" "Rüdiger Arp " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Anwendung auswählen" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Bitte Anwendung auswählen oder Befehl eingeben:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Dateityp:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Zugeordnete Anwendungen" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "A_lle Anwendungen" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Befehl:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Durchsuchen" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Im Terminal geöffnet" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Als _voreingestellte Anwendung für diesen Dateityp festlegen" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Dateieigenschaften" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Datei_name:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Ort:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "_Verknüpfungsziel:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Typ:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Öffnen _mit:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Gesamtgröße:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Größe auf Festplatte:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Anzahl:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Geändert:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "_Aufgerufen:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "_Info" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Besitzer:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Gruppe:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Besitzer:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Gruppe:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Sonstiges:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lesen" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Schreiben" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Ausführen" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "UID setzen" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "GID setzen" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sticky" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Rekursiv (Änderungen wirken sich auf Ordner und deren Inhalt aus)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Zugriffsrechte" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "kB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "beliebig" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "innerhalb eines Tages" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "innerhalb einer Woche" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "innerhalb eines Monats" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "innerhalb eines Jahres" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "innerhalb des angegebenen Zeitraums" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Dateisuche" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Dateiname:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Groß-/Kleinschreibung" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Video-Dateien (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Audio-Dateien (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Bilddateien (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Unformatierte Textdateien" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Alle Dateien und Ordner" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Zu suchende Dateitypen" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "In Unterordnern suchen" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Nach verborgenen Dateien suchen" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Zu durchsuchende Orte" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Allgemein" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Datei enthält:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Regulären Ausdruck verwenden" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Dateiinhalt" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Inhalt" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Größer als:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Kleiner als:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Dateigröße" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Zuletzt geändert" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Größe und Datum" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Suchergebnis:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Suche wiederholen" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Gehe zu Ordner" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "In aktuellem Reiter öffnen" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "In neuem Reiter öffnen" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Ausdehnen" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Einpassen" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Zentriert" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Kacheln" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Vergrößern" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Transparent" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automatisch" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopieren (Strg+Mauszeiger ziehen)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Verschieben (Strg+Mauszeiger ziehen)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Verknüpfen (Strg+Umschalttaste+Mauszeiger ziehen)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Einstellungen" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Kleine Symbole:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Große Symbole:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Symbole der Werkzeugleiste:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Symbole" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Einfacher Klick öffnet Dateien" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Auswahl durch Mauszeigerkontakt" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Lesezeichen:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Vorschaubilder anzeigen" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Maximale Größe der Vorschaubilder:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Dateiliste" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "All_gemein" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Reiterleiste immer anzeigen" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Knopf »Reiter schließen« verbergen" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Löschen/Entfernen bestätigen" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Anklicken startet ausführbare Dateien" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Dateigröße in SI (1K=1000) (erfordert Neustart)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Systemadministratoren farblich kennzeichnen" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Voreingestelltes Verhalten bei Ziehen mit Mauszeiger:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Sch_nittstelle" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Hintergrundbild:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Bilddatei auswählen" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modus:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Hintergrund:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Text:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Schattierung:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Schrift:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Oben:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Links:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Rechts:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Unten:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Pad:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Begrenzungen" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Rechtsklick zeigt das Menü der Fensterverwaltung" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Ordner mit der zugeordneten MIME-Anwendung öffnen" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Schreibtisch" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Datenträger_verwaltung" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal Administrator:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "GUI Administrator:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Zeichensatz der Dateinamen:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Editor in Terminal starten" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Editor für Administrator:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Editor für Administrator in Terminal starten" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Datumsformat:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(erfordert neues Laden)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Datumsanzeige" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Erweitert" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Zu viele Spalten (>%d) in %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "Fehler beim Lesen von Datei %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "Inhalt der Datei »%s« entspricht nicht der UTF-8-Norm" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Fehlendes Element »%s« kann nicht gesetzt werden " #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "Datei »%s« ist keine reguläre Datei" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "Dynamische Größenänderung erfordert Angabe von Höhe und Breite > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "Interner Befehl %s benötigt ein Argument" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "Element »%s« existiert nicht" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "Interner Befehl »Klicken« ist auf %s nicht anwendbar" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" "Interner Befehl »Auswählen/Auswahl aufheben« ist auf %s nicht anwendbar" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "Fehler beim Schreiben der Datei %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "»%s« ist kein interner Befehl" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "Fehler beim Erzeugen der Datei %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "Befehlskette »%s« entspricht nicht UTF-8-Norm" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" "[ SNIP - obige zusätzliche Ausgabe wurde von dieser in verbesserter Form " "übernommen ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "(Dateiinhalt entspricht nicht UTF-8-Norm)" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "Präfix »%s« ist kein gültiger Variablenname" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Pause" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "Datei »%s« ist weder eine reguläre Datei noch eine Befehlskette" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" "SpaceFM erzeugt einen benutzerdefinierten GTK-Dialog auf Basis der in der\n" "Befehlszeile definierten GUI-Elemente, bietet interne/externe Befehle für " "die\n" "Modifizierung der Elemente zur Laufzeit an und gibt auswertbare/" "weiterverwendbare\n" "Resultate aus.\n" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Aufruf:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ELEMENT [OPTIONEN] [ARGUMENTE...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Beispiel:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Eine Meldung\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "ELEMENT: OPTIONEN & ARGUMENTE:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "Folgende Argumente sind wie oben angegeben verwendbar:\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr " INVENTARTEIL %s\n" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ICON Symbolname, z.B. gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" " @FILE Textdatei aus der ein Wert ausgelesen werden soll. In einigen " "Fällen wird\n" " diese Datei laufend überwacht, so daß eine Eingabe eines " "neuen Werts in\n" " die Datei das alte Element ersetzt. Sonst wird ein neuer " "Wert zugewiesen.\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" " SAVEFILE der Inhalt eines Anzeigeprogramms oder Editors wird in dieser " "Datei gespeichert.\n" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" " COMMAND Ein interner Befehl oder eine ausführbare Datei mit geeigneten " "Aufrufoptionen. Mehrere\n" " Befehle müssen mit -- getrennt werden.\n" " folgende Kurzschreibweisen sind hier erlaubt:\n" " %%n Name des aktuellen Elements\n" " %%v Wert des aktuellen Element\n" " %%NAME Wert des Elements NAME (z.B.: %%input1)\n" " %%(command) stdout einer bash Befehlszeile\n" " %%%% %%\n" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" " LABEL Folgende escape Sequenzen in LABEL werden nicht aus der " "beachtet:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " nur in --label Elements und falls das erste Zeichen in LABEL " "eine\n" " Tilde (~) ist kann pango markup benutzt werden. Beispiel:\n" " --label '~This is plain. This is bold.'\n" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" "\n" "zusätzlich zu den oben aufgeführten können noch die Optionen --compact oder " "--expand\n" "--expand zu jedem Element hinzugefügt werden. Für die meisten " "Elementschriften gibt es auch\n" "die Option --font zum Ändern von Schrifttyp und -größe. Beispiel:\n" " --input --font \"Times New Roman 16\" \"Text\"\n" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "INTERNE BEFEHLE:\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" "\n" "Beispiel mit Verwendung eines Befehls:\n" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" " spacefm -g --label \"Text eingeben und Enter drücken:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "Beispiel mit Verwendung eines Skripts:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "Die vollständige Dokumentation und Beispiele enthält das SpaceFM Handbuch:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: Argument entspricht nicht UTF-8-Norm\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "Ungültige Dialogoption" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Fenstertitel festlegen" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Fenstersymbol festlegen" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Beschriftung hinzufügen" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" "Hinzufügen eines INVENTAR Dialogknopfes oder BEZEICHNUNG Knopfes mit SYMBOL" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" "Hinzufügen eines INVENTAR Dialogknopfes oder BEZEICHNUNG Knopfes mit SYMBOL " "an beliebiger Stelle" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Hinzufügen eines Texteintrags" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Hinzufügen eines langen Texteintrags" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Hinzufügen eines Passworteintrags" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Hinzufügen eines Datei- oder Verkettungsbetrachters" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Hinzufügen eines Mehrzeilentexteditors" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Hinzufügen eines Kontrolldialogfensters" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Hinzufügen einer Radioknopf-Option" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Hinzufügen eines Symbols" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Hinzufügen eines Bildes" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Hinzufügen einer Fortschrittsanzeige" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Hinzufügen einer horizontalen Abgrenzungslinie" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Hinzufügen einer vertikalen Abgrenzungslinie" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Automatische Schließung des Fensters nach WARTEZEIT Sekunden" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Hinzufügen einer Aufklappliste. BEFEHL wird bei Anklicken ausgeführt." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" "Hinzufügen einer Kombi-Auswahlliste. BEFEHL wird bei Drücken der " "Eingabetaste ausgeführt." #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Hinzufügen einer Listenbox. BEFEHL wird bei Doppelklick ausgeführt." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Hinzufügen einer Listenbox mit mehreren Auswahlmöglichkeiten" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Optionen: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Angabe eines Basisvariablennamens (Voreinstellung: »dialog«)" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" "Angabe der Mindestbreite und -höhe und der Füllung (-1 = unverändert) " #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Hinzufügen folgender Widgets zu einer horizontalen Box" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Hinzufügen folgender Widgets zu einer vertikalen Box" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Schließen der aktuellen Widgetsbox" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Ausführung von BEFEHL bei Drücken einer Tastenkombination" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "Ausführung von BEFEHL beim Versuch, das Fenster zu schließen" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" "Einlesen von Befehlen von DATEI oder VERKETTUNG. BEFEHL zur Initialisierung." #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "Keine Ausführung - überprüft nur die Argumente" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "Den Dialog schließen" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "Den Knopf KNOPFNAME anklicken" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "Setzen des Elements NAME auf den Wert WERT" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Auswahl von Eintrag WERT (oder erster/alle) im Element NAME" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Aufhebung der Auswahl des Eintrags WERT (oder alle) im Element NAME" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "Wechsel zu Element NAME oder Dialogfenster öffnen" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "Element NAME verbergen" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "Anzeige von Element NAME, falls vorher verborgen" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "Element NAME funktionslos setzen" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" "Funktion des Elements NAME aktivieren, falls vorher funktionslos gesetzt" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "Speicherung der Dateien und Schreiben der Quellausgaben in DATEI" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Ordner in neuem Reiter des letzten Fensters öffnen (Voreinstellung)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Ordner im aktuellen Reiter des zuletzt genutzten Fensters" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Gespeicherte Reiter nicht laden" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Ordner in neuem Fenster öffnen" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Ordner im Panel »P« (1-4) öffnen" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Start des Dämons für die Schreibtischverwaltung" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Anzeige der Schreibtischeinstellungen" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" "Anzeige der Einstellungen (»N« ist die Nummer des Reiters für die " "Einstellungen)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Als Dämon laufen lassen" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Benutze DIR als Konfigurationsordner" #: ../src/main.c:138 msgid "Show File Search" msgstr "Dateisuche anzeigen" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "DATEI als Hintergrundbild festlegen" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Einen benutzerdefinierten Dialog anzeigen (-g für Hilfe)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Socket-Befehl senden (-s für Hilfe)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Funktionslos - nur aus Kompatibilitätsgründen vorhanden" #: ../src/main.c:151 msgid "Show version information" msgstr "Versionsinformationen anzeigen" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | DATEI | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Option --config-dir wird ignoriert - Programmteil läuft bereits" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Option --config-dir enthält ungültige Zeichen - Start unmöglich" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd benötigt ein Argument\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: Socket kann nicht erzeugt werden\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" "spacefm : Verbindung zum Socket nicht möglich (läuft nicht? oder DISPLAY " "nicht gesetzt?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: ungültige Rückmeldung vom Socket\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" "SpaceFM Sockelbefehle erlauben externen Prozessen (wie Befehlsskripten) das\n" "Lesen und Setzen von GUI Eigenschaftswerten und das Ausführen von Methoden " "in\n" "offenen SpaceFM Fenstern. Zur Ereignisbehandlung: Hauptmenü->Ansicht|" "Ereignisse" #: ../src/main.c:677 msgid "Usage:" msgstr "Aufruf:" #: ../src/main.c:679 msgid "Example:" msgstr "Beispiel:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" "METHODEN\n" "-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Eigenschaft festlegen" #: ../src/main.c:687 msgid "Gets a property" msgstr "Liest eine Eigenschaft aus" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Legt eine Aufgabeneigenschaft fest" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Liest eine Aufgabeneigenschaft ein" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Startet eine neue Aufgabe" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Aktiviert einen Menüpunkt durch Ausgabe des Tastaturkürzels" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "Anzeige des benutzerdefinierten Untermenüs MENÜNAME als Aufklappmenü" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Hinzufügen des asynchronen Programmteils BEFEHL zu EREIGNIS" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" "Hinzufügen des synchronen Programmteils BEFEHL zu EREIGNIS; ersetzt den " "voreingestellten Befehl" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Entfernen des Programmteils BEFEHL von EREIGNIS" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" "Anzeige der Hilfereferenz. (siehe auch unten stehende Verknüpfung zum " "Handbuch.)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" "OPTIONEN\n" "-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" "Hinzufügen von Optionen nach Ausführen der METHODE zu einem bestimmten " "Fenster, Panel und/oder Reiter." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" "Ansonsten wird der aktuelle Reiter im aktuellen Panel des letzten Fensters " "benutzt." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Fenster festlegen. Beispiel:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Panel 1-4 festlegen. Beispiel:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Reiter 1-... festlegen. Beispiel:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" "EIGENSCHAFTEN\n" "----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" "Eigenschaften festlegen mit METHODE »set«, oder Wert auslesen mit »get«." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "z.B. '800x600'" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "z.B. '100x50'" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "z.B. '1024x768' (nur lesbar)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "z.B. '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Öffne DIR oder voreingestellten Ordner in einem neuen Reiter" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "z.B.: »Aktueller Status: Beispiel«" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR z.B. »/etc«" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[DATEINAME...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[ZEICHENMUSTER] eg '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "z.B. 'einige\\nZeilen\\nText'" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "z.B. '~/Dateiinhalt-in-Zwischenablage-kopieren.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "DATEI... Dateien in Zwischenablage kopiert" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "DATEI... Dateien in Zwischenablage verschoben" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" "AUFGABENEIGENSCHAFTEN\n" "---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "Inhalt der Status Aufgabenspalte (nur lesbar)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "z.B. 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "anzuzeigender Text in der Aufgabenspalte Zähler" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "anzuzeigender Text in der Aufgabenspalte Ordner" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "anzuzeigender Text in der Aufgabenspalte Element" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "anzuzeigender Text in der Aufgabenspalte Anwenden auf" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "Fortschritt in Prozent (1..100) oder \" als Balken" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "Text sichtbar in Aufgabenspalte Total" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "Text sichtbar in Aufgabenspalte Aktuell" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "Text sichtbar in Aufgabenspalte CRemain" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "Text sichtbar in Aufgabenspalte Durchschnitt" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "Text sichtbar in Aufgabenspalte Verbleibend" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "Inhalt der Aufgabenspalte Abgelaufen (nur lesbar)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "Inhalt der Aufgabenspalte Gestartet (nur lesbar)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "BEFEHL Befehl zum Start eines benutzerdefinierten Aufgabendialogs\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" "AUFGABENTYPEN\n" "----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Ausführung von BEFEHL in VERZEICHNIS" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "DATEI(EN) oder ORDNER in ZIELordner kopieren|verschieben|verknüpfen" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Rekursives Löschen von DATEI(EN) oder ORDNER(N)" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "DATEI im Editor von Root oder des Benutzers öffnen" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "URL im Webbrowser des Benutzers öffnen" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" "EREIGNISSE\n" "------" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "Instanz starten %e" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "Instanz beenden %e" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "Fenster neu %e %w %p %t" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "Fenster Fokus %e %w %p %t" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "Fenster verschieben/Größe ändern %e %w %p %t" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Maus Klick %e %w %p %t %b %m %f" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "Fenster Taste drücken %e %w %p %t %k %m" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "Fenster schließen %e %w %p %t" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "Panel-Fokus %e %w %p %t" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Panel anzeigen/verbergen %e %w %p %t %f %v" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "Auswahl geändert %e %w %p %t" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "Reiter neu %e %w %p %t" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "Reiter Fokus %e %w %p %t" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "Reiter schließen %e %w %p %t" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "Gerät wechseln %e %f %v" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "Substitutionsvariable für Ereignis BEFEHL:" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "Ereignistyp (Start|Ende|...)" #: ../src/main.c:826 msgid "window ID" msgstr "Fenster ID" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "Panelnummer (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "Reiternummer (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "Maustaste (0=recht+links 1=links 2=Mitte 3=rechts ...)" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "Tatstencode (z.B. 0x63)" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "Taste zum Modifizieren (z.B. 0x4 zusammen mit Klicks oder Tasten)" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" "Element im Fokus (PanelN|Dateiliste|Geräte|Lesezeichen|Ordnerbaum|Pfadleiste)" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "Element im Fokus is sichtbar (0 oder 1, oder Gerätestatus ändern)" #: ../src/main.c:835 msgid "Examples" msgstr "Beispiele" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "diese Dateien wurden in die Zwischenablage kopiert" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" "ausführliche Dokumentation und Beispiele gibt es im SpaceFM Benutzerhandbuch:" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" "Bei dieser SpaceFM-Version ist die Integration des Schreibtisch abgeschaltet" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" "spacefm: Fehler: Sitzung kann nicht gespeichert werden\n" " %s\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Die Datei existiert nicht" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Fehler" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" "Fehler: inotify Dateiänderungsmonitor kann nicht initialisiert werden.\n" "\n" "Bietet der Kernel inotify-Unterstützung? " #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Fehler: Es konnte keine Verbindung zu FAM hergestellt werden.\n" "\n" "Sind »FAM« oder »Gamin« installiert und aktiv?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "--dialog muss die erste Option sein" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "--socket-cmd muss die erste Option sein" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Die Datei konnte nicht angezeigt werden" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Folgende Datei konnte nicht geöffnet werden:\n" "»%s«\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Plugin-Datei auswählen" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Plugin-URL eingeben" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" "SpaceFM Plugin-URL eingeben:\n" "\n" "(die Plugin-Datei wird mit wget heruntergeladen)" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" "Ungültiger Plugin-Name. Bitte umbenennen (nur alphnumerische ASCII-" "Zeichen !) und noch einmal versuchen." #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Der Dateiname des Plugins ist ungültig" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" "Ein Plugin »%s« ist bereits installiert. Überschreiben?\n" "\n" "Tipp: Auch ein Umbenennen dieser Plugin-Datei und Speichern unter anderem " "Namen ist möglich. " #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Plugin überschreiben?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Fehler beim Erstellen des temporären Ordners" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Temporärer Ordner kann nicht erstellt werden" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "Fehler: Speichern der Datei mit Sitzungsdaten nicht möglich\n" "\n" "( %s )" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Benutzersitzung speichern" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Root-Fenster öffnen" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal nicht verfügbar" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Bitte Terminalprogramm in Ansicht|Einstellungen|Erweitert festlegen" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Terminal öffnen" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Hilfe zum Design-Modus" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 #, fuzzy msgid "Panel" msgstr "_Panel" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Neuer _Befehl" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Panel %d anzeigen" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Datei" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Ansicht" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "_Geräte" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "_Lesezeichen" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "_Plugins" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "_Werkzeuge" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Hilfe" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" "Fehler: Speichern der Datei mit Sitzungsdaten nicht möglich. Beenden ohne zu " "speichern?\n" "\n" "( %s )" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "SpaceFM Fehler" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "Alle in diesem Fenster laufenden Aufgaben beenden?" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "Aufgaben werden abgebrochen …" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "%s frei / %s" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr " Link → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr " Link → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Link → %s/ (fehlt)" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr " Link → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr " !Link → %s (fehlt)" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr " !Link → ( Fehler beim Lesen des Ziels )" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "verborgen" msgstr[1] "verborgen" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d sichtbar (%s) %s" msgstr[1] "%s%d sichtbar (%s) %s" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d Objekt %s" msgstr[1] "%s%d Objekte %s" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Die Tastaturkürzel der Geräteverwaltung sind im HAL-Modus abgeschaltet" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "Status" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Ordner" #: ../src/main-window.c:4156 msgid "Item" msgstr "Objekt" #: ../src/main-window.c:4157 msgid "To" msgstr "Nach" #: ../src/main-window.c:4157 msgid "Progress" msgstr "Fortschritt" #: ../src/main-window.c:4157 msgid "Total" msgstr "Total" #: ../src/main-window.c:4158 msgid "Started" msgstr "Gestartet" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "Abgelaufen" #: ../src/main-window.c:4158 msgid "Current" msgstr "Aktuell" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "CRemain" #: ../src/main-window.c:4159 msgid "Average" msgstr "Durchschnitt" #: ../src/main-window.c:4159 msgid "Remain" msgstr "Verbleibend" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "Hilfe zur Spaltenumordnung" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" "Zum Ändern der Spaltenreihefolge ziehen Sie den Spaltenkopf an die " "gewünschte Stelle." #: ../src/main-window.c:5745 msgid "moving" msgstr "wird verschoben" #: ../src/main-window.c:5746 msgid "copying" msgstr "wird kopiert" #: ../src/main-window.c:5747 msgid "trashing" msgstr "wird in Papierkorb verschoben" #: ../src/main-window.c:5748 msgid "deleting" msgstr "wird gelöscht" #: ../src/main-window.c:5749 msgid "linking" msgstr "wird verknüpft" #: ../src/main-window.c:5750 msgid "changing" msgstr "wird geändert" #: ../src/main-window.c:5751 msgid "running" msgstr "wird ausgeführt" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "%d Fehler %s" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "%d Fehler %s" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "pausiert" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "in der Warteschlange" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Name" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Größe" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Typ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Berechtigung" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "Besitzer" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "Geändert" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "spacefm: ungültiger Socket-Befehl\n" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: ungültige Option »%s«\n" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: Option %s benötigt ein Argument\n" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "spacefm: ungültiges Fenster\n" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: ungültiges Fenster %s\n" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: ungültiges Panel %d\n" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: Panel %d ist nicht sichtbar\n" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: ungültiger Reiter %d\n" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: Befehl set benötigt ein Argument\n" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: ungültiger Wert %s\n" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "spacefm: ungültiger Schieberegler-Wert\n" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "spacefm: ungültige Panelnummer\n" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "spacefm: ungültige Reiternummer\n" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: ungültige Eigenschaft %s\n" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "spacefm: ungültige Spaltenbreite\n" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: ungültiger Spaltenname »%s«\n" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: Text entspricht nicht UTF-8-Norm\n" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s benötigt einen Dateipfad\n" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: Fehler beim Lesen von Datei »%s«\n" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: Datei »%s« enthält keinen Text nach UTF-8-Norm\n" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s benötigt einen Ordnerpfad\n" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: Ordner »%s« existiert nicht\n" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: Befehl %s benötigt ein Argument\n" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s benötigt 2 Argumente\n" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: ungültige Aufgabe »%s«\n" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: bei interner Aufgabe %s sind nur Leserechte vorhanden\n" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: bei Aufgabeneigenschaft »%s« sind nur Leserechte vorhanden\n" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: ungültiger Verkettungsstatus »%s«\n" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: ungültige Aufgabeneigenschaft »%s«\n" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: kein Ordner »%s« vorhanden\n" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: ungültige Option »%s« bei Aufgabe %s\n" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: Datei »%s« nicht vorhanden\n" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: relativer Pfad »%s« benötigt %s Option --dir DIR\n" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: Aufgabentyp %s benötigt DATEI-Argument(e)\n" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: ungültiger Aufgabentyp »%s«\n" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: ungültiger Tastencode »%s«\n" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "spacefm: benutzerdefiniertes Untermenü »%s« nicht gefunden\n" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "spacefm: Kontext bei Menü »%s« verborgen oder abgeschaltet\n" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm: ungültiger Ereignistyp '%s'\n" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: Ereignisverwaltung nicht gefunden\n" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: ungültige Socketmethode »%s«\n" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Voreinstellung" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "Schriftart für Schreibtisch auswählen" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "Beispiel Punkt 0123456789" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "Root Einstellungen speichern" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" "Es folgt eine Bitte um Eingabe des Root-Passworts, um die Root-Einstellungen " "für diesen Benutzer in einer Datei unter /etc/spacefm/ zu sichern. Empfohlen " "wird, das Passwort im nächsten Fenster einzugeben. Da SpaceFM einige Befehle " "mit su als Root laufen lässt, werden diese Einstellungen am besten durch " "Root geschützt. " #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" "Eingabe von Programmname oder Bash-Befehlszeile:\n" "\n" "verwendbar sind:\n" "\t%%F\tausgewählte Dateien oder %%f erste ausgewählte Datei\n" "\t%%N\tausgewählte Dateinamen oder %%n erster ausgewählter Dateiname\n" "\t%%d\taktueller Ordner\n" "\t%%v\tausgewähltes Gerät (z.B. /dev/sda1)\n" "\t%%m\tEinhängepunkt des Geräts (z.B. /media/dvd); %%l Gerätebezeichnung\n" "\t%%b\tausgewähltes Lesezeichen\n" "\t%%t\tausgewählter Aufgabenordner; %%ppid der Aufgabe\n" "\t%%a\tWert des Menüpunkts\n" "\t$fm_panel, $fm_tab, $fm_command, etc" #: ../src/settings.c:141 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" "Eingabe eines Symbolnamens, eines Pfads zu einer Datei mit Symbolen oder " "eines Inventarpostens:\n" "\n" "Aus unterschiedlichen Gründen sind nicht alle Symbole möglich." #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Startpunkt" #: ../src/settings.c:154 msgid "Up" msgstr "Aufwärts" #: ../src/settings.c:155 msgid "Back" msgstr "Zurück" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Vorwärts" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Aktualisieren" #: ../src/settings.c:160 msgid "New Tab" msgstr "Neuer Reiter" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Neuer Reiter hier" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "Große Symbole:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" "Benutzerdefiniertes tmp_dir enthält ungültige Zeichen - wechsele zurück auf /" "tmp" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "Benutzerdefiniertes tmp_dir existiert nicht - wechsele zurück auf /tmp" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "Anweisungen zum _Verbergen ignorieren" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "Anweisungen zum _Ausschluss ignorieren" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "_Stopp" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "Verwaltungsprogra_mm anzeigen" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "Verwaltungsprogramm automatisch _verbergen" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "_Fehler" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "Aktuell _verbleiben" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "_Durchschnittlich verbleiben" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Ordner" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "_Detaillierte Statistik" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "Ent_fernen/Auswerfen" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "_Importieren" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "Aufgabenverwal_tung" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "Date_iname" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "Typ_e" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "Ziel" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "Vorlage" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "_URL öffnen" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" "# SpaceFM Sitzungsdatei\n" "\n" "# DIESE DATEI IST NICHT ZUM BEARBEITEN VORGESEHEN - sie wird gelesen und " "ÜBERSCHRIEBEN\n" "\n" "# bei Löschung aller session* Dateien wird SpaceFM auf die " "Ursprungsvoreinstellungen zurückgesetzt.\n" "\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Fehler beim Speichern der Datei" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" "SpaceFM Fehler: Sitzungsdatei kann nicht automatisch gesichert werden " "( %s )\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" "Fehler beim Einlesen der Einstellungen für Root von /etc/spacefm/. Ausführen " "von Befehlen als Root kann ein Sicherheitsproblem sein" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" "Keine Einstellungen für Root in /etc/spacefm/ auffindbar. Diese Warnung beim " "Starten wird durch das Setzen eines Root-Editors in den Einstellungen " "entfernt. Anderenfalls kann das Ausführen von Befehlen als Root ein " "Sicherheitsproblem sein." #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Hilfe nicht verfügbar" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Dieses Plugin enthält keine README-Datei." #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Erzeugen gescheitert" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "Fehler beim Erzeugen einer README-Datei für diesen Befehl." #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" "Beim Kopieren von Befehlsdateien ist ein Fehler aufgetreten\n" "\n" "%s" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "Fehler beim Kopieren" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" "Beim Kopieren von Befehlsdatendateien ist ein Fehler aufgetreten\n" "\n" "%s" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "Fehler beim Einlesen der Plugin-Datei %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" "Der importierte Plugin-Ordner enthält kein geeignetes Plugin.\n" "\n" "(%s/)" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" "Das Plugin »%s« wurde in den Design-Zwischenspeicher kopiert. Zum Einfügen " "in ein Menü bitte Ansicht|Design Modus benutzen.\n" "\n" "Das Plugin erscheint noch nicht im Plugin-Menü, da es noch nicht installiert " "ist." #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" "Das Plugin »%s« wurde in den Design-Zwischenspeicher kopiert. Zum Einfügen " "in ein Menü bitte Ansicht|Design Modus benutzen.\n" "\n" "Das Plugin erscheint noch nicht im Plugin-Menü, da es noch nicht installiert " "ist; seine Inhalte sind nicht mit Root-Rechten geschützt (es wird mit " "normalen Benutzerrechten abgespeichert, sobald es eingefügt ist).\n" "\n" "Falls das Plugin su-Befehle enthält oder als Root aufgerufen wird, wird aus " "Gründen der Systemsicherheit empfohlen, das Plugin im Plugin-Menü zu " "installieren und nur von dort aus laufen zu lassen." #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" "Das Plugin »%s« deinstallieren?\n" "\n" "( %s )" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "Plugin deinstallieren" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "Plugin installieren" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "Speichern als Plugin-Datei" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "Plugin exportieren" #: ../src/settings.c:5495 msgid "Export Error" msgstr "Fehler beim Exportieren" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "Fehler beim Erstellen der temporären Dateien" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "Menüname ändern" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "Editor ist nicht gesetzt" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Bitte Editor in Ansicht|Einstellungen|Erweitert angeben" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "Editor für Root nicht angegeben" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Bitte Editor für Root in Ansicht|Einstellungen|Erweitert angeben" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "%s bearbeiten" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Handbuch nicht gefunden" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" "Handbuch online lesen?\n" "\n" "Es konnte kein Handbuch im lokalen System gefunden werden. Ja klicken zum " "online Lesen oder Nein klicken und dann den korrekten Ort für das Handbuch " "in Hilfe|Optionen|Handbuch Ort setzen." #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Ist das Handbuch geöffnet?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" "Das SpaceFM-Handbuch sollte im Browser erscheinen. Falls nicht, oder ein " "anderer Browser gewünscht wird, kann der Browser in Hilfe|Optionen|Browser " "angegeben werden.\n" "\n" "Diese Meldung wird nicht wiederholt." #: ../src/settings.c:6520 msgid "( none )" msgstr "( nenhum )" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" "\t%s\n" "\tTastencode: %#4x Zusatztaste: %#x\n" "\n" "%s ist bereits »%s« zugewiesen.\n" "\n" "Andere Taste drücken oder oder auf »Setzen« klicken, um die derzeitige " "Tastaturzuweisung zu ändern." #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" "\t%s\n" "\tTastencode: %#4x Zusatztaste: %#x" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Abbrechen" #: ../src/settings.c:6703 msgid "Unset" msgstr "Zurücknehmen" #: ../src/settings.c:6716 msgid "Set" msgstr "Setzen" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Taste setzen" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "Symbol festlegen" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Befehlszeile bearbeiten" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "Benutzerdefinierte ausführbare Datei auswählen" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Mit Benutzerrechten ausführen" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" "Diesen Befehl ausführen als Benutzer:\n" "\n" "( leere Eingabe für den aktuellen Benutzer )" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" "Sie sind im Begriff, einen benutzerdefinierten Befehl zu einem vorbelegten " "Menüpunkt hinzuzufügen. Dieser Menüpunkt hat danach eine automatische " "Kontextbeschränkung -- er erscheint nur, wenn der MIME-Typ der ersten " "ausgewählten Datei mit dem aktuellen Typ »%s« übereinstimmt.\n" "\n" "Fügen Sie hier nur Befehle oder Menüs hinzu, die ausschließlich bei diesem " "MIME-Typ erscheinen sollen." #: ../src/settings.c:6927 msgid "New Context Command" msgstr "Neuer Kontextbefehl" #: ../src/settings.c:6938 #, fuzzy msgid "Set Item Name" msgstr "Menüname setzen" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Ordner wählen" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" "Sie sind im Begriff, ein benutzerdefiniertes Untermenü zu einem vorbelegten " "Menüpunkt hinzuzufügen. Dieser Menüpunkt hat danach eine automatische " "Kontextbeschränkung -- er erscheint nur, wenn der MIME-Typ der ersten " "ausgewählten Datei mit dem aktuellen Typ »%s« übereinstimmt.\n" "\n" "Fügen Sie hier nur Befehle oder Menüs hinzu, die ausschließlich bei diesem " "MIME-Typ erscheinen sollen." #: ../src/settings.c:7017 msgid "(none)" msgstr "(nichts)" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "Untermenüname setzen" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" "Untermenüname eingeben:\n" "\n" "Ein Buchstabe kann als Tastaturkürzel gekennzeichnet werden durch " "Voranstellen eines Strichs (_)." #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Neue_s Untermenü" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "( kein Name )" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" "UNTERMENÜ '%s' UND ALLE OBJEKTS DARIN vollständig löschen?\n" "\n" "Diese Aktion löscht alle Einstellungen und Dateien, die mit dem Objekt " "verknüpft sind." #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" "Objekt '%s' vollständig löschen?\n" "\n" "Diese Aktion löscht alle Einstellungen und Dateien, die mit dem Objekt " "verknüpft sind." #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "Entfernen bestätigen" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Sind Sie sicher?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "Dialognachricht" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" "Eingabe der in diesem Dialog anzuzeigenden Nachricht:\n" "\n" "Benutzung:\n" "\t\\n\tnewline\n" "\t\\t\ttab" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "Aus_schneiden" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "_Kopieren" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "Ein_fügen" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "Entfe_rnen" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "E_xportieren" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "_Neu" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Lesezeichen" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "_Anwendung" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "_Befehl" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Unter_menü" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "Tr_enner" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "_Hinzufügen" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "Tasten_kürzel" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "Skript _editieren" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "Editieren als Root" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "Befehl b_earbeiten" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "Eigen_schaften" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "Ort auswählen" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Bearbeiten" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "Fenstersymbol festlegen" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "Auswä_hlen" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "_Voreinstellung" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "Die Eingabe ist ungültig, da sie Zeilenvorschübe enthält" #: ../src/settings.c:9214 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9351 msgid "_Unset" msgstr "Festlegung a_ufheben" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "A_ushängen" #: ../src/settings.c:10498 msgid "Re_load" msgstr "Neu _laden" #: ../src/settings.c:10502 msgid "_Sync" msgstr "Ab_gleich" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "Ö_ffnen" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "Ein_hängen" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "Neu ein_hängen" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "_Root" #: ../src/settings.c:10551 msgid "_Label" msgstr "_Bezeichnung" #: ../src/settings.c:10601 msgid "_Check" msgstr "_Überprüfen" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "fstab b_earbeiten" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "u_devil.conf bearbeiten" #: ../src/settings.c:10613 msgid "_Format" msgstr "_Formatieren" #: ../src/settings.c:10673 msgid "_Backup" msgstr "_Sichern" #: ../src/settings.c:10695 msgid "_Restore" msgstr "_Wiederherstellen" #: ../src/settings.c:10700 msgid "_From File" msgstr "_Aus Datei" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "Date_iinfo" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "Einstellungen" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "_Anzeigen" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "_Interne Laufwerke" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "L_eere Laufwerke" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "_Partitionstabellen" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "Eingebundene _Netzwerke" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "_Datenträger …" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "Datenträger anzeigen/verbergen" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" "Um das Anzeigen oder Verbergen einzelner Partitionen bei anderslautenden " "Voreinstellungen zu erzwingen bitte Geräte, Partitonsbezeichnung oder Geräte-" "IDs in der untenstehenden Liste angeben (Trennzeichen in der Liste ist ein " "Leerzeichen).\n" "\n" "Beispiel: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "dadurch würde /dev/sdd1 und das OCZ Gerät angezeigt und die Partition mit " "der Bezeichnung \"Label With Space\" verborgen.\n" "\n" "Zwischen den Einträgen muss ein Leerzeichen und direkt vor jedem Eintrag ein " "Plus- oder Minuszeichen stehen. Die Liste beachtet Groß- und " "Kleinschreibung.\n" "\n" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "Anzeige_name" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "Format des Namens für die Anzeige festlegen" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "_Automatisch einhängen" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "Einbinden optisch" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "Einbinden entfernbar" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "Rei_ter öffnen" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "Beim Beenden a_ushängen" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "Automatisch sta_rten" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "Bei_m Einhängen" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "Automatisch starten beim Einhängen" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Eingabe eines Programms oder Befehlszeile, das automatisch nach dem " "automatischen Einbinden eines externen Laufwerks oder Datenträgers " "ausgeführt werden soll:\n" "\n" "Aufruf:\n" "\t%%v\tGerät (z.B. /dev/sda1)\n" "\t%%l\tGerät Bezeichnung\n" "\t%%m\tGerät Einhängepunkt(z.B. /media/disk)" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "Auf _Audio-CD" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "Automatisch ausführen auf Audio-CD" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Eingabe eines Programms oder Befehlszeile, das automatisch nach dem Einlegen " "einer Audio-CD in ein geeignetes Laufwerk ausgeführt werden soll:\n" "\n" "Aufruf:\n" "\t%%v\tGerät (z.B. /dev/sda1)\n" "\t%%l\tGerät Bezeichnung\n" "\t%%m\tGerät Einhängepunkt(z.B. /media/disk)" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "Auf _Video-DVD" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "Automatisch ausführen auf Video-DVD" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Eingabe eines Programms oder Befehlszeile, das automatisch nach dem " "automatischen Einhängen einer Video-DVD ausgeführt werden soll:\n" "\n" "Aufruf:\n" "\t%%v\tGerät (z.B. /dev/sda1)\n" "\t%%l\tGerät Bezeichnung\n" "\t%%m\tGerät Einhängepunkt(z.B. /media/disk)" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "Nach E_inlegen" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "Automatisch ausführen nach Einlegen" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Eingabe eines Programms oder Befehlszeile, das automatisch nach dem Einlegen " "eines beliebigen Datenträgers ausgeführt werden soll:\n" "\n" "Aufruf:\n" "\t%%v\tGerät (z.B. /dev/sda1)\n" "\t%%l\tGerät Bezeichnung\n" "\t%%m\tGerät Einhängepunkt(z.B. /media/disk)" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "Nach A_ushängen" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "Automatisch ausführen nach Aushängen" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Eingabe eines Programms oder Befehlszeile, das automatisch nach dem " "Aushängen eines Geräts ausgeführt werden soll:\n" "\n" "Aufruf:\n" "\t%%v\tGerät (z.B. /dev/sda1)\n" "\t%%l\tGerät Bezeichnung\n" "\t%%m\tGerät Einhängepunkt(z.B. /media/disk)" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "Nach Entfe_rnen" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "Automatisch ausführen nach Entfernen" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Eingabe eines Programms oder Befehlszeile, das automatisch nach dem " "Entfernen eines beliebigen Geräts ausgeführt werden soll (Auswerfen eines " "Datenträgers reicht NICHT aus):\n" "\n" "Aufruf:\n" "\t%%v\tGerät (z.B. /dev/sda1)\n" "\t%%l\tGerät Bezeichnung\n" "\t%%m\tGerät Einhängepunkt(z.B. /media/disk)" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "Datenträger _einhängen …" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "Automatisches Einbinden von Datenträgern" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" "Um das automatische Einhängen einiger Datenträger bei anderslautenden " "Voreinstellungen zu erzwingen oder zu verhindern bitte Geräte, " "Datenträgerbezeichnung oder Geräte-IDs in der untenstehenden Liste angeben " "(Trennzeichen in der Liste ist ein Leerzeichen).\n" "\n" "Beispiel: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "dadurch würde /dev/sdd1 und das OCZ Gerät automatisch eingebunden und die " "Partition mit der Bezeichnung \"Label With Space\" verborgen.\n" "\n" "Zwischen den Einträgen muß ein Leerzeichen und direkt vor jedem Eintrag ein " "Plus- oder Minuszeichen stehen. Die Liste beachtet Groß- und " "Kleinschreibung.\n" "\n" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "Ein_hängeoptionen" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" "Eingabe einer Liste (Trennzeichen Komma oder Leerzeichen) von " "voreingestellten Einhängeoptionen (wird dann bei allen Einhängevorgängen " "verwendet).\n" "\n" "Zusätzlich zu regulären Optionen können Optionen für spezifische " "Dateisystemtypen hinzugefügt oder entfernt werden durch Verwendung der " "Eingabeform OPTION+DATEISYSTEM oder OPTION+DATEISYSTEMTYP.\n" "\n" "Beispiele: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "Damit wird nosuid und noatime zu allen Dateisystemtypen hinzugefügt, sync " "nur zu vfat und ntfs hinzugefügt, und noatime für ext4 entfernt.\n" "\n" "Bemerkungen: einige Option wie etwa nosuid können durch den Einhängebefehl " "hinzugefügt werden auch ohne explizite Auflistung. Optionen in fstab haben " "Vorrang. pmount ignoriert die hier festgelegten Optionen." #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "Voreingestellte Einhängeoptionen" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "Einhängen mit Optionen wiederholen" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" "Gerät wird (nochmals) eingehängt unter Verwendung folgender Optionen.\n" "\n" "Zusätzlich zu regulären Optionen können Optionen für spezifische " "Dateisystemtypen hinzugefügt oder entfernt werden durch Verwendung der " "Eingabeform OPTION+DATEISYSTEM oder OPTION+DATEISYSTEMTYP.\n" "\n" "Beispiele: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "Damit wird nosuid und noatime zu allen Dateisystemtypen hinzugefügt, sync " "nur zu vfat und ntfs hinzugefügt, und noatime für ext4 entfernt.\n" "\n" "Bemerkungen: einige Option wie etwa nosuid können durch den Einhängebefehl " "hinzugefügt werden auch ohne explizite Auflistung. Optionen in fstab haben " "Vorrang. pmount ignoriert die hier festgelegten Optionen." #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "_Symbol" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "Audio-CD" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "CD/DVD-Laufwerk eingehängt" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "Datenträger im CD/DVD-Laufwerk vorhanden" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "Kein Datenträger im CD/DVD-Laufwerk vorhanden" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "Floppy eingehängt" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "Floppy ausgehängt" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "Externes Laufwerk eingehängt" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "Externes Laufwerk ausgehängt" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "Internes Laufwerk eingehängt" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "Internes Laufwerk ausgehängt" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "Netzwerklaufwerk eingehängt" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "Ein_stellungen" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "_Name" #: ../src/settings.c:11037 msgid "_Parent" msgstr "Abs_tammung" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "Pf_ad" #: ../src/settings.c:11056 msgid "_Option" msgstr "_Option" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Verknüpfung" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "Ziel _kopieren" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "Verknüpfungs_ziel" #: ../src/settings.c:11074 msgid "_As Root" msgstr "_Als Root" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "_Schrift" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "Schrift für Dialog verschieben" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "/home/user/Beispiele Dateiname.ext" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "Erzeugen _bestätigen" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "Leiste _hervorheben" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "Farbe der hervorgehobenen Statusleiste" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "_Text hervorheben" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "Farbe des hervorgehobenen Statusleistentexts" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "Klick mit der _mittleren Maustaste" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "_Name kopieren" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "_Pfad kopieren" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "Panel ver_bergen" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Neues _Fenster" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "R_oot-Fenster" #: ../src/settings.c:11141 msgid "_File Search" msgstr "Datei_suche" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "_Root-Terminal" #: ../src/settings.c:11154 msgid "Open URL" msgstr "URL öffnen" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "Reiter s_peichern" #: ../src/settings.c:11162 msgid "E_xit" msgstr "_Beenden" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "Panel _1" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "Panel _2" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "Panel _3" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "Panel _4" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "Pane_lleiste" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "_Vorheriges" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "_Nächstes" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "Ver_bergen" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "_Instanz" #: ../src/settings.c:11248 msgid "_Startup" msgstr "_Start" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "Instanzstartbefehl festlegen" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird " "beim Start einer SpaceFM-Instanz:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_start)\n" #: ../src/settings.c:11254 msgid "_Exit" msgstr "B_eenden" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "Befehl beim Beenden der Instanz festlegen" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird " "beim Beenden eine SpaceFM-Instanz:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_exit)\n" #: ../src/settings.c:11260 msgid "_Window" msgstr "Fe_nster" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Neu" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "Befehl bei neuem Fenster festlegen" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird, " "sobald ein SpaceFM-Fenster geöffnet wird:\n" "\n" "Aufruf:\n" "\t%%e\tEventtyp (evt_win_new)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden." #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "_Fokus" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "Befehl bei Fensterfokusierung festlegen" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird, " "sobald der Fokus auf ein SpaceFM-Fenster gesetzt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEventtyp (evt_win_new)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden." #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "_Verschieben/Größenänderung" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "Befehl bei Verschieben/Größenänderung eines Fensters festlegen" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird, " "sobald ein SpaceFM-Fenster verschoben oder in der Größe geändert wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_win_move)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden.\n" "\n" "Bemerkung: dieser Befehl kann bei Größenänderung mehrmals ausgeführt werden." #: ../src/settings.c:11283 msgid "_Click" msgstr "_Klick" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "Befehl bei Mausklick festlegen" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" "Eingabe eines Programms oder Bashbefehls, das bei einem Mausklick " "automatisch ausgeführt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_win_click)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\t%%b\tMaustaste (gedrückte Maustaste)\n" "\t%%m\tZusatztaste (Zusatztaste)\n" "\t%%f\tFokus (angeklicktes Elemet)\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden falls kein Asterisk vorangestellt ist.\n" "\n" "Voranstellen eines Asterisk (*) oder bedingte Rückgabe eines Exitstatus 0 " "verhindert die voreingestellte Handhabung. Besipiel:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMittlere " "Maustaste gedrückt in %%f\" --button ok &" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "_Tastendruck" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "Befehl bei Tastendruck festlegen" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" "Eingabe eines Programms oder Bashbefehls, das bei einem Mausklick " "automatisch ausgeführt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_win_key)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\t%%k\tTastenkürzel (gedrückte Taste)\n" "\t%%m\tZusatztaste (Zusatztaste)\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden falls kein Asterisk vorangestellt ist.\n" "\n" "Voranstellen eines Asterisk (*) oder bedingte Rückgabe eines Exitstatus 0 " "verhindert die voreingestellte Handhabung. Besipiel:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label " "\"\\nTaste F8 gedrückt.\" --button ok &" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "S_chließen" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "Befehl bei Fensterschließen festlegen" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird, " "sobald ein SpaceFM-Fenster geschlossen wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_win_close)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden." #: ../src/settings.c:11301 msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "Befehl bei Pameelfokusierung festlegen" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird, " "sobald der Fokus auf ein Panel gesetzt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_pnl_focus)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden." #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Anzeigen" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "Befehl bei Panelanzeige festlegen" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Eingabe eines Programms oder Bashbefehls, das automatisch ausgeführt wird, " "sobald ein Panel angezeigt oder verborgen wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_pnl_show)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\t%%f\tFokus (angezeigtes oder verstecktes Element)\n" "\t%%v\tsichtbar (1 oder 0)\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden." #: ../src/settings.c:11318 msgid "S_elect" msgstr "Ausw_ahl" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "Befehl bei Panelauswahl festlegen" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" "Eingabe eines Programms oder Bashbefehls, das bei Änderung der Panelauswahl " "automatisch ausgeführt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_pnl_sel)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariablen (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden.\n" "\n" "Voranstellen eines Asterisk (*) oder bedingte Rückgabe eines Exitstatus 0 " "verhindert die voreingestellte Handhabung." #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "Rei_ter" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "Befehl bei neuem Reiter festlegen" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Eingabe eines Programms oder Bashbefehls, das bei Öffnen eines neuen Reiters " "automatisch ausgeführt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_tab_new)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden." #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "Befehl bei Reiterfokusierung festlegen" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Eingabe eines Programms oder Bashbefehls, das bei Fokusierung auf einen " "Reiter automatisch ausgeführt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_tab_focus)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tReiter\n" "\n" "Exportierte Bashvariable (z.B. $fm_pwd, etc) können in diesem Befehl " "verwendet werden." #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "S_chließen" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "Befehl bei Reiterschließen festlegen" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" "Eingabe eines Programms oder Bashbefehls, das bei Schließen eines Reiters " "automatisch ausgeführt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_tab_close)\n" "\t%%w\tFenster id (siehe spacefm -s help)\n" "\t%%p\tPanel\n" "\t%%t\tgeschlossener Reiter" #: ../src/settings.c:11347 msgid "_Device" msgstr "Gerä_t" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "Gerätebefehl festlegen" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" "Eingabe eines Programms oder Bashbefehls, das bei Änderung eines " "Gerätestatus automatisch ausgeführt wird:\n" "\n" "Aufruf:\n" "\t%%e\tEreignistyp (evt_device)\n" "\t%%f\tGerät\n" "\t%%v\tÄnderung (hinzugefügt|entfernt|geändert)\n" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "Fe_nstertitel" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "Format des Fenstertitels festlegen" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" "Format des Fenstertitels festlegen:\\nAufruf:\\t%%n\taktueller Ordnername (z." "B. bin)\n" "\t%%d\taktueller Ordnerpfad (z.B. /usr/bin)\n" "\t%%p\taktuelle Panelnummer (1-4)\n" "\t%%t\taktuelle Reiternummer\n" "\t%%P\tGesamtzahl der sichtbaren Panels\n" "\t%%T\tGesamtzahl der Reiter im aktuellen Panel\n" "\t*\tAsterisk anzeigen falls im Fenster Aufgaben laufen" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "_Fenstersymbol" #: ../src/settings.c:11366 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" "Eingabe eines Symbolnamens, eines Pfads zu einer Symboldatei oder eines " "Inventarnamens:\n" "\n" "aus unterschiedlichen Gründen sind nicht alle Symbole verwendbar.\n" "\n" "in diesem Fall alternative SpaceFM-Symbole zur Verfügung stellen:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "Beispiel: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "_Vollbild" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "_Designmodus" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "_Einstellungen" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Werkzeug" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "_Installieren" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "_Ausführlich" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "_Enthalten" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "Ben_utzerhandbuch" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "_Internetseite" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "SpaceFM _Nachrichten" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "Plu_gins holen" #: ../src/settings.c:11452 msgid "_Options" msgstr "_Optionen" #: ../src/settings.c:11457 msgid "_Browser" msgstr "_Browser" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "HTML Browser auswählen" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" "Eingabe eines Browsers oder einer Bashbefehlszeile zur Anzeige von HTML-" "Dateien und URLs:\n" "\n" "Aufruf:\n" "\t%%u\turl\n" "\n" "(leer lassen für automatische Browsererkennung)" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "_Ort des Handbuchs" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "Ablageplatz des Handbuchs auswählen" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" "Eingabe des lokalen Dateipfads oder der entfernten URL für das SpaceFM " "Handbuch:\n" "\n" "(leer lassen für Verwendung der Voreinstllung)\n" #: ../src/settings.c:11469 msgid "_About" msgstr "_Info" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "_Status" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "_Zähler" #: ../src/settings.c:11519 msgid "_Item" msgstr "Ob_jekt" #: ../src/settings.c:11525 msgid "_To" msgstr "Na_ch" #: ../src/settings.c:11531 msgid "_Progress" msgstr "_Fortschritt" #: ../src/settings.c:11538 msgid "T_otal" msgstr "G_esamt" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "Gesta_rted" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "Abg_elaufen" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "Akt_uelle Geschwindigkeit" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "_Durchschnittliche Geschwindigkeit" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "Umor_dnen" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pa_use" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "_Warteschlange" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "Wiede_raufnehmen" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "A_usgabe anzeigen" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "_Alle Aufgaben" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "Schrift Aufgabenverwaltung" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "Datei wird kopiert 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11635 msgid "_Columns" msgstr "_Spalten" #: ../src/settings.c:11640 msgid "_Popups" msgstr "_Popups" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "_Alle Aufgaben aufploppen lassen" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "Auf oberster Ebene hal_ten" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "Ü_ber andere stellen" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "Alle A_rbeitsflächen" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "_Option überschreiben" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "_Fehler Option" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "Font Aufgaben-Popup (betrifft neue Aufgaben)" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "Beispiel Ausgabe 0123456789" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "Stopp falls Erster" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "Stopp bei allen" #: ../src/settings.c:11703 msgid "_Continue" msgstr "_Fortsetzen" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "Wart_eschlange" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "Neue Aufgaben in _Warteschlange aufnehmen" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "_Smart-Warteschlange" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "_Pause bei Fehler" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "Symbole _anordnen" #: ../src/settings.c:11738 msgid "By _Name" msgstr "Nach _Name" #: ../src/settings.c:11741 msgid "By _Type" msgstr "Nach _Typ" #: ../src/settings.c:11744 msgid "By _Date" msgstr "Nach _Datum" #: ../src/settings.c:11747 msgid "By _Size" msgstr "Nach _Größe" #: ../src/settings.c:11750 msgid "_Custom" msgstr "_Benutzerdefiniert" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "_Aufsteigend" #: ../src/settings.c:11756 msgid "D_escending" msgstr "Ab_steigend" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "Schreibtischein_stellungen" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "Ge_räte" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "Schreibtischor_dner" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "Editor-Schrift" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "Beispiel Eingabe 0123456789" #: ../src/settings.c:11810 msgid "Input Font" msgstr "Schrift für Eingaben" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "Ausführen" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "Bearbei_ten" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "Bearbeiten als _Root" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "Aus_wählen …" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Alle Dateien und Ordner" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "Im Rei_ter" #: ../src/settings.c:11839 msgid "N_ew" msgstr "N_eu" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "Reiter _1" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "Reiter _2" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "Reiter _3" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "Reiter _4" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "Reiter _5" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "Reiter _6" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "Reiter _7" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "Reiter _8" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "Reiter _9" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "Reiter 1_0" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "Im _Panel" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "_Entpacken" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Entpacken _nach" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "Inha_lt anzeigen" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "Öffnen mit Pr_ogramm" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "_Unterordner anlegen" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "Schreib_zugriff" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "Or_dner" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Lesezeichen" #: ../src/settings.c:11950 msgid "_Archive" msgstr "_Archiv" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "Rei_ter" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "_Hier Reiter" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "Schreibtischanwen_dung" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Gehe zu" #: ../src/settings.c:11973 msgid "_Back" msgstr "_Zurück" #: ../src/settings.c:11975 msgid "_Forward" msgstr "_Vorwärts" #: ../src/settings.c:11977 msgid "_Up" msgstr "Nach _oben" #: ../src/settings.c:11979 msgid "_Home" msgstr "_Startseite" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "Als _Voreinstellung festlegen" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "T_atsächlicher Pfad" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "Fo_kus" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "_Pfadleiste" #: ../src/settings.c:11995 msgid "_File List" msgstr "_Dateiliste" #: ../src/settings.c:11997 msgid "_Tree" msgstr "_Ordnerbaum" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "Rei_ter" #: ../src/settings.c:12010 msgid "_Close" msgstr "S_chließen" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "Sti_l" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "_Spalten" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "Umo_rdnen" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "_Rubberband Select" #: ../src/settings.c:12048 msgid "_Sort" msgstr "_Sortieren" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "_Größe" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "_Typ" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "_Zugriffsrechte" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "_Besitzer" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "_Geändert" #: ../src/settings.c:12066 msgid "_Descending" msgstr "Absteigen_d" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "_Natürlich" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "_Groß-/Kleinschreibung" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "Ordner zue_rst" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "Date_ien zuerst" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "Gemis_cht" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "Ver_borgene zuerst" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "Verborgene zu_letzt" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "Neu _laden" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "Automatisch _suchen" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "Pfadleiste _Hilfe" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Umbenennen" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Löschen" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "Abstammung kopie_ren" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "Ver_knüpfung einfügen" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "Ziel _einfügen" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "Einfügen _als" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "_Kopieren nach" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "_Ort" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "_Letzter Ort" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "Rei_ter" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12192 msgid "_Move To" msgstr "Verschieben _nach" #: ../src/settings.c:12196 msgid "_Location" msgstr "Platz im _Ordnerbaum" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "Rei_ter" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12229 msgid "_Select All" msgstr "_Alles auswählen" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "Alle ab_wählen" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "Auswahl _umkehren" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "Auswahl nach Must_er" #: ../src/settings.c:12238 msgid "R_oot" msgstr "R_oot" #: ../src/settings.c:12244 msgid "Move _To" msgstr "Verschieben _nach" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "E_igenschaften" #: ../src/settings.c:12260 msgid "_Quick" msgstr "_Schnell" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "_Rekursiv" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "Werkzeugleis_te" #: ../src/settings.c:12372 msgid "T_ree" msgstr "O_rdnerbaum" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "Werkzeugleiste _Seite" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "_Detailliert" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Symbole" #: ../src/settings.c:12401 msgid "_Compact" msgstr "_Kompakt" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "_Verborgene Dateien" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "Font Dateiliste (Paneel %d)" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Beispiel 1.1 M Datei -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "Font Geräte (Paneel %d)" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [no media] :BEISPIEL" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Font Lesezeichen (Paneel %d)" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "Beispiel für Lesezeichenname" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Font Pfadleiste (Paneel %d)" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/Beispiel" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "Font Reiter (Paneel %d)" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Font Statusleiste (Paneel %d)" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "12 G frei / 200 G 52 Elemente" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "_Neuer Reiter" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "Ein_zelklick" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" "Ordner existiert nicht\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" "Zugriff nicht möglich auf %s\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Auswahl nach Muster" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" "Mustereingabe zur Auswahl von Dateien und Ordner:\n" "\n" "Die Übereinstimmungen beachten Groß-/Kleinschreibung, falls im Muster " "Großbuchstaben vorkommen.\n" "\n" "Beispiel: *sp*e?m*\n" "\n" "TIP: alternativ kann auch ein '%% MUSTER' in der Pfadliste eingegeben werden." #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "Ort auswählen" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "Ungültige Zielortangabe" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "Zielort entspricht Quellort" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "Ungültige Zielortangabe" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "Datei verbergen" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" "Die Namen der ausgewählten Dateien werden zur '.hidden' Datei in diesem " "Ordner hinzugefügt, wodurch sie in SpaceFM nicht mehr angezeigt werden. " "Eventuell ist ein Neuladen der Ansicht oder ein Neustart von SpaceFM " "notwendig, damit die Dateien nicht mehr angezeigt werden.\n" "\n" "Um eine Datei wieder anzuzeigen, bitte .hidden Datei im Editor öffnen, " "Dateiname dort löschen und Ansicht neu laden." #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "Fehler beim Verbergen von Dateien" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "Keine Dateien ausgewählt" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Datenträger konnte nicht ins System eingebunden werden" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Datenträger konnte nicht ausgehängt werden" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Datenträger konnte nicht ausgeworfen werden" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "udev nicht konfiguriert" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" "Das Einhängen eines im Netzwerk freigegebenen Ordners erfordert eine " "Kompilierung von SpaceFM für udev (--disable-hal)." #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "Ungültige URL" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "Die eingegebene URL ist ungültig." #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "einhängen" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "aushängen" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "%s einhängen" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "%s ist derzeit eingehängt. Zum Überprüfen muß es ausgehängt sein." #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "Gerät ist eingehängt" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Eingabe eines Befehls zur Dateisystemprüfung\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\n" "MIT SORGFALT BEARBEITEN - dieser Befehl läuft mit Rootrechten" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "Überprüfung mit Rootrechten" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "Überprüfung mit Rootrechten" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "Überprüfung von %s mit Rootrechten" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Eingabe Einhängebefehl:\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\t%%%%o\tpartitionsspezifische Einhängeoption\n" "\t\t( %s )\n" "\n" "Bemerkung: fstab überschreibt manche Optionen\n" "\n" "MIT SORGFALT EDITIEREN -- dieser Befehl läuft mit Rootrechten" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "Einhängen als Root" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "Einhängen als Root" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "Einhängen von %s als Root" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Eingabe Aushängebefehl:\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\n" "MIT SORGFALT BEARBEITEN -- dieser Befehl läuft mit Rootrechten" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "Aushängen als Root" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "Aushängen als Root" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "Aushängen von %s als Root" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" "\n" "\n" "WARNUNG: %s ist eingehängt. Es wird vor Änderung der Bezeichnung besser " "ausgehängt." #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "Eingabe Bezeichnung für %s:%s" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "Bezeichnung ändern" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" "Eingabe eines Befehls zum Entfernen der Bezeichnung bei Dateisystemtyp " "'%s':\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\t%%%%l\tneue Bezeichnung ( \"%s\" )\n" "\n" "MIT SORGFALT BEARBEITEN -- dieser Befehl läuft mit Rootrechten als %s" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" "Eingabe eines Befehls zum Ändern der Bezeichnung bei Dateisystemtyp '%s':\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\t%%%%l\tneue Bezeichnung ( \"%s\" )\n" "\n" "MIT SORGFALT BEARBEITEN -- dieser Befehl läuft mit Rootrechten als %s" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "Bezeichnung ändern als Root" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "Bezeichnen als Root" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "Bezeichnen als Root %s " #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "Aushängen %s" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "Entfernen %s" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "Wiedereinhängen %s" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "Neu laden %s" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "Sync" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "%s ist derzeit eingehängt. Zum Formatieren muß es ausgehängt sein." #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "(EIN KOMPLETTER DATENTRÄGER)" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Sie sind im Begriff, %s %s zu löschen - ALLE DATEN WERDEN VORLOREN SEIN. " "Bitte etwas Geduld - das kann etwas dauern und dd gibt keinerlei " "Rückmeldung.\n" "\n" "Eingabe eines Befehls zum Überschreiben der Partition mit /dev/%s:\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\n" "SORGFALT BEIM BEARBEITEN - dieser Befehl läuft mit Rootrechten" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Sie sind im Begriff, %s %s zu formatieren - ALLE DATEN WERDEN VORLOREN " "SEIN.\n" "\n" "Eingabe eines Befehls zum Formatieren von %s\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\n" "SORGFALT BEIM BEARBEITEN - dieser Befehl läuft mit Rootrechten" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "Formatieren" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "WARNUNG VOR DATENVERLUST" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "%s formatieren" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" "%s ist derzeit eingehängt. Zum Wiederherstellen muß es ausgehängt sein." #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "Auswahl der Sicherung für die Wiederherstellung" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" "Sie sind im Begriff, den Bootcode von %s im MBR mit %s zu überschreiben.\n" "\n" "Diese Änderung verhindert möglicherweise das odnungsgemäße Booten des " "Rechners. Alle wichtigen Daten auf dem kompletten Datenträger sollten zuerst " "gesichert werden.\n" "\n" "Weitermachen ? (Bei Auswahl von JA bleibt noch eine Gelegenheit zum Abbruch " "bevor der Datenträger geändert wird.)" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "MBR wiederherstellen" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "unbekannter Typ" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" "Die ausgewählte Datei wird nicht als Sicherungsdatei erkannt.\n" "\n" "FSArchiver Dateinamen enthalten 'fsarchiver' oder enden mit '.fsa'. " "Partimage Dateinamen enthalten 'partimage' oder enden mit '.000'. MBR " "Dateinamen enden mit '.mbr', '.mbr.bin', oder '-MBR-back' und sind 512 Bytes " "groß. Falls Sie (wirklich!)sicher sind, daß diese Datei eine gültige " "Sicherung ist, kann sie umbenannt werden um diese Fehlermeldung zu vermeiden" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Sie sind im Begriff %s %s mithilfe von %s wiederherzustellen - ALLE DATEN " "WERDEN DABEI VERLORENGEHEN.\n" "\n" "Eingabe des Befehls zum wiederherstellen von %s:\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\t%%%%s\tSicherungsdatei ( %s )\n" "\n" "SORGFALT BEIM BEARBEITEN - dieser Befehl läuft mit Rootrechten" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "Wiederherstellen" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "%s wiederherstellen %s" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "Ordner fehlt" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "Der Ordner /etc/udevil wurde nicht gefunden. Ist udevil installiert ?" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "Zur Information Sicherung auswählen" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "MBR Datei" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" "Die ausgewählte Datei scheint anhand des Namens eine MBR-Sicherungsdatei zu " "sein. Bei diesem Typ von Sicherungen sind keine weiteren Informationen " "verfügbar." #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "Wiederherstellung Information" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" "\n" "\n" "WARNUNG: %s ist eingehängt. FSArchiver wird nach Voreinstellung " "Sicherungsdatenträger nur lesbar einhängen. Hinzufügen von --allow-rw-" "mounted zum Befehl ermöglicht die Sicherung eines rw Datenträgers. Siehe " "'man fsarchiver' für Details." #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" "%s ist derzeit eingehängt. Zum Erzeugen einer Sicherung mit Partimage muss " "es ausgehängt werden." #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "Sichern als %s Sicherung" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "Überschreiben ?" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "Die ausgewählte Sicherung existiert bereits. Überschreiben?" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Eingabe %s Sicherungsbefehl:\n" "\n" "Aufruf:\n" "\t%%%%v\tGerät ( %s )\n" "\t%%%%s\tSicherungsdatei ( %s )%s\n" "\n" "MIT SORGFALT BEARBEITEN - dieser Befehl läuft mit Rootrechten" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "Datensicherung" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "%s Datensicherung %s" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "Eigenschaften %s" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" "%sDerzeit ausgewähltes Gerät: %s\n" "Bezeichnung: %s\n" "Geräte-ID: %s" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "Ausw_erfen" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Abbrechen als anderer" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "_Warteschlange" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Wie_deraufnehmen" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Stoppen als anderer" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Zählen als anderer" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Verschieben:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopieren:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Papierkorb:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Löschen:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Verknüpfen:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Änderung:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Ausführen:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Wird verschoben …" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Wird kopiert …" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Wird in Papierkorb verschoben …" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Wird gelöscht …" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Wird verknüpft …" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Wird geändert …" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Wird ausgeführt …" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Von:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Nach:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Fortschritt:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Status: " #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pausiert" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "Zur Warteschlange hinzugefügt" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Nachfragen" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Alles überschreiben" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Alles überspringen" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Automatisches Umbenennen" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Stop falls Fehler zuerst" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Stop bei beliebigem Fehler" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Fortsetzen" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Gestoppt" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Fehler" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Fertig" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s verbleibend" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Fehler (Stop falls zuerst)" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Fehler (Stop bei beliebigem)" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "gestoppt mit Fehler %d" msgstr[1] "gestoppt mit Fehler %d" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "beendet mit Fehler %d" msgstr[1] "beendet mit Fehler %d" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "beendet mit Fehler ( Exitstatus %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "beendet mit Fehler" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Pausiert ( pid %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Pausiert ( Exitstatus %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "In Warteschlange ( pid %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "In Warteschlange ( Exitstatus %d )" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Wird ausgeführt - mit %d Fehler" msgstr[1] "Wird ausgeführt - mit %d Fehlern" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Wird ausgeführt … ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Wird ausgeführt … ( Exitstatus %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "unterbrochen" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" "[ SNIP - zusätzliche Fehler oben wurden für dieses Log passend gemacht]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Verschieben aus Ordner:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Verknüpfen aus Ordner:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Kopieren aus Ordner:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Ordner existiert" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" "Der Ordner existiert bereits. Bitte umbenennen oder Aktion auswählen." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( link )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! Datei wird mit Verknüpfung überschrieben !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( selbe Größe )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu Bytes )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "größer" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "kleiner" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( selbe Zeit )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "neuer" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "älter" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Dateiname existiert" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" "Dateiname existiert bereits. Bitte umbenennen oder Aktion auswählen." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Umbenennung erforderlich" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "In Ordner:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "_Überschreiben" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "_Alle überschreiben" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pause" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "Über_springen" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "Alles ü_berspringen" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Nach Ordner:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Ordnername:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Umbenennen" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "A_utomatisch umbenennen" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Alle automatisch umbe_nennen" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "Archiv erzeugen" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "Konf_igurieren" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "Ko_mpressionsbefehl:" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "Archiv" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "Entpacken nach" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "Unterordner _anlegen" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "Inhalt für Benutzer _beschreibbar machen" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "kopieren" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "%s entpacken" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Fertig!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Befehl:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Dateisystem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "(kein Unterordner)" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "Texttypassoziierung entfernen" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" "Bemerkung: Beim Kompilieren der Anwendungsliste, die bei einer Textdatei im " "Untermenü »Öffnen« erscheinen soll, schließt SpaceFM sowohl Anwendungen, die " "dem MIME-Typ (z.B. text/html) entsprechen, als auch auch solche mit text/" "plain ein. Im Fall der Wahl von Entfernen für eine Anwendung wird sie als " "zugewiesene Anwendung für den MIME-Typ (z.B. text/html) entfernt, aber NICHT " "als zugewiesene Anwendung für text/plain (es sei denn, der MIME-Typ ist text/" "plain). Deshalb entfernt der Befehl »Entfernen« die Anwendung eventuell " "nicht aus dem Untermenü »Öffnen«, solange sie nicht aus text/plain entfernt " "wird. " #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "Al_s Vorgabe verwenden" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "_Hinzufügen …" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "neu" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "%d ausgewähltes Objekt löschen?" msgstr[1] "%d ausgewählte Objekte löschen?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Löschen bestätigen" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "Pfad: original" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Name: original" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "_Dateiname: original" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "Ab_stammung: original" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "Pf_ad: existiert als Ordner" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Name: existiert als Ordner" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "_Dateiname: existiert als Ordner" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "Ab_stammung:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "Pf_ad: existiert als Datei" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Name: existiert als Datei" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "_Dateiname: existiert als Datei" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "Pf_ad: * existierende Datei überschreiben" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Name: * existierende Datei überschreiben" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "_Dateiname: * existierende Datei überschreiben" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "Pf_ad: Abstammung existiert als Datei" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "_Name:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "_Dateiname:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "Ab_stammung: Abstammung existiert als Datei" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "Pf_ad: * Abstammung erzeugen" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "Ab_stammung: * Abstammung erzeugen" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "Pf_ad:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Verschieben" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Vernüpfungsziel auswählen" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Vorlagendatei auswählen" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Vorlagenordner auswählen" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Durchsuchen" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Dat_einame" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "Ab_stammung" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Einfügen als" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "E_rzeugen" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Neu erzeugen" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Datei" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Ordner" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Verknüpfung" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Verschieben" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "K_opieren" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Kopieren" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Verknüpfung erzeugen mit" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Ziel verknüpfen" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Ziel" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "Als Root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Link" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "Datei" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "Opt_ionen" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Zu_rücksetzen" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& _Öffnen" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Link-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Link-> %s (fehlt)" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "_Ziel:" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "_Vorlage:" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Leere Datei" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Leerer Ordner" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "Er_weiterung:" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "Verschi_eben" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "Kop_ieren" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "Ver_knüpfen" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "Verknüpfungs_ziel" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "Al_s Root" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "Dat_ei" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "Or_dner" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "_Verknüpfung" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "Neu" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "Pfad enthält Zeilenvorschübe" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "Übergeordneten Ordner anlegen" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "Der übergeordnete Ordner existiert nicht. Soll er angelegt werden?" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" "Fehler beim Anlegen eines übergeordneten Ordners\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "Mkdir-Fehler" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "Existierende Datei überschreiben" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "WARNUNG BEI ÜBERSCHREIBEN" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "Der Dateipfad existiert. Existierende Datei überschreiben ?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "Verknüpfung %s erzeugen" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "Vorlage fehlt" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "Die angegebene Vorlage existiert nicht" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "Neue Datei %s erzeugen" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "Neuen Ordner %s erzeugen" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "%s kopieren" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "Zielfehler beim Kopieren" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "Fehler beim Bestimmen des Verknüpfungsziels" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "Fehler beim Verknüpfungsziel" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "%s verschieben" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" "Fehler beim Dateiumbenennen\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Fehler beim Umbenennen" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Neuer Ordner" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "Name des neuen Ordners:" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Neue Datei" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "Neuer Dateiname:" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" "Name existiert bereits.\n" "\n" "Bitte einen neuen eingeben:" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "Neue Datei kann nicht erzeugt werden" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" "Das Ziel dieser Verknüpfung fehlt oder Sie haben nicht die Rechte zum " "Zugriff:\n" "%s\n" "\n" "Ziel: %s" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "Verknüpfung unterbrochen" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "%d ausgewähltes Objekt als Root löschen? " msgstr[1] "%d ausgewählte Objekte als Root löschen? " #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "Löschen als Root bestätigen" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "LÖSCHEN ALS ROOT" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "Löschen als Root" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "Verschieben als Root" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "Kopieren als Root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu Bytes )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d Ordner" msgstr[1] "%d Ordner" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d Datei, %s" msgstr[1] "%d Dateien, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d Datei" msgstr[1] "%d Dateien" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( mehrere Dateien )" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "( mehrere Typen )" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "Auswählen …" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "Ordner_name:" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu Bytes )" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 Datei" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "Verknüpfungs_name:" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "( fehlerhafte Verknüpfung )" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "( Fehler beim Lesen der Verknüpfung )" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Berechnung läuft …" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "Dateidatum ändern" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Ungültiger Benutzername" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Ungültige Gruppe" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" "Zusätzlich zu Ordner- oder Dateipfaden können in der Pfadleiste auch Befehle " "eingegeben werden. Präfixe:\n" "\t$\tals Aufgabe ausführen\n" "\t&\tausführen und vergessen\n" "\t+\tin Terminal ausführen\n" "\t!\tals Root ausführen\n" "Aufruf:\n" "\t%%F\tausgewählte Dateien oder %%f zuerst ausgewählte Datei\n" "\t%%N\tausgewählte Dateinamen oder %%n zuerst ausgewählter Dateiname\n" "\t%%d\taktueller Ordner\n" "\t%%v\tausgewähltes Gerät (z.B. /dev/sda1)\n" "\t%%m\tGeräteinhängepunkt (z.B. /media/dvd); %%l Gerätebezeichnung\n" "\t%%b\tausgewähltes Lesezeichen\n" "\t%%t\tausgewählter Aufgabenordner; %%p Aufgaben pid\n" "\t%%a\tWert im Menüpunkt\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Beispiel: $ echo \"aktueller Ordner: %%d\"\n" "Beispiel: +! umount %%v" #: ../src/ptk/ptk-handler.c:64 #, fuzzy msgid "Archive Handlers" msgstr "Archiv" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "Gerätebezeichnung" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Dateiverwaltung" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "In Terminal ausführen" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "Als Aufgabe ausführen" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Bitte Anwendung auswählen:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Befehl nicht gefunden" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Der Zielordner »%1$s« befindet sich im Quellordner »%2$s«" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "Zugriff" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Wird entfernt" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Ordner wird angelegt" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Verknüpfung wird erzeugt" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Schreibvorgang" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Wird erzeugt" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Wird umbenannt" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" "Bitte /usr/bin/sha256sum installieren, damit die Systemsicherheit beim " "Ausführen von Root-Befehlen verbessert wird\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" "Bitte gültigen Befehl für SU im Terminal in Ansicht|Einstellungne|Erweitert " "konfigurieren" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "SU im Terminal nicht verfügbar" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" "Bitte gültigen Befehl für grafisches SU in Ansicht|Einstellungne|Erweitert " "konfigurieren" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Grafisches SU nicht verfügbar" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Temporärer Ordner kann nicht angelegt werden" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" "Bitte gültiges Terminalprogramm in Ansicht|Einstellungen|Erweitert festlegen" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" "spacefm-auth im Pfad nicht gefunden - das reduziert die Systemsicherheit" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" "Fehler beim Ausführen von »%s«\n" "Siehe stdout (spacefm in einem Terminal ausführen) für Infos zur " "Fehlerbehebung" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "Fehler beim Schreiben der temporären Datei" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "Zeitüberschreitung beim Berechnen der Gesamtgröße\n" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" "\n" "%s %s\n" "Fehler: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Datenträger %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Laufwerk %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Laufwerk %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Diskettenlaufwerk" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "CompactFlash-Laufwerk" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memory-Stick-Laufwerk" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "SmartMedia-Laufwerk" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD-/MMC-Laufwerk" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip-Laufwerk" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz-Laufwerk" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "USB-Stick" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Musik-Player %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Digitalkamera %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Laufwerk" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Externes %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM-Medium" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Leeres CD-R-Medium" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R-Medium" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Leeres CD-RW-Medium" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW-Medium" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM-Medium" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Leeres DVD-RAM-Medium" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM-Medium" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Leeres DVD-R-Medium" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R-Medium" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Leeres DVD-RW-Medium" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW-Medium" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Leeres DVD+R-Medium" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R-Medium" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Leeres DVD+RW-Medium" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW-Medium" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio-CD" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Wechselmedium %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Datenträger" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Fehler bei Verbindung zum HAL-Daemon: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Das angegebene Gerät »%s« ist kein Datenträger oder Laufwerk" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" "Das Gerät »%s« wurde nicht in der Gerätetabelle des Dateisystems gefunden" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Sie haben keine Rechte zum Einhängen des Datenträgers »%s«" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Sie haben keine Rechte zum Aushängen des Datenträgers »%s«" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Sie haben keine Rechte zum Auswerfen des Datenträgers »%s«" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Ungültige Mount-Option beim Einbinden des Datenträgers »%s«" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Auf dem Datenträger »%s« wird das Dateisystem %s verwendet, das nicht " "vom System unterstützt wird" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" "Das Aushängen des Datenträgers »%s« wird durch eine Anwendung verhindert" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Der Datenträger »%s« ist nicht eingehängt" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Fehler %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" "Der Datenträger »%s« wurde möglicherweise manuell über eine Befehlszeile " "eingebunden" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Leere Medien können nicht ins System eingebunden werden. Verwenden Sie ein " "Brennprogramm, um Audio- oder Datendateien auf den Datenträger zu kopieren" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Audio-CDs können nicht eingebunden werden. Verwenden Sie Ihr " "Musikwiedergabeprogramm, um Musik abzuspielen." #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr ":Floppy" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr ":optisches Medium" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "[leer]" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "[Audio]" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "[kein Medium]" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "( kein udev-Gerät )" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" "\n" "Automatisch ausführen: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" "\n" "Reiter automatisch öffnen für %s in %s\n" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" "\n" "Automatisch aushängen: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" "\n" "Automatisch einhängen: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Aushängen falls eingehängt: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" "Ist das Schreibrecht für die Datei %s vorhanden ?\n" "\n" "Eine Lösungsmöglichkeit ist das Kopieren der Datei auf den Schreibtisch oder " "die Verknüpfung mit einer in ~/.local/share/applications/ erzeugten Kopie" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Umbenennen nicht möglich" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" "Eingabe des neuen Namens für ein Schreibtischobjekt:\n" "\n" "eine Namensänderung dieses Schreibtischobjekts erfordert eine Modifizierung " "des Inhalts der Schreibtischdatei %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Name des Schreibtischobjekts ändern" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Beim Umbenennen dieses Schreibtischobjekts ist ein Fehler aufgetreten." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Beinhaltenden Ordner ö_ffnen" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Ordner wählen" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Durchsuchen …" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Lokale Datenträger" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Änderungsdatum" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" "Digite o programa ou linha(s) de comando bash.\n" "\n" "Uso:\n" "\t%F\tarquivos selecionados ou %f primeiro arquivo selecionado\n" "\t%N\tnome de arquivos ou selecionados %n primeiro nome do arquivo " "selecionado\n" "\t%d\tdiretório atual\n" "\t%v\tdispositivo selecionado (ex: /dev/sda1)\n" "\t%m\tponto de montagem do dispositivo (ex: /media/dvd); %l rótulo do " "dispositivo\n" "\t%b\tmarcador selecionado\n" "\t%t\tdiretório da tarefa selecionada; %p pid da tarefa\n" "\t%a\tvalor do item de menu\n" "\t$fm_panel, $fm_tab, $fm_command, etc" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME-Typ" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Dateiname" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Ordner" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Schreibrecht im Ordner" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Datei ist Text" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Datei ist Ordner" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Datei ist Verknüpfung" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Benutzer ist Root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Mehrfachauswahl" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Im Zwischenspeicher sind Dateien" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Im Zwischenspeicher ist Text" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Aktuelles Panel" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Panelzähler" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Aktueller Reiter" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Reiterzähler" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Lesezeichen" #: ../src/item-prop.c:122 msgid "Device" msgstr "Gerät" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Einhängepunkt des Geräts" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Gerätebezeichnung" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Dateisystemtyp des Geräts" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI des Geräts" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Eigenschaften des Geräts" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Aufgabenzähler" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Aufgabenordner" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Aufgabentyp" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Aufgabenname" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Panel 1 Ordner" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Panel 2 Ordner" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Panel 3 Ordner" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Panel 4 Ordner" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Markierung im Panel 1" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Markierung im Panel 2" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Markierung im Panel 3" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Markierung im Panel 4" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Panel 1 Gerät" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Panel 2 Gerät" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Panel 3 Gerät" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Panel 4 Gerät" #: ../src/item-prop.c:205 msgid "equals" msgstr "entspricht" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "entspricht nicht" #: ../src/item-prop.c:207 msgid "contains" msgstr "enthält" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "enthält nicht" #: ../src/item-prop.c:209 msgid "begins with" msgstr "beginnt mit" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "beginnt nicht mit" #: ../src/item-prop.c:211 msgid "ends with" msgstr "endet mit" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "endet nicht mit" #: ../src/item-prop.c:213 msgid "is less than" msgstr "ist kleiner als" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "ist größer als" #: ../src/item-prop.c:215 msgid "matches" msgstr "stimmt überein" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "stimmt nicht überein" #: ../src/item-prop.c:222 msgid "Application" msgstr "Anwendung" #: ../src/item-prop.c:223 msgid "Command" msgstr "Befehl" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Aktuell: anzeigen" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Aktuell: verbergen" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "aktuell: abschalten" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "aktuell: abschalten" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Das geänderte Skript speichern?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Änderungen am Befehlsskript speichern?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Skript überschreiben?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" "Das Befehlsskript wurde auf dem Datenträger geändert.\n" "\n" "Wollen Sie es überschreiben?" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "Befehlsordner" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "(keine Dateien)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" "Die Befehlszeile beginnt nicht mit einer zu öffnenden Textdatei (einem " "Skript) oder das Skript wurde in $PATH nicht gefunden." #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Ziele: (eine durch Semikola getrennte Liste von Pfaden oder URLs)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Ziel: (eine .desktop- oder ausführbare Datei)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Ausführbare Datei auswählen" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Befehlszei_le" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Eigenschaften des Werkzeugleistenobjekts" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Eigenschaften des Menüeintrags" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Werkzeugleis_tenobjekt" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "_Menüeintrag" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Typ:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Name:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Taste:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Symbol:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Kon_text" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "An_wenden" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "Übereinstimmung mit beliebiger Regel: " #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "Übereinstimmung mit allen Regeln:" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "Keine Übereinstimmung mit irgendeiner Regel:" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "Keine Übereinstimmung mit allen Regeln:" #: ../src/item-prop.c:1861 msgid "Show" msgstr "Anzeigen" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "Aktivieren" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "Verbergen" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "Abschalten" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "Objekt im Kontext" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "Regel bearbeiten" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "Wert:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "keine" #: ../src/item-prop.c:1962 msgid "files" msgstr "Dateien" #: ../src/item-prop.c:1964 msgid "devices" msgstr "Geräte" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "Kontext ign_orieren / alle anzeigen (globale Einstellung)" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "_Befehl" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "Befehlszei_le" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "_Skript" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "Im _Editor öffnen" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "Edito_r für Administrator" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "Optio_nen" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "Ausführungsoptionen" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "Tarefa pou-up" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "popup erro" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "Saída popup" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "Saída de rolagem" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "Terminal geöffnet lassen" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "Als Benutzer ausführen:" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "(leere Eingabe für den aktuellen Benutzer)" #: ../src/item-prop.c:2179 msgid "Style" msgstr "Stil" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "Normal" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "Ankreuzfeld" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "Bestätigung" #: ../src/item-prop.c:2199 msgid "Input" msgstr "Eingabe" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "Entrada/Confirmação mensagem:" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "Im Browser öffnen:" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "Datenordner" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "Verzeichnis für Erweiterungen" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "Untermenü" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "Trenner" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "Eingebauter Befehl" #~ msgid "Change Icon" #~ msgstr "Symbol ändern" spacefm-1.0.5/po/el.po000066400000000000000000006741501264770501700145370ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # George Vasilakos , 2009 # Spiros Georgaras , 2014 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Greek (http://www.transifex.com/projects/p/spacefm/language/" "el/)\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Άνοιγμα φακέλου του SpaceFM" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Άνοιγμα φακέλου" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Αναζήτηση αρχείων του " #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Αναζήτηση για αρχεία και φακέλους" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Διαχειριστής αρχείων" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Περιήγηση του συστήματος αρχείων" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "από τον IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "Ριζόπουλος Γιώργος \n" "Βασιλάκος Γιώργος \n" "Γεωργαράς Σπύρος " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Επιλογή εφαρμογής" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Παρακαλώ επιλέξτε μια εφαρμογή ή εισάγετε μία εντολή:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Τύπος αρχείου:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Συσχετισμένες εφαρμογές" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "Ό_λες οι εφαρμογές" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Εντολή:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Περιήγηση" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Άνοιγμα στο τερματικό" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "_Ορισμός ως προκαθορισμένη εφαρμογή για αυτόν τον τύπο αρχείου" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Ιδιότητες αρχείου" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Ό_νομα αρχείου:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Τοποθεσία:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Προορισμός _συνδέσμου:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Τύπος:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Ανοί_γει με:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Συνολικό μέγεθος:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Μέγεθος στον δίσκο:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Μετρητής:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "Τ_ροποποιήθηκε:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "_Προσπελάστηκε:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "_Πληροφορίες" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Ιδιοκτήτης:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Ομάδα:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Ιδιοκτήτης:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Ομάδα:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Άλλοι:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Ανάγνωση" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Εγγραφή" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Εκτέλεση" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Ορισμός UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Ορισμός GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Επισήμανση" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Αναδρομικά (εφαρμογή αλλαγών στους φακέλους και τα περιεχόμενά τους)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Δικαιώματα" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Οποτεδήποτε" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Την τελευταία μέρα" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Την τελευταία εβδομάδα" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Τον τελευταίο μήνα" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Το τελευταίο έτος" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Σε επιλεγμένες ημερομηνίες" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Αναζήτηση αρχείων" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Όνομα αρχείου:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Ευαισθησία ανάμεσα σε κεφαλαία και μικρά γράμματα" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Αρχεία video (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Μουσικά αρχεία (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Αρχεία εικόνων (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Αρχεία απλού κειμένου" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Όλα τα αρχεία και οι φάκελοι" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Τύποι αρχείων προς αναζήτηση" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Αναζήτηση σε υποφακέλους" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Αναζήτηση κρυφών αρχείων" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Τοποθεσίες προς αναζήτηση" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Γενικά" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Το αρχείο περιέχει:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Χρήση Κανονικής Έκφρασης" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Περιεχόμενο αρχείου" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Περιεχόμενο" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Μεγαλύτερο από:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Μικρότερο από:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Μέγεθος αρχείου" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Τελευταία τροποποίηση" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Μέγεθος & ημερομηνία" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Αποτέλεσμα Αναζήτησης:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Αναζήτηση ξανά" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Μετάβαση στο φάκελο" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Άνοιγμα στην τρέχουσα καρτέλα" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Άνοιγμα σε νέα καρτέλα" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Τέντωμα" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Ταίριασμα" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Κεντράρισμα" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Παράθεση" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Μεγέθυνση" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Αυτόματα" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Αντιγραφή (Ctrl+Drag)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Μετακίνηση (Shift+Drag)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Σύνδεση (Ctrl+Shift+Drag)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Ρυθμίσεις" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Μικρά εικονίδια:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Μεγάλα εικονίδια:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Εικονίδια μπάρας:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Μονό κλικ για άνοιγμα αρχείων" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Σελιδοδείκτες:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Εμφάνιση μικρογραφιών" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Μέγιστο μέγεθος μικρογραφιών:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Γενικά" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Εμφάνιση πάντα της μπάρας καρτελών" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Απόκρυψη των κουμπιών 'Κλείσιμο καρτέλας'" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Επιβεβαίωση διαγραφής/μετονομασίας" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Το κλικ εκτελεί τα εκτελέσιμα" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Μέγεθος αρχείων SI (1K = 1000) (απαιτείται επανεκκίνηση)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Εμφάνιση χρωματικής ένδειξης για χρήστη Root" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Προκαθορισμένη ενέργεια συρσίματος:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Δ_ιεπαφή" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Εικόνα:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Παρακαλώ επιλέξτε ένα αρχείο εικόνας" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Τρόπος:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Φόντο:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Κείμενο:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Σκίαση:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Γραμματοσειρά:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Πάνω:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Αριστερά:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Δεξιά:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Κάτω:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Γέμισμα:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Περιθόρια" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Το δεξί κλικ εμφανίζει το μενού του Διαχειριστή Παραθύρων" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Άνοιγμα φακέλων με την συσχετισμένη εφαρμογή MIME" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Επιφάνεια εργασίας" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Διαχείριση τόμων" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Τερματικό:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "SU σε τερματικό:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Γραφικό SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Κωδικοποίηση χαρακτήρων αρχείων:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Επεξεργαστής κειμένου:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Εκτέλεση του επεξεργαστή κειμένου σε τερματικό" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Επεξεργαστής κειμένου του Root:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Εκτέλεση του επεξεργαστή κειμένου του Root σε τερματικό" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Μορφή ημερομηνίας:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(απαιτείται επανεκκίνηση)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Εμφάνιση ημερομηνίας" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Για προχωρημένους" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Πάρα πολλές στήλες (>%d) στο %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "σφάλμα ανάγνωσης αρχείου %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "τα περιεχόμενα του αρχείου '%s' δεν είναι έγκυρο UTF-8" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Το στοιχείο '%s' δεν υπάρχει" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "το αρχείο '%s' δεν είναι απλό αρχείο" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "Η δυναμική αλλαγή μεγέθους απαιτεί να είναι πλάτος και ύψος > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "η εσωτερική εντολή %s απαιτεί μία παράμετρο" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "το στοιχείο '%s' δεν υπάρχει" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "η εσωτερική εντολή press δεν είναι έγκυρη για το %s (δεν είναι κουμπί)" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "η εσωτερική εντολή un/select δεν είναι έγκυρη για το %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "Σφάλμα εγγραφής αρχείου %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "Η '%s' δεν είναι εσωτερική εντολή" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "Σφάλμα δημιουργίας αρχείου %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "τα δεδομένα του pipe '%s' δεν είναι έγκυρο UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( τα περιεχόμενα του αρχείου δεν είναι έγκυρο UTF-8 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "το prefix '%s' δεν είναι έγκυρο όνομα μεταβλητής" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Παύση" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" "Το SpaceFM Dialog δημιουργεί διαλόγους GTK βάσει γραφικών (GUI) στοιχείων " "που\n" "καθορίζονται στην γραμμή εντολών, υποστηρίζει εσωτερικές και εξωτερικές " "εντολές\n" "οι οποίες έχουν την δυνατότητα να τροποποιούν τα καθορισμένα στοιχεία, και " "εξά-\n" "γει αποτελέσματα σε μορφή που μπορούν να χρησιμοποιηθούν από άλλα " "προγράμματα.\n" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Χρήση:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ΣΤΟΙΧΕΙΟ [ΕΠΙΛΟΓΕΣ] [ΠΑΡΑΜΕΤΡΟΙ...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Παράδειγμα:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"A message\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "ΣΤΟΙΧΕΙΟ: ΕΠΙΛΟΓΕΣ & ΠΑΡΑΜΕΤΡΟΙ:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "--------- ----------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "Παραπάνω μπορούν να χρησιμοποιηθούν οι ακόλουθες παράμετροι:\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr " STOCK %s\n" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ICON Το όνομα ενός εικονιδίου, π.χ. gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" " @FILE Αρχείο κειμένου από το οποίο θα διαβαστεί μια τιμή. Σε " "ορισμένες\n" " περιπτώσεις τα περιεχόμενα του αρχείου παρακολουθούνται, έτσι\n" " ώστε αν γραφτεί μια νέα τιμή στο αρχείο, το στοιχείο θα " "ενημερωθεί\n" " Σε άλλες περιπτώσεις, το αρχείο καθορίζει μια αρχική τιμή.\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" " SAVEFILE Τα περιεχόμενα μιας εφαρμογής προβολής ή επεξεργασίας " "δεδομένων\n" " (π.χ. επεξεργαστής κειμένου), θα αποθηκευτούν σε αυτό το " "αρχείο.\n" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" " COMMAND Μία εσωτερική εντολή με τις κατάλληλες παραμέτρους. Διαδοχικές\n" " εντολές χωρίζονται με διπλή παύλα (--).\n" " Στο COMMAND μπορούν να χρησιμοποιηθούν τα ακόλουθα:\n" " %%n Όνομα του τρέχοντος στοιχείου\n" " %%v Τιμή του τρέχοντος στοιχείου\n" " %%NAME Τιμή του στοιχείου με όνομα NAME (π.χ. " "%%input1)\n" " %%(command) Το stdout μιας εντολής (command) του bash\n" " %%%% %%\n" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" " LABEL Οι παρακάτω ακολουθίες χαρακτήρων μεταφράζονται σε:\n" " \\n αλλαγή γραμμής\n" " \\t στηλοθέτης\n" " \\\" \"\n" " \\\\ \\\n" " Στο στοιχείο --label, αν ο πρώτος χαρακτήρας του LABEL είναι " "μία\n" " πεσπιρώμενη (~), μπορεί να χρησιμοποιηθεί pango markup.\n" " Για παράδειγμα:\n" " --label '~This is plain. This is bold.'\n" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" "\n" "Συμπληρωματικά στις ΕΠΙΛΟΓΕΣ που αναφέρονται παραπάνω, σε ένα στοιχείο " "μπορούν\n" "να προστεθούν και οι επιλογές --compact ή --expand. Στα περισσότερα " "στοιχεία\n" "μπορεί επίσης να χρησιμοποιηθεί η επιλογή --font, για να αλλαχθεί η " "γραμματο-\n" "σειρά και το μέγεθος κειμένου του στοιχείου. Για παράδειγμα:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "ΕΣΩΤΕΡΙΚΕΣ ΕΝΤΟΛΕΣ:\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" "\n" "ΠΑΡΑΔΕΙΓΜΑ ΜΕ ΕΝΤΟΛΕΣ:\n" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "ΕΝΔΕΙΚΤΙΚΟ SCRIPT:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "Για περισσότερες πληροφορίες και παραδείγματα, ανατρέξτε στο Εγχειρίδιο\n" "Χρήστη του SpaceFM:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: η παράμετρος δεν είναι έγκυρο UTF-8\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "μη έγκυρη επιλογή διαλόγου" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Ορισμός του τίτλου του παραθύρου" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Ορισμός του εικονιδίου του παραθύρου" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Προσθήκη ετικέτας κειμένου" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Προσθήκη πεδίου εισαγωγής κειμένου" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Προσθήκη πεδίου εισαγωγής κειμένου πολλαπλών γραμμών" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Προσθήκη πεδίου εισαγωγής κωδικού πρόσβασης" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Προσθήκη επεξεργαστή κειμένου" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Προσθήκη εικονιδίου" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Προσθήκη εικόνας" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Προσθήκη μιας οριζόντιας διαχωριστικής γραμμής" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Προσθήκη μιας κατακόρυφης διαχωριστικής γραμμής" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Αυτόματο κλείσιμο του παραθύρου μετά από DELAY δευτερόλεπτα" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Επιλογές: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" "Ορισμός του ελάχιστου πλάτους, ύψους και γεμίσματος\n" " (-1 = καμία αλλαγή)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" "Προσθήκη των ακόλουθων γραφικών συστατικών σε ένα\n" " οριζόντιο κουτί" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" "Προσθήκη των ακόλουθων γραφικών συστατικών σε ένα\n" " κατακόρυφο κουτί" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Κλείσιμο του τρέχοντος κουτιού γραφικών συστατικών" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Εκτέλεση του COMMAND όταν πατηθεί ένας συνδυασμός πλήκτρων" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "Εκτέλεση του COMMAND πριν το κλείσιμο του παραθύρου" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" "Ανάγνωση εντολών από το FILE ή το PIPE. Το COMMAND δίνει\n" " την αρχική τιμή." #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "Καμία ενέργεια - υπολογισμός/ανάθεση τιμών σε μεταβλητές" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "Κλείσιμο του διαλόγου" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "Πίεση του κουμπιού με όνομα BUTTON-NAME" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "Θέτει το στοιχείο NAME σε τιμή VALUE" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Επιλέγει το αντικείμενο VALUE (ή first/all) στο στοιχείο NAME" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Αποπιλέγει το αντικείμενο VALUE (ή all) στο στοιχείο NAME" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "Εστίαση του στοιχείου NAME, ή ανύψωση του παραθύρου" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "Απόκρυψη του στοιχείου NAME" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "Εμφάνιση του στοιχείου NAME αν ήταν πριν κρυφό" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "Απενεργοποίηση του στοιχείου NAME" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "Ενεργοποίηση του στοιχείου NAME αν ήταν απενεργοποιημένο" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "Αποθήκευση αρχείων και εγγραφή της εξόδου του source στο FILE" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" "Άνοιγμα φακέλων σε νέα καρτέλα του τελευταίου\n" " παραθύρου (προεπιλογή)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" "Άνοιγμα φακέλου στην τρέχουσα καρτέλα του\n" " τελευταία χρησιμοποιημένου παραθύρου" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Να μην φορτωθούν οι αποθηκευμένες καρτέλες" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Άνοιγμα φακέλων σε νέο παράθυρο" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Άνοιγμα φακέλων στο πάνελ 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" "Εκκίνηση του δαίμονα διαχείρισης της\n" " επιφάνειας εργασίας" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" "Εμφάνιση των ρυθμίσεων της επιφάνειας\n" " εργασίας" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Εκτέλεση σε κατάσταση δαίμονα" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Χρήση του DIR ως καταλόγου ρυθμίσεων" #: ../src/main.c:138 msgid "Show File Search" msgstr "Εμφάνιση της Αναζήτησης αρχείων" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" "Εμφάνιση ενός προσαρμοσμένου διαλόγου\n" " (Δείτε το -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" "Αποστολή μιας εντολής socket\n" " (Δείτε το -s help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Καμία ενέργεια - για λόγους συμβατότητας μόνο" #: ../src/main.c:151 msgid "Show version information" msgstr "Εμφάνιση πληροφοριών έκδοσης" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | FILE | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Η επιλογή --config-dir αγνοήθηκε - το πρόγραμμα εκτελείται ήδη" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" "Η επιλογή --config-dir περιέχει μη έγκυρους χαρακτήρες - η εκκίνηση είναι " "αδύνατη" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: η εντολή --socket-cmd απαιτεί μια παράμετρο\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: αδύνατη η δημιουργία socket\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: μη έγκυρη απάντηση από το socket\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Χρήση:" #: ../src/main.c:679 msgid "Example:" msgstr "Παράδειγμα:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" "ΜΕΘΟΔΟΙ\n" "-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Ορίζει μια ιδιότητα" #: ../src/main.c:687 msgid "Gets a property" msgstr "Επιστρέφει μια ιδιότητα" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Ορίζει μια ιδιότητα εργασίας" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Επιστρέφει μια ιδιότητα εργασίας" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Εκκινεί μια νέα εργασία" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" "Εμφάνιση αυτής της οθόνης βοήθειας. (Δείτε επίσης παρακάτω το δεσμό\n" " για το εγχειρίδιο)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" "ΕΠΙΛΟΓΕΣ\n" "--------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" "Μετά την ΜΕΘΟΔΟ μπορείτε να προσθέσετε τις επιλογές που θα καθορίσουν το\n" "παράθυρο, το πάνελ και/ή την καρτέλα." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" "Διαφορετικά θα χρησιμοποιηθεί η τρέχουσα καρτέλα του εστιασμένου πάνελ του\n" "τελευταίου παραθύρου." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" "Ορισμός παραθύρου\n" " Π.χ." #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" "Ορισμός πάνελ 1-4\n" " Π.χ." #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" "Ορισμός καρτέλας 1-...\n" " Π.χ." #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" "ΙΔΙΟΤΗΤΕΣ\n" "---------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" "Ορίστε την τιμή των ιδιοτήτων με την ΜΕΘΟΔΟ 'set', ή επιστρέψτε την τιμή\n" "με την ΜΕΘΟΔΟ 'get'." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "π.χ. '800x600'" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "π.χ. '100x50'" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "π.χ. '1024x768' (για ανάγνωση μόνο)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "π.χ. '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" "Ανοίγει το DIR ή τον προεπιλεγμένο\n" " φάκελο σε νέα καρτέλα" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR π.χ. '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[ΟΝΟΜΑ ΑΡΧΕΙΟΥ...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[ΜΟΤΙΒΟ] π.χ. '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "π.χ. 'Κάποιες\\nγραμμές\\nκειμένου'" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "π.χ. '~/copy-file-contents-to-clipboard.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "FILE... Αρχεία που αντιγράφηκαν στο πρόχειρο" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "FILE... Αρχεία που αποκόπηκαν στο πρόχειρο" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" "ΙΔΙΟΤΗΤΕΣ ΕΡΓΑΣΙΑΣ\n" "------------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "π.χ. 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" "ΤΥΠΟΙ ΕΡΓΑΣΙΩΝ\n" "--------------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" "ΓΕΓΟΝΟΤΑ\n" "--------" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "Εκκίνηση διεργασίας %e" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "Έξοδος διεργασίας %e" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "Νέο παράθυρο %e %w %p %t" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "Εστίαση παραθύρου %e %w %p %t" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" "Μετακίνηση/αλλαγή\n" " μεγέθους παραθύρου %e %w %p %t" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Κλικ %e %w %p %t %b %m %f" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "Πάτημα πλήκτρου %e %w %p %t %k %m" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "Κλείσιμο παραθύρου %e %w %p %t" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "Εστίαση πάνελ %e %w %p %t" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Εμφάν./απόκρ. πάνελ %e %w %p %t %f %v" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "Αλλαγή επιλογής %e %w %p %t" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "Νέα καρτέλα %e %w %p %t" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "Εστίαση καρτέλας %e %w %p %t" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "Κλείσιμο καρτέλας %e %w %p %t" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "Αλλαγή συσκευής %e %f %v" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "τύπος γεγονότος (evt_start|evt_exit|...)" #: ../src/main.c:826 msgid "window ID" msgstr "αναγνωριστικό παραθύρου" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "αριθμός πάνελ (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "αριθμός καρτέλας (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "κουμπί ποντικιού (0=διπλό 1=αριστερό 2=μεσαίο 3=δεξί ...)" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "κωδικός πλήκτρου (π.χ. 0x63)" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "Παραδείγματα" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "Αυτά τα αρχεία έχουν αντιγραφεί στο πρόχειρο" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" "Για περισσότερες πληροφορίες και παραδείγματα, ανατρέξτε στο Εγχειρίδιο\n" "Χρήστη του SpaceFM:" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" "spacefm: Σφάλμα: Αδύνατη η αποθήκευση της συνεδρίας\n" "%s\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Το αρχείο δεν υπάρχει" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Σφάλμα" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Σφάλμα: Αδύνατη η δημιουργία σύνδεσης με το FAM.\n" "\n" "Έχετε \"FAM\" ή \"Gamin\" εγκατεστημένο και σε λειτουργία?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "Το --dialog πρέπει να είναι η πρώτη επιλογή" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "Το --socket-cmd πρέπει να είναι η πρώτη επιλογή" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Δεν γνωρίζετε πως να ανοίξετε το αρχείο" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Αδύνατο το άνοιγμα του αρχείου:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Επιλέξτε το αρχείο του πρόσθετου" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Εισάγετε το URL του πρόσθετου" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Μη έγκυρο όνομα αρχείου πρόσθετου" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" "Υπάρχει ήδη ένα πρόσθετο με όνομα '%s'. Να αντικατασταθεί;\n" "\n" "Συμβουλή: Μπορείτε να μετονομάστε το αρχείο αυτού του πρόσθετου ώστε να " "εγκατασταθεί με διαφορετικό όνομα." #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Να αντικατασταθεί το πρόσθετο;" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Σφάλμα δημιουργίας προσωρινού καταλόγου" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Αδύνατη η δημιουργία του προσωρινού καταλόγου" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "Σφάλμα: Αδύνατη η αποθήκευση του αρχείου συνεδρίας\n" "\n" "( %s )" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Σφάλμα αποθήκευσης συνεδρίας" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Άνοιγμα παραθύρου Root" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Το τερματικό δεν είναι διαθέσιμο" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" "Παρακαλώ ορίστε το πρόγραμμα τερματικού σας στο Προβολή|Ρυθμίσεις|Για " "προχωρημένους" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Άνοιγμα τερματικού" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Βοήθεια της Λειτουργίας Σχεδίασης" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 #, fuzzy msgid "Panel" msgstr "_Πάνελ" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Νέα _εντολή" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Εμφάνιση του πάνελ %d" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Αρχείο" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Προβολή" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "_Συσκευές" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "Σελι_δοδείκτες" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "Π_ρόσθετα" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "_Εργαλεία" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Βοήθεια" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" "Σφάλμα: Αδύνατη η αποθήκευση του αρχείου συνεδρίας. Θέλετε να γίνει " "τερματισμός χωρίς αποθήκευση;\n" "\n" "( %s )" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "Σφάλμα του " #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr " %s ελεύθερα / %s " #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr " Σύνδεσμός → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr " Σύνδεσμός → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr " Σύνδεσμός → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "κρυφό" msgstr[1] "κρυφά" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d ορατό (%s) %s" msgstr[1] "%s%d ορατά (%s) %s" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d αντικείμενο %s" msgstr[1] "%s%d αντικείμενα %s" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Τα πλήκτρα συντόμευσης είναι απενεργοποιημένα σε λειτουργία HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "Κατάσταση" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Φάκελος" #: ../src/main-window.c:4156 msgid "Item" msgstr "Αντικείμενο" #: ../src/main-window.c:4157 msgid "To" msgstr "Προς" #: ../src/main-window.c:4157 msgid "Progress" msgstr "Πρόοδος" #: ../src/main-window.c:4157 msgid "Total" msgstr "Σύνολο" #: ../src/main-window.c:4158 msgid "Started" msgstr "Ξεκίνησε" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "Παρήλθε" #: ../src/main-window.c:4158 msgid "Current" msgstr "Τρέχον" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "Απομένει (τρέχον)" #: ../src/main-window.c:4159 msgid "Average" msgstr "Μέσος όρος" #: ../src/main-window.c:4159 msgid "Remain" msgstr "Απομένει" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "Βοήθεια αλλαγής σειράς Στηλών" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" "Για να αλλάξετε τη σειρά των στηλών, σύρετε την επικεφαλίδα της στήλης στην " "επιθυμητή θέση." #: ../src/main-window.c:5745 msgid "moving" msgstr "μετακίνηση" #: ../src/main-window.c:5746 msgid "copying" msgstr "αντιγραφή" #: ../src/main-window.c:5747 msgid "trashing" msgstr "μεταφορά στα απορρίμμτατα" #: ../src/main-window.c:5748 msgid "deleting" msgstr "διαγραφή" #: ../src/main-window.c:5749 msgid "linking" msgstr "σύνδεση" #: ../src/main-window.c:5750 msgid "changing" msgstr "αλλαγή" #: ../src/main-window.c:5751 msgid "running" msgstr "εκτέλεση" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "%d σφάλμα %s" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "%d σφάλματα %s" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Όνομα" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Μέγεθος" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Τύπος" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Δικαιώματα" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "Ιδιοκτήτης" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "Τροποποιήθηκε" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "spacefm: μη έγκυρη εντολή socket\n" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: μη έγκυρη επιλογή '%s'\n" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: η επιλογή %s απαιτεί μία παράμετρο\n" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "spacefm: μη έγκυρο παράθυρο\n" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: μη έγκυρο παράθυρο %s\n" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: μη έγκυρο πάνελ %d\n" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: το πάνελ %d δεν είναι ορατό\n" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: μη έγκυρη καρτέλα %d\n" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: η εντολή set απαιτεί μια παράμετρο\n" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "spacefm: μη έγκυρος αριθμός πάνελ\n" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "spacefm: μη έγκυρος αριθμός καρτέλας\n" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "spacefm: μη έγκυρο πλάτος στήλης\n" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: το κείμενο δεν είναι έγκυορ UTF-8\n" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: σφάλμα ανάγνωσης του αρχείου '%s'\n" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: το αρχείο '%s' δεν περιέχει έγκυρο κείμενο UTF-8\n" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: ο κατάλογος '%s' δεν υπάρχει\n" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: η εντολή %s απαιτεί μια παράμετρο\n" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: το %s απαιτεί δύο παράμετρους\n" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: μη έγκυρη εργασία '%s'\n" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: spacefm: η εσωτερική εργασία '%s' είναι μόνο για ανάγνωση\n" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: η ιδιότητα της εργασίας '%s' είναι μόνο για ανάγνωση\n" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: μη έγκυρη ιδιότητα εργασίας '%s'\n" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: ο κατάλογος '%s' δεν υπάρχει\n" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: το αρχείο '%s' δεν υπάρχει\n" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: μη έγκυρος τύπος εργασίας '%s'\n" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: μη έγκυρο keycode '%s'\n" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm: μη έγκυρος τύπος γεγονότος '%s'\n" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Προεπιλογή" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "Παράδειγμα αντικειμένου 0123456789" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "Αποθήκευση ρυθμίσεων του Root" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" "Τώρα θα σας ζητηθεί ο κωδικός πρόσβασης του root για να αποθηκευτούν οι " "ρυθμίσεις αυτού του χρήστη σε ένα αρχείο στο /etc/spacefm/. Επειδή το " "SpaceFM εκτελεί κάποιες εντολές ως root μέσω του su, αυτές οι ρυθμίσεις " "είναι καλύτερα προστατευμένες από τον root." #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών bash:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%F\tεπιλεγμένα αρχεία ή %%f πρώτο επιλεγμένο αρχείο\n" "\t%%N\tεπιλεγμένα ονόματα αρχείων ή %%n πρώτο επιλεγμένο όνομα αρχείου\n" "\t%%d\tτρέχον κατάλογος\n" "\t%%v\tεπιλεγμένη συσκευή (π.χ. /dev/sda1)\n" "\t%%m\tσημείο προσάρτησης συσκευής (π.χ. /media/dvd); %%l ετικέτα συσκευής\n" "\t%%b\tεπιλεγμένος σελιδοδείκτης\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tτιμή αντικειμένου μενού\n" "\t$fm_panel, $fm_tab, $fm_command, κλπ" #: ../src/settings.c:141 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" "Εισάγετε το όνομα, την πλήρη διαδρομή ή το όνομα stock ενός εικονιδίου:\n" "\n" "Δεν είναι όλα τα εικονίδια κατάλληλα για χρήση για διάφορους λόγους." #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Προσωπικός φάκελος" #: ../src/settings.c:154 msgid "Up" msgstr "Πάνω" #: ../src/settings.c:155 msgid "Back" msgstr "Πίσω" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Μπροστά" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Ανανέωση" #: ../src/settings.c:160 msgid "New Tab" msgstr "Νέα καρτέλα" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Νέα καρτέλα εδώ" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "Μεγάλα εικονίδια:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "Α_γνόηση Πολιτικής απόκρυψης" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "Αγ_νόηση της NOPOLICY" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "_Σταμάτημα" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "Ε_μφάνιση Διαχειριστή" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "Αυτόματη απόκρυ_ψη του Διαχειριστή" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "Σ_φάλματα" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "Απομένει (τρέ_χον)" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "Απομέν_ει (μέσος όρος)" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Φάκελος" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "Αφαίρεση / Ε_ξαγωγή" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "Ε_ισαγωγή" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "Διαχειρισ_τής Εργασιών" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "Όνο_μα αρχείου" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "_Τύπος" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "Π_ροοροσμός" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "_Πρότυπο" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Σφάλμα αποθήκευσης αρχείου" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" "Σφάλμα του SpaceFM: Σφάλμα: Αδύνατη η αυτόματη αποθήκευση του αρχείου " "συνεδρίας ( %s )\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" "Σφάλμα ανάγνωσης των ρυθμίσεων του root από το /etc/spacefm/ Η εκτέλεση " "εντολών ως root μπορεί να παρουσιάσει κάποιο ρίσκο ασφαλείας" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" "Δεν βρέθηκαν ρυθμίσεις για τον root στο /etc/spacefm/ Ο ορισμός του " "επεξεργαστή κειμένου του root στις Ρυθμίσεις θα πρέπει να σταματήσει την " "εμφάνιση αυτού του μηνύματος. Διαφορετικά η εκτέλεση εντολών ως root " "μπορεί να παρουσιάσει κάποιο ρίσκο ασφαλείας." #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Η βοήθεια δεν είναι διαθέσιμη" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Αυτό το πρόσθετο δεν περιέχει αρχείο README." #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Η δημιουργία απέτυχε" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" "Παρουσιάστηκε σφάλμα κατά τη δημιουργία του αρχείου README για αυτήν την " "εντολή." #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "Σφάλμα ανάγνωσης του αρχαίου πρόσθετου %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" "Ο εισηγμένος φάκελος πρόσθετου δεν περιέχει ένα έγκυρο πρόσθετο.\n" "\n" "(%s/)" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" "Να γίνει απεγκατάσταση του πρόσθετου '%s';\n" "\n" "( %s )" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "Απεγκατάσταση πρόσθετου" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "Εγκατάσταση πρόσθετου" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "Αποθήκευση ως αρχείο πρόσθετου" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "Εξαγωγή πρόσθετου" #: ../src/settings.c:5495 msgid "Export Error" msgstr "Σφάλμα εξαγωγής" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "Αδύνατη η δημιουργία προσωρινών αρχείων" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "Επιλογή ονόματος Μενού" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "Δεν έχει οριστεί επεξεργαστή κειμένου" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" "Παρακαλώ ορίστε τον επεξεργαστή κειμένου σας στο Προβολή|Ρυθμίσεις|Για " "προχωρημένους" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "Δεν έχει οριστεί επεξεργαστή κειμένου για τον Root" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" "Παρακαλώ ορίστε τον επεξεργαστή κειμένου του root στο Προβολή|Ρυθμίσεις|Για " "προχωρημένους" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "Επεξεργασία του %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Το εγχειρίδιο χρήσης δεν βρέθηκε" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" "Θέλετε να διαβάσετε το εγχειρίδιο στο διαδίκτυο;\n" "\n" "Το τοπικό αντίγραφο του Εγχειριδίου Χρήστη του SpaceFM δεν βρέθηκε. Πατήστε " "Ναι για να το διαβάσετε στο διαδίκτυο, ή Όχι για να ορίσετε την τοποθεσία " "του στο Βοήθεια|Επιλογές|Τοποθεσία του Εγχειριδίου χρήσης" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Άνοιξε το εγχειρίδιο;" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" "Το εγχειρίδιο χρήσης του SpaceFM θα πρέπει να έχει ανοίξει στον περιηγητή " "σας. Αν όχι, ή αν θέλετε να χρησιμοποιήσετε έναν διαφορετικό περιηγητή, " "ορίστε τον στο Βοήθεια|Επιλογές|Περιηγητής.\n" "\n" "Αυτό το μήνυμα δεν θα εμφανιστεί ξανά." #: ../src/settings.c:6520 msgid "( none )" msgstr "( κανένα )" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Άκυρο" #: ../src/settings.c:6703 msgid "Unset" msgstr "Αφαίρεση" #: ../src/settings.c:6716 msgid "Set" msgstr "Ορισμός" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Ορισμός πλήκτρου" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "Ορισμός εικονιδίου" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Επεξεργασία γραμμής εντολών" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "Επιλογή προσαρμοσμένου Εκτελέσιμου" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Εκτέλεση ως χρήστης" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" "Εκτέλεση αυτής της εντολής ως χρήστης:\n" "\n" "( Αφήστε το κενό για τον τρέχον χρήστη )" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 #, fuzzy msgid "Set Item Name" msgstr "Ορισμός ονόματος Μενού" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Επιλογή φακέλου" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "Ορισμός ονόματος Υπομενού" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" "Εισάγετε το όνομα του υπομενού:\n" "\n" "Βάλτε ένα χαρακτήρα υπογράμμισης (_) πριν από έναν χαρακτήρα, αν θέλετε " "αυτός να είναι το πλήκτρο συντόμευσης της εντολής." #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Νέο _Υπομενού" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "( χωρίς όνομα )" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "Επιβεβαίωση αφαίρεσης" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Είστε σίγουροι;" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "Διάλογος μηνύματος" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "_Αποκοπή" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "Αντι_γραφή" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "_Επικόλληση" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "Αφαί_ρεση" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "Ε_ξαγωγή" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "_Νέο" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Σελιδοδείκτης" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "Εφ_αρμογή" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "_Εντολή" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Υπο_μενού" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "Δια_χωριστικό" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "_Προσθήκη" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "_Πλήκτρο συντόμευσης" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "_Επεξεργασία εντολής" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Ιδιότητες" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "Επιλογή τοποθεσίας" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Επεξεργασία" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "Ορισμός εικονιδίου παραθύρου" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "Προεπιλο_γή" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "Η είσοδος είναι εσφαλμένη γιατί περιέχει αλλαγές γραμμής" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "_Αποπροσάρτηση" #: ../src/settings.c:10498 msgid "Re_load" msgstr "Επανα_φόρτωση" #: ../src/settings.c:10502 msgid "_Sync" msgstr "_Συγχρονισμός" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "Άνοι_γμα" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "_Προσάρτηση" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "Επανα/προσά_ρτηση" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "_Ως Root" #: ../src/settings.c:10551 msgid "_Label" msgstr "Ε_τικέτα" #: ../src/settings.c:10601 msgid "_Check" msgstr "Έ_λεγχος" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "_Επεξεργασία του fstab" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "Επε_ξεργασία του u_devil.conf" #: ../src/settings.c:10613 msgid "_Format" msgstr "Μορ_φοποίηση" #: ../src/settings.c:10673 msgid "_Backup" msgstr "Α_ντίγραφο ασφαλείας" #: ../src/settings.c:10695 msgid "_Restore" msgstr "Επα_ναφορά" #: ../src/settings.c:10700 msgid "_From File" msgstr "Από _αρχείο" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "_Πληροφορίες αρχείου" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "Ρυ_θμίσεις" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "Ε_μφάνιση" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "_Εσωτερικοί οδηγοί" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "_Κενοί οδηγοί" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "Πίνακες δια_μερισμάτων" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "Προσαρτημένα _δύκτυα" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "_Τόμοι..." #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "Εμφάνιση/απόκρυψη τόμων" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" "Για να γίνει εξαναγκασμένη εμφάνιση ή απόκρυψη κάποιων τόμων, overriding " "other settings, μπορείτε να ορίσετε τις συσκευές, τις ετικέτες τόμων ή τα " "αναγνωριστικά συσκευών στην παρακάτω λίστα, χωρίζοντάς τα με ένα χαρακτήρα " "κενού.\n" "\n" "Παράδειγμα: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "Με αυτά θα εμφανιστεί το /dev/sdd1 και η συσκευή OCZ, ενώ η συσκευή με " "ετικέτα \"Label With Space\" θα αποκρυβεί.\n" "\n" "Η κάθε επιλογή θα πρέπει να ξεκινάει με ένα συν ή ένα πλην του οποίου θα " "προηγείται ένας χαρακτήρας κενού για να την ξεχωρίζει από την προηγούμενη " "επιλογή. Η λίστα λειτουργεί με ευαισθησία μεταξύ πεζών και κεφαλαίων " "γραμμάτων.\n" "\n" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "Τ_ρόπος εμφάνισης" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "Ορισμός του Τρόπου εμφάνισης" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "_Αυτόματη προσάρτηση" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "Προσάρτηση _οπτικού μέσου" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "Προσάρτηση αφαιρούμενου _μέσου" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "Άνοιγμα καρ_τέλας" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "Αποπροσάρτηση στην Έ_ξοδο" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "Αυτόματη _εκτέλεση" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "Με την _προσάρτηση" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "Αυτόματη εκτέλεση με την προσάρτηση" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελεστεί αυτόματα μετά " "την προσάρτηση ενός αφαιρούμενου οδηγού ή ενός δίσκου δεδομένων:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%v\tσυσκευή (π.χ. /dev/sda1)\n" "\t%%l\tετικέτα συσκευής\n" "\t%%m\tσημείο προσάρτησης συσκευής (π.χ. /media/disk)" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "Σε CD ή_χου" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "Αυτόματη εκτέλεση κατά την εισαγωγή CD ήχου" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελεστεί αυτόματα μετά " "την εισαγωγή ενός CD ήχου σε μία συσκευή:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%v\tσυσκευή (π.χ. /dev/sda1)\n" "\t%%l\tετικέτα συσκευής\n" "\t%%m\tσημείο προσάρτησης συσκευής (π.χ. /media/disk)" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "Σε _βίντεο DVD" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "Αυτόματη εκτέλεση κατά την εισαγωγή βίντεο DVD" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελεστεί αυτόματα μετά " "την προσάρτηση ενός βίντεο DVD:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%v\tσυσκευή (π.χ. /dev/sda1)\n" "\t%%l\tετικέτα συσκευής\n" "\t%%m\tσημείο προσάρτησης συσκευής (π.χ. /media/disk)" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "Με την ε_ισαγωή" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "Αυτόματη εκτέλεση με την εισαγωγή" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελεστεί αυτόματα με την " "εισαγωγή οποιασδήποτε συσκευής:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%v\tσυσκευή που εισήχθη (π.χ. /dev/sda1)\n" "\t%%l\tετικέτα συσκευής\n" "\t%%m\tσημείο προσάρτησης συσκευής (π.χ. /media/disk)" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "Με την α_ποπροσάρτηση" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "Αυτόματη εκτέλεση κατά την αποπροσάρτηση" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελεστεί αυτόματα με την " "αποπροσάρτηση οποιασδήποτε συσκευής:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%v\tσυσκευή που αποπροσαρτήθηκε (π.χ. /dev/sda1)\n" "\t%%l\tετικέτα συσκευής\n" "\t%%m\tσημείο προσάρτησης συσκευής (π.χ. /media/disk)" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "Με την αφαί_ρεση" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "Αυτόματη εκτέλεση με την αφαίρεση" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελεστεί αυτόματα με την " "αφαίρεση οποιασδήποτε συσκευής (όχι για την εξαγωγή συσκευής):\n" "\n" "Χρησιμοποιήστε:\n" "\t%%v\tσυσκευή που αφαιρέθηκε (π.χ. /dev/sda1)\n" "\t%%l\tετικέτα συσκευής\n" "\t%%m\tσημείο προσάρτησης συσκευής (π.χ. /media/disk)" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "Προσάρτηση _τόμων..." #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "Αυτόματη προσάρτηση τόμων" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "Επιλογές _προσάρτησης" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" "Εισάγετε παρακάτω μια λίστα προκαθορισμένων επιλογών προσάρτησης χωρισμένες " "με κόμμα ή κενό (θα χρησιμοποιηθούν σε όλες τις προσαρτήσεις).\n" "\n" "Επιπροσθέτως, μπορείτε να ορίσετε κάποιες επιλογές που θα προστίθενται ή θα " "αφαιρούνται όταν γίνεται προσάρτηση ενός συγκεκριμένου συστήματος αρχείων με " "χρήση της μορφής OPTION+FSTYPE ή OPTION-FSTYPE.\n" "\n" "Παράδειγμα:\n" " nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "Εδώ θα χρησιμοποιηθούν τα nosuid και noatime με όλα τα συστήματα αρχείων, θα " "προστεθεί το sync για το vfat και το ntfs και θα αφαιρεθεί το noatime για το " "ext4.\n" "\n" "Σημείωση: Κάποιες επιλογές, όπως η nosuid, μπορεί να χρησιμοποιηθούν από το " "πρόγραμμα προσάρτησης ακόμα και αν δεν τις συμπεριλάβετε σε αυτήν τη λίστα. " "Οι ρυθμίσεις του fstab υπερισχύουν αυτής της λίστας, ενώ το πρόγραμμα pmount " "δεν την χρησιμοποιεί καθόλου." #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "Προκαθορισμένες επιλογές προσάρτησης" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "Ε_ικονίδιο" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "CD ήχου" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "Οπτικό προσαρτημένο" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "Οπτικό με μέσο" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "Οπτικό χωρίς μέσο" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "Δισκέτα προσαρτημένη" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "Δισκέτα αποπροσαρτημένη" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "Αφαιρούμενο προσαρτημένο" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "Αφαιρούμενο αποπροσαρτημένο" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "Εσωτερικό προσαρτημένο" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "Εσωτερικό αποπροσαρτημένο" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "Προσαρτημένο δίκτυο" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "_Ρυθμίσεις" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "Ό_νομα" #: ../src/settings.c:11037 msgid "_Parent" msgstr "Γ_ονέας" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "_Διαδρομή" #: ../src/settings.c:11056 msgid "_Option" msgstr "_Επιλογή" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Σύνδεση" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "Αντιγραφή _προορισμού" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "Αντιγραφή _συνδέσμου" #: ../src/settings.c:11074 msgid "_As Root" msgstr "_Ως Root" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "_Γραμματοσειρά" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "Γραμματοσειρά του διαλόγου μετακίνησης" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "Επι_βεβαίωση δημιουργίας" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "Αντιγραφή _ονόματος" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "Αντιγραφή _διαδρομής" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "Απόκρυ_ψη πάνελ" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Νέο _παράθυρο" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "Παράθυρ_ο Root" #: ../src/settings.c:11141 msgid "_File Search" msgstr "Αναζ_ήτηση αρχείων" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "_Τερματικό" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "Τερματικό _Root" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "Αποθήκευση _καρτελών" #: ../src/settings.c:11162 msgid "E_xit" msgstr "Έ_ξοδος" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "Πάνελ _1" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "Πάνελ _2" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "Πάνελ _3" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "Πάνελ _4" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "Μπάρα πάνελ" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "_Προηγούμενο" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "Επόμε_νο" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "Απόκρυ_ψη" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελείται κατά την " "εκκίνηση μιας διεργασίας του SpaceFM:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%e\tτύπος γεγονότος (evt_start)\n" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Νέο" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Εισάγετε το πρόγραμμα ή την γραμμή εντολών που θα εκτελείται όποτε " "τερματίζει μία διεργασία του SpaceFM:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%e\tτύπος γεγονότος (evt_win_new)\n" "\t%%w\tαναγνωριστικό παραθύρου (δείτε το spacefm -s help)\n" "\t%%p\tπάνελ\n" "\t%%t\tκαρτέλα\n" "\n" "Στην εντολή μπορούν να χρησιμοποιηθούν μεταβλητές του bash που έχουν γίνει " "export (π.χ. $fm_pwd, etc)." #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "_Πάνελ" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Εμφάνιση" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "Καρ_τέλα" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Κλείσιμο" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "_Τίτλος παραθύρου" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "Ορισμός μορφής τίτλου παραθύρου" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" "Ορισμός μορφής τίτλου παραθύρου:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%n\tόνομα τρέχοντος φακέλου (π.χ. bin)\n" "\t%%d\tδιαδρομή τρέχοντος φακέλου (π.χ. /usr/bin)\n" "\t%%p\tαριθμός τρέχοντος πάνελ (1-4)\n" "\t%%t\tαριθμός τρέχουσας καρτέλας\n" "\t%%P\tσυνολικός αριθμός ορατών πάνελ\n" "\t%%T\tσυνολικός αριθμός εργασιών στο τρέχον πάνελ\n" "\t*\tεμφάνιση αστερίσκου αν εκτελούνται\n" " εργασίες σε παράθυρο" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "_Εικονίδιο παραθύρου" #: ../src/settings.c:11366 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" "Εισάγετε το όνομα, την πλήρη διαδρομή ή το όνομα stock ενός εικονιδίου:\n" "\n" "Δεν είναι όλα τα εικονίδια κατάλληλα για χρήση για διάφορους λόγους.\n" "\n" "Ορισμός εναλλακτικών εικονιδίων του SpaceFM:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "Παράδειγμα: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "Πλήρης ο_θόνη" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "_Λειτουργία Σχεδίασης" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "_Ρυθμίσεις" #: ../src/settings.c:11378 msgid "_Tool" msgstr "Ε_ργαλεία" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "_Εγκατάσταση" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "_Εμφάνιση λεπτομεριών" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "Ε_γχειρίδιο χρήσης" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "_Αρχική σελίδα" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "_Νέα του SpaceFM" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "_Λήψη πρόσθετων" #: ../src/settings.c:11452 msgid "_Options" msgstr "_Επιλογές" #: ../src/settings.c:11457 msgid "_Browser" msgstr "_Περιηγητής" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "Επιλογή περιηγητή HTML" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" "Εισάγετε το όνομα περιηγητή ή την γραμμή εντολών του bash που θα " "χρησιμοποιηθεί για την εμφάνιση URL και αρχείων HTML:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%u\turl\n" "\n" "(Αφήστε το κενό για αυτόματη ανίχνευση)" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "_Τοποθεσία του Εγχειριδίου χρήσης" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "Επιλογή τοποθεσίας του Εγχειριδίου χρήσης" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" "Εισάγετε την τοπική διαδρομή ή το URL του Εγχειριδίου Χρήστη του SpaceFM\n" "\n" "(Αφήστε το κενό για προεπιλογή)\n" #: ../src/settings.c:11469 msgid "_About" msgstr "_Περί" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "Κατάστασ_η" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "_Μετρητής" #: ../src/settings.c:11519 msgid "_Item" msgstr "Αντ_ικείμενο" #: ../src/settings.c:11525 msgid "_To" msgstr "_Προς" #: ../src/settings.c:11531 msgid "_Progress" msgstr "Πρόο_δος" #: ../src/settings.c:11538 msgid "T_otal" msgstr "_Σύνολο" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "Χρόνος ε_κκίνησης" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "Χρόνος που παρήλ_θε" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "Τρέχουσα τ_αχύτητα" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "Μέση _ταχύτητα" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "Αλλαγή σει_ράς" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "_Παύση" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "Γραμματοσειρά του Διαχειριστή Εργασιών" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "_Στήλες" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "_Αύξουσα" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "_Συσκεύες" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "Επεξεργαστής γραμματοσειράς" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "Παράδειγμα εισόδου 0123456789" #: ../src/settings.c:11810 msgid "Input Font" msgstr "Γραμματοσειρά εισόδου" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_Εκτέλεση" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "_Επεξεργασία" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "Επεξεργασία _ως Root" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "Επιλογή ε_φαρμογής" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Όλα τα αρχεία και οι φάκελοι" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "Σε καρ_τέλα" #: ../src/settings.c:11839 msgid "N_ew" msgstr "_Νέα" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "Καρτέλα _1" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "Καρτέλα _2" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "Καρτέλα _3" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "Καρτέλα _4" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "Καρτέλα _5" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "Καρτέλα _6" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "Καρτέλα _7" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "Καρτέλα _8" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "Καρτέλα _9" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "Καρτέλα 1_0" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "Σε πάνελ" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "_Αποσυμπίεση" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Α_ποσυμπίεση σε Φάκελο" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "_Εμφάνιση περιεχομένων" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "Άνοιγμα με ε_φαρμογή" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "Δημιουργία _υποφακέλου" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "_Δικαίωμα εγγραφής" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "_Φάκελος" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Σελιδοδείκτης" #: ../src/settings.c:11950 msgid "_Archive" msgstr "Σ_υμπιεσμένο αρχείο" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "Καρ_τέλα" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "Καρτέλα ε_δώ" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "Μετά_βαση" #: ../src/settings.c:11973 msgid "_Back" msgstr "Πί_σω" #: ../src/settings.c:11975 msgid "_Forward" msgstr "_Εμπρός" #: ../src/settings.c:11977 msgid "_Up" msgstr "_Πάνω" #: ../src/settings.c:11979 msgid "_Home" msgstr "Προσωπικός _φάκελος" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "Ορισμός ως προεπι_λογή" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "Πραγματική _διαδρομή" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "Εστί_αση" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "_Πεδίο εισαγωγής διαδρομής" #: ../src/settings.c:11995 msgid "_File List" msgstr "_Λίστα αρχείων" #: ../src/settings.c:11997 msgid "_Tree" msgstr "_Δένδρο" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "Καρ_τέλα" #: ../src/settings.c:12010 msgid "_Close" msgstr "_Κλείσιμο" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "Στ_υλ" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "_Στήλες" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "Α_λλαγή σειράς" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "Επιλογή _Rubberband" #: ../src/settings.c:12048 msgid "_Sort" msgstr "Τα_ξινόμηση" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "Μέγε_θος" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "Τύ_πος" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "_Δικαιώματα" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "Ιδι_οκτήτης" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "Ημερομηνία τ_ροποποίησης" #: ../src/settings.c:12066 msgid "_Descending" msgstr "_Φθίνουσα" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "Φυσι_κή" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "Ευαισθησία κεφαλαίων /πε_ζών" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "Πρώτα οι φάκε_λοι" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "Πρώτα τα αρ_χεία" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "_Μικτά" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "Τα κρ_υφά στην αρχή" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "Τα κρυφά στο _τέλος" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "_Ενημέρωση" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Μετονομασία" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Διαγραφή" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "Αντιγραφή _γονικής διαδρομής" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "Επικόλληση _συνδέσμου" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "Επικόλληση _προορισμού" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "Επικόλλ_ηση ως" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "Αντιγρα_φή σε" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "Τ_οποθεσία" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "Τ_ελευταία τοποθεσία" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "Καρ_τέλα" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Πάνελ" #: ../src/settings.c:12192 msgid "_Move To" msgstr "Μετα_κίνηση σε" #: ../src/settings.c:12196 msgid "_Location" msgstr "Τ_οποθεσία" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "Καρ_τέλα" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Πάνελ" #: ../src/settings.c:12229 msgid "_Select All" msgstr "_Επιλογή όλων" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "Αποεπιλογή ό_λων" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Αντιστροφή επιλογής" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "Επιλογή _βάσει μοτίβου" #: ../src/settings.c:12238 msgid "R_oot" msgstr "_Ως Root" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "_Ιδιότητες" #: ../src/settings.c:12260 msgid "_Quick" msgstr "Ταχυεπε_ξεργασία" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "Αναδ_ρομικά" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "Εργαλειο_θήκη" #: ../src/settings.c:12372 msgid "T_ree" msgstr "Δένδ_ρο" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "_Πλευρική εργαλειοθήκη" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "_Λεπτομερές" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Εικονίδια" #: ../src/settings.c:12401 msgid "_Compact" msgstr "_Συμπαγές" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "_Κρυφά αρχεία" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "Γραμματοσειρά λίστας αρχείων (πάνελ %d)" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Παράδειγμα 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "Γραμματοσειρά συσκευών (πάνελ %d)" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [χωρίς μέσο] :ΠΑΡΑΔΕΙΓΜΑ" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Γραμματοσειρά καρτέλας (πάνελ %d)" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "Ενδεικτικό όνομα Σελιδοδείκτη" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Γραμματοσειρά πεδίου διαδρομής (Πάνελ %d)" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/example" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "Γραμματοσειρά καρτέλας (πάνελ %d)" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Γραμματοσειρά γραμμής κατάστασης (Πάνελ %d)" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "12 G ελεύθερα / 200 G 52 αντικείμενα" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "Νέα καρ_τέλα" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "_Μονό κλικ" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" "Ο κατάλογος δεν υπάρχει\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" "Αδύνατη η πρόσβαση στο %s\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Επιλογή βάσει μοτίβου" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" "Εισάγετε το μοτίβο βάσει του οποίου θα επιλεγούν αρχεία και φάκελοι:\n" "\n" "Αν το μοτίβο περιέχει κεφαλαία, η επιλογή θα γίνει με διάκριση μεταξύ πεζών " "- καφαλαίων.\n" "\n" "Παράδειγμα: *sp*e?m*\n" "\n" "ΥΠΟΔΕΙΞΗ: Μπορείτε επίσης να εισάγετε '%% ΜΟΤΙΒΟ' στο πεδίο διαδρομής." #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "Επιλογή τοποθεσίας" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "Μη έγκυρος προορισμός" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "Ο προορισμός είναι ίδιος με την προέλευση" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "Μη έγκυρος προορισμός" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "Απόκρυψη αρχείου" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" "Τα ονόματα των επιλεγμένων αρχείων θα προστεθούν στο αρχείο '.hidden' αυτού " "του φακέλου, με αποτέλεσμα να μην εμφανίζονται στο SpaceFM. Μπορεί να " "χρειαστεί να κάνετε ανανέωση ή να επανεκκινήσετε το SpaceFM για να " "εξαφανιστούν τα αρχεία.\n" "\n" "Για να άρετε την απόκρυψη ενός αρχείου, ανοίξτε το αρχείο .hidden σε ένα " "επεξεργαστή κειμένου, αφαιρέστε το όνομά του και κάνετε ανανέωση." #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "Σφάλμα απόκρυψης αρχείων" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "Δεν έχει επιλεγεί κανένα αρχείο" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Αδύνατη προσάρτηση συσκευής" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Αδύνατη αποπροσάρτηση συσκευής" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Αδύνατον η εξαγωγή του δίσκου" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "Το udev δεν έχει ρυθμιστεί" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "Προσάρτηση του %s" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" "Το %s είναι προσαρτημένο. Πρέπει πρώτα να αποπροσαρτηθεί για να γίνει " "έλεγχός του." #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "Η συσκευή είναι προσαρτημένη" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Εισάγετε την εντολή ελέγχου του συστήματος αρχείων:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "ΣΥΝΕΧΙΣΤΕ ΜΕ ΠΡΟΣΟΧΗ\n" " Η εντολή θα εκτελεστεί από τον root" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "Έλεγχος ως Root" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "ΕΛΕΓΧΟΣ ΩΣ ROOT" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "Έλεγχος του %s ως Root" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Εισάγετε την εντολή προσάρτησης:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Σημείωση: το fstab μπορεί να αλλάξει κάποιες επιλογές\n" "\n" "ΣΥΝΕΧΙΣΤΕ ΜΕ ΠΡΟΣΟΧΗ\n" " Η εντολή θα εκτελεστεί από τον root" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "Προσάρτηση ως Root" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "ΠΡΟΣΑΡΤΗΣΗ ΩΣ ROOT" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "Προσάρτηση του %s ως Root" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Εισάγετε την εντολή αποπροσάρτησης:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "ΣΥΝΕΧΙΣΤΕ ΜΕ ΠΡΟΣΟΧΗ\n" " Η εντολή θα εκτελεστεί από τον root" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "Αποπροσάρτηση ως Root" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "ΑΠΟΠΡΟΣΑΡΤΗΣΗ ΩΣ ROOT" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "Αποπροσάρτηση του %s ως Root" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" "\n" "\n" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το %s είναι προσαρτημένο. Ίσως πρέπει να αποπροσαρτηθεί πριν " "γίνει αλλαγή της ετικέτας." #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "Εισάγετε την ετικέτα τόμου για το %s:%s" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "Αλλαγή ετικέτας τόμου" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "ΑΛΛΑΓΗ ΕIΤΚΕΤΑΣ ΩΣ ROOT" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "Αλλαγή ετικέτας του %s ως Root" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "Αποπροσάρτηση του %s" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "Αφαίρεση του %s" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "Επαναπροσάρτηση του %s" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "Ανανέωση του %s" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "Συγχρονισμός" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" "Το %s είναι προσαρτημένο. Θα πρέπει να αποπροσαρτηθεί ώστε να μπορέσει να " "γίνει η διαμόρφωσή του." #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "( ΟΛΟΚΛΗΡΗ ΣΥΣΚΕΥΗ )" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Πρόκειται να διαγρέψετε το %s %s- ΟΛΑ ΤΑ ΔΕΔΟΜΕΝΑ ΘΑ ΧΑΘΟΥΝ. Έχετε υπομονή " "- μπορεί να διαρκέσει αρκετά και το dd δεν εμφανίζει μηνύματα κατάστασης.\n" "\n" "Εισάγετε την εντολή που θα αντικαταστήσει τα δεδομένα ολόκληρου του τόμου με " "το /dev/%s:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%%%v\tαρχείο συσκευής ( %s )\n" "\n" "ΣΥΝΕΧΙΣΤΕ ΜΕ ΠΡΟΣΟΧΗ\n" " Η εντολή θα εκτελεστεί από τον root" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Πρόκειται να διαμορφώσετε το %s %s- ΟΛΑ ΤΑ ΔΕΔΟΜΕΝΑ ΘΑ ΧΑΘΟΥΝ.\n" "\n" "Εισάγετε την εντολή διαμόρφωσης για %s:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%%%v\tαρχείο συσκευής ( %s )\n" "\n" "ΣΥΝΕΧΙΣΤΕ ΜΕ ΠΡΟΣΟΧΗ\n" " Η εντολή θα εκτελεστεί από τον root" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "Διαμόρφωση" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ ΑΠΩΛΕΙΑΣ ΔΕΔΟΜΕΝΩΝ" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "Διαμόρφωση του %s" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" "Το %s είναι προσαρτημένο. Πρέπει να το αποπροσαρτήσετε πριν κάνετε " "επαναφορά δεδομένων." #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "Επιλογή αντιγράφου ασφαλείας για επαναφορά" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" "Πρόκειται να αντικαταστήσετε το MBR του %s με το %s.\n" "\n" "Αυτή η αλλαγή μπορεί να έχει ως αποτέλεσμα την αδυναμία εκκίνησης του " "υπολογιστή σας. Θα πρέπει να πάρετε αντίγραφο ασφαλείας όλων των σημαντικών " "δεδομένων πριν συνεχίσετε.\n" "\n" "Θέλετε να συνεχίσετε; (Αν επιλέξετε Ναι, θα έχετε ακόμα μία ευκαιρία για να " "διακόψετε τη λειτουργία πριν να γίνει εγγραφή στο δίσκο.)" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "Επαναφορά MBR" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "Άγνωστος τύπος" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Πρόκειται να επαναφέρετε το %s %sαπό το %s - ΟΛΑ ΤΑ ΔΕΔΟΜΕΝΑ ΘΑ ΧΑΘΟΥΝ.\n" "\n" "Εισάγετε τη εντολή επαναφοράς του %s:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%%%v\tαρχείο συσκευής ( %s )\n" "\t%%%%s\tαρχείο αντιγράφου ασφαλείας ( %s )\n" "\n" "ΣΥΝΕΧΙΣΤΕ ΜΕ ΠΡΟΣΟΧΗ\n" " Η εντολή θα εκτελεστεί από τον root" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "Επαναφορά" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "Ο κατάλογος δεν υπάρχει" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "Ο κατάλογος /etc/udevil δεν βρέθηκε. Είναι εγκατεστημένο το udevil;" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "Αρχείο MBR" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" "Βάσει του ονόματός του, το επιλεγμένο αρχείο φαίνεται να είναι αντίγραφο " "ασφαλείας MBR. Καμία άλλη πληροφορία δεν είναι διαθέσιμη για αυτό το είδος " "αντιγράφου ασφαλείας." #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "Πληροφορίες επαναφοράς" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "Αποθήκευση αντιγράφου ασφαλείας του %s" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "Το επιλεγμένο αντίγραφο ασφαλείας υπάρχει ήδη. Να αντικατασταθεί;" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Εισάγετε την εντολή λήψης αντιγράφου ασφαλείας του %s:\n" "\n" "Χρησιμοποιήστε:\n" "\t%%%%v\tαρχείο συσκευής ( %s )\n" "\t%%%%s\tαρχείο αντιγράφου ασφαλείας ( %s )%s\n" "\n" "ΣΥΝΕΧΙΣΤΕ ΜΕ ΠΡΟΣΟΧΗ\n" " Η εντολή θα εκτελεστεί από τον root" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "Αντίγραφο ασφαλείας" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "Ιδιότητες του %s" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" "%sΕπιλεγμένη συσκευή: %s\n" "Ετικέτα τόμου: %s\n" "Αναγνωριστικό συσκευής: %s" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Εξαγωγή" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Μετακίνηση:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Αντιγραφή:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Διαγραφή:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Σύνδεσμος:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Αλλαγή:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Εκτέλεση:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Μεταφορά..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Αντιγραφή..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Διαγραφή..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Σύνδεση..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Εκτελείται..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Προς:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Πρόοδος:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Κατάσταση:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Αντικατάσταση όλων" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Παράβλεψη όλων" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Αυτόματη μετονομασία" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Σφάλματα" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "ΟΚ" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Ολοκληρώθηκε με σφάλμα ( κατάσταση εξόδου %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Ολοκληρώθηκε με σφάλμα" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Εκτελείται... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Εκτελείται... ( κατάσταση εξόδου %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Μετακίνηση από τον φάκελο:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Σύνδεση από τον φάκελο:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Αντιγραφή από τον φάκελο:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Ο φάκελος υπάρχει ήδη" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" "Ο φάκελος υπάρχει ήδη. Παρακαλώ μετονομάστε τον ή επιλέξτε μία " "ενέργεια." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu bytes )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "μεγαλύτερο" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "μικρότερο" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Απαιτείται μετονομασία" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Αντικατάσταση όλων" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "Αποσυμπίεση σε Φάκελο" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "_Δημιουργία υποφακέλου" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "Τα περιεχόμενα να γίνουν ε_γγράψιμα για τον χρήστη" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Ολοκληρώθηκε!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Εντολή:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Σύστημα αρχείων" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "( κανένας υποφάκελος )" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "_Προσθήκη..." #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "νέο" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Διαγραφή %d επιλεγμένου αντικειμένου;" msgstr[1] "Διαγραφή %d επιλεγμένων αντικειμένων;" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Επιβεβαίωση διαγραφής" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "_Διαδρομή: αρχική" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "Όνο_μα: αρχικό" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "Ό_νομα αρχείου: αρχικό" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "_Γονική διαδρομή: αρχική" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "Όν_ομα:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "Ό_νομα αρχείου:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "_Διαδρομή:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Μετακίνηση" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Επιλογή προορισμού για Σύνδεσμο" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Επιλογή αρχείου Προτύπου" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Επιλογή φακέλου Προτύπου" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Περιήγηση" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Εισαγωγή ως" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "Δημιου_ργία" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Δημιουργία νέου" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Αρχείου" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Φακέλου" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Συνδέσμου" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Μετακίνηση" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "Αν_τιγραφή" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Αντιγραφή" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Δημιουργία συνδέσμου προς" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Προορισμός συνδέσμου" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Προορισμός" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "Ως Root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Σύνδεσμος" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "Αρχείο" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "Επ_ιλογές" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Επανα_φορά" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& Άνοιγ_μα" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Σύνδεσμος-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "_Προορισμός:" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "_Πρότυπο:" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Κενό αρχείο" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Κενός φάκελος" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "Επέ_κταση:" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "Μετα_κίνηση" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "Αν_τιγραφή" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "Σύν_δεση" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "Ω_ς Root" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "Αρ_χείο" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "Φά_κελος" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "_Σύνδεσμος" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "Νέο" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "Η διαδρομή περιέχει αλλαγές γραμμής" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "Ο γονικός φάκελος δεν υπάρχει. Να δημιουργηθεί;" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "Σφάλμα του Mkdir" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" "Σφάλμα μετονομασίας του αρχείου\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Σφάλμα μετονομασίας" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Νέος φάκελος" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "Νέο όνομα φακέλου:" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Νέο αρχείο" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "Νέο όνομα αρχείου:" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" "Το όνομα υπάρχει ήδη.\n" "\n" "Παρακαλώ επιλέξτε ένα νέο:" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "Το νέο αρχείο δεν μπορεί να δημιουργηθεί" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "Σπασμένος δεσμός" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Διαγραφή %d επιλεγμένου αντικειμένου ως root;" msgstr[1] "Διαγραφή %d επιλεγμένων αντικειμένων ως root;" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "Επιβεβαίωση διαγραφής ως Root" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "ΔΙΑΓΡΑΦΗ ΩΣ ROOT" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "Διαγραφή ως Root" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "Μετακίνηση ως Root" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "Αντιγραφή ως Root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytes )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d φάκελος" msgstr[1] "%d φάκελοι" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d αρχείο, %s" msgstr[1] "%d αρχεία, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d αρχείο" msgstr[1] "%d αρχεία" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( πολλαπλά αρχεία )" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "( πολλαπλοί τύποι )" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "Επιλέξετε..." #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "Ό_νομα φακέλου:" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytes )" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 αρχείο" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Υπολογισμός..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "Αλλαγή της ημερομηνίας του αρχείου" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Μη έγκυρος χρήστης" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Μη έγκυρη Ομάδα" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "Ετικέτα της συσκευής" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Διαχειριστής αρχείων" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "Εκτέλεση σε τερματικό" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "Εκτέλεση ως Εργασία" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Παρακαλώ επιλέξτε μία εφαρμογή:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Η εντολή δεν βρέθηκε" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Ο κατάλογος προορισμού \"%1$s\" περιέχεται στην πηγή \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "Πρόσβαση" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Αφαίρεση" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Δημιουργία καταλόγου" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Δημιουργία συνδέσμου" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Δημιουργία συνδέσμου" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Δημιουργία" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Μετονομασία" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Η δημιουργία του προσωρινού καταλόγου απέτυχε" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" "Σφάλμα κατά την εκτέλεση του '%s'\n" "Δείτε το stdout (εκτελέστε το spacefm σε τερματικό) για πληροφορίες " "αποσφαλμάτωσης" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "Σφάλμα εγγραφής του προσωρινού αρχείου" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "Λήξη χρονικού ορίου κατά τον υπολογισμό του συνολικού μεγέθους\n" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" "\n" "%s %s\n" "Σφάλμα: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Τόμος %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Οδηγός %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Οδηγός %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Οδηγός δισκέτας" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Οδηγός Compact flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Οδηγός Memory stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Οδηγός Smart media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Οδηγός SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Οδηγός Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Οδηγός Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Οδηγός Pen" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Αναπαραγωγέας μουσικής %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Ψηφιακή Camera %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Οδηγός" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Εξωτερικός %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Δίσκος CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Κενός Δίσκος CD-R" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Δίσκος CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Κενός Δίσκος CD-RW" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Δίσκος CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Δίσκος DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Κενός δίσκος DVD-RAM " #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Δίσκος DVD-RAM " #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Κενός Δίσκος DVD-R " #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Δίσκος DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Κενός Δίσκος Blank DVD-RW Disc" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Δίσκος DVD-RW " #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Κενός DVD+R Δίσκος" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Δίσκος DVD+R " #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Κενός Δίσκος DVD+RW " #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Δίσκος DVD+RW " #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Μουσικός Δίσκος" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Αφαιρούμενος τόμος %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Τόμος" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Αποτυχία σύνδεσης στο HAL daemon : %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr " Η δοθήσα συσκευή \"%s\" δεν είναι τόμος ή δίσκος" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Συσκευή \"%s\" δεν βρέθηκε στον πίνακα συσκευών του συστήματος" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Δεν έχετε το δικαίωμα να προσαρτήσετε τον τόμο \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Δεν έχετε το δικαίωμα να αποπροσαρτήσετε τον τόμο \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Δεν έχετε το δικαίωμα να εξαγάγετε τον τόμο \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" "Λανθασμένη επιλογή προσάρτησης κατά την προσπάθεια προσάρτησης του τόμου \"%s" "\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Ο τόμος \"%s\" χρησιμοποιεί το %s σύστημα αρχείου το οποίο δεν " "υποστηρίζεται από το σύστημα σας" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Μία εφαρμογή εμποδίζει τον τόμο \"%s\" από το να αποπροσαρτηθεί" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Ο τόμος \"%s\" δεν είναι προσαρτημένος" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Σφάλμα%s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" "Ο τόμος \"%s\" πιθανότατα προσαρτήθηκε χειροκίνητα από τη γραμμή εντολών" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Οι κενοί δίσκοι δεν μπορούν ναι προσαρτηθούν, χρησιμοποιήστε μια εφαρμογή " "εγγραφής CD για να γράψετε αρχεία ήχου ή δεδομένα στον δίσκο" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Τα CD ήχου δεν μπορούν να είναι προσαρτηθούν, χρησιμοποιήστε κάποια εφαρμογή " "μουσικής για να παίξει τα τραγούδια" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr ":οδηγός δισκέτας" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr ":οπτικό" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "[κενό]" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "[ήχος]" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "[χωρίς μέσο]" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "( καμία συσκευή udev )" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" "\n" "Αυτόματη εκτέλεση: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" "\n" "Αυτόματη αποπροσάρτηση: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" "\n" "Αυτόματη προσάρτηση: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Αποπροσάρτηση-αν-προσαρτημένο: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Άνοιγμα περιεχομένου _φακέλου" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Επιλέξτε ένα φάκελο" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Αναζήτηση..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Τοπικοί τόμοι" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Τελευταία τροποποίηση" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "Τύπος MIME" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Όνομα αρχείου" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Κατάλογος" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Δυνατότητα εγγραφής στον κατάλογο" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Το αντικείμενο είναι κείμενο" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Το αντικείμενο είναι κατάλογος" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Το αντικείμενο είναι σύνδεσμος" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Ο χρήστης είναι ο Root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Πολλαπλά επιλεγμένα" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Το πρόχειρο έχει αρχεία" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Το πρόχειρο έχει κείμενο" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Τρέχον πάνελ" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Αριθμός πάνελ" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Τρέχουσα καρτέλα" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Αριθμός καρτελών" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Σελιδοδείκτης" #: ../src/item-prop.c:122 msgid "Device" msgstr "Συσκευή" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Σημείο προσάρτησης της συσκευής" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Ετικέτα της συσκευής" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Τύπος συστήματος αρχείων" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI συσκευής" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Ιδιότητες συσκευής" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Αριθμός Εργασιών" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Κατάλογος Εργασίας" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Τύπος Εργασίας" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Όνομα Εργασίας" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Ο κατάλογος του πάνελ 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Ο κατάλογος του πάνελ 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Ο κατάλογος του πάνελ 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Ο κατάλογος του πάνελ 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Το πάνελ 1 έχει επιλεγμένο αντικείμενο" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Το πάνελ 2 έχει επιλεγμένο αντικείμενο" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Το πάνελ 3 έχει επιλεγμένο αντικείμενο" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Το πάνελ 4 έχει επιλεγμένο αντικείμενο" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Η συσκευή του πάνελ 1" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Η συσκευή του πάνελ 2" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Η συσκευή του πάνελ 3" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Η συσκευή του πάνελ 4" #: ../src/item-prop.c:205 msgid "equals" msgstr "είναι ίσο" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "δεν είναι ίσο" #: ../src/item-prop.c:207 msgid "contains" msgstr "περιέχει" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "δεν περιέχει" #: ../src/item-prop.c:209 msgid "begins with" msgstr "αρχίζει με" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "δεν αρχίζει με" #: ../src/item-prop.c:211 msgid "ends with" msgstr "τελειώνει με" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "δεν τελειώνει με" #: ../src/item-prop.c:213 msgid "is less than" msgstr "είναι μικρότερο από" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "είναι μεγαλύτερο από" #: ../src/item-prop.c:215 msgid "matches" msgstr "ταιριάζει" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "δεν ταιριάζει" #: ../src/item-prop.c:222 msgid "Application" msgstr "Εφαρμογή" #: ../src/item-prop.c:223 msgid "Command" msgstr "Εντολή" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Τρέχουσα κατάσταση: Εμφάνιση" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Τρέχουσα κατάσταση: Απόκρυψη" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Τρέχουσα κατάσταση: Απενεργοποίηση" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "Τρέχουσα κατάσταση: Απενεργοποίηση" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Αποθήκευση του τροποποιημένου Script;" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "(κανένα αρχείο)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Γραμμή εντο_λών" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Ιδιότητες αντικειμένου Εργαλειοθήκης" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Ιδιότητες αντικειμένου Μενού" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Αντι_κείμενο εργαλειοθήκης" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Αντικείμενο _μενού" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Τύπος:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Όνομα:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Πλήκτρο:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Εικονίδιο:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Συμφρα_ζόμενα" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "Εφαρμο_γή" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "ταιριάζει με οποιονδήποτε κανόνα:" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "ταιριάζει με όλους τους κανόνες:" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "δεν ταιριάζει με οποιονδήποτε κανόνα:" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "ταιριάζει με όλους τους κανόνες:" #: ../src/item-prop.c:1861 msgid "Show" msgstr "Εμφάνιση" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "Ενεργοποίηση" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "Απόκρυψη" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "Απενεργοποίηση" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "του αντικειμένου αν" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "Επεξεργασία κανόνα" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "Τιμή:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "τίποτα" #: ../src/item-prop.c:1962 msgid "files" msgstr "αρχεία" #: ../src/item-prop.c:1964 msgid "devices" msgstr "συσκευές" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "Αγνόηση συμφραζομένων / Εμφάνιση όλων (γενική ρύθμιση)" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "_Εντολή" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "Γραμμή εντο_λών" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "_Σενάριο κελύφους" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "Άνοιγμα στον _επεξεργαστή κειμένου" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "Επεξε_ργαστής κειμένου του Root" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "Επιλο_γές" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "Επιλογές εκτέλεσης" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "Διατήρηση του τερματικού ανοικτού" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "Εκτέλεση ως χρήστης:" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "( αφήστε κενό για τρέχοντα χρήστη )" #: ../src/item-prop.c:2179 msgid "Style" msgstr "Στυλ" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "Κανονικό" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "Επιβεβαίωση" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "Άνοιγμα στον περιηγητή:" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "Κατάλογος δεδομένων" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "Κατάλογος πρόσθετου" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "Υπομενού" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "Διαχωριστικό" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "Ενσωματωμένη εντολή" #~ msgid "Change Icon" #~ msgstr "Αλλαγή εικονιδίου" spacefm-1.0.5/po/es.po000066400000000000000000007064371264770501700145520ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Adolfo Jayme Barrientos , 2013 # AnSnarkista Slipknot , 2013 # Antonio Fernandez , 2013 # CommanderC , 2013 # Dorian Hawkmoon , 2013 # Josué Hernández , 2013 # Ernesto Avilés Vázquez , 2015 # Fábio Antunes , 2008 # Flávio Costa , 2006 # Henrique P. Machado , 2009 # Sergio Olmedo Aguilera , 2013 # wandows , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-13 13:46+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Spanish (http://www.transifex.com/ignorantguru/spacefm/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Abrir carpeta con SpaceFM" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Abrir carpeta" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Busqueda de archivos de SpaceFM" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Buscar archivos y carpetas" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Gestor de archivos" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Explorar el sistema de archivos" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "por IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Copyright (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "IgnorantGuru \n\nContribuidores:\n BwackNinja \n OmegaPhil \n\nDiseño:\n Iconos y logotipo para SpaceFM, hechos por Goran Simovic\n\n¡Gracias a los usuarios de SpaceFM por su valiosa retroalimentación, así como a los traductores y empaquetadores!\n\nAgradecimientos especiales a:\n Jean-Philippe Fleury\n Vladimir Kudrya\n VastOne\n Hasufell\n\nSpaceFM es desarrollado con geany, gcc, y git, con una pequeña ayuda de gdb.\n\nCódigo fuente tomado de otros proyectos:\n * pcmanfm-mod: IgnorantGuru\n * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n * libmd5-rfc: Aladdin Enterprises\n * Detección del área de trabajo: Gary Kramlich\n * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n * Para dibujar los textos y los iconos, se usó código de Jonathan Blandford\n * Para los iconos del Escritorio, se usó código de Brian Tarricone\n * Soporte para HAL (obsoleto): gnome-vfs, thunar-vfs, libexo, gnome-mount" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "Iconos y logo de SpaceFM por Goran Simovic\n\nSe tomaron algunos iconos del conjunto de iconos del Tango Desktop Project" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Mario Izquierdo , 2006\nFélix Medrano Sanz , 2009\nGuillermo Iguarán , 2009\nHugo Florentino , 2009\nJosué Hernández , 2013\nDorian Cadenas , 2013\nAdolfo Jayme , 2013" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Elegir aplicación" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Elija una aplicación o escriba una orden:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Tipo de archivo:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Applicaciones asociadas" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "_Todas las aplicaciones" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Orden:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Examinar" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Abierto en terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Establecer como app predeterminada para estos archivos" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Propiedades del archivo" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "_Nombre de archivo:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Ubicación:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "_Destino del enlace:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Tipo:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Se abre _con:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Tamaño total:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Tamaño en disco:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Cantidad:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Modificado el:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "_Acceso:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Información" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Propietario:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupo:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Propietario:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupo:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Otros:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lectura" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Escritura" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Ejecución" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Establecer UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Establecer GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Adherente" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Recursivo (aplica cambios a carpetas y contenido)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "_Permisos" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "kB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Cualquiera" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Dentro de un día" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Dentro de una semana" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Dentro de un mes" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Dentro de un año" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "En el rango de fechas seleccionado" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Buscar archivos" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Nombre de archivo:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Distinguir mayúsculas y minúsculas" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Archivos de vídeo (avi, mpg…)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Archivos de sonido (mp3, ogg, …)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Archivos de imágenes (jpg, png, …)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Archivos de texto plano" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Todos los archivos y carpetas" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Tipos de archivo a buscar" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Buscar en subcarpetas" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Buscar archivos ocultos" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Lugares en que buscar" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "General" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "El archivo contiene:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Usar una expresión regular" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Contenido del archivo" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Contenido" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Mayor que:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Menor que:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Tamaño del archivo" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Última modificación" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Tamaño y fecha" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Resultados de la búsqueda:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Buscar de nuevo" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ir a la carpeta" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Abrir en pestaña actual" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Abrir en pestaña nueva" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Estirar" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Ajustar" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centrar" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Lado a lado" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Ampliación" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Transparente" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automático" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Copiar (Ctrl+arrastrar)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Mover (Mayús+arrastrar)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Enlazar (Ctrl+Mayús+arrastrar)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Preferencias" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Iconos pequeños:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Iconos grandes:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Iconos de barra de herramientas:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Iconos" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Abrir archivos con un solo clic" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Seleccionar al pasar el ratón" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Marcadores:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Mostrar miniaturas" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Tamaño máximo de imagen para miniatura:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Lista de archivos" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_General" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Mostrar siempre la barra de pestañas" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Ocultar botones «Cerrar pestaña»" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Confirmar eliminaciones" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Pulsar para correr ejecutables" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Tamaños de archivo SI (1K = 1000) (requiere reiniciar)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Mostrar color indicador de usuario root" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Acción de arrastre predeterminada:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterfaz" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Fondo de pantalla:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Seleccione una imagen" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modo: " #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Fondo:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Texto:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Sombra:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Tipografía:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Arriba:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Izquierda:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Derecha:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Abajo:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Bloc:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Márgenes" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Mostrar menú del gestor de ventanas con pulsación derecha" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Abrir carpetas con la aplicación asociada a la MIME" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Escritorio" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Gestión de _volúmenes" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal de SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "SU gráfico:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Codificación de nombre de archivo:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Ejecutar editor en una terminal" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Editor de root" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Ejecutar editor de root en una terminal" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Formato de fecha:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(requiere recargar)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Mostrar fecha" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avanzado" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Demasiadas columnas (>%d) en %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "error al leer el archivo %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "el contenido del archivo «%s» no es UTF-8 válido" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "No se puede establecer el elemento faltante «%s»" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "el archivo «%s» no es un archivo normal" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "El redimensionado dinámico requiere anchura y altura > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "la orden interna %s necesita un argumento" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "el elemento «%s» no existe" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "la orden interna «press» no es válida para el no-botón %s" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "la orden interna un/select no es válida para %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "error al escribir el archivo %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "«%s» no es una orden interna" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "error al crear el archivo %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "los datos de la tubería «%s» no son UTF-8 válido" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ SNIP - la salida adicional de arriba ha sido recortada de este registro ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( el contenido del archivo no es UTF-8 válido )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "el prefijo «%s» no es un nombre de variable válido" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Pausar" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "el archivo «%s» no es un archivo o tubería regular" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "SpaceFM Dialog crea un díalogo GTK personalizado basado en elementos de la GUI\nespecificados en la linea de comandos, provee comandos internos/externos en tiempo\nde ejecución que modifican elementos, y presentan resultados evaluables/analizables.\n" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "Uso:\n" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "spacefm --dialog|-g {ELEMENTO [OPCIONES] [ARGUMENTOS...]} ...\n" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Ejemplo:\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "spacefm -g --label \"Un mensaje\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "\nELEMENTO: OPCIONES Y ARGUMENTOS:\n" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nLos siguientes argumentos pueden ser usados como se muestra arriba:\n" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr " STOCK %s\n" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ICON Un nombre de icono, p.ej.: gtk-open\n" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr " @ARCHIVO Un archivo de texto del cual leer un valor. En algunos casos este archivo\n es monitoreado, así que escribir un nuevo valor en el archivo actualizará el \n elemento. En otros casos, el archivo especifica un valor inicial.\n" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "SAVEFILE El contenido de un visor o editor es guardado en este archivo.\n" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr " COMANDO Una orden interna o ejecutable seguida por argumentos. separe\n multiples ordenes con un argumento --.\n Las siguientes sustituciones pueden usarse en COMANDOs:\n %%n Nombre del elemento actual\n %%v Valor del elemento actual\n %%NOMBRE Valor de un elemento llamado NOMBRE (ej: %%input1)\n %%(orden) stdout de una linea de comando de bash\n %%%% %%\n" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr " ETIQUETA Las siguientes secuencias de escape en ETIQUETA son \"desescapadas\":\n \\n nueva linea\n \\t tab\n \\\" \"\n \\\\ \\\n En elementos --label solamente, si el primer caracter en ETIQUETA es una\n virgulilla (~), el marcado pango puede ser usado. Por ejemplo:\n --label '~Esto es plano. Esto es negrita.'\n" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "\nEn adición a las OPCIONES listadas antes, las opciones --compact o --expand pueden\nagregarse a cualquier elemento. También, la opción --font puede usarse con la mayoría\nde los tipos de elementos para cambiar su tipografía y tamaño. Por ejemplo:\n --input --font \"Times New Roman 16\" \"Texto Predeterminado\"\n" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "\nÓRDENES INTERNAS:\n" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "\nEJEMPLO CON ÓRDENES:\n" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr " spacefm -g --label \"Escriba algo de texto y oprima Intro:\" \\\n --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n --label \\\n --button ok\n" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "\nSCRIPT DE EJEMPLO:\n" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nPara documentación completa y ejemplos vea el Manual de Usuario de SpaceFM:\n" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: el argumento no es UTF-8 válido\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "opción de diálogo no válida" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Establecer título de la ventana" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Establecer icono de la ventana" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Agregar una etiqueta de texto" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Agregar botón de diálogo PRE-EXISTENTE, o botón de ETIQUETA con ICONO" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Agregar botón PRE-EXISTENTE, o botón de ETIQUETA con ícono en cualquier lugar" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Agregar una entrada de texto" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Agregar una entrada de texto larga" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Agregar una entrada de contraseña" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Agregar un visor de archivo o tubería" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Agregar editor de texto multi-linea" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Agregar una casilla de verificación" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Agregar un botón de radio" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Agregar un ícono" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Agregar una imagen" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Agregar una barra de progreso" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Agregar un separador de linea horizontal" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Agregar un separador de linea vertical" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Cerrar ventana automáticamente luego de DELAY segundos" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Añadir una lista desplegable. La ORDEN se ejecutará cuando se pulse en ella." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Añadir un cuadro combinado. La ORDEN se ejecutará al oprimir Intro." #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Añadir un cuadro de lista. La ORDEN se ejecutará al pulsar dos veces." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Agregar un cuadro de lista con selecciones múltiples" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Opciones: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Establecer nombre base de la variable (Predeterminado: \"dialog\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Establecer ancho, alto, relleno mínimo (-1 = no cambiar)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Agregar los siguientes widgets a una cuadro horizontal" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Agregar los siguientes widgets a un cuadro vertical" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Cerrar el cuadro de widgets actual" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Ejecutar ORDEN al pulsar una combinación de teclas" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "Ejecutar ORDEN al hacer clic o enfocar un elemento" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "Ejecutar ORDEN al intentar cerrar la ventana" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Lee comandos desde un ARCHIVO o TUBERÍA. COMANDO para inicio" #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "Sin operación - no hace más que evaluar argumentos" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "Cerrar el diálogo" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "Presionar botón llamado BUTTON-NAME" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "Establecer NOMBRE de elemento a VALOR" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Seleccionar ítem VALOR (o primero/todos) en elemento NOMBRE" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Deseleccionar ítem VALOR (o todos) en elemento NOMBRE" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "Enfocar elemento NOMBRE, o elevar ventana de diálogo" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "Ocultar elemento NOMBRE" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "Mostrar elemento NOMBRE si estaba previamente oculto" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "Deshabilitar el elemento NOMBRE" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "Habilitar elemento NOMBRE si estaba previamente deshabilitado" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "Guardar archivos y escribir salida de origen a ARCHIVO" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Abrir carpetas en nueva pestaña de la última ventana (predeterminado)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Abrir carpeta en pestaña actual de la última ventana usada" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "No cargar pestañas guardadas" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Abrir carpetas en nueva ventana" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Abrir carpetas en Panel 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Lanzar demonio gestor de escritorio" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Mostrar ajustes de escritorio" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Mostrar Preferencias ('N' es el número de pestaña)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Ejecutar como demonio" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Usar DIR como directorio de configuración" #: ../src/main.c:138 msgid "Show File Search" msgstr "Mostrar Busqueda de Archivos" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Establecer ARCHIVO como fondo de escritorio" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Muestra un cuadro de diálogo personalizado (Ver -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Enviar una orden «socket» (Vea -s help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Sin función - por compatibilidad solamente" #: ../src/main.c:151 msgid "Show version information" msgstr "Muestra información de la versión" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | ARCHIVO | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Opción --config-dir ignorada - ya hay una instancia corriendo" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "La opción --config-dir contiene caracteres no válidos, no se puede iniciar" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd requiere un argumento\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: no se pudo crear el «socket»\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm: no se pudo conectar al «socket» (¿no se está ejecutando, o no se definió DISPLAY?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: la respuesta del socket no es válida\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "Las órdenes de «socket» de SpaceFM permiten que procesos externos\n(como secuencias de órdenes) lean y definan valores de propiedades de\nla interfaz de usuario y ejecuten métodos en ventanas activas de SpaceFM.\nPara manejar los eventos vea Ver > Eventos en la barra de menús principal." #: ../src/main.c:677 msgid "Usage:" msgstr "Uso:" #: ../src/main.c:679 msgid "Example:" msgstr "Ejemplo:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "MÉTODOS\n-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Define una propiedad" #: ../src/main.c:687 msgid "Gets a property" msgstr "Obtiene una propiedad" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Define una propiedad de tarea" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Obtiene una propiedad de tarea" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Inicia una tarea nueva" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Activa un elemento del menú, emitiendo su atajo de teclado" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "Ejecuta una orden personalizada o muestra un menú nombrado NOMBRE" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Añade un manejador asíncrono ORDEN a EVENTO" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Añade una ORDEN de manejador asíncrono a EVENTO, reemplazando el manejador predeterminado" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Quitar el manejador ORDEN de EVENTO" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Muestra esta referencia de ayuda. (También vea el vínculo al manual abajo)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "OPCIONES\n-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Agregue opciones después de MÉTODO para especificar una ventana, panel y/o pestaña especifica." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "En caso contrario, se usará la pestaña actual del panel actual de la última ventana" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Especificar la ventana. Ej.:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Especificar panel 1-4. Ej.:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Especificar pestaña 1-… Ej.:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "PROPIEDADES\n----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Defina propiedades con el MÉTODO «set» u obtenga el valor con «get»." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "p. ej.: «800x600»" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "p. ej.: «100x50»" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "p. ej.: «1024x768» (solo lectura)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "p. ej.: «100»" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Abrir DIR o predeterminado en nueva pestaña" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "ej.: «Estado actual: Ejemplo»" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR p.ej.: «/etc»" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[NOMBRE DE ARCHIVO…]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[PATRÓN] p. ej.: «*.jpg»" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "ej.: «Unas\\nlíneas\\nde texto»" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "p.ej.: «~/copia-contenido-de-archivo-a-portapapeles.txt»" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "ARCHIVO ... Archivos copiados al portapapeles" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "ARCHIVO ... Archivos cortados al portapapeles" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "PROPIEDADES DE LA TAREA\n---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "contenido de columna de tarea Estado (solo lectura)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "p. ej.: «gtk-open»" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "texto a mostrar en columna de tarea Conteo" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "texto a mostrar en la columna de tarea Carpeta" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "texto a mostrar en columna de tarea Elemento" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "texto a mostrar en columna de tarea A" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "porcentaje de progreso (1..100) o \" para indefinido" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "texto a mostrar en columna de tarea Total" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "texto a mostrar en columna de tarea Actual" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "texto a mostrar en columna de tarea ARestante" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "texto para mostrar en columna de tarea Media" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "texto a mostrar en columna de tarea Restante" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "contenido de la columna de tarea Transcurrida (sólo lectura)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "contenido de la columna de tarea Iniciada (solo lectura)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "ORDEN orden para mostrar un diálogo de tareas personalizado\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "TIPOS DE TAREAS\n----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Ejecutar ORDEN en DIR" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Copiar|Mover|ARCHIVO(s) de Enlace o DIR(s) al dir DESTINO" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Eliminr recursivamente ARCHIVO(s) o DIRECTORIO(s)" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "Abrir ARCHIVO en editor de texto usuario o root" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "Abrir URL en navegador de usuario" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "Montar DISPOSITIVO o URL" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "Desmontar DISPOSITIVO o DIRECTORIO de punto de montaje" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "EVENTOS\n------" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "Inicio de instancia %e" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "Salida de instancia %e" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "Ventana nueva %e %w %p %t" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "Foco de ventana %e %w %p %t" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "Mover/redimensionar ventana %e %w %p %t" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Pulsar botón del ratón %e %w %p %t %b %m %f" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "Pulsar tecla de ventana %e %w %p %t %k %m" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "Cerrar ventana %e %w %p %t" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "Foco de panel %e %w %p %t" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Mostrar/ocultar panel %e %w %p %t %f %v" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "Selección cambiada %e %w %p %t" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "Pestaña nueva %e %w %p %t" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "Foco de pestaña %e %w %p %t" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "Cierre de pestaña %e %w %p %t" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "Cambio de dispositivo %e %f %v" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "Variables de reemplazo del evento ORDEN:" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "tipo de evento (evt_start|evt_exit|...)" #: ../src/main.c:828 msgid "window ID" msgstr "Id. de ventana" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "número de panel (1-4)" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "número de pestaña (1–…)" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "directorio con comillas ('/etc')" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "botón del ratón (0=doble 1=izquierdo 2=central 3=derecho ...)" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "Código de tecla (ej. 0x63)" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "tecla modificadora (ej. 0x4 usado con clics y pulsación de teclas)" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "enfocar elemento (panelN|filelist|devices|bookmarks|dirtree|pathbar)" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "elemento enfocado es visible (0 o 1, o cambio de estado de dispositivo)" #: ../src/main.c:838 msgid "Examples" msgstr "Ejemplos" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "Se han copiado los archivos al portapapeles" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Para obtener la documentación completa y ejemplos, vea el Manual de usuario de SpaceFM:" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "Esta compilación de SpaceFM tiene desactivada la integración con el escritorio" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Error: No se pudo guardar la sesión\n %s\n" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "El archivo no existe" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Error" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "Error: No se pudo iniciar el monitor de cambios a archivos inotify.\n\nQuizá su núcleo no provee de esta funcionalidad." #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Error: No se pudo establecer conexión con FAM.\n\nCompruebe si tiene «FAM» o «Gamin» instalados y en ejecución." #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "--dialog debe ser la primera opción" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "--socket-cmd debe ser la primera opción" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "SpaceFM requiere una instalación de bash. No son equivalentes otras shells, pues SpaceFM utiliza características presentes solo en una instalación genuina de bash (v4+).\n\nNo se pudo encontrar el programa %s. Instale bash o use la opción de configuración --with-bash-path para especificar una ruta personalizada en tiempo de compilación." #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "No hay modo de abrir el archivo" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "No se pudo abrir el archivo:\n«%s»\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Elija el archivo de complemento" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Escriba el URL del complemento" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Escriba el URL del complemento de SpaceFM:\n\n(se usará wget para descargar el archivo del complemento)" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "El nombre de archivo del complemento no es válido. Renómbrelo usando caracteres ASCII alfanúmericos e inténtelo de nuevo." #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "El nombre de archivo del complemento no es válido" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "Ya hay un complemento instalado como «%s». ¿Quiere sobreescribirlo?\n\nConsejo: Puede renombrar este archivo de complemento para instalarlo con otro nombre." #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "¿Quiere sobreescribir el complemento?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Error al crear directorio temporal" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "No se pudo crear el directorio temporal" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Error: No se pudo guardar el archivo de sesión\n\n( %s )" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Error al guardar la sesión" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Abrir ventana de administrador" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal no disponible" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Establezca el emulador de terminal en Ver > Preferencias > Avanzado" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Abrir terminal" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "Ayuda del Modo de diseño" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "El Modo de Diseño permite cambiar el nombre, atajos del teclado e iconos de los menús, barras de herramientas y marcadores, mostrar ayuda para un elemento y añadir sus propias órdenes y aplicaciones.\n\nPara abrir el menú de diseño, simplemente haga clic derecho en un elemento de menú, marcador o elemento de la barra de herramientas. Para abrir el menú de diseño para un submenú, primero cierre el submenú (haciendo clic en el mismo).\n\nPara más información, haga clic en el botón Ayuda de abajo." #: ../src/main-window.c:1903 msgid "Panel" msgstr "Panel" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "_Orden nueva" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "Mostrar panel %d" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Archivo" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "_Ver" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Dispositivos" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "_Marcadores" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Complementos" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "_Herramientas" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "Ay_uda" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Error: No se pudo guardar el archivo de sesión. ¿Quiere salir sin guardar?\n\n( %s )" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "Error de SpaceFM" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "¿Detener todas las tareas que se ejecutan en esta ventana?" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "Interrupiendo las tareas…" #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr " %s libre / %s " #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "%sLeyendo %s..." #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr " Enlace → %s" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr " Enlace → %s/" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Enlace → %s/ (ausente)" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr " Enlace → %s (%s)" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr " !Enlace → %s (ausente)" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr " !Enlace → ( error de lectura en el objetivo )" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "ocultos" msgstr[1] "ocultos" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d visible (%s) %s" msgstr[1] "%s%d visibles (%s) %s" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d elemento %s" msgstr[1] "%s%d elementos %s" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Los atajos de teclado del gestor de dispositivos están desactivados en modo HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "Estado" #: ../src/main-window.c:4302 msgid "#" msgstr "N.º" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Carpeta" #: ../src/main-window.c:4302 msgid "Item" msgstr "Elemento" #: ../src/main-window.c:4303 msgid "To" msgstr "A" #: ../src/main-window.c:4303 msgid "Progress" msgstr "Progreso" #: ../src/main-window.c:4303 msgid "Total" msgstr "Total" #: ../src/main-window.c:4304 msgid "Started" msgstr "Iniciado" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "Transcurrido" #: ../src/main-window.c:4304 msgid "Current" msgstr "Actual" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "ARestante" #: ../src/main-window.c:4305 msgid "Average" msgstr "Promedio" #: ../src/main-window.c:4305 msgid "Remain" msgstr "Restante" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "Ayuda para reordenar columnas" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Para cambiar el orden de las columnas, arrastre el encabezado de la columna a la posición deseada." #: ../src/main-window.c:5913 msgid "moving" msgstr "moviendo" #: ../src/main-window.c:5914 msgid "copying" msgstr "copiando" #: ../src/main-window.c:5915 msgid "trashing" msgstr "desechando" #: ../src/main-window.c:5916 msgid "deleting" msgstr "borrando" #: ../src/main-window.c:5917 msgid "linking" msgstr "vinculando" #: ../src/main-window.c:5918 msgid "changing" msgstr "cambiando" #: ../src/main-window.c:5919 msgid "running" msgstr "ejecutando" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "error %d, %s" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "errores de %d, %s" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "pausado" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "en cola" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Nombre" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Tamaño" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipo" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Permisos" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "Propietario" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "Modificado" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "spacefm: orden socket no válida\n" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: la opción «%s» no es válida\n" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: la opción %s requiere un argumento\n" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "spacefm: ventana no válida\n" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: ventana no válida %s\n" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: panel no válido %d\n" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: el panel %d no es visible\n" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: pestaña no válida %d\n" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: la orden establecida requiere un argumento\n" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: valor %s no válido\n" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "spacefm: valor de deslizable no válido\n" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "spacefm: número de panel no válido\n" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "spacefm: número de pestaña no válido\n" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: propiedad no válida %s\n" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "spacefm: ancho de columna no válido\n" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: nombre de columna «%s» no válido\n" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: el texto no es UTF-8 válido\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s requiere una ruta de archivo\n" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: error al leer el archivo «%s»\n" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: el archivo «%s» no contiene texto UTF-8 válido\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s requiere una ruta de directorio\n" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: la carpeta «%s» no existe\n" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: la orden %s requiere un argumento\n" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s requiere dos argumentos\n" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: tarea «%s» no válida\n" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: la tarea interna %s es de sólo lectura\n" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: la propiedad de tarea «%s» es de solo lectura\n" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: estado de cola «%s» no válido\n" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: la propiedad de tarea «%s» no es válida\n" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: la carpeta «%s» no existe\n" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: opción de tarea %s no válida '%s'\n" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: el archivo «%s» no existe\n" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "spacefm: el tipo de tarea %s requiere udev\n" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "spacefm: este tipo de tarea %s requiere el argumento OBJETIVO\n" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "spacefm: el objetivo «%s» no es válido\n" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: la ruta relativa «%s» requiere la opción %s --dir DIR\n" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: el tipo de tarea %s requiere argumento(s) de ARCHIVO\n" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: el tipo de tarea «%s» no es válido\n" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: el código de tecla «%s» no es válido\n" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "spacefm: no se encontró la orden o submenú personalizado «%s»\n" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm: tipo de evento «%s» no válido\n" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: manejador de evento no encontrado\n" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: método de socket no válido '%s'\n" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "Predeterminado" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "Elija la tipografía para el escritorio" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "Elemento de ejemplo 0123456789" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "Requisitos de transparencia" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "Nota general: Para que la transparencia del escritorio funcione, necesitas ejecutar un gestor de compositor de ventanas o un compositor separado como compton o xcompmgr. Puedes además usar nitrogen o xwinwrap para establecer el fondo de pantalla.\n\nEste mensaje no se repetirá." #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "Emulador de terminal limitado seleccionado" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "Se le pedirá su contraseña de root para guardar los ajustes de root para este usuario en un archivo en %s/spacefm/ Es recomendado suministrar la contraseña en la siguiente ventana. Pues SpaceFM ejecuta algunos comandos como root a través de su, estos ajustes están mejor protegidos por root." #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "Guardar configuración de administrador" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Introduzca programa o linea de comando de bash:\n\nUso:\n\t%%F\tarchivos seleccionados o %%f primer archivo seleccionado\n\t%%N\tnombres de archivo seleccionados o %%n primer nombre de archivo seleccionado\n\t%%d\tdirectorio actual\n\t%%v\tdispositivo seleccionado (ej. /dev/sda1)\n\t%%m\tpunto de montaje de dispositivo (ej. /media/dvd); %%l etiqueta de dispositivo\n\t%%b\tmarcador seleccionado\n\t%%t\tdirectorio de tarea seleccionado; %%p pid de la tarea\n\t%%a\tvalor de elemento de menú\n\t$fm_panel, $fm_tab, $fm_command, etc" #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "Introduzca un nombre de icono, ruta de archivo de icono o nombre de icono común:\n\nO haga clic en Seleccionar un icono. No todos los iconos pueden funcionar correctamente debido a varios problemas." #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Introduzca un nombre de elemento de menú:\n\nPreceda un caracter con un subrayado (_) para destacar ese caracter como una tecla de atajo si lo desea." #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "Introduzca el nombre del nuevo elemento de menú:\n\nPreceda un caracter con un subrayado (_) para destacar ese caracter como una tecla de atajo si lo desea.\n\nSugerencia: Para cambiar este elemento de menú después, haga clic derecho en él para abrir el menú de diseño." #: ../src/settings.c:156 msgid "Show Devices" msgstr "Mostrar dispostivos" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "Mostrar marcadores" #: ../src/settings.c:158 msgid "Show Tree" msgstr "Mostrar árbo" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "Inicio" #: ../src/settings.c:161 msgid "Up" msgstr "Arriba" #: ../src/settings.c:162 msgid "Back" msgstr "Atrás" #: ../src/settings.c:163 msgid "Back History" msgstr "" #: ../src/settings.c:164 msgid "Forward" msgstr "Adelante" #: ../src/settings.c:165 msgid "Forward History" msgstr "" #: ../src/settings.c:166 msgid "Refresh" msgstr "Actualizar" #: ../src/settings.c:167 msgid "New Tab" msgstr "Pestaña nueva" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Pestaña nueva aquí" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "Mostrar ocultos" #: ../src/settings.c:171 msgid "Large Icons" msgstr "Iconos grandes" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "%s: %s contiene caracteres inválidos - ignorado" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "%s: tmp_dir '%s' no existe - revirtiendo a %s" #: ../src/settings.c:462 msgid "file not found" msgstr "archivo no encontrado" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "Ignorar política _Ocultar" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "Ignorar política _No" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "_Preguntas frecuentess" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "_Detener" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "_Mostrar el gestor" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "_Ocultar el gestor automáticamente" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "Err_ores" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "Restante _Actual" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "Restante _Promedio" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Carpeta" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "Estadísticas _detalladas" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "E_xpulsar" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "_Importar" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "_Gestor de tareas" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "Nombre del arch_ivo" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "Ti_po" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "_Destino" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "Pla_ntilla" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "Abrir _URL" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# Archivo de sesión de SpaceFM\n\n# NO EDITE ESTE ARCHIVO, PUES LOS CAMBIOS SE SOBREESCRIBIRÁN\n\n# Si elimina todos los archivos session*, SpaceFM se restablecerá a la configuración predeterminada.\n\n" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "Error al guardar el archivo" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "Error de SpaceFM: no se pudo autoguardar el archivo de sesión ( %s )\n" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "\nSeleccionar el elemento del menú '%s' como manejador\n" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "Ocurrió un error al leer la configuración de administrador en %s/spacefm/ Las órdenes que se ejecutan como administrador pueden representar un riesgo de seguridad" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "Ningún ajuste de administrador encontrado en %s/spacefm/ Establecer un editor de administrador en Preferencias debería eliminar esta advertencia al inicio. De otra manera órdenes ejecutadas como administrador pueden presentar un riesgo de seguridad." #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "La ayuda no está disponible" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "Este complemento no incluye un archivo LÉAME." #: ../src/settings.c:4346 msgid "Create README" msgstr "Crear LEEME" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "No existe ningún archivo LEEME para esta orden.\n\n¿Crear un archivo LEEME por defecto para que luego pueda llenarlo?" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "Falló la creación" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "Ocurrió un error al crear un archivo README para esta orden." #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Ocurrió un error al copiar los archivos de orden\n\n%s" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "Error en la orden de copia" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Ocurrió un error al copiar los archivos de datos de orden\n\n%s" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "Error al leer el archivo de complemento %s" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "La carpeta de complemento importada no contiene un complemento válido.\n\n(%s/)" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "Complemento inválido" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "Se ha copiado el complemento «%s» en el portapapeles de diseño. Use Ver > Modo de diseño para pegarlo en un menú.\n\nYa que no se ha instalado, este complemento no aparecerá en el menú de Complementos." #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "Se ha copiado el complemento «%s» al portapapeles de diseño. Para pegarlo en un menú, use Ver > Modo de diseño.\n\nComo no está instalado, este complemento no aparecerá en el menú Complementos, y su contenido no está protegido por la cuenta de administrador (cuando se pegue será propiedad del usuario).\n\nSi este complemento contiene órdenes su o se ejecutará como administrador, se recomienda instalarlo en el menú Complementos y ejecutarlo desde allí para mejorar la seguridad del sistema." #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "¿Quiere desinstalar el complemento «%s»?\n\n(%s)" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Desinstalar complemento" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Instalar complemento" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "Guardar como archivo de complemento" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Exportar complemento" #: ../src/settings.c:5601 msgid "Export Error" msgstr "Error al exportar" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "No se pudieron crear los archivos temporales" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "El objetivo de marcador «%s» no existe o es inválido." #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "Objetivo de marcador inválido" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "Renombrar elemento" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "No se definió el editor" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Defina el editor en Ver > Preferencias > Avanzado" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "No se definió el editor de administrador" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Defina el editor de administrador en Ver > Preferencias > Avanzado" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "Editar %s" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "No se ha encontrado el manual del usuario" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "¿Quiere leer el manual del usuario en línea?\n\nNo se encontró la copia local del manual de SpaceFM. Pulse en «Sí» para leerlo en línea, o en «No» para definir la ubicación correcta en Ayuda > Opciones > Ubicación del manual." #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "¿Manual abierto?" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "El manual de usuario debió abrirse en su navegador. si no se abrió, o si prefiere usar un navegador diferente, establezca su navegador en Ayuda|Opciones|Navegador.\n\nEste mensaje no se repetirá." #: ../src/settings.c:6627 msgid "( none )" msgstr "(ninguno)" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tCód. tecla: %#4x Modificador: %#x\n\n%s ya se ha asignado a «%s».\n\nOprima otra tecla o pulse en Definir para reemplazar la asignación de teclas actual." #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tCód. tecla: %#4x [%#4x] Modificador: %#x\n\n%s ya se ha asignado a '%s'.\n\nOprima otra tecla o pulse en Definir para reemplazar la asignación de teclas actual." #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "\t%s\n\tCód. tecla: %#4x Modificador: %#x" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "Oprima su combinación de teclas para el elemento del menú «%s» y pulse Definir. Para eliminar la asignación de teclas actual, pulse Eliminar def." #: ../src/settings.c:6820 msgid "Cancel" msgstr "Cancelar" #: ../src/settings.c:6826 msgid "Unset" msgstr "Desasignar" #: ../src/settings.c:6839 msgid "Set" msgstr "Establecer" #: ../src/settings.c:6853 msgid "Set Key" msgstr "Establecer tecla" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "Establecer icono" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "Editar línea de órdenes" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "Elija el ejecutable personalizado" #: ../src/settings.c:7041 msgid "Run As User" msgstr "Ejecutar como usuario" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Ejecutar esta orden como el usuario:\n\n(Déjelo en blanco para el usuario actual)" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Está agregando un comando personalizado al elemento de menú preestablecido. Este elemento automáticamente tendrá un pre-contexto - solo aparecerá cuando el tipo MIME del primer archivo seleccionado corresponda al tipo actual '%s'.\n\nAgregue aquí comandos o menús que solo desee que aparezcan para este tipo MIME." #: ../src/settings.c:7050 msgid "New Context Command" msgstr "Orden de contexto nueva" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "Establecer nombre del elemento" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Elija una carpeta" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Está agregando un submenú personalizado al elemento de menú preestablecido. Este elemento automáticamente tendrá un pre-contexto - solo aparecerá cuando el tipo MIME del primer archivo seleccionado corresponda al tipo actual '%s'.\n\nAgregue aquí comandos o menús que solo desee que aparezcan para este tipo MIME." #: ../src/settings.c:7140 msgid "(none)" msgstr "(ninguno)" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "Establecer nombre del submenú" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Escriba el nombre del submenú:\n\nSi lo desea, puede preceder un carácter con una subraya (_) para volverlo un atajo de teclado." #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "_Submenú nuevo" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "Los marcadores GTK (%s) serán importados al submenú actual o seleccionado. Nótese que si se importa un gran número de marcadores (p.ej.: más de 500) puede impactar el rendimiento." #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "Importar marcadores GTK" #: ../src/settings.c:7346 msgid "( no name )" msgstr "(sin nombre)" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "¿Quiere eliminar permanentemente el elemento «%s» y su contenido?\n\nEsto eliminará todos los archivos y ajustes asociados con los elementos." #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "¿Quiere eliminar permanentemente el elemento «%s»?\n\nEsto eliminará todos los archivos y ajustes asociados con el elemento." #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "Confirmar eliminación" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "¿Está seguro?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "Mensaje del diálogo" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Escriba el mensaje que se mostrará en este diálogo:\n\nUse:\n\t\\n\tlínea nueva\n\t\\t\ttabulación" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "Cor_tar" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "_Copiar" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "_Pegar" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "_Eliminar" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "E_xportar" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "_Nuevo" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Marcador" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "_Aplicación" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "_Orden" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "Sub_menú" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "S_eparador" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "Marcadores _GTK" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "_Añadir" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "Atajo de _teclado" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "_Editar el script" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "E_ditar como administrador" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "_Editar la orden" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "_Propiedades" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "Elegir icono" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Editar" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "Establezca el icono de la ventana" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "Ele_gir" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "Pre_determinado" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "Su entrada no es válida porque contiene saltos de linea" #: ../src/settings.c:9372 msgid "_OK" msgstr "_Aceptar" #: ../src/settings.c:9509 msgid "_Unset" msgstr "_Desasignar" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "_Desmontar" #: ../src/settings.c:10640 msgid "Re_load" msgstr "Reca_rgar" #: ../src/settings.c:10644 msgid "_Sync" msgstr "_Sincronizar" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Abrir" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "Abrir en una pes_taña" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "_Montar" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "Re_/montar" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "Administ_rador" #: ../src/settings.c:10693 msgid "_Label" msgstr "Eti_queta" #: ../src/settings.c:10743 msgid "_Check" msgstr "_Comprobar" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "_Editar fstab" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "Editar u_devil.conf" #: ../src/settings.c:10755 msgid "_Format" msgstr "_Formatear" #: ../src/settings.c:10815 msgid "_Backup" msgstr "_Respaldar" #: ../src/settings.c:10837 msgid "_Restore" msgstr "_Restaurar" #: ../src/settings.c:10842 msgid "_From File" msgstr "_Desde archivo" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "_Información del archivo" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "Confi_guración" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "M_ostrar" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "Unidades _internas" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "Unidades _vacías" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "Tabla de _particiones" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "Redes _montadas" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "_Volúmenes…" #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "Mostrar u ocultar volúmenes" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Para forzar que se muestren u oculten algunos volúmenes, ignorando otros ajustes, puede especificar los dispositivos, etiquetas de volumen, o IDs de dispositivos en la lista separada por espacios de abajo.\n\nEjemplo: +/dev/sdd1 -Etiqueta con espacio +ata-OCZ-part4\nEsto causará que /dev/sdd1 y el dispositivo OCZ sean mostrados, y el volumen con la etiqueta \"Etiqueta con espacio\" sea ocultada.\n\nDebe haber un espacio entre las entradas y un signo más o menos directamente antes de cada elemento. Esta lista distingue mayúsculas/minúsculas.\n\n" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "Nombre a _mostrar" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "Establecer el formato de nombre a mostrar" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "Introduzca el formato de nombre de dispositivo a mostrar:\n\nUso:\n\t%%v\tnombre de archivo de dispositivo (ej. sdd1)\n\t%%s\ttamaño total (ej. 800G)\n\t%%t\ttipo de sistema de archivos (ej. ext4)\n\t%%l\tetiqueta de volumen (ej. Etiqueta o [no media])\n\t%%m\tpunto de montaje si está montado, o ---\n\t%%i\tID de dispositivo\n\t%%n mayor:menor número de dispositivos (ej. 15:3)\n" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "Montar _automáticamente" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "Montar discos óptic_os" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "_Montar extraíbles" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "Montar _volúmenes…" #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "Montar volúmenes autom." #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Para forzar o prevenir el montaje automático de ciertos volúmenes, ignorando otros ajustes, puede especificar los dispositivos, etiquetas de volumen, o IDs de dispositivo, en la lista separada por espacios de abajo.\n\nEjemplo: +/dev/sdd1 -Etiqueta Con Espacio +ata-OCZ-part4\nesto causará que /dev/sdd1 y el dispositivo OCZ sean montados cuando se detecten, y el volumen con la etiqueta \"Etiqueta Con Espacio\" sea ignorado.\n\nDebe haber un espacio entre las entradas y un signo más o menos directamente antes de cada elemento. Esta lista distingue mayúsculas y minúsculas.\n\n" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "Montar _directorios..." #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "Punto de montaje automático de directorios" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "Abrir _ventana" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "_Desmontar al salir" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "_Ejecutar autom." #: ../src/settings.c:10952 msgid "On _Mount" msgstr "Al _montar" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "Auto ejecutar al montar" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Escriba el programa u orden de Bash que se ejecutará después de que se monte automáticamente un soporte extraíble o un disco de datos:\n\nUse:\n\t%%v\tdispositivo (p.ej. /dev/sda1)\n\t%%l\tetiqueta del dispositivo\n\t%%m\tpunto de montaje del dispositivo (p.ej. /media/disk)" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "En CD de _audio" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "Auto ejecutar en CD de audio" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Introduzca el programa o comando de bash que se ejecutará autmáticamente cuando un CD de audio se inserte en un dispositivo calificado:\n\nUso:\n\t%%v\tdispositivo (ej. /dev/sda1)\n\t%%l\tetiqueta de dispositivo\n\t%%m\tpunto de montaje del dispositivo (ej. /media/disk)" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "En DVD de _video" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "Auto ejecutar en DVD de video" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cuando un DVD de video sea auto-montado:\n\nUso:\n\t%%v\tdispositivo (ej. /dev/sda1)\n\t%%l\tetiqueta de dispositivo\n\t%%m\tpunto de montaje del dispositivo (ej. /media/disk)" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "Al _insertar" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "Ejecutar automáticamente al insertar" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cuando cualquier dispositivo sea insertado:\n\nUso:\n\t%%v\tdispositivo (ej. /dev/sda1)\n\t%%l\tetiqueta de dispositivo\n\t%%m\tpunto de montaje del dispositivo (ej. /media/disk)" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "Al _desmontar" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "Ejecutar automáticamente al desmontar" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cualquier dispositivo sea desmontado por cualquier medio:\n\nUso:\n\t%%v\tdispositivo (ej. /dev/sda1)\n\t%%l\tetiqueta de dispositivo\n\t%%m\tpunto de montaje del dispositivo (ej. /media/disk)" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "Al _extraer" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "Ejecutar automáticamente al extraer" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cuando cualquier dispositivo sea extraído (la expulsión de medios no califica):\n\nUso:\n\t%%v\tdispositivo (ej. /dev/sda1)\n\t%%l\tetiqueta de dispositivo\n\t%%m\tpunto de montaje del dispositivo (ej. /media/disk)" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "Opciones de montaje" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "Opciones de montaje predeterminadas" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "Re/montar con opciones" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "Los dispositivos serán (re)montados usando las opciones de abajo.\n\nEn adición a las opciones regulares, también puede especificar opciones para ser agregadas o removidas para un sistema de archivos específico usando la forma OPCIÓN+FSTYPE ú OPTION-FSTYPE.\n\nEjemplo: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nEsto agregará nosuid y noatime para todos los tipos de sistemas de archivos, agregará sync para vfat y ntfs solamente, y removerá noatime para ext4.\n\nNote: Algunas opciones, como nosuid, pueden ser agregadas por el programa de montaje aún si no las incluye. Opciones en fstab tienen preferencia. pmount ignora las opciones establecidas aquí." #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "_Cambiar detección" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "Introduzca su lista separada por coma o espacios de los sistemas de archivo que NO deben ser monitoreados en caso de cambio. Este ajuste solo afecta los dispositivos que no son de bloque (tales como: NFS o fuse), y es normalmente utilizado para prevenir que SpaceFM se cuelgue con sistemas de archivos de red. La carga de imágenes en miniatura será también inhabilitada." #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "Cambiar lista negra de detección" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "Manejadores de _dispositivo" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "Manejadores de p_rotocolo" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "_Icono" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "CD de sonido" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "Óptico montado" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "El disco óptico tiene medios" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "El disco óptico no tiene medios" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "Disquete montado" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "Disquete desmontado" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "Extraíble montado" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "Extraíble desmontado" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "Interno montado" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "Interno desmontado" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "Red montada" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11148 msgid "_Settings" msgstr "_Ajustes" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "_Icono de marcador" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "Icono de sub_menu" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "_Mostrar marcadores" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "Nuevo _marcador" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "_Nombre" #: ../src/settings.c:11185 msgid "_Parent" msgstr "Car_peta madre" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "Rut_a" #: ../src/settings.c:11204 msgid "_Option" msgstr "_Opción" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Enlace" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "Copiar _destino" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "Vin_cular destino" #: ../src/settings.c:11222 msgid "_As Root" msgstr "_Como root" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "_Tipo de letra" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "Tipografía del diálogo Mover" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "/home/usuario/Nombre de archivo de ejemplo.ext" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "_Confirmar creación" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "Resaltar _barra" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "Color de resaltado de la barra de estado" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "Resaltar _texto" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "Color de resaltado del texto de la barra de estado" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "Clic _medio" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "Copiar _nombre" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "Cop_iar ruta" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "Ocu_ltar el panel" #: ../src/settings.c:11283 msgid "New _Window" msgstr "_Ventana nueva" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "Ve_ntana de administrador" #: ../src/settings.c:11289 msgid "_File Search" msgstr "Buscar _archivos" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "Terminal de _root" #: ../src/settings.c:11302 msgid "Open URL" msgstr "Abrir URL" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "Guardar las _pestañas" #: ../src/settings.c:11310 msgid "E_xit" msgstr "_Salir" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "Panel _1" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "Panel _2" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "Panel _3" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "Panel _4" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "_Barra de paneles" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "F_oco" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "_Previa" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "_Siguiente" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "_Ocultar" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "Manejador de _eventos" #: ../src/settings.c:11391 msgid "_Instance" msgstr "I_nstancia" #: ../src/settings.c:11396 msgid "_Startup" msgstr "_Inicio" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "Definir orden de inicio de instancia" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que se inicie una instancia de SpaceFM:\n\nUso:\n\t%%e\ttipo de evento (evt_start)\n" #: ../src/settings.c:11402 msgid "_Exit" msgstr "_Salir" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "Establecer orden de salida de instancia" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que una instancia de SpaceFM se cierre:\n\nUso:\n\t%%e\ttipo de evento (evt_exit)\n" #: ../src/settings.c:11408 msgid "_Window" msgstr "_Ventana" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Nuevo" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "Establecer orden de ventana nueva" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que se abra una nueva ventana de SpaceFM:\n\nUso:\n\t%%e\ttipo de evento (evt_win_new)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este commando." #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "_Foco" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "Establecer orden para foco de ventana" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que una ventana de SpaceFM obtenga el foco:\n\nUso:\n\t%%e\ttipo de evento (evt_win_focus)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando." #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "_Mover/redimensionar" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "Establecer orden para mover/redimensionar ventana" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que una ventana de SpaceFM sea movida o redimensionada:\n\nUso:\n\t%%e\ttipo de evento (evt_win_focus)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando.\nNote: Este comando puede ejecutarse múltiples veces durante el redimensionado." #: ../src/settings.c:11431 msgid "_Click" msgstr "_Clic" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "Definir la orden de pulsación" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Itroduzca el programa o comando de bash que se ejecutará automáticamente cada vez que se pulse un botón del mouse:\n\nUse:\n\t%%e\ttipo de evento (evt_win_click)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\t%%b\tbotón (botón del mouse presionado)\n\t%%m\tmodificador (teclas modificadoras)\n\t%%f\tfoco (elemento que recibió el clic)\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando cuando no se use un asterisco como prefijo.\n\nPonga un asterisco como prefijo en su comando (*) y condicionalmente retorne un estado de salida 0 para inhibir el manejador predeterminado. Por ejemplo:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nBotón medio fue pulsado en %%f\" --button ok &" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "_Pulsación de tecla" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "Establecer orden de pulsación de tecla en la ventana" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que un tecla sea presionada:\n\nUse:\n\t%%e\ttipo de evento (evt_win_key)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\t%%k\tcódigo de tecla (tecla presionada)\n\t%%m\tmodificador (teclas modificadoras)\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando cuando no se use un asterisco como prefijo.\n\nPonga un asterisco como prefijo en su comando (*) y condicionalmente retorne un estado de salida 0 para inhibir el manejador predeterminado. Por ejemplo:\n*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nTecla F8 fue presionada.\" --button ok &" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "Ce_rrar" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "Establecer orden para cerrar ventana" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Introduzca el programa o comando de bash que se ejecutara automáticamente cada vez que se cierre una ventana de SpaceFM:\n\nUso:\n\t%%e\ttipo de evento (evt_win_close)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestña\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando." #: ../src/settings.c:11449 msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "Establezca el comando de foco de panel" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Introduzca el programa o comando de bash que será ejecutado automáticamente cada vez que un panel obtenga el foco:\n\nUso:\n\t%%e\ttipo de evento (evt_pnl_focus)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando." #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Mostrar" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "Definir orden para mostrar el panel" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que un panel o elemento de un panel se muestre u oculte:\n\nUso:\n\t%%e\ttipo de evento (evt_pnl_show)\n\t%%w\tid de ventana (ve la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\t%%f\tfoco (elemento mostrado o escondido)\n\t%%v\tvisible (1 or 0)\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando." #: ../src/settings.c:11466 msgid "S_elect" msgstr "S_elect" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "Definir orden para seleccionar el panel" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "Introduzca el programa o el comando de bash que se ejecutará automáticamente cada vez que la selección de archivos cambie:\n\nUso:\n\t%%e\ttipo de evento (evt_pnl_sel)\n\t%%w\tide de la ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\nvariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en ests comando.\n\nUse un asterisco (*) como prefijo de su comando y retorne el estado de salida 0 condicionalmente para inhibir el manejador predeterminado." #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "_Pestaña" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "Definir orden para pestaña nueva" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que se abra una nueva pestaña:\n\nUso:\n\t%%e\ttipo de evento (evt_tab_new)\n\t%%w\tid de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\nvariables exportadas de bash (ej. $fm_pwd, etc) se pueden usar para este comando." #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "_Cambiar directorio" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "Definir orden para enfocar la pestaña" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que una pestaña obtenga el foco:\n\nUso:\n\t%%e\ttipo de evento (evt_tab_focus)\n\t%%w\tid de la ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña\n\nVariables exportadas de bash (ej. $fm_pwd, etc) pueden usarse en este comando." #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Cerrar" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "Definir la orden de cierre de pestaña" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que una pestaña se cierre:\n\nUso:\n\t%%e\ttipo de evento (evt_tab_close)\n\t%%w\tide de ventana (vea la ayuda de spacefm -s)\n\t%%p\tpanel\n\t%%t\tpestaña cerrada" #: ../src/settings.c:11501 msgid "_Device" msgstr "_Dispositivo" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "Definir la orden del dispositivo" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "Introduzca el programa o comando de bash que se ejecutará automáticamente cada vez que el estado de un dispositvo cambie:\n\nUso:\n\t%%e\ttipo de evento (evt_device)\n\t%%f\tarchivo de dispositivo\n\t%%v\tcambio (added|removed|changed)\n" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "Título de la ve_ntana" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "Establezca el ícono de la ventana" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Establezca el formato del título de la ventana:\n\nUso:\n\t%%n\tnombre de la carpeta actual (ej. bin)\n\t%%d\truta de la carpeta actual (eg /usr/bin)\n\t%%p\tnúmero del panel actual (1-4)\n\t%%t\tnúmero de la pestaña actual\n\t%%P\t total de paneles visibles\n\t%%T\tnúmero total de pestañas en el panel actual\n\t*\tasterisco mostrado si hay tareas ejecutandose en la ventana" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "_Icono de la ventana" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "Introduzca un nombre de icono, ruta de archivo de icono, o nombre de elemento existente\nNo todos los iconos podrían funcionar debido a diferentes problemas.\n\nIconos alternativos proporcionados por SpaceFM:\n\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n\tspacefm-48-folder-[blue|red]\n\nPor ejemplo: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "_Pantalla completa" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "Modo de _diseño" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "Pre_ferencias" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Herramienta" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "Minia_turas (global)" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "_Instalar" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "_Detallado" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "In_cluido" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "Manual del _usuario" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "_Página principal" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "_Noticias de SpaceFM" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "Obtener _complementos" #: ../src/settings.c:11606 msgid "_Options" msgstr "_Opciones" #: ../src/settings.c:11611 msgid "_Browser" msgstr "_Navegador" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "Elija el navegador de HTML" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "Introduzca el nombre del navegador o linea de comando de bash que se usará para mostrar archivos HTML y URLs:\n\nUso:\n\t%%u\turl\n\n(Deje en blanco para detección automática del navegador)" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "Ubicación del _manual" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "Elija la ubicación del manual del usuario" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "Escriba una ruta local o un URL remoto:\n\n(Déjelo en blanco para la ubicación predeterminada)\n" #: ../src/settings.c:11623 msgid "_About" msgstr "_Acerca de" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "_Mostrar dispositivos" #: ../src/settings.c:11656 msgid "_Status" msgstr "E_stado" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "_Conteo" #: ../src/settings.c:11673 msgid "_Item" msgstr "_Elemento" #: ../src/settings.c:11679 msgid "_To" msgstr "_A" #: ../src/settings.c:11685 msgid "_Progress" msgstr "_Progreso" #: ../src/settings.c:11692 msgid "T_otal" msgstr "T_otal" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "_Iniciado" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "T_ranscurrido" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "_Velocidad actual" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "Velocidad _promedio" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "Reor_denar" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pa_usa" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "_Cola" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "_Reanudar" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "Most_rar salida" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "_Todas las tareas" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "Tipografía del gestor de tareas" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "copiando Archivo 1:15 65,2 M 30,2 M/s" #: ../src/settings.c:11789 msgid "_Columns" msgstr "_Columnas" #: ../src/settings.c:11794 msgid "_Popups" msgstr "Ventanas _emergentes" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "Ventanas emergentes para todas las tareas" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "Siempre enc_ima" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "So_bre otras" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "Todos los escritorios" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "_Opción para sobreescribir " #: ../src/settings.c:11829 msgid "_Error Option" msgstr "Opción para error" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "Tipografía para tareas emergentes (afecta tareas nuevas)" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "Salida de ejemplo 0123456789" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "Detenerse al primero" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "Detenerse en cualquiera" #: ../src/settings.c:11857 msgid "_Continue" msgstr "_Continuar" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "C_ola" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "Poner nuevas tareas en _cola" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "Cola _inteligente" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "_Pausar en error" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "Organizar los _iconos" #: ../src/settings.c:11892 msgid "By _Name" msgstr "Por _nombre" #: ../src/settings.c:11895 msgid "By _Type" msgstr "Por _tipo" #: ../src/settings.c:11898 msgid "By _Date" msgstr "Por _fecha" #: ../src/settings.c:11901 msgid "By _Size" msgstr "Por _tamaño" #: ../src/settings.c:11904 msgid "_Custom" msgstr "_Personalizado" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "_Ascendente" #: ../src/settings.c:11910 msgid "D_escending" msgstr "D_escendente" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "_Configuración del escritorio" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "Dispositi_vos" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "Carpeta de _escritorio" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "Tipografía del editor" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "Entrada de ejemplo 0123456789" #: ../src/settings.c:11964 msgid "Input Font" msgstr "Tipografía de entrada" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "E_jecutar" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "Edi_tar" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Editar como administ_rador" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "_Elegir..." #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "Manejadores de archivo..." #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "En pes_taña" #: ../src/settings.c:11993 msgid "N_ew" msgstr "Nu_eva" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "Pestaña _1" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "Pestaña _2" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "Pestaña _3" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "Pestaña _4" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "Pestaña _5" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "Pestaña _6" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "Pestaña _7" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "Pestaña _8" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "Pestaña _9" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "Pestaña 1_0" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "En _panel" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "_Extraer" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Extraer _en" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "_Listar contenidos" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "_Abrir con aplicación" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "_Crear subcarpeta" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "_Escribir acceso" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "Car_peta" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Marcador" #: ../src/settings.c:12104 msgid "_Archive" msgstr "_Comprimido" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "_Pestaña" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "Pestaña _aquí" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "Aplicación de Escritorio" #: ../src/settings.c:12122 msgid "_Go" msgstr "_Ir" #: ../src/settings.c:12127 msgid "_Back" msgstr "_Atrás" #: ../src/settings.c:12129 msgid "_Forward" msgstr "A_delante" #: ../src/settings.c:12131 msgid "_Up" msgstr "_Arriba" #: ../src/settings.c:12133 msgid "_Home" msgstr "Carpe_ta personal" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "Predeterm_inar" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "Ruta re_al" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "Fo_co" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "Barra de _ruta" #: ../src/settings.c:12149 msgid "_File List" msgstr "Lista de _archivos" #: ../src/settings.c:12151 msgid "_Tree" msgstr "Á_rbol" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "_Pestaña" #: ../src/settings.c:12164 msgid "_Close" msgstr "_Cerrar" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "_Estilo" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "C_olumnas" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "_Reordenar" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "_Selección elástica" #: ../src/settings.c:12202 msgid "_Sort" msgstr "_Ordenar" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "Tama_ño" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "_Tipo" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "_Permiso" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "Pr_opietario" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "_Modificado" #: ../src/settings.c:12220 msgid "_Descending" msgstr "_Descendente" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "Nat_ural" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "_Distinguir mayúsculas y minúsculas" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "Ca_rpetas primero" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "Arc_hivos primero" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "Me_zclados" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "O_cultos primero" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "Ocultos ú_ltimo" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "Re_frescar" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "Auto _buscar" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "_Ayuda de la barra de ruta" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Renombrar" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Eliminar" #: ../src/settings.c:12281 msgid "_Actions" msgstr "_Acciones" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "Copiar ca_rpeta madre" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "Pegar _enlace" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "Pegar destino" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "Pegar _como" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "Copiar _a" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "_Ubicación" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "Ú_ltima ubicación" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Pestaña" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "P_anel" #: ../src/settings.c:12346 msgid "_Move To" msgstr "_Mover a" #: ../src/settings.c:12350 msgid "_Location" msgstr "_Ubicación" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Pestaña" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "P_anel" #: ../src/settings.c:12383 msgid "_Select All" msgstr "_Seleccionar todos" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "_Deseleccionar todos" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Invertir la selección" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "S_eleccionar por patrón" #: ../src/settings.c:12392 msgid "R_oot" msgstr "A_dministrador" #: ../src/settings.c:12398 msgid "Move _To" msgstr "Mover _a" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "Prop_iedades" #: ../src/settings.c:12414 msgid "_Quick" msgstr "_Rápido" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "_Recursivo" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "Barra de _herramientas" #: ../src/settings.c:12526 msgid "T_ree" msgstr "Á_rbol" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "Barra _lateral" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "Detallado" #: ../src/settings.c:12550 msgid "_Icons" msgstr "_Iconos" #: ../src/settings.c:12555 msgid "_Compact" msgstr "_Compacto" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "Iconos grandes" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "Archivos _ocultos" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "Tipografía de la lista de archivos (panel %d)" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Ejemplo 1.1 M archivo -rwxr--r-- usuario:grupo 2011-01-01 01:11" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "Tipografía de los dispositivos (panel %d)" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [no hay medio] :EJEMPLO" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Tipografía de los marcadores (panel %d)" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "Nombre de Marcador de Ejemplo" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Tipografía de la barra de ruta (panel %d)" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "$ cat /home/usuario/ejemplo" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "Tipografía de las pestañas (panel %d)" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Tipografía de la barra de estado (panel %d)" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "12 G libres / 200 G 52 elementos" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "Seguir _directorio" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "Pestaña _nueva" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "Pulsación _sencilla" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "El directorio no existe\n\n%s" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "No se puede tener acceso %s\n\n%s" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Seleccionar por patrón" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "Introduzca patrón para seleccionar archivos y carpetas:\n\nSi su patrón contiene alguna mayúscula, la correspondencia distinguirá mayúsculas y minúsculas.\n\nEjemplo: *sp*e?m*\n\nSugerencia: también puede introducir '%% PATRÓN' en la barra de ruta." #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "Elija la ubicación" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "El destino no es válido" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "El destino y el origen son el mismo" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "destino no válido" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "Ocultar archivo" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "Los nombres de los archivos seleccionados se añadirán al archivo «.hidden» ubicado en esta carpeta, que los ocultará de SpaceFM. Puede que necesite actualizar la vista o reiniciar SpaceFM para que los archivos desaparezcan.\n\nPara revelar un archivo, abra el archivo .hidden en su editor de textos, elimine el nombre del archivo y actualice." #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "Error ocultando archivos" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "No hay archivos seleccionados" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "No se pudo montar el dispositivo" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "No se pudo desmontar el dispositivo" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "No se pudo expulsar el dispositivo" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "No se ha configurado udev" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Montar un recurso compartido de red requiere una compilación udev (--disable-hal) de SpaceFM." #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "URL inválida" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "La URL introducida no es válida." #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "No se encontró el manejador" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "Abrir URL %s" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "montar" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "desmontar" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "Montar %s" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "%s está montado actualmente. Debe desmontarlo antes de comprobarlo." #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "El dispositivo está montado" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Escriba la orden de comprobación del sistema de archivos:\n\nUse:\n\t%%%%v\tarchivo de dispositivo ( %s )\n\nEDITE CON CUIDADO Esta orden se ejecutará como administrador" #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "Comprobar como root" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "COMPROBAR COMO ROOT" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "Comprobar como root %s" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Escriba la orden de montaje:\n\nUso:\n\t%%%%v\tarchivo de dispositivo ( %s )\n\t%%%%o\topciones de montaje específicas para el volumen\n\t\t( %s )\n\nNota: fstab anula algunas opciones\n\nEDITE CON CUIDADO Esta orden se ejecuta como administrador" #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "Montar como root" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "MONTAR COMO ROOT" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "Montar como root %s" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Escriba la orden de desmontaje:\n\nUse:\n\t%%%%v\tarchivo de dispositivo ( %s )\n\nEDITE CON CUIDADO Esta orden se ejecuta como administrador" #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "Desmontar como root" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "DESMONTAR COMO ROOT" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "Desmontar como root %s" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "\n\nADEVERTENCIA: %s está montado. Puede que quiera o necesite desmontarlo antes de cambiar la etiqueta." #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "Introduzca la etiqueta de volumen para %s:%s" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "Cambiar etiqueta de volumen" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Escriba la orden para eliminar etiqueta del sistema de archivos «%s»:\n\nUse:\n\t%%%%v\tarchivo de dispositivo (%s)\n\t%%%%l\tnueva etiqueta («%s»)\n\nEDITE CON CUIDADO esta orden se ejecuta como administrador %s" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Escriba la orden para cambiar la etiqueta del sistema de archivos «%s»:\n\nUse:\n\t%%%%v\tarchivo de dispositivo ( %s )\n\t%%%%l\tetiqueta nueva ( \"%s\" )\n\nEDITE CON CUIDADO Esta orden se ejecuta como administrador %s" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "Cambiar etiqueta como root" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "ETIQUETAR COMO ROOT" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "Etiquetar %s como root" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "Desmontar %s" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "Eliminar %s" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "Remontar %s" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "Recargar %s" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "Sincronizar" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "%s está montado actualmente. Debe desmontarlo antes de que puede formatearlo." #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr " ( UN DISPOSITIVO ENTERO ) " #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Está a punto de borrar %s %s- TODOS LOS DATOS SE PERDERÁN. Sea paciente - esto puede tomar un rato y dd no retroalimenta.\n\nIntroduzca comando para sobreescribir un volumen entero /dev/%s:\n\nUso:\n\t%%%%v\tarchivo de dispositivo ( %s )\n\nEDITE CON CUIDADO Este comando se ejecuta como root" #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Está a punto de formatear %s %s- TODOS LOS DATOS SE PERDERÁN.\n\nIntroduzca el comando para formatear %s:\n\nUso:\n\t%%%%v\tarchivo de dispositivo ( %s )\n\nEDITE CON CUIDADO Este comando se ejecuta como root" #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "Formatear" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "AVISO DE PÉRDIDA DE DATOS" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "Formatear %s" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s está montado actualmente. Debe desmontarlo antes de poder restaurarlo." #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "Elija un respaldo para restaurar" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "Está a punto de sobreescribir el código de arranque MBR de %s usando %s.\n\nEste cambio puede evitar que su computadora arranque correctamente. Toda la información importante en el dispositivo entero debería ser respaldada primero.\n\nProceder? (Si pulsa Si, aún tendrá una oportunidad más de abortar antes de que el disco sea modificado.)" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "Restaurar MBR" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "Tipo desconocido" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "El archivo seleccionado no es un archivo de respaldo reconocido.\n\nlos nombre de archivo de FSArchiver contienen 'fsarchiver' o terminan en '.fsa'. los nombres de archivo de Partimage contienen 'partimage' o terminan en '.000'. los nombre de archivo MBR terminan en '.mbr', '.mbr.bin', o '-MBR-back' y tienen 512 bytes de tamaño. si está seguro de que este archivo es un respaldo válido, puede renombrarlo para evitar este error." #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Está a punto de restaurar %s %s usando %s - TODOS LOS DATOS SE PERDERÁN.\n\nIntroduzca el comando para restaurar %s:\n\nUso:\n\t%%%%v\tarchivo de dispositivo ( %s )\n\t%%%%s\tarchivo de respaldo ( %s )\n\nEDITE CON CUIDADO Este comando se ejecuta como root" #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "Restaurar" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "%s Restaurar %s" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "No se encontró el directorio %s. ¿Está udevil instalado?" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "Directorio ausente" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "Elija respaldo para la información" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "Archivo MBR" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "Basandose en su nombre, el archivo seleccionado parece ser un archivo de respaldo MBR. No hay otra información disponible para este tipo de respaldo." #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "Información de restauración" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "\n\nADVERTENCIA: %s está montado. De manera predeterminada, FSArchiver solo respaldará volúmenes montados como solo lectura. para respaldar un volumen de lectura-escritura, necesita añadir --allow-rw-mounted al comando. Vea 'man fsarchiver' para detalles." #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "%s está montado actualmente. Debe desmontarlo antes de que pueda crear un respaldo usando Partimage." #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "Guardar respaldo de %s" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "¿Sobreescribir?" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "El respaldo seleccionado ya existe. ¿Quiere sobreescribirlo?" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Escriba la orden de respaldo de %s:\n\nUse:\n\t%%%%v\tarchivo de dispositivo (%s)\n\t%%%%s\tarchivo de respaldo (%s)%s\n\nEDITE CON CUIDADO Esta orden se ejecuta como administrador" #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "Respaldar" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "%s Respaldar %s" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "Propiedades %s" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sDispositivo seleccionado actualmente: %s\nEtiqueta del volumen: %s\nId. del dispositivo: %s" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "_Expulsar" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Matar como otro" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "Poner en c_ola" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Rean_udar" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Detener como otro" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Continuar como otro" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Mover: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Copiar:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Papelera: " #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Eliminar:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Enlazar:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Cambiar:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Ejecutar:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Moviendo…" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Copiando…" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Moviendo a la papelera…" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Eliminando…" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Enlazando…" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Cambiando…" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Ejecutando…" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "De:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "A:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Progreso:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Estado:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "En pausa" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "En cola" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Preguntar" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Sobreescribir todo" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Ignorar todo" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Renombrar autom." #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Detener en el primer error" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Detener en cualquier error" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Continuar" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Detenido" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Errores" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Hecho" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s restante" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Error ( Detener al primero )" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Error ( Detener en cualquiera )" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Detenido con %d error" msgstr[1] "Detenido con %d errores" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Finalizado con %d error" msgstr[1] "Finalizado con %d errores" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Finalizado con error ( estado de salida %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Finalizado con error" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "En pausa (PID %d)" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Pausado ( estado de salida %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "En cola ( pid %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "En cola ( estado de salida %d )" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Ejecutandose con %d error" msgstr[1] "Ejecutandose con %d errores" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Ejecutándose... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Ejecutándose... ( estado de salida %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "estancado" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[SNIP - se han omitido de este registro algunos de los errores de arriba]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Moviendo de carpeta:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Vinculando de carpeta:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Copiando de carpeta:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Carpeta existe" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "La carpeta ya existe. Por favor renombre o seleccione una acción." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( vincular )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! sobreescribir archivo con enlace !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( mismo tamaño )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t(%lu bytes)" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "más grande" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "más pequeño" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( misma hora )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "más reciente" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "menos reciente" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "El nombre de archivo existe" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "El nombre de archivo ya existe. Renómbrelo o seleccione una acción." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Cambio de nombre requerido" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "En carpeta:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "_Sobreescribir" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Sobreescribir _todo" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pausar" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Omitir" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "_Omitir todo" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "A la carpeta:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Nombre de carpeta:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Renombrar" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "Renombrar a_utom." #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Re_nombrar autom. todo" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "Error al cargar el manejador" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "Crear archivador" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "Conf_igurar" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "Órdenes de co_mpresión:" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "Manejador de " #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "Error al guardar el manejador" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "copiar" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "Archivador" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "Extraer en" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "Cre_ar subcarpeta(s)" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "Hacer contenido _modificable por el usuario" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "No se encontró manejador/orden para el archivo:" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "Extraer %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nSe ha completado la acción." #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Orden:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Sistema de archivos" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "(no hay subcarpetas)" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "Quitar asociación de tipo de texto" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "NOTA: Cuando compile la lista de aplicaciones que aparecerán en el submenú abierto para un archivo de texto, SpaceFM incluira aplicaciones asociadas al tipo MIME (ej. text/html) Y aplicaciones asociadas con text/plain. si selecciona Remover en una aplicación, será removida como una aplicación asociada al tipo MIME (ej. text/html), pero NO será removida como una aplicación asociada para text/plain (a menos que el tipo MIME sea text/plain). entonces usar Remover podría no remover la aplicación del submenú abierto para este tipo, a menos que también lo remueva de text/plain." #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "El archivo «%s» no existe.\n\nSi copia «%s» a «%s» y lo edita, puede ajustar el comportamiento y la apariencia de esta aplicación para el usuario actual.\n\n¿Crear esta copia ahora?" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "Crear nuevo XML" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "_Establecer como predeterminado" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "_Añadir…" #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "nuevo" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "¿Quiere eliminar %d elemento seleccionado?" msgstr[1] "¿Quiere eliminar %d elementos seleccionados?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Confirme la eliminación" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "_Ruta: original" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Nombre: original" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "Nombre de _archivo: original" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "_Carpeta madre: original" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "_Ruta: existe como carpeta" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Nombre: existe como carpeta" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "Nombre de _archivo: existe como carpeta" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "_Carpeta madre:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "R_uta: existe como archivo" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Nombre: existe como archivo" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "Nombre de _archivo: existe como archivo" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "R_uta: * sobreescribir archivo existente" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Nombre: * sobreescribir archivo existente" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "Nombre de _archivo: * sobreescribir archivo existente" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "R_uta: carpeta madre existe como archivo" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "_Nombre:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "Nombre de _archivo:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "_Carpeta madre: carpeta madre existe como archivo" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "R_uta: * crear carpeta madre" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "_Carpeta madre: * crear carpeta madre" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "R_uta:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Mover" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Seleccionar destino del enlace" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Seleccione archivo de plantilla" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Seleccionar carpeta de plantilla" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Examinar" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Nombre de a_rchivo" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "Car_peta superior" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Insertar como" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "C_rear" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Crear nuevo" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Archivo" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Carpeta" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Enlace" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Mover" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "C_opiar" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Copiar" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Crear enlace a" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Destino del enlace" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Destino" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr "Como administrador" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Enlace" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "Archivo" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "Opc_iones" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Re_vertir" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& _Abrir" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Enlace-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Enlace-> %s (ausente)" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "_Destino:" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "_Plantilla:" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "Archivo vacío" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "Carpeta vacía" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "E_xtensión:" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "Mov_er" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "Cop_iar" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "Enla_ce" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "Dest_ino del enlace" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "Co_mo root" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "Arc_hivo" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "Ca_rpeta" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "_Enlace" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Nuevo" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "La ruta contiene saltos de linea" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "Crear Carpeta madre" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "La carpeta contenedora no existe. ¿Quiere crearla?" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Error creando carpeta madre\n\n%s" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "Error de Mkdir" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "Sobreescribir archivo existente" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "AVISO DE SOBREESCRITURA" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "La ruta del archivo ya existe. ¿sobreescribir archivo existente?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "Crear enlace%s" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "Falta la plantilla" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "La plantilla especificada no existe" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "Crear nuevo archivo%s" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "Crear nueva carpeta%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "Copiar%s" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "Error de destino de copia" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "Error determinando el destino del enlace" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "Error de enlace de destino" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "Mover%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "Ocurrió un error al renombrar el archivo\n\n%s" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Error de renombrado" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Carpeta nueva" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "Nombre de la carpeta nueva:" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Archivo nuevo" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "Nombre del archivo nuevo:" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "El nombre ya existe.\n\nEscriba uno nuevo:" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "No se puede crear el archivo nuevo" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "El destino de este enlace simbólico no existe o no tiene permiso para acceder a él:\n%s\n\nDestino: %s" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "Enlace roto" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Excluir item %d selecionado como administrador ?" msgstr[1] "¿Eliminar %d elementos seleccionados como root?" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "Confirme eliminar como root" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "ELIMINAR COMO ROOT" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "Eliminar como root" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "Mover como root" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "Copiar como root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s (%lu bytes)" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d carpeta" msgstr[1] "%d carpetas" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d archivo, %s" msgstr[1] "%d archivos, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d archivos" msgstr[1] "%d archivos" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "(archivos múltiples)" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "(tipos múltiples)" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "Elija..." #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "Nombre de Carpeta:" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "%s (%lu bytes)" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "1 archivo" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "_Nombre de Enlace:" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "(enlace roto)" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "(error de lectura de enlace)" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Calculando…" #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "Cambiar fecha de archivo" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Usuario no válido" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Grupo no válido" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "Además de la ruta de una carpeta o archivo, se pueden introducir comandos en la barra de ruta. Prefijos:\n\t$\tejecuta una tarea\n\t&\tejecuta y olvida\n\t+\tejecuta en la terminal\n\t!\tejecuta como root\nUso:\n\t%%F\tarchivos seleccionados o %%f primer archivo seleccionado\n\t%%N\tnombres de archivos seleccionados o %%n primer nombre de archivo seleccionado\n\t%%d\tdirectorio actual\n\t%%v\tdispositivo seleccionado (ej. /dev/sda1)\n\t%%m\tpunto de montaje de dispositivo (ej. /media/dvd); %%l etiqueta de dispositivo\n\t%%b\tmarcador seleccionado\n\t%%t\tdirectorio de tarea seleccionado; %%p pid de tarea\n\t%%a\tvalor de elemento de menú\n\t$fm_panel, $fm_tab, $fm_command, etc\n\nEjemplo: $ echo \"Directorio actual: %%d\"\nEjemplo: +! umount %%v" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "Manejadores de archivo" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "Manejadores de dispositivo" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "Manejadores de protocolo" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "Manejadores de archivo" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "Error: no se pudo cargar la orden (error interno)" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "Error: no se pudo guardar la orden (¿no se pudo obtener la ruta?)" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "Error al leer el archivo" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "Error: no se pudo guardar la orden (error interno)" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "Error al escribir en el archivo" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "Dispositivo" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "Protocolo" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "Manejador importado" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "(opcional)" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "(inhabilitado)" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "¿Eliminar el manejador seleccionado permanentemente?" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "¿Aplicar cambios?" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "¿Aplicar cambios al manejador actual?" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "Restaurar manejadores por defecto" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "Los manejadores por defecto faltantes serán restaurados.\n\n¿SOBRESCRIBIR también TODOS los manejadores por defecto?" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "Por favor introduzca un nombre de manejador válido." #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "Por favor introduzca un tipo MIME o patrón de ruta." #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "Las siguientes variables podrían estar en la orden de extracción:\n\n%%x: Comprimido a extraer" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "Las siguientes variables podrían estar en la orden de listado:\n\n%%x: Comprimido a listar" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "_Exportar" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "Importar _archivo" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "Importar _URL" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "Restaurar manejadores pre_determinados" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "Aña_dir" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "Co_mprimir:" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "_Montar:" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "Ex_traer:" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "Desmon_tar:" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "Li_star:" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "Propiedade_s:" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Ejecutar en una terminal" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "Ejecutar como tarea" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "Editar" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Elija una aplicación:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "No se encontró la orden" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "El directorio de destino «%1$s» está en el origen «%2$s»" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "Accediendo" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Eliminando" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Creando directorio" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Creando enlace" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Escribiendo" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Creando" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Renombrando" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "Instale /usr/bin/sha256sum para mejorar la seguridad cuando se ejecutan órdenes como administrador\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Configure una orden de terminal SU válida en Ver > Preferencias > Avanzado" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminal SU no disponible" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "Configure una orden gráfica SU válida en Ver > Preferencias > Avanzado" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "SU Gráfico no disponible" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "No se puede crear el directorio temporal" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Por favor establezca un programa de terminal válido en Ver|Preferencias|Avanzado" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "spacefm-auth no se encontró en la ruta - esto reduce su seguridad" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "Ocurrió un error al ejecutar «%s»\nVea la salida (ejecute spacefm en un terminal) para información de depuración" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "Error escribiendo archivo temporal" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "Tiempo de espera agotado calculando el tamaño total\n" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nError: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Volumen %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Unidad %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Unidad %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Disquete" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Unidad flash compacta" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Unidad de tarjeta de memoria" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Unidad de Smart media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Unidad SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Unidad Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Unidad Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Unidad de memoria extraíble" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Reproductor de música %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Cámara digital %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Unidad" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s externo" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disco CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Disco CD-R en blanco" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disco CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Disco CD-RW en blanco" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disco CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disco DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Disco DVD-RAM en blanco" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disco DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Disco DVD-R en blanco" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disco DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Disco DVD-RW en blanco" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disco DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Disco DVD+R en blanco" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disco DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Disco DVD+RW en blanco" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disco DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Disco de sonido" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Volumen extraíble %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volumen" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Fallo al conectar al demonio HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "El dispositivo dado «%s» no es un volumen o unidad" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "No se encontró el dispositivo «%s» en la tabla de dispositivos del sistema de archivos" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "No tiene privilegios para montar el volumen «%s»" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "No tiene privilegios para desmontar el volumen «%s»" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "No tiene privilegios para expulsar el volumen «%s»" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Opción de montaje no válida al intentar montar el volumen \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "El volumen «%s» usa el sistema de archivos %s, que no es compatible con su sistema" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Hay una aplicación evitando el desmontaje del volumen «%s»" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "El volumen «%s» no está montado" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Error %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "El volumen «%s» probablemente se montó manualmente en la línea de órdenes" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "No se pueden montar los discos en blanco. Use una aplicación de grabación de CD para grabar sonido o datos en el disco" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "No se pueden montar los CD de sonido. Use un reproductor musical para escuchar las pistas de sonido" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr ":disquete" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr ":óptico" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "[en blanco]" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "[sonido]" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "[no hay medios]" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "Manejador de dispositivo seleccionado" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "Manejador de protocolo seleccionado" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "( no es un dispositivo udev )" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "\nEjecución automática: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "\nAbrir pestaña automáticamente para %s in %s\n" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "\nDesmontaje automático: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "\nMontaje automático: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Desmontar-Si-Montado: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "No tiene permisos para editar el contenido del archivo %s\n\nConsidere copiar el archivo al escritorio o hacer un enlace a una copia situada en ~/.local/share/applications/" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "No se pudo renombrar" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "Introduzca el nombre del nuevo elemento de escritorio:\n\nCambiar el nombre de este elemento de escritorio requiere modificar los contenidos del archivo \"desktop\" %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Cambiar nombre del elemento de escritorio" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Un error ocurrió al renombrar este elemento de escritorio." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Abrir _carpeta contenedora" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Seleccione una carpeta" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Examinar…" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Volúmenes locales" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Última modificación" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Escriba la línea de órdenes bash o programa(s):\n\nUse:\n\t%F\tarchivos selec. o %f primer archivo selec.\n\t%N\tnombres de archivo selec. o %n primer nombre selec.\n\t%d\tdirectorio actual\n\t%v\tdispositivo seleccionado (p.ej.: /dev/sda1)\n\t%m\tpunto de montaje (p.ej.: /media/dvd); %l etiqueta del disp.\n\t%b\tmarcador seleccionado\n\t%t\tdir. de tarea seleccionado; %p PID de tarea\n\t%a\tvalor de elemento del menú\n\t$fm_panel, $fm_tab, $fm_command, etc." #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "Tipo MIME" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Nombre de archivo" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Directorio" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Acceso a escribir del Directorio " #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "El archivo es texto" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "El archivo es un directorio" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "El archivo es un enlace" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "El usuario es administrador" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Multiples seleccionados" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "El portapapeles tiene archivos" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "El portapapeles tiene texto" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Panel actual" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Conteo de Paneles" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Pestaña actual" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Conteo de Pestañas" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Marcador" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Punto de montaje de dispositivo" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Etiqueta de dispositivo" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Sistema de ficheros del dispositivo" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI del dispositivo" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Propiedades del dispositivo" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Conteo de tareas" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Directorio de Tareas" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Tipo de Tarea" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Nombre de la tarea" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Directorio del Panel 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Directorio del Panel 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Directorio del Panel 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Directorio del Panel 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Panel 1 tiene Sel" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Panel 2 tiene Sel" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Panel 3 tiene Sel" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Panel 4 tiene Sel" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Dispositivo del Panel 1" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Dispositivo del Panel 2" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Dispositivo del Panel 3" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Dispositivo del Panel 4" #: ../src/item-prop.c:205 msgid "equals" msgstr "es igual a" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "no es igual a" #: ../src/item-prop.c:207 msgid "contains" msgstr "contiene" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "no contiene" #: ../src/item-prop.c:209 msgid "begins with" msgstr "comienza con" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "no comienza con" #: ../src/item-prop.c:211 msgid "ends with" msgstr "termina en" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "no termina en" #: ../src/item-prop.c:213 msgid "is less than" msgstr "es menor que" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "es mayor que" #: ../src/item-prop.c:215 msgid "matches" msgstr "coincide" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "no coincide" #: ../src/item-prop.c:222 msgid "Application" msgstr "Aplicación" #: ../src/item-prop.c:223 msgid "Command" msgstr "Orden" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Actual: mostrar" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Actual: ocultar" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Actual: desactivar" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "Actual: habilitar" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "¿Guardar el script modificado?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "¿Quiere guardar los cambios en la secuencia de órdenes?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "¿Sobreescribir el script?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "Se ha modificado la secuencia de órdenes en el disco.\n\n¿Quiere sobreescribirlo?" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "Orden Dir" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "(no hay archivos)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "La línea de órdenes no comienza con un archivo de texto (script) para abrir, o no se encontró el script en $PATH." #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Destinos: (una lista de rutas o URL separados por punto y coma)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Destino: (un archivo .desktop o ejecutable)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Elija el ejecutable" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "Línea de órdenes demasiado larga" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Propiedades del elemento de la barra de herramientas" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Propiedades del elemento del menú" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Elemento de la _barra de herramientas" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Elemento del _menú" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Tipo:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Nombre:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Tecla:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Icono:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Con_texto" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "A_plicar" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "corresponde a cualquier regla:" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "corresponde a todas las reglas:" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "no corresponde a ninguna regla:" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "no coincide con todas las reglas:" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Mostrar" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Activar" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Ocultar" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Desactivar" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "contexto de elemento si" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "Editar la regla" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Valor:" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1962 msgid "none" msgstr "ninguno" #: ../src/item-prop.c:1964 msgid "files" msgstr "archivos" #: ../src/item-prop.c:1966 msgid "devices" msgstr "dispositivos" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "_Ignorar contexto/mostrar todo (ajuste global)" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "Or_den" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "_Línea de órdenes" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Script" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Abrir en _editor" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "Edito_r administrativo" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "Opcio_nes" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "Opciones de ejecución" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "Tarea emergente" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "E_rror emergente" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "_Salida emergente" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "Salida de desplazamiento" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "Mantener la terminal abierta" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "Ejecutar como usuario:" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "(déjelo en blanco para el usuario actual)" #: ../src/item-prop.c:2184 msgid "Style" msgstr "Estilo" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "Normal" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "Casilla de verificación" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "Confirmación" #: ../src/item-prop.c:2204 msgid "Input" msgstr "Entrada" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "Confirmación/mensaje de entrada:" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Abrir en el navegador:" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "Directorio de datos" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "Carpeta de complementos" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Submenú" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "Separador" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "Orden incorporada" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "Icono" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "Icono a dibujar." #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "tamaño" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "El tamaño del icono a dibujar en píxeles." #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Animaciones" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Iconos de aplicación" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Iconos de menú" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Iconos de dispositivo" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "Emblemas" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "Denominaciones internacionales" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "Iconos de tipo de archivo" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "Iconos de ubicación" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "Iconos de estado" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Todos los iconos" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "Archivos de imagen" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "Seleccionar el _icono desde:" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "_Buscar icono:" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "Limpiar campo de búsqueda" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Vista previa" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "No hay archivos seleccionados" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "Dispositivo de bloque" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "FIFO" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "Socket" spacefm-1.0.5/po/et.po000066400000000000000000005011721264770501700145400ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Mattias Põldaru , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Estonian (http://www.transifex.com/projects/p/spacefm/" "language/et/)\n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Mattias Põldaru" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Lehitse" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Terminali aknas käivitamine" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Faili omadused" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Omanik:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupp:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Omanik:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupp:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lugemine" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Kirjutamine" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Käivitamine" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Kleepuv" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "Õ_igused" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Baiti" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Suvaline" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Päeva jooksul" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Nädala jooksul" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Kuu jooksul" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Aasta jooksul" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Määratud kuupäevade vahemikus" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Failide otsimine" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Tõstutundlik" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Videofailid (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Helifailid (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Pildifailid (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Lihttekstifailid" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Kõik failid ja kataloogid" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Faili tüübid, mida otsida" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Otsitavad kohad" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Üldine" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Fail sisaldab:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Regulaaravaldiste kasutamine" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Faili sisu" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Sisu" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Suurem kui:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Väiksem kui:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Faili suurus" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Viimati muudetud" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Suurus & kuupäev" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Otsingutulemused:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Otsi uuesti" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Eelistused" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Järjehoidjad:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "Ü_ldine" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Taustapilt:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Palun vali pildifail" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Kuvamine:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Taust:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekst:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Vari:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Töölaud" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Andmeruumide haldus" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminalirakendus:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Laiendatud" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Faili ei eksisteeri!" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Viga" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Viga: FAM'iga pole võimalik ühendust luua.\n" "\n" "Kas \"FAM\" või \"Gamin\" on paigaldatud ja töötab?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Pole teada, kuidas faili avada" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Faili pole võimalik avada:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fail" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Vaade" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Abi" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Kataloog" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nimi" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Suurus" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tüüp" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Õigused" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Tagasi" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Edasi" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Värskenda" #: ../src/settings.c:160 msgid "New Tab" msgstr "Uus sakk" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Kataloog" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Järjehoidjad" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Omadused" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Redigeerimine" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Ava" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Uus _aken" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Tööriistad" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_Käivita" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Kõik failid ja kataloogid" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "_Kataloogi" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Järjehoidjad" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Liikumine" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Nimeta ümber" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Kustuta" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Pööra valik" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikoonid" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Seadme haakimine pole võimalik" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Seadme lahtihaakimine pole võimalik" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Seadme väljastamine pole võimalik" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Väljasta" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Liiguta:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopeeri:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Kustuta:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Link:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Liigutamine..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopeerimine..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Kustutamine..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Linkimine..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Kuhu:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Kirjuta kõik üle" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Jäta kõik vahele" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Lõpetatud!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Käsk:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Failisüsteem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Kataloog" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Uus kataloog" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Uus fail" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Arvutamine..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Sobimatu kasutaja" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Sobimatu grupp" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Kõik failid ja kataloogid" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Käsku ei leitud" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Sihkaust \"%1$s\" on lähtekataloogi \"%2$s\" sees" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s andmekandja" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s ketas" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s ketas" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Flopilugeja" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash ajam" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Mälupulga ajam" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media kaart" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC-kaart" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip-ketas" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz-ketas" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Mälupulk" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s pleier" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s digikaamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Ajam" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Väline %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-plaat" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Tühi CD-R-plaat" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R-plaat" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Tühi CD-RW-plaat" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW-plaat" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-plaat" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Tühi DVD-RAM-plaat" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM-plaat" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Tühi DVD-R-plaat" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R-plaat" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tühi DVD-RW-plaat" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW-plaat" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tühi DVD+R-plaat" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R-plaat" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tühi DVD+RW-plaat" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW-plaat" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audioplaat" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s eemaldatav andmekandja" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Andmekandja" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "HAL deemoniga ühendumine nurjus: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Seade \"%s\" pole andmekandja ega ketas" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Seadet \"%s\" ei leitud failisüsteemide tabelist" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Sul puuduvad õigused andmeruumi \"%s\" haakimiseks" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Sul puuduvad õigused andmeruumi \"%s\" lahtihaakimiseks" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Sul puuduvad õigused andmeruumi \"%s\" väljastamiseks" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Sobimatu haakimisvalik andmeruumi \"%s\" haakimise katsel" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Andmeruum \"%s\" kasutab %s failisüsteemi, mida sinu süsteem ei toeta" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Rakendus takistab andmeruumi \"%s\" lahtihaakimist" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Andmeruum \"%s\" pole haagitud" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Viga %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Andmeruum \"%s\" võis olla haagitud käsurealt" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Tühju plaate ei saa külge haakida, audio- või andmeplaatide kirjutamiseks " "kasuta CD kirjutamise rakendust" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Audioplaate ei saa haakida, audioradade kuulamiseks kasuta muusikapleierit" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Ava _kataloog" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Vali kataloog" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Lehitse..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Viimati muudetud" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Käsku ei leitud" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/eu.po000066400000000000000000004752121264770501700145460ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Inko Illarramendi Arancibia , 2008 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Basque (http://www.transifex.com/projects/p/spacefm/language/" "eu/)\n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Inko Illarramendi , 2008" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Arakatu" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Terminalean Irekia" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Fitxategiaren Propietateak" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Irakurri" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Idatzi" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Exekutatu" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "UID ezarri" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "GID ezarri" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sticky" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Baimenak" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Laster-markak:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Orokorra" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Atzeko Irudia:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Mesedez, aukeratu irudi baten izena" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Mahaigaina" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminala:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Fitxategia ez da existitzen" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Ez da fitxategia irekitzeko modurik ezagutzen" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Ezinezkoa fitxategia irekitzea:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fitxategia" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Ikusi" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Laguntza" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Izena" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Tamaina" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Mota" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Baimena" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Atzera" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Aurrera" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Eguneratu" #: ../src/settings.c:160 msgid "New Tab" msgstr "Fitxa Berria" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Karpeta" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "Laster-_Markak" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Propietateak" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Editatu" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Ireki" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "_Leiho Berria" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Tresnak" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "E_xekutatu" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Erauzi _Hona..." #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "Laster-_Markak" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Joan" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "Berr_izendatu" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Ezabatu" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "Hautapena _Alderantzikatu" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Ezin izan da gailua muntatu" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Ezin izan da gailua desmuntatu" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Ezin izan da gailua atera" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Atera" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Mugitu:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopiatu:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Ezabatu:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Esteka:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Mugitzen..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopiatzen..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Ezabatzen..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Estekatzen..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Nora:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Gain-idatzi Dena" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Saltatu Dena" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Burututa!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Komandoa:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Fitxategi Sistema" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Karpeta Berria" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Fitxategi Berria" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Kalkulatzen..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Erabiltzaile Okerra" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Talde Okerra" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Komandoa ez da aurkitu" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "\"%1$s\" helburu direktorioa \"%2$s\" jatorrian dago" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Komandoa ez da aurkitu" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/fa.po000066400000000000000000004742561264770501700145320ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # royaniva , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Persian (http://www.transifex.com/projects/p/spacefm/language/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM Open Folder" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "توقف" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "طریقه استفاده:" #: ../src/main.c:679 msgid "Example:" msgstr "به عنوان مثال:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "به عنوان مثال" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "خطا" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "آدرس پلاگین را وارد کنید" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "بازنویسی پلاگین؟" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "خطا در ایجاد دایرکتوری موقت" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "امکان ایجاد دایرکتوری موقت نیست" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "ذخیره کردن خطای جلسه" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "باز کردن پنجره ریشه" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "ترمینال در دسترس نیست" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "باز کردن ترمینال" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "دستور_ جدید" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_فایل" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_نمایش" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "_نشانک ها" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "_افزونه" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "_تنظیمات" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_کمک" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "خطا در spacefm" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "پنهان" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "وضعیت" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "فولدر" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "دوباره مرتب ستون راهنما" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "متوقف شد" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "در صف" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "نام" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "اندازه" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "نوع" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "فولدر" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "پوشه را انتخاب کنید" #: ../src/find-files.c:825 msgid "Browse..." msgstr "جستجو ..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/fi.po000066400000000000000000005012421264770501700145240ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Elias Julkunen , 2008 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Finnish (http://www.transifex.com/projects/p/spacefm/language/" "fi/)\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Elias Julkunen " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Selaa" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Avattu päätteessä" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Tiedoston ominaisuudet" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Omistaja:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Ryhmä:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Omistaja:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Ryhmä:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lue" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Kirjoita" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Suorita" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Aseta UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Aseta GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Tahmea" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Oikeudet" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Etsi tiedostoja" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Kirjainkoko merkitsee" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Videotiedostot (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Äänitiedostot (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Kuvatiedostot (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Muotoilemattomat tekstitiedostot" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Kaikki tiedostot ja kansiot" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Etsittävät tiedostotyypit" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Etsittävät sijainnit" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Yleiset" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Tiedosto sisältää:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Käytä säännöllistä lauseketta" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Tiedoston sisältö" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Sisältö" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Suurempi kuin:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Pienempi kuin:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Tiedoston koko" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Viimeksi muokattu" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Koko ja päiväys" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Haun tulokset:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Etsi uudelleen" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Asetukset" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Kirjanmerkit:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Yleiset" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Taustakuva:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Valitse kuvatiedosto" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Tila:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Taustaväri:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Teksti:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Varjo:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Työpöytä" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Taltioiden hallinta" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Pääte:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Lisäasetukset" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Tiedostoa ei ole" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Virhe" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Virhe: yhteyttä FAMiin ei voida muodostaa.\n" "\n" "Onko FAM tai Gamin asennettuna ja käynnissä?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Tiedoston avaustapaa ei tiedetä" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Tiedostoa ei voitu avata:\n" "”%s”\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Tiedosto" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Näytä" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Ohje" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Kansio" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nimi" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Koko" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tyyppi" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Oikeudet" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Edellinen" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Seuraava" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Päivitä" #: ../src/settings.c:160 msgid "New Tab" msgstr "Uusi välilehti" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Kansio" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Kirjanmerkit" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Ominaisuudet" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Muokkaa" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Avaa" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Uusi _ikkuna" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Työkalut" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_Suorita" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Kaikki tiedostot ja kansiot" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Pura _kansioon" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Kirjanmerkit" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Siirry" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Nimeä uudelleen" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Poista" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Käänteinen valinta" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Kuvakkeet" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Laitetta ei voida liittää" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Laitetta ei voida irrottaa" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Laitetta ei voida poistaa asemasta" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Poista asemasta" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Siirrä:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopioi:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Poista:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Linkki:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Siirretään..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopioidaan..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Poistetaan..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Linkitetään..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Kansioon:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Korvaa kaikki" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Ohita kaikki" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Valmis!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Komento:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Tiedostojärjestelmä" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Kansio" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Uusi kansio:" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Uusi tiedosto" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Lasketaan..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Virheellinen käyttäjä" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Virheellinen ryhmä" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Kaikki tiedostot ja kansiot" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Komentoa ei löytynyt" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Kohdehakemisto ”%1$s” sisältyy lähteeseen ”%2$s”" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s levy" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s-asema" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s-asema" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Levykeasema" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash -asema" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "USB-muisti" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC-asema" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip-asema" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Muistitikku" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s musiikkisoitin" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s digikamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Asema" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Ulkoinen %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM-levy" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Tyhjä CD-R-levy" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R-levy" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Tyhjä CD-RW-levy" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW-levy" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM-levy" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Tyhjä DVD-RAM-levy" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM-levy" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Tyhjä DVD-R-levy" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R-levy" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tyhjä DVD-RW -levy" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW -levy" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tyhjä DVD+R-levy" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R-levy" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tyhjä DVD+RW-levy" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW-levy" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Äänilevy" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s irrotettava levy" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Levy" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "HAL-taustaohjelmaan ei voitu yhdistää: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Annettu laite ”%s” ei ole levy tai asema" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Laitetta ”%s” ei löydy tiedostojärjestelmän laitetaulusta" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Sinulla ei ole oikeuksia liittää levyä ”%s”" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Sinulla ei ole oikeuksia irrottaa levyä ”%s”" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Sinulla ei ole oikeuksia poistaa levyä ”%s” asemasta" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Virheellinen liitosvalinta yritettäessä liittää taltiota ”%s”" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Levy ”%s” käyttää tiedostojärjestelmää %s, jota järjestelmäsi ei tue" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Sovellus estää levyn ”%s” irrottamisen" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Levyä ”%s” ei ole liitetty" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Virhe %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Levy ”%s” liitettiin ehkä käsin komentoriviltä" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Tyhjiä levyjä ei voi liittää: käytä CD-kirjoitussovellusta siirtääksesi " "ääntä tai tietoja levylle" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Ääni-CD:itä ei voi liittää, käytä musiikkisoittimia kappaleiden toistoon." #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Valitse kansio" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Selaa..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Viimeksi muokattu" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Komentoa ei löytynyt" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/fr.po000066400000000000000000007076311264770501700145470ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Ersplus - Fraide , 2006 # Héonium - Christophe CRIER, 2006 # 5moufl , 2015 # Mathieu , 2015 # Robert-André Mauchin , 2008 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-13 13:46+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: French (http://www.transifex.com/ignorantguru/spacefm/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Ouvrir un dossier avec SpaceFM" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Ouvrir un dossier" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Ouvrir un dossier avec SpaceFM" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Rechercher des fichiers et des dossiers" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Gestionnaire de fichiers" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Parcourir le système de fichiers" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "par IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Copyright (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "SpaceFM - Copyright (C) 2015 GPL3+\n\nCe programme est un logiciel libre; vous pouvez le redistribuer et/ou le modifier selon les termes de la licence GNU General Public License publiée par la Free Software Foundation; soit la version 3 de la licence, ou (au choix) toute version ultérieure.\n\nUTILISEZ A VOS PROPRES RISQUES. Ce programme est distribué dans l'espoir qu'il vous soit utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION A UN USAGE PARTICULIER. Voir la GNU General Public License pour plus de détails.\n\nLes bibliothèques et le code source utilisés dans ce logiciel sont soumis aux termes des licences GNU General Public License et GNU Lesser General Public License version 3 (LGPL3).\n\nVous devriez avoir reçu une copie de la GNU General Public License et de la GNU Lesser General Public License avec ce programme; si ce n'est pas le cas, veuillez écrire à la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "Icônes et logo de SpaceFM par Goran Simovic\n\nDes icônes additionnelles proviennent du thème d'icônes du projet Tango Desktop" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Ersplus - Fraide\nHéonium - Christophe CRIER\nFrédéric Béziès\nCilyan Olowen\nRobert-André Mauchin\nJean-Philippe Fleury" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Choisir une application" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Veuillez choisir une application ou saisir une commande :" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Type de fichier :" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "Applications _associées" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "_Toutes les applications" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Commande :" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Parcourir" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Ouvert dans un terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "_Définir comme étant par défaut pour ce type de fichier" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Propriétés du fichier" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Nom de _fichier :" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Emplacement :" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Cible du _lien :" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Type :" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Ouvrir ave_c :" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Taille totale :" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Taille sur le disque :" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Nombre :" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "Dernière _modification :" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "Dernier _accès :" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Information" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Propriétaire :" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Groupe :" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Propriétaire :" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Groupe :" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Autres :" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lecture" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Écriture" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Exécution" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Forcer l'UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Forcer le GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sticky" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Récursif (appliquer les modifications aux dossiers et à leur contenu)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "Permission_s" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "octets" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "ko" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "Mo" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "Go" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Tout" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Dans la dernière journée" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Dans la dernière semaine" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Dans le dernier mois" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Dans la dernière année" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Entre deux dates sélectionnées" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Rechercher des fichiers" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Nom de fichier :" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Sensible à la casse" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Fichiers vidéo (avi, mpg...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Fichiers audio (mp3, ogg...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Fichiers image (jpg, png...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Fichiers texte brut" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Tous les fichiers et dossiers" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Types de fichier à rechercher" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Rechercher dans les sous-dossiers" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Rechercher les fichiers cachés" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Emplacements où rechercher" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Général" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Le fichier contient :" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Utiliser des expressions rationnelles" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Contenu du fichier" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Contenu" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Plus grand que :" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Plus petit que :" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Taille du fichier" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Dernière modification" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Taille et date" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Résultats de la recherche :" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Effectuer une autre recherche" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Aller au dossier" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Ouvrir dans l'onglet actif" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Ouvrir dans un nouvel onglet" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Étirer" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Ajuster" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centrer" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Mosaïque" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Zoom" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automatique" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Copie (Ctrl+Glisser)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Déplacement (Maj+Glisser)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Lien (Ctrl+Maj+Glisser)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Préférences" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Petites icônes :" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Grandes icônes :" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Icônes de la barre d'outils :" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Icônes" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Ouverture des fichiers par simple clic" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Signets :" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Afficher les vignettes" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Taille maximale des images pour les vignettes :" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Liste de fichiers" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Général" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Toujours afficher la barre d'onglets" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Cacher les boutons de fermeture d'onglet" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Confirmer la suppression" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Lancer les exécutables lors du clic" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Taille des fichiers au format SI (1 ko = 1000 o) (redémarrage nécessaire)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Afficher l'indicateur de couleur pour l'utilisateur root" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Action par défaut lors du glisser-déposer :" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "_Interface" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Fond d'écran :" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Veuillez sélectionner un fichier image" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Mode :" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Arrière-plan :" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Texte :" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Ombre :" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Police de caractères :" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Haut :" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Gauche :" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Droite :" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Bas :" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Remplissage :" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Marges" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Un clic droit affiche le menu du gestionnaire de fenêtres" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Ouvrir les dossiers avec l'application MIME associée" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Bureau" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Gestion des _volumes" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal :" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal SU :" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Mode graphique SU :" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Encodage des noms de fichier :" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Éditeur :" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Lancer l'éditeur dans un terminal" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Éditeur root :" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Lancer l'éditeur root dans un terminal" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Format de date :" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(actualiser l'affichage)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Affichage de la date" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avancé" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Trop de colonnes (> %d) dans %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "erreur lors de la lecture du fichier « %s » : %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "le contenu du fichier « %s » n'est pas dans un codage UTF-8 valide" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "Impossible de définir l'élément manquant « %s »" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "le fichier « %s » n'est pas un fichier régulier" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "Le redimensionnement dynamique requiert une largeur et une hauteur > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "La commande interne « %s » requiert un argument" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "l'élément « %s » n'existe pas" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "la commande interne « press » n'est pas valide pour « %s », qui n'est pas un bouton" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "les commandes internes « select » et « unselect » ne sont pas valides pour « %s »" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "erreur lors de l'écriture du fichier « %s » : %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "« %s » n'est pas une commande interne" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "erreur lors de la création du fichier « %s » : %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "les données du tube « %s » ne sont pas dans un codage UTF-8 valide" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[TRONCATION - la sortie supplémentaire ci-dessus a été enlevée de ce journal]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "(le contenu du fichier n'est pas dans un codage UTF-8 valide)" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "le préfixe « %s » ne constitue pas un nom de variable valide" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Pause" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "le fichier « %s » n'est pas un fichier régulier ni un tube" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "SpaceFM Dialog crée une boîte de dialogue personnalisée GTK avec les\néléments d'interface utilisateur spécifiés en ligne de commande, dispose\nde commandes internes et externes pouvant modifier les éléments durant\nl'exécution et retourne des résultats évaluables et analysables.\n" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "Usage :\n" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ÉLÉMENT [OPTIONS] [ARGUMENTS...]} ...\n" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Exemple :\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Un message\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "\nÉLÉMENT: OPTIONS & ARGUMENTS:\n" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nLes arguments suivants peuvent être utilisés comme indiqué ci-dessus :\n" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr " STOCK %s\n" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ICON Le nom d'une icône, ex. : gtk-open\n" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr " @FILE Un fichier texte dans lequel lire une valeur. Dans certaines\n situations, ce fichier est surveillé, donc écrire une nouvelle\n valeur dans le fichier mettra à jour l'élément. Dans d'autres\n situations, le fichier spécifie une valeur initiale.\n" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr " SAVEFILE Le contenu d'un visualiseur ou d'un éditeur est enregistré dans ce fichier.\n" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr " COMMAND Une commande interne ou un exécutable suivi d'arguments.\n Séparer plusieurs commandes à l'aide de l'argument « -- ».\n Les substitutions suivantes peuvent être utilisées dans COMMAND :\n %%n Nom de l'élément actuel\n %%v Valeur de l'élément actuel\n %%NAME Valeur de l'élément nommé NAME (ex. : %%input1)\n %%(command) Sortie (stdout) d'une ligne de commande Bash\n %%%% %%\n" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr " LABEL Les séquences d'échappement suivantes dans LABEL sont\n interprétées :\n \\n nouvelle ligne\n \\t tabulation\n \\\" \"\n \\\\ \\\n Pour les éléments « --label » seulement, si le premier caractère\n de LABEL est un tilde (~), le balisage Pango peut être utilisé.\n Exemple :\n --label '~Texte normal. Texte en gras.'\n" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "\nEn plus des OPTIONS listées ci-dessus, « --compact » et « --expand » peuvent\nêtre ajoutées à n'importe quel élément. Aussi, l'option « --font » peut être\nutilisée avec la plupart des types d'élément pour modifier la police de\ncaractètes et la taille de police d'un élément. Exemple :\n --input --font \"Times New Roman 16\" \"Texte par défaut\"\n" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "\nCOMMANDES INTERNES :\n" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "\nEXEMPLE DE COMMANDE :\n" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr " spacefm -g --label \"Saisir du texte et appuyer sur « Entrée » :\" \\\n --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n --label \\\n --button ok\n" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "\nEXEMPLE DE SCRIPT :\n" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nPour la documentation complète et des exemples, voir le manuel d'utilisation\nde SpaceFM :\n" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm : l'argument n'a pas un codage UTF-8 valide\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "option de boîte de dialogue invalide" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Définir le titre de la fenêtre" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Définir l'icône de la fenêtre" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Ajoute une étiquette et spécifie le texte" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Ajoute un bouton prédéfini (STOCK) ou un bouton avec étiquette\n (LABEL) et icône (ICON)" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Ajoute et positionne librement un bouton prédéfini (STOCK) ou\n un bouton avec étiquette (LABEL) et icône (ICON)" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Ajoute un champ de saisie" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Ajoute un champ de saisie multiligne" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Ajoute un champ de saisie de mot de passe" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Ajoute un visualiseur de fichier ou de tube" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Ajoute un éditeur de texte multiligne" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Ajoute une case à cocher" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Ajoute un bouton radio" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Ajoute une icône" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Ajoute une image" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Ajoute une barre de progression" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Ajoute une ligne de séparation horizontale" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Ajoute une ligne de séparation verticale" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Ferme automatiquement la fenêtre après DELAY secondes" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Ajoute une liste déroulante (COMMAND se lance lors du clic)" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Ajoute une boîte combinée (COMMAND se lance lors de l'appui de\n la touche « Entrée »)" #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Ajoute une zone de liste (COMMAND se lance lors du double clic)" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Ajoute une zone de liste permettant une sélection multiple" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Options : [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Définie le préfixe des noms de variable (« dialog » par défaut)" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Définie la largeur, la hauteur et la marge interne minimums\n (-1 = aucun changement)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Ajoute les widgets qui suivent dans une boîte horizontale" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Ajoute les widgets qui suivent dans une boîte verticale" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Ferme la boîte actuelle de widgets" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Lance COMMAND quand une combinaison de touches est effectuée" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "Lance COMMAND lors d'un clic ou d'un focus sur un élément" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "Lance COMMAND lors d'une tentative de fermeture d'une fenêtre" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Lit les commandes à partir d'un fichier ou d'un tube (COMMAND\n sert à initialiser)" #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "Aucune opération - ne fait rien sauf évaluer les arguments" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "Ferme la boîte de dialogue" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "Appuie sur le bouton nommé BUTTON-NAME" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "Définie l'élément NAME avec la valeur VALUE" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Sélectionne l'item VALUE (ou le premier item ou tous) de\n l'élément NAME" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Désélectionne l'item VALUE (ou tous les items) de l'élément NAME" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "Active le focus sur l'élément NAME ou met au premier plan la fenêtre de dialogue" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "Cache l'élément NAME" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "Affiche l'élément NAME s'il a été caché précédemment" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "Désactive l'élément NAME" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "Active l'élément NAME s'il a été désactivé précédemment" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "Enregistre les fichiers et écrit la sortie de la source dans FILE" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Ouvre les dossiers dans un nouvel onglet de la dernière fenêtre utilisée (par défaut)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Ouvre le dossier dans l'onglet actuel de la dernière fenêtre utilisée" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Ne pas charger les onglets enregistrés" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Ouvre les dossiers dans une nouvelle fenêtre" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Ouvre les dossiers dans le panneau « P » (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Lance le service de gestion de bureau" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Affiche les paramètres du bureau" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Affiche les préférences (« N » correspond au numéro d'onglet des préférences)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Est lancé en tant que service" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Utilise « DIR » comme dossier de configuration" #: ../src/main.c:138 msgid "Show File Search" msgstr "Affiche la recherche de fichiers" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Définit le fond d'écran comme étant FICHIER" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Affiche une boîte de dialogue personnalisée (voir « -g help »)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Envoyer une commande de connecteur (voir « -s help »)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Aucune action - pour compatibilité seulement" #: ../src/main.c:151 msgid "Show version information" msgstr "Afficher les informations de version" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DOSSIER | FICHIER | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Option « --config-dir » ignorée - une instance est déjà en cours" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "L'option « --config-dir » contient des caractères invalides - démarrage impossible" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm : « --socket-cmd » requiert un argument\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm : impossible de créer le connecteur\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm : impossible d'établir une liaison avec le connecteur (il n'est\npeut-être pas actif, ou « DISPLAY » n'est pas définie)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm : réponse invalide du connecteur\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "Les commandes de connecteur de SpaceFM permettent l'utilistion de processus\nexternes (comme des scripts de commande) pour lire et définir des valeurs\nde propriétés de l'interface graphique ainsi que pour exécuter des méthodes\ndans des fenêtres en cours de SpaceFM. Pour la gestion des événements, voir\n« Affichage|Événements » dans la barre de menu principale." #: ../src/main.c:677 msgid "Usage:" msgstr "Usage:" #: ../src/main.c:679 msgid "Example:" msgstr "Exemple:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "MÉTHODES\n-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Définit une propriété" #: ../src/main.c:687 msgid "Gets a property" msgstr "Récupère la valeur d'une propriété" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Définit une propriété d'une tâche" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Récupère la valeur d'une propriété d'une tâche" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Démarre une nouvelle tâche" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Active un élément de menu en émettant son raccourci-clavier" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Ajoute un gestionnaire asynchrone COMMAND à EVENT" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Ajoute un gestionnaire synchrone COMMAND à EVENT, remplaçant ainsi celui par défaut" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Supprime le gestionnaire COMMAND de EVENT" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Affiche cette aide (voir également ci-dessous le lien vers le manuel)." #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "OPTIONS\n-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Ajouter des options après METHOD pour spécifier une fenêtre, un panneau ou un onglet en particulier." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Dans le cas contraire, l'onglet actif du panneau actif de la dernière fenêtre est utilisé." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Spécifie la fenêtre. Ex. :" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Spécifie le panneau (1-4). Ex. :" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Spécifie l'onglet (1-...). Ex. :" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "PROPRIÉTÉS\n----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Définir les propriétés à l'aide de la méthode « set », ou récupérer la valeur à l'aide de « get »." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "ex. : « 800x600 »" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "ex. : « 100x50 »" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "ex. : « 1024x768 » (en lecture seule)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "ex. : « 100 »" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Ouvre DIR ou le dossier par défaut dans un nouvel onglet" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "ex. : « État actuel : Exemple »" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR ex. : « /etc »" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[FILENAME...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[PATTERN] ex. : « *.jpg »" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "ex. : « Quelques\\nlignes\\nde texte »" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "ex. : « ~/copier-contenu-fichier-dans-presse-papiers.txt »" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "FILE... Fichiers copiés dans le presse-papiers" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "FILE... Fichiers coupés dans le presse-papiers" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "PROPRIÉTÉS DES TÂCHES\n---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "contenu de la colonne de tâche « État » (en lecture seule)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "ex. : « gtk-open »" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "texte à afficher dans la colonne de tâche « Nombre »" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "texte à afficher dans la colonne de tâche « Dossier »" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "texte à afficher dans la colonne de tâche « Élément »" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "texte à afficher dans la colonne de tâche « Vers »" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "pourcentage d'avancement (1..100) ou '' pour un mouvement continu" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "texte à afficher dans la colonne de tâche « Total »" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "texte à afficher dans la colonne de tâche « Actuel »" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "texte à afficher dans la colonne de tâche « Restant actuel »" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "texte à afficher dans la colonne de tâche « Moyenne »" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "texte à afficher dans la colonne de tâche « Restant »" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "contenu de la colonne de tâche « Écoulé » (en lecture seule)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "contenu de la colonne de tâche « Démarré à » (en lecture seule)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "COMMAND commande pour afficher une fenêtre de dialogue de tâche personnalisée\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "TYPES DE TÂCHE\n----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Lance la commande COMMAND dans le dossier DIR" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Copie|Déplace|Lie FILE ou DIR vers le dossier TARGET" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Supprime récursivement FILE ou DIR" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "Ouvre FILE dans l'éditeur de texte de l'utilisateur ou de root" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "Ouvre l'URL dans le navigateur de l'utilisateur" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "Monter un périphérique ou une adresse URL" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "ÉVÉNEMENTS\n------" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "Démarrage d'une instance %e" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "Fermeture d'une instance %e" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "Nouvelle fenêtre %e %w %p %t" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "Focus d'une fenêtre %e %w %p %t" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "Déplacement/redimensionnement d'une fenêtre %e %w %p %t" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Clic de souris %e %w %p %t %b %m %f" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "Appui sur une touche dans une fenêtre %e %w %p %t %k %m" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "Fermeture d'une fenêtre %e %w %p %t" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "Focus d'un panneau %e %w %p %t" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Panneau affiché ou caché %e %w %p %t %f %v" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "Sélection changée %e %w %p %t" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "Nouvel onglet %e %w %p %t" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "Focus d'un onglet %e %w %p %t" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "Fermeture d'un onglet %e %w %p %t" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "Changement d'état d'un périphérique %e %f %v" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "Variables de substitution d'une commande d'événement :" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "type de l'événement (evt_start|evt_exit|...)" #: ../src/main.c:828 msgid "window ID" msgstr "ID de la fenêtre" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "numéro du panneau (1-4)" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "numéro de l'onglet (1-...)" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "bouton de la souris (0 : double ; 1 : gauche ; 2 : milieu ; 3 : droit...)" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "code de touche (par exemple 0x63)" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "touche modificatrice (par exemple « 0x4 » utilisée avec les clics et les touches enfoncées)" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "élément avec focus (panelN|filelist|devices|bookmarks|dirtree|pathbar)" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "visibilité de l'élément avec focus (0 ou 1, ou changement de l'état d'un périphérique)" #: ../src/main.c:838 msgid "Examples" msgstr "Exemples" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "Ces fichiers ont été copiés dans le presse-papiers" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Pour la documentation complète et des exemples, voir le manuel d'utilisation de SpaceFM :" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "L'intégration du bureau a été désactivée dans la compilation actuelle de SpaceFM" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Erreur: impossible de sauvegarder la session\n %s\n" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "Le fichier n'existe pas" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Erreur" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "Erreur: impossible d'initialiser le mécanisme de surveillance des modifications de fichiers inotify.\n\nÊtes-vous certain que votre noyau supporte inotify?" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Erreur : impossible d'établir une connexion avec FAM.\n\n« FAM » ou « Gamin » sont-ils installés et fonctionnels ?" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "« --dialog » doit être la première option" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "« --socket-cmd » doit être la première option" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Impossible de déterminer la manière d'ouvrir le fichier" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Impossible d'ouvrir le fichier :\n« %s »\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Choisir le fichier de l'extension" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Entrer l'URL de l'extension" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Entrer l'URL de l'extension pour SpaceFM :\n\n(« wget » sera utilisé pour télécharger le fichier)" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "Le nom de fichier de cette extension est invalide. Veuillez essayer à nouveau en utilisant seulement des caractères alphanumériques ASCII." #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "Nom de fichier de l'extension invalide" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "Une extension « %s » est déjà installée. Voulez-vous l'écraser ?\n\nAstuce : vous pouvez renommer le fichier pour installer l'extension sous un autre nom." #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "Écraser l'extension ?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Erreur lors de la création du dossier temporaire" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "Impossible de créer le dossier temporaire" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Erreur: impossible de sauvegarder le fichier de session\n\n(« %s »)" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Erreur lors de la sauvegarde de la session" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Ouvrir une fenêtre root" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal non disponible" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Veuillez paramétrer le programme utilisé pour le terminal dans « Affichage|Préférences|Avancé »" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Ouvrir un terminal" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "Aide du mode design" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1903 msgid "Panel" msgstr "Panneau" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Nouvelle _commande" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "Afficher le panneau %d" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Fichier" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "_Affichage" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Périphériques" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "_Signets" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "E_xtensions" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "_Outils" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "Aid_e" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Erreur: impossible de sauvegarder le fichier de session. Voulez-vous quitter sans sauvegarder ?\n\n(« %s »)" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "Erreur de SpaceFM" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "Arrêter toutes les tâches tournant dans cette fenêtre ?" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "Abandon des tâches en cours..." #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr " %s d'espace libre / %s " #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr " Lien → %s" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr " Lien → %s/" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Lien → %s/ (inexistant)" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr " Lien → %s (%s)" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr " !Lien → %s (inexistant)" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr " !Lien → (erreur de lecture de la cible)" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "caché" msgstr[1] "cachés" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d visible (%s) %s" msgstr[1] "%s%d visibles (%s) %s" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d élément %s" msgstr[1] "%s%d éléments %s" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Les raccourcis-clavier du gestionnaire de périphériques sont désactivés dans le mode HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "État" #: ../src/main-window.c:4302 msgid "#" msgstr "#" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Dossier" #: ../src/main-window.c:4302 msgid "Item" msgstr "Élément" #: ../src/main-window.c:4303 msgid "To" msgstr "Vers" #: ../src/main-window.c:4303 msgid "Progress" msgstr "Avancement" #: ../src/main-window.c:4303 msgid "Total" msgstr "Total" #: ../src/main-window.c:4304 msgid "Started" msgstr "Démarré à" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "Écoulé" #: ../src/main-window.c:4304 msgid "Current" msgstr "Actuel" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "Restant actuel" #: ../src/main-window.c:4305 msgid "Average" msgstr "Moyenne" #: ../src/main-window.c:4305 msgid "Remain" msgstr "Restant" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "Aide de la réorganisation des colonnes" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Pour modifier l'ordre des colonnes, glissez le titre de colonne à l'emplacement désiré." #: ../src/main-window.c:5913 msgid "moving" msgstr "déplacement" #: ../src/main-window.c:5914 msgid "copying" msgstr "copie" #: ../src/main-window.c:5915 msgid "trashing" msgstr "corbeille" #: ../src/main-window.c:5916 msgid "deleting" msgstr "suppression" #: ../src/main-window.c:5917 msgid "linking" msgstr "lien" #: ../src/main-window.c:5918 msgid "changing" msgstr "modification" #: ../src/main-window.c:5919 msgid "running" msgstr "en cours" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "%d erreur (%s)" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "%d erreurs (%s)" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "(en pause)" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "(en file d'attente)" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Nom" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Taille" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Type" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Permissions" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "Propriétaire" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "Dernière modification" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "spacefm : commande de connecteur invalide\n" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm : option « %s » invalide\n" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm : l'option « %s » requiert un argument\n" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "spacefm : fenêtre invalide\n" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm : fenêtre « %s » invalide\n" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm : panneau %d invalide\n" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm : le panneau %d n'est pas visible\n" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm : onglet %d invalide\n" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "spacefm : la commande « set » requiert un argument\n" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm : valeur « %s » invalide\n" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "spacefm  valeur du séparateur invalide\n" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "spacefm : numéro de panneau invalide\n" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "spacefm : numéro d'onglet invalide\n" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm : propriété « %s » invalide\n" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "spacefm : largeur de colonne invalide\n" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm : nom de colonne « %s » invalide\n" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm : le texte n'a pas un codage UTF-8 valide\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm : « %s » requiert un chemin de fichier\n" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm : erreur lors de la lecture du fichier « %s »\n" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm : le fichier « %s » n'a pas un contenu avec un codage UTF-8 valide\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm : « %s » requiert un chemin de dossier\n" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm : le dossier « %s » n'existe pas\n" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm : la commande « %s » requiert un argument\n" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm : « %s » requiert deux arguments\n" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm : tâche « %s » invalide\n" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm : la tâche interne « %s » est en lecture seule\n" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm : la propriété de tâche « %s » est en lecture seule\n" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm : état de la file d'attente « %s » invalide\n" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm : propriété de tâche « %s » invalide\n" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm : aucun dossier « %s »\n" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm : « %2$s » est une option de tâche « %1$s » invalide\n" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm : aucun fichier « %s »\n" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm : le chemin relatif « %s » requiert une option « %s » --dir DIR\n" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm : le type de tâche « %s » requiert un ou des arguments FILE\n" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm : type de tâche « %s » invalide\n" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm : code de touche « %s » invalide\n" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm : type d'événement « %s » invalide\n" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm : gestionnaire d'événement non trouvé\n" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm : méthode de connecteur « %s » invalide\n" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "Par défaut" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "Choisir une police pour le bureau" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "Exemple de texte 0123456789" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "" #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "Sauvegarder les paramètres root" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash :\n\nUsage :\n\t%%F\tfichiers sélectionnés, ou %%f premier fichier sélectionné\n\t%%N\tnom des fichiers sélectionnés, ou %%n nom du premier fichier sélectionné\n\t%%d\tdossier actuel\n\t%%v\tpériphérique sélectionné (ex. : « /dev/sda1 »)\n\t%%m\tpoint de montage du périphérique (ex. : « /media/dvd »); %%l étiquette du périphérique\n\t%%b\tsignet sélectionné\n\t%%t\tdossier de la tâche sélectionnée; %%p pid de la tâche\n\t%%a\tvaleur de l'élément du menu\n\t$fm_panel, $fm_tab, $fm_command, etc." #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "" #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "" #: ../src/settings.c:156 msgid "Show Devices" msgstr "Afficher les Périphériques" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "Afficher les Signets" #: ../src/settings.c:158 msgid "Show Tree" msgstr "Afficher l’arborescence" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "Dossier personnel" #: ../src/settings.c:161 msgid "Up" msgstr "Parent" #: ../src/settings.c:162 msgid "Back" msgstr "Précédent" #: ../src/settings.c:163 msgid "Back History" msgstr "" #: ../src/settings.c:164 msgid "Forward" msgstr "Suivant" #: ../src/settings.c:165 msgid "Forward History" msgstr "" #: ../src/settings.c:166 msgid "Refresh" msgstr "Actualiser" #: ../src/settings.c:167 msgid "New Tab" msgstr "Nouvel onglet" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Nouvel onglet au même emplacement" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "" #: ../src/settings.c:171 msgid "Large Icons" msgstr "Grandes icônes" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "" #: ../src/settings.c:462 msgid "file not found" msgstr "" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "Ignorer la politique « _Hide »" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "Ignorer « _No Policy »" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "_Arrêter" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "Affi_cher le gestionnaire" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "_Masquer automatiquement le gestionnaire" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "_Erreurs" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "_Restant actuel" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "Restant moye_n" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Dossier" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "Statistiques _détaillées" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "_Retirer / Éjecter" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "Imp_orter" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "Gestionnaire de _tâches" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "Nom de _fichier" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "T_ype" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "C_ible" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "_Modèle" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# Fichier de session de SpaceFM\n\n# CE FICHIER N'EST PAS DESTINÉ À ÊTRE MODIFIÉ - il sera lu et ÉCRASÉ\n\n# Si vous supprimez tous les fichiers « session* », SpaceFM sera réinitialisé à ses valeurs par défaut.\n\n" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "Erreur lors de la sauvegarde du fichier" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "Erreur de SpaceFM: impossible d'effectuer la sauvegarde automatique du fichier de session (« %s »)\n" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "" #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "Aide non disponible" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "Cette extension n'inclut pas de fichier README." #: ../src/settings.c:4346 msgid "Create README" msgstr "" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "Échec de la création" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "Une erreur s'est produite lors de la création d'un fichier README pour cette commande." #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Une erreur s'est produite lors de la copie des fichiers de la commande\n\n%s" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "Erreur de copie de la commande" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Une erreur s'est produite lors de la copie des fichiers de données de la commande\n\n%s" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "Erreur lors de la lecture du fichier d'extension « %s »" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "Le dossier d'extension importé ne contient pas une extension valide.\n\n(« %s/ »)" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "Extension invalide" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "L'extension « %s » a été copiée dans le presse-papiers de design. Utiliser « Affichage|Design Mode » pour la coller dans un menu.\n\nPuisque cette extension n'a pas été installée, elle n'apparaîtra pas dans le menu « Extension »." #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "L'extension « %s » a été copiée dans le presse-papiers de design. Utiliser « Affichage|Mode Design » pour la coller dans un menu.\n\nPuisque cette extension n'a pas été installée, elle n'apparaîtra pas dans le menu « Extension », et son contenu n'est pas protégé par root (une fois copiée, elle sera sauvegardée avec les droits normaux).\n\nSi cette extension contient des commandes « su » ou lancées avec l'utilisateur root, il est recommandé de l'installer dans le menu « Extensions » et de la lancer seulement à partir de ce menu, et ce dans le but d'améliorer la sécurité de votre système." #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "Désinstaller l'extension « %s » ?\n\n(« %s »)" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Désinstaller l'extension" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Installer l'extension" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "Enregistrer comme fichier d'extension" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Exporter l'extension" #: ../src/settings.c:5601 msgid "Export Error" msgstr "Erreur d'exportation" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "Impossible de créer des fichiers temporaires" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "Éditeur non défini" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Veuillez définir votre éditeur dans « Affichage|Préférences|Avancé »" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "Éditeur root non défini" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Veuillez définir l'éditeur root dans « Affichage|Préférences|Avancé »" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "Modifier « %s »" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "Manuel d'utilisation non trouvé" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "Consulter le manuel d'utilisation en ligne ?\n\nLa copie locale du manuel d'utilisation de SpaceFM n'a pas été trouvée. Sélectionner « Oui » pour consulter le manuel est ligne, ou sélectionner « Non » et définir l'emplacement correct dans « Aide|Options|Emplacement du manuel »." #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "Manuel ouvert ?" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "Le manuel d'utilisation de SpaceFM devrait s'être ouvert dans votre navigateur. Si ce n'est pas le cas ou si vous souhaitez utiliser un autre navigateur, configurez « Aide|Options|Navigateur ».\n\nCe message ne s'affichera plus." #: ../src/settings.c:6627 msgid "( none )" msgstr "(aucun)" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tCode de touche : %#4x Modificateur : %#x\n\n« %s » est déjà affectée à « %s ».\n\nChoisissez une combinaison différente ou cliquez sur « Définir » pour remplacer l'affectation actuelle." #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "\t%s\n\tCode de touche : %#4x Modificateur : %#x" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6820 msgid "Cancel" msgstr "Annuler" #: ../src/settings.c:6826 msgid "Unset" msgstr "Effacer" #: ../src/settings.c:6839 msgid "Set" msgstr "Définir" #: ../src/settings.c:6853 msgid "Set Key" msgstr "Définir le raccourci-clavier" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "Définir l'icône" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "Modifier la ligne de commande" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "Choisir un exécutable personnalisé" #: ../src/settings.c:7041 msgid "Run As User" msgstr "Lancer avec un utilisateur en particulier" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Lancer cette commande avec l'utilisateur suivant :\n\n(laisser vide pour l'utilisateur actuel)" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Vous ajoutez une commande personnalisée à l'élément de menu « Par défaut ». Cette commande aura automatiquement un précontexte ; elle sera affichée seulement lorsque le type MIME du premier fichier sélectionné correspond au type actuel « %s ».\n\nAjoutez ici des commandes ou des menus que vous ne souhaitez voir apparaître que pour ce type MIME." #: ../src/settings.c:7050 msgid "New Context Command" msgstr "Nouvelle commande contextuelle" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Choisir un dossier" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Vous ajoutez un sous-menu personnalisé à l'élément de menu « Par défaut ». Ce sous-menu aura automatiquement un précontexte ; il sera affiché seulement lorsque le type MIME du premier fichier sélectionné correspond au type actuel « %s ».\n\nAjoutez ici des commandes ou des menus que vous ne souhaitez voir apparaître que pour ce type MIME." #: ../src/settings.c:7140 msgid "(none)" msgstr "(aucun)" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "Définir le nom du sous-menu" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Entrer le nom du sous-menu :\n\nUn caractère précédé d'une barre de soulignement (« _ ») sera souligné et pourra être utilisé comme raccourci-clavier." #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "Nouveau _sous-menu" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "" #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7346 msgid "( no name )" msgstr "(aucun nom)" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "Supprimer définitivement le sous-menu « %s » ainsi que TOUS LES ITEMS qu'il contient ?\n\nCette action va supprimer toutes les préférences et tous les fichiers associés à ces items." #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "Supprimer définitivement l'item « %s » ?\n\nCette action va supprimer toutes les préférences et tous les fichiers associés à cet item." #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "Confirmer la suppression" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Êtes-vous certain ?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "Message de la boîte de dialogue" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Entrer le message à afficher dans la boîte de dialogue :\n\nUsage :\n\t\\n\tnouvelle ligne\n\t\\t\ttabulation" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "Co_uper" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "_Copier" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "C_oller" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "Supp_rimer" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "E_xporter" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "_Nouveau" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Signet" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "_Application" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "_Commande" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "Sous-_menu" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "Sé_parateur" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "_Ajouter" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "Raccourci-cla_vier" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "Mo_difier en tant que root" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "_Propriétés" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "Choisir une icône" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Modifier" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "Définir l'icône de la fenêtre" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "C_hoisir" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "Par _défaut" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "Votre saisie est invalide, car elle contient des retours à la ligne" #: ../src/settings.c:9372 msgid "_OK" msgstr "_Valider" #: ../src/settings.c:9509 msgid "_Unset" msgstr "_Réinitialiser" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "_Démonter" #: ../src/settings.c:10640 msgid "Re_load" msgstr "_Actualiser" #: ../src/settings.c:10644 msgid "_Sync" msgstr "_Synchroniser" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "Ou_vrir" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "_Monter" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "Re/mo_nter" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "Roo_t" #: ../src/settings.c:10693 msgid "_Label" msgstr "É_tiquette" #: ../src/settings.c:10743 msgid "_Check" msgstr "_Vérifier" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "Modifier « fsta_b »" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "Modifier « _udevil.conf »" #: ../src/settings.c:10755 msgid "_Format" msgstr "_Formater" #: ../src/settings.c:10815 msgid "_Backup" msgstr "_Sauvegarder" #: ../src/settings.c:10837 msgid "_Restore" msgstr "_Restaurer" #: ../src/settings.c:10842 msgid "_From File" msgstr "À partir d'un _fichier" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "_Information sur le fichier" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "Paramètr_es" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "_Afficher" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "Lecteurs _internes" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "Lecteurs _vides" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "_Tables de partitions" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "_Réseaux montés" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "Vo_lumes..." #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "Afficher/Cacher les volumes" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Pour outrepasser d'autres paramètres et forcer ou empêcher l'affichage de certains volumes, vous pouvez spécifier les périphériques, les étiquettes de volume ou les ID de périphérique dans la liste ci-dessous.\n\nExemple : « +/dev/sdd1 -Étiquette contenant des espaces +ata-OCZ-partie4 »\nCet exemple permet d'afficher « /dev/sdd1 » et le périphérique OCZ, et de cacher le volume dont l'étiquette est « Étiquette contenant des espaces ».\n\nChaque élément doit être séparé par une espace et précédé d'un signe plus (« + ») ou moins (« - »). Cette liste est sensible à la casse.\n\n" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "Nom _affiché" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "Définir le format d'affichage du nom" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "_Monter automatiquement" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "Monter les périphériques opti_ques" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "Monter les périphériques _amovibles" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "Monter les _volumes..." #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "Monter automatiquement les volumes" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Pour outrepasser d'autres paramètres et forcer ou empêcher le montage automatique de certains volumes, vous pouvez spécifier les périphériques, les étiquettes de volume ou les ID de périphérique dans la liste ci-dessous.\n\nExemple : « +/dev/sdd1 -Étiquette contenant des espaces +ata-OCZ-partie4 »\nCet exemple permet de monter automatiquement « /dev/sdd1 » et le périphérique OCZ lorsqu'ils sont détectés, et d'ignorer le volume dont l'étiquette est « Étiquette contenant des espaces ».\n\nChaque élément doit être séparé par une espace et précédé d'un signe plus (« + ») ou moins (« - »). Cette liste est sensible à la casse.\n\n" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "" #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "Ouvrir dans un nouvel _onglet" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "_Démonter en quittant" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "_Lancer automatiquement" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "Au _montage" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "Lancement automatique au montage" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement après qu'un périphérique amovible ou qu'un disque de données a été automonté :\n\nUsage :\n\t%%v\tpériphérique (ex. : « /dev/sda1 »)\n\t%%l\tétiquette du périphérique\n\t%%m\tpoint de montage du périphérique (ex. : « /media/disque »)" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "Si _CD audio" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "Lancement automatique si CD audio" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement quand un CD audio est inséré dans un périphérique géré :\n\nUsage :\n\t%%v\tpériphérique (ex. : « /dev/sda1 »)\n\t%%l\tétiquette du périphérique\n\t%%m\tpoint de montage du périphérique (ex. : « /media/disque »)" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "Si _DVD vidéo" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "Lancement automatique si DVD vidéo" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement quand un DVD vidéo est monté automatiquement :\n\nUsage :\n\t%%v\tpériphérique (ex. : « /dev/sda1 »)\n\t%%l\tétiquette du périphérique\n\t%%m\tpoint de montage du périphérique (ex. : « /media/disque »)" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "À l'_insertion" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "Lancement automatique à l'insertion" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement quand un périphérique est inséré :\n\nUsage :\n\t%%v\tpériphérique (ex. : « /dev/sda1 »)\n\t%%l\tétiquette du périphérique\n\t%%m\tpoint de montage du périphérique (ex. : « /media/disque »)" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "Au démon_tage" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "Lancement automatique au démontage" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement quand un périphérique est démonté d'une manière quelconque :\n\nUsage :\n\t%%v\tpériphérique (ex. : « /dev/sda1 »)\n\t%%l\tétiquette du périphérique\n\t%%m\tpoint de montage du périphérique (ex. : « /media/disque »)" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "Lorsque _retiré" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "Lancement automatique lorsque retiré" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement quand un périphérique est retiré (n'inclut pas l'éjection d'un média) :\n\nUsage :\n\t%%v\tpériphérique retiré (ex. : « /dev/sda1 »)\n\t%%l\tétiquette du périphérique\n\t%%m\tpoint de montage du périphérique (ex. : « /media/disque »)" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "Options de monta_ge" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "Options de montage par défaut" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "Monter ou remonter avec certaines options" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "Le périphérique va être monté ou remonté avec les options ci-dessous.\n\nEn plus des options de base, vous pouvez également spécifier l'ajout ou l'annulation d'options pour un type de système de fichiers en particulier en utilisant la syntaxe « OPTION+TYPEFS » ou « OPTION-TYPEFS ».\n\nExemple : « nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4 »\nCet exemple ajoute les options « nosuid » et « noatime » pour tous les types de systèmes de fichiers, ajoute « sync » pour « vfat » et « ntfs » seulement, et enlève « noatime » pour « ext4 ».\n\nNote : quelques options, dont « nosuid », peuvent être ajoutées par le programme de montage même si vous ne les incluez pas. Les options dans le fichier « fstab » ont préséance. « pmount » ignore les options définies dans cette boîte de dialogue." #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "" #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "_Icône" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "CD audio" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "Optique monté" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "Optique contenant un média" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "Optique sans média" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "Disquette montée" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "Disquette non montée" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "Amovible monté" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "Amovible non monté" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "Interne monté" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "Interne non monté" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "Réseau monté" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11148 msgid "_Settings" msgstr "_Paramètres" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "_Nom" #: ../src/settings.c:11185 msgid "_Parent" msgstr "Pa_rent" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "C_hemin" #: ../src/settings.c:11204 msgid "_Option" msgstr "_Option" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Lien" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "Copier la ci_ble" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "Lien _vers la cible" #: ../src/settings.c:11222 msgid "_As Root" msgstr "Avec l'utilisateur roo_t" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "_Police de caractères" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "Police de la boîte de dialogue de déplacement" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "/home/utilisateur/Exemple de nom de fichier.ext" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "_Confirmer la création" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "Modifier la couleur d'arrière-plan de la _barre" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "Couleur d'arrière-plan de la barre d'état" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "Modifier la couleur du te_xte" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "Couleur du texte de la barre d'état" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "Clic _milieu" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "Copier le _nom" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "Copier le ch_emin" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "Cacher le _panneau" #: ../src/settings.c:11283 msgid "New _Window" msgstr "Nouvelle fe_nêtre" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "Fenêt_re root" #: ../src/settings.c:11289 msgid "_File Search" msgstr "Recherche de _fichiers" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "T_erminal root" #: ../src/settings.c:11302 msgid "Open URL" msgstr "Ouvrir l'URL" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "Enregistrer les _onglets" #: ../src/settings.c:11310 msgid "E_xit" msgstr "_Quitter" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "Panneau _1" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "Panneau _2" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "Panneau _3" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "Panneau _4" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "_Barre des panneaux" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "_Précédent" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "_Suivant" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "Cac_her" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11391 msgid "_Instance" msgstr "_Instance" #: ../src/settings.c:11396 msgid "_Startup" msgstr "_Démarrage" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "Définir la commande de démarrage d'une instance" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement quand une instance de SpaceFM démarre :\n\nUsage :\n\t%%e\ttype d'événement (« evt_start »)\n" #: ../src/settings.c:11402 msgid "_Exit" msgstr "_Fermeture" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "Définir la commande de fermeture d'une instance" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement quand une instance de SpaceFM ferme :\n\nUsage :\n\t%%e\ttype d'événement (« evt_exit »)\n" #: ../src/settings.c:11408 msgid "_Window" msgstr "_Fenêtre" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Nouveau" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "Définir la commande de nouvelle fenêtre" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'une fenêtre de SpaceFM est ouverte :\n\nUsage :\n\t%%e\ttype d'événement (« evt_win_new »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande." #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "_Focus" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "Définir la commande de focus d'une fenêtre" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'une fenêtre de SpaceFM reçoit le focus :\n\nUsage :\n\t%%e\ttype d'événement (« evt_win_focus »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande." #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "_Déplacement/Redimensionnement" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "Définir la commande de déplacement ou de redimensionnement d'une fenêtre" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'une fenêtre de SpaceFM est déplacée ou redimensionnée :\n\nUsage :\n\t%%e\ttype d'événement (« evt_win_move »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande.\nNote : il est possible que cette commande soir lancée plusieurs fois lors du redimensionnement." #: ../src/settings.c:11431 msgid "_Click" msgstr "_Clic" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "Définir la commande de clic" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'un clic a été effectué :\n\nUsage :\n\t%%e\ttype d'événement (« evt_win_click »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\t%%b\tbouton (bouton de la souris appuyé)\n\t%%m\tmodificateur (touches modificatrices)\n\t%%f\tfocus (élément ayant été cliqué)\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande lorsqu'aucun astérisque n'est utilisé comme préfixe.\n\nPour inhiber le gestionnaire par défaut, précéder votre commande d'un astérisque (« * ») et retourner un code de sortie ayant une valeur de 0. Exemple :\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nL'élément %%f a été cliqué par le bouton du milieu\" --button ok &" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "Appui sur une _touche" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "Définir la commande d'appui sur une touche dans une fenêtre" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'une touche est enfoncée :\n\nUsage :\n\t%%e\ttype d'événement (« evt_win_key »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\t%%k\tcode de touche (touche enfoncée)\n\t%%m\tmodificateur (touches modificatrices)\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande lorsqu'aucun astérisque n'est utilisé comme préfixe.\n\nPour inhiber le gestionnaire par défaut, précéder votre commande d'un astérisque (« * ») et retourner un code de sortie ayant une valeur de 0. Exemple :\n*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nLa touche F8 a été enfoncée.\" --button ok &" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "Fer_meture" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "Définir la commande de fermeture d'une fenêtre" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'une fenêtre de SpaceFM est fermée :\n\nUsage :\n\t%%e\ttype d'événement (« evt_win_close »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande." #: ../src/settings.c:11449 msgid "_Panel" msgstr "_Panneau" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "Définir la commande de focus d'un panneau" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'un panneau reçoit le focus :\n\nUsage :\n\t%%e\ttype d'événement (« evt_pnl_focus »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande." #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "Affi_cher" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "Définir la commande d'affichage d'un panneau" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'un panneau ou un élément d'un panneau est affiché ou caché :\n\nUsage :\n\t%%e\ttype d'événement (« evt_pnl_show »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\t%%f\tfocus (élément affiché ou caché)\n\t%%v\tvisibilité (1 ou 0)\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande." #: ../src/settings.c:11466 msgid "S_elect" msgstr "_Sélection" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "Définir la commande de sélection dans un panneau" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois que la sélection des fichiers change :\n\nUsage :\n\t%%e\ttype d'événement (« evt_pnl_sel »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande.\n\nPour inhiber le gestionnaire par défaut, précéder votre commande d'un astérisque (« * ») et retourner un code de sortie ayant une valeur de 0." #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "_Onglet" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "Définir la commande de nouvel onglet" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'un nouvel onglet est ouvert :\n\nUsage :\n\t%%e\ttype d'événement (« evt_tab_new »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande." #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "Définir la commande de focus d'un onglet" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'un onglet reçoit le focus :\n\nUsage :\n\t%%e\ttype d'événement (« evt_tab_focus »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet\n\nLes variables Bash exportées (comme « $fm_pwd ») peuvent être utilisées dans cette commande." #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Fermer" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "Définir la commande de fermeture d'un onglet" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement chaque fois qu'un onglet est fermé :\n\nUsage :\n\t%%e\ttype d'événement (« evt_tab_close »)\n\t%%w\tid de la fenêtre (voir « spacefm -s help »)\n\t%%p\tpanneau\n\t%%t\tonglet fermé" #: ../src/settings.c:11501 msgid "_Device" msgstr "_Pé_riphériques" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "Définir la commande de périphérique" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash à lancer automatiquement dès que l'état d'un périphérique change :\n\nUsage :\n\t%%e\ttype d'événement (« evt_device »)\n\t%%f\tfichier de périphérique\n\t%%v\tchangement (« added|removed|changed »)\n" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "Tit_re de la fenêtre" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "Définir le format du titre de la fenêtre" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Définir le format du titre de la fenêtre :\n\nUsage :\n\t%%n\tnom du dossier actuel (ex. : « bin »)\n\t%%d\tchemin du dossier actuel (ex. : « /usr/bin »)\n\t%%p\tnuméro du panneau actif (1-4)\n\t%%t\tnuméro de l'onglet actif\n\t%%P\tnombre total de panneaux visibles\n\t%%T\tnombre total d'onglets dans le panneau actif\n\t*\tastérisque visible si des tâches tournent dans la fenêtre" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "_Icône de la fenêtre" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "_Plein écran" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "Mode _design" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "Pré_férences" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Outil" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "_Installer" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "Mode _verbeux" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "In_cluses" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "_Manuel d'utilisation" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "Page d'_accueil" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "Actualité de _SpaceFM" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "Obtenir des _extensions" #: ../src/settings.c:11606 msgid "_Options" msgstr "_Options" #: ../src/settings.c:11611 msgid "_Browser" msgstr "_Navigateur" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "Choisir le navigateur HTML" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "Entrer le nom du navigateur ou une ligne de commande Bash à utiliser pour afficher les fichiers HTML et les URL :\n\nUsage :\n\t%%u\tURL\n\n(laisser vide pour détection automatique du navigateur)" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "Emplacement du _manuel" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "Choisir l'emplacement du manuel d'utilisation" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "Entrer un chemin de fichier local ou une URL distante correspondant au manuel d'utilisation de SpaceFM :\n\n(laisser vide pour utiliser la valeur par défaut)\n" #: ../src/settings.c:11623 msgid "_About" msgstr "À _propos" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11656 msgid "_Status" msgstr "É_tat" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "N_ombre" #: ../src/settings.c:11673 msgid "_Item" msgstr "É_lément" #: ../src/settings.c:11679 msgid "_To" msgstr "Ver_s" #: ../src/settings.c:11685 msgid "_Progress" msgstr "_Avancement" #: ../src/settings.c:11692 msgid "T_otal" msgstr "_Total" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "_Démarré à" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "Éco_ulé" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "_Vitesse actuelle" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "Vitesse _moyenne" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "Réor_ganiser" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Mettre en pa_use" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "Ajouter à la file _d'attente" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "_Reprendre" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "Afficher la _sortie" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "_Toutes les tâches" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "Police du gestionnaire de tâches" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "copie de Fichier 1:15 65,2 Mo 30,2 Mo/s" #: ../src/settings.c:11789 msgid "_Columns" msgstr "Colo_nnes" #: ../src/settings.c:11794 msgid "_Popups" msgstr "N_otifications" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "Notifier _toutes les tâches" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "Au premier plan (fenêtre de _SpaceFM)" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "Au premier plan (toutes les _fenêtres)" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "Sur tous les esp_aces de travail" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "Option d'é_crasement" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "Option de gestion des _erreurs" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "Police des notifications de tâche (affecte les nouvelles tâches)" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "Exemple de sortie 0123456789" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "Arrêter si en _premier" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "Arrêter _dès que rencontrée" #: ../src/settings.c:11857 msgid "_Continue" msgstr "_Continuer" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "_File d'attente" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "Ajouter les nouvelles tâches à la _file d'attente" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "File d'attente _intelligente" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "Mettre en pa_use lors d'une erreur" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "_Trie des icônes" #: ../src/settings.c:11892 msgid "By _Name" msgstr "Par _nom" #: ../src/settings.c:11895 msgid "By _Type" msgstr "Par t_ype" #: ../src/settings.c:11898 msgid "By _Date" msgstr "Par _date" #: ../src/settings.c:11901 msgid "By _Size" msgstr "Par _taille" #: ../src/settings.c:11904 msgid "_Custom" msgstr "_Personnalisé" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "_Croissant" #: ../src/settings.c:11910 msgid "D_escending" msgstr "_Décroissant" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "Paramètres du _bureau" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "_Périphériques" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "_Dossier du bureau" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "Police de l'éditeur" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "Exemple de texte 0123456789" #: ../src/settings.c:11964 msgid "Input Font" msgstr "Police de la saisie" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "E_xécuter" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "_Modifier" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Modifier avec l'utilisateur _root" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "_Parcourir..." #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "Dans un _onglet" #: ../src/settings.c:11993 msgid "N_ew" msgstr "_Nouveau" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "Onglet _1" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "Onglet _2" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "Onglet _3" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "Onglet _4" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "Onglet _5" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "Onglet _6" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "Onglet _7" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "Onglet _8" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "Onglet _9" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "Onglet 1_0" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "Dans un pa_nneau" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "_Extraire" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Extraire _vers" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "_Lister le contenu" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "_Ouvrir avec une application" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "_Créer un sous-dossier" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "_Accès en écriture" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "_Dossier" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Signet" #: ../src/settings.c:12104 msgid "_Archive" msgstr "_Archive" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "_Onglet" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "Onglet au _même emplacement" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "_Application sur le bureau" #: ../src/settings.c:12122 msgid "_Go" msgstr "A_ller" #: ../src/settings.c:12127 msgid "_Back" msgstr "_Précédent" #: ../src/settings.c:12129 msgid "_Forward" msgstr "_Suivant" #: ../src/settings.c:12131 msgid "_Up" msgstr "P_arent" #: ../src/settings.c:12133 msgid "_Home" msgstr "Dossier p_ersonnel" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "Définir la _valeur par défaut" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "_Chemin d'accès absolu" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "_Focus" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "Barre de _chemin" #: ../src/settings.c:12149 msgid "_File List" msgstr "Liste des _fichiers" #: ../src/settings.c:12151 msgid "_Tree" msgstr "_Vue arborescente" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "_Onglet" #: ../src/settings.c:12164 msgid "_Close" msgstr "_Fermer" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "S_tyle" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "Colo_nnes" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "_Réorganiser" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "_Sélection élastique" #: ../src/settings.c:12202 msgid "_Sort" msgstr "_Tri" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "_Taille" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "T_ype" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "Permission_s" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "_Propriétaire" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "Dernière _modification" #: ../src/settings.c:12220 msgid "_Descending" msgstr "_Décroissant" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "Nat_urel" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "Sensible à la c_asse" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "D_ossiers en premier" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "_Fichiers en premier" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "Mi_xte" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "Fichiers cachés en p_remier" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "Fichiers cachés en d_ernier" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "_Actualiser" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "_Recherche automatique" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "Aide de la barre de c_hemin" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "R_enommer" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Supprimer" #: ../src/settings.c:12281 msgid "_Actions" msgstr "" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "Copier le _parent" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "Coller le _lien" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "Coller la ci_ble" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "Coller co_mme" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "_Copier vers" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "_Emplacement" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "_Dernier emplacement" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Onglet" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Panneau" #: ../src/settings.c:12346 msgid "_Move To" msgstr "Dépl_acer vers" #: ../src/settings.c:12350 msgid "_Location" msgstr "_Emplacement" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Onglet" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Panneau" #: ../src/settings.c:12383 msgid "_Select All" msgstr "Tout _sélectionner" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "Tout _désélectionner" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Inverser la sélection" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "Sélectionner en utilisant un m_otif" #: ../src/settings.c:12392 msgid "R_oot" msgstr "_Root" #: ../src/settings.c:12398 msgid "Move _To" msgstr "Dépl_acer vers" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "_Propriétés" #: ../src/settings.c:12414 msgid "_Quick" msgstr "Accès _rapide" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "_Récursif" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "_Barre d'outils" #: ../src/settings.c:12526 msgid "T_ree" msgstr "_Vue arborescente" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "Barre d'outils _latérale" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "_Détaillé" #: ../src/settings.c:12550 msgid "_Icons" msgstr "_Icônes" #: ../src/settings.c:12555 msgid "_Compact" msgstr "_Compact" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "Fichiers _cachés" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Exemple 1,1 Mo fichier -rwxr--r-- utilisateur:groupe 2011-01-01 01:11" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [aucun média] :EXEMPLE" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "Exemple de nom de signet" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "$ cat /home/utilisateur/exemple" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "12 Go d'espace libre / 200 Go 52 éléments" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "Nouvel _onglet" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "_Simple clic" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "Le dossier n'existe pas\n\n%s" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "Impossible d'accéder à « %s »\n\n%s" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Sélectionner en utilisant un motif" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "Entrer un motif pour sélectionner des fichiers et des dossiers :\n\nSi le motif contient au moins une lettre majuscule, la correspondance sera sensible à la casse.\n\nExemple : « *sp*e?m* »\n\nASTUCE : il est possible de saisir « %% MOTIF » dans la barre de chemin." #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "Choisir l'emplacement" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "Destination invalide" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "Même destination que la source" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "Destination invalide" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "Cacher le fichier" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "Le nom des fichiers sélectionnés sera ajouté au fichier « .hidden » situé dans le dossier actuel. Ainsi, SpaceFM ne les affichera plus. Il sera peut-être nécessaire d'actualiser l'affichage ou de redémarrer SpaceFM pour que cette configuration soit prise en compte.\n\nPour afficher de nouveau un fichier, ouvrir le fichier « .hidden » dans un éditeur de texte, supprimer le nom du fichier concerné et actualiser l'affichage de SapceFM." #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "Erreur lors de la tentative de cacher les fichiers" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "Aucun fichier sélectionné" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Impossible de monter le périphérique" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Impossible de démonter le périphérique" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Impossible d'éjecter le périphérique" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "« udev » n'est pas configuré" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Le montage d'un réseau partagé requiert une compilation de SpaceFM avec « udev » (« --disable-hal »)." #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "Monter" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "Démonter" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "Monter « %s »" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "« %s » est actuellement monté. Vous devez le démonter avant de pouvoir effectuer une vérification." #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "Le périphérique est monté" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Entrer la commande de vérification du système de fichiers :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root." #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "Vérifier avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "VÉRIFIER AVEC L'UTILISATEUR ROOT" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "Vérifier « %s » avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Entrer la commande de montage :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\t%%%%o\toptions de montage spécifiques au volume\n\t\t(« %s »)\n\nNote : « fstab » écrase certaines options.\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root." #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "Monter avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "MONTER AVEC L'UTILISATEUR ROOT" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "Monter « %s » avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Entrer la commande de démontage :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root." #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "Démonter avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "DÉMONTER AVEC L'UTILISATEUR ROOT" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "Démonter « %s » avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "\n\nAVERTISSEMENT : « %s » est monté. Vous voulez ou devez peut-être le démonter avant de modifier l'étiquette." #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "Entrer l'étiquette de volume pour « %s » :%s" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "Modifier l'étiquette du volume" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Entrer la commande de suppression de l'étiquette pour le type de système de fichiers « %s » :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\t%%%%l\tnouvelle étiquette (« %s »)\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root.%s" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Entrer la commande de modification de l'étiquette pour le type de système de fichiers « %s » :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\t%%%%l\tnouvelle étiquette (« %s »)\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root.%s" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "Modifier l'étiquette avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "ÉTIQUETTER AVEC L'UTILISATEUR ROOT" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "Étiquetter « %s » avec l'utilisateur root" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "Démonter « %s »" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "Retirer « %s »" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "Remonter « %s »" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "Actualiser « %s »" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "Synchroniser" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "« %s » est actuellement monté. Vous devez le démonter avant de pouvoir le formater." #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr " (UN PÉRIPHÉRIQUE ENTIER) " #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Vous vous apprêtez à effacer « %s » %s- TOUTES LES DONNÉES SERONT PERDUES. Soyez patient ; cela peut prendre un certain temps, et « dd » ne donne pas d'information sur l'avancement.\n\nEntrer la commande pour écraser le volume entier avec « /dev/%s » :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root." #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Vous vous apprêtez à formater « %s » %s- TOUTES LES DONNÉES SERONT PERDUES.\n\nEntrer la commande de formatage « %s » :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root." #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "Formater" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "AVERTISSEMENT DE PERTE DE DONNÉES" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "Formater « %s »" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "« %s » est actuellement monté. Vous devez le démonter avant de pouvoir le restaurer." #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "Choisir la sauvegarde pour la restauration" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "Vous vous apprêtez à écraser le code de démarrage MBR de « %s » à partir de « %s ».\n\nCette modification peut empêcher votre ordinateur de démarrer correctement. Toutes les données importantes se trouvant sur le périphérique devraient être sauvegardées au préalable.\n\nContinuer ? (Si vous choisissez de continuer, vous aurez quand même la possibilité d'annuler l'action avant que le disque soit modifié.)" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "Restaurer le MBR" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "Type inconnu" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "Le fichier sélectionné n'est pas reconnu comme un fichier de sauvegarde.\n\nUn nom de fichier de FSArchiver contient « fsarchiver » ou se termine par « .fsa ». Un nom de fichier de Partimage contient « partimage » ou se termine par « .000 ». Un nom de fichier du MBR se termine par « .mbr », « .mbr.bin » ou « -MBR-back » et a une taille de 512 octets. Si vous êtes CERTAIN que ce fichier est un fichier de sauvegarde valide, vous pouvez le renommer pour éviter cette erreur." #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Vous vous apprêtez à restaurer « %s » %sà partir de « %s » - TOUTES LES DONNÉES SERONT PERDUES.\n\nEntrer la commande de restauration « %s » :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\t%%%%s\tfichier de sauvegarde (« %s »)\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root." #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "Restaurer" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "Restauration « %s » de « %s »" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "Dossier inexistant" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "Choisir une sauvegarde pour obtenir de l'information" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "Fichier MBR" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "Selon son nom, le fichier sélectionné semble être un fichier de sauvegarde du MBR. Aucune autre information n'est disponible pour ce type de sauvegarde." #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "Information sur la restauration" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "\n\nAVERTISSEMENT: « %s » est monté. Par défaut, FSArchiver sauvegarde seulement les volumes montés en lecture seulement. Pour sauvegarder un volume en lecture/écriture, vous devez ajouter « --allow-rw-mounted » à la commande. Voir « man fsarchiver » pour plus de détails." #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "« %s » est actuellement monté. Vous devez le démonter avant de pouvoir créer une sauvegarde avec Partimage." #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "Enregistrer la sauvegarde « %s »" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "Écraser ?" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "La sauvegarde sélectionnée existe déjà. L'écraser ?" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Entrer la commande de sauvegarde « %s » :\n\nUsage :\n\t%%%%v\tfichier de périphérique (« %s »)\n\t%%%%s\tfichier de sauvegarde (« %s »)%s\n\nMODIFIER AVEC PRÉCAUTION. Cette commande est lancée avec l'utilisateur root." #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "Sauvegarder" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "Sauvegarde « %s » de « %s »" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "Propriétés de « %s »" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sPériphérique actuellement sélectionné : « %s »\nÉtiquette du volume : « %s »\nID du périphérique : « %s »" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "É_jecter" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Tuer avec un autre utilisateur" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "Ajouter à la file _d'attente" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "_Reprendre" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Arrêter avec un autre utilisateur" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Continuer avec un autre utilisateur" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Déplacement de : " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Copie de : " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Mise à la corbeille de : " #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Suppression de : " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Création d'un lien de : " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Modification de : " #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Lancé : " #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Déplacement..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Copie..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Mise à la corbeille..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Suppression..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Lien..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Modification..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "En cours..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "À partir de :" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Vers :" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Avancement : " #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "État : " #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "En pause" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "En file d'attente" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Demander" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Écraser tout" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Ignorer tout" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Renommer automatiquement" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Arrêter si en premier" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Arrêter dès que rencontrée" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Continuer" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Arrêté" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Erreurs" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Terminé" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s restant" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Erreur (Arrêter si en premier)" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Erreur (Arrêter dès que rencontrée)" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Arrêté avec %d erreur" msgstr[1] "Arrêté avec %d erreurs" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Terminé avec %d erreur" msgstr[1] "Terminé avec %d erreurs" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Terminé avec erreur (code de retour : %d)" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Terminé avec erreur" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "En pause (pid : %d)" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "En pause (code de retour : %d)" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "En file d'attente (pid : %d)" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "En file d'attente (code de retour : %d)" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "En cours avec %d erreur" msgstr[1] "En cours avec %d erreurs" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "En cours... (pid : %d)" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "En cours... (code de retour : %d)" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "(à l'arrêt)" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[TRONCATION - les erreurs supplémentaires ci-dessus ont été enlevées de ce journal]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Déplacement à partir du dossier :" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Lien à partir du dossier :" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Copie à partir du dossier :" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Dossier existant" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Le dossier existe déjà. Veuillez le renommer une sélectionner une action." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t(lien)" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! écrasement du fichier avec le lien !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "(taille identique)" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t(%lu octets)" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "plus volumineux" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "moins volumineux" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "(date identique)\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "plus récent" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "plus ancien" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Le fichier existe" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "Le nom de fichier existe déjà. Veuillez le renommer ou sélectionner une action." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Renommage requis" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "Dans le dossier :" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "É_craser" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Écra_ser tout" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "Pa_use" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Ignorer" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "I_gnorer tout" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Vers le dossier :" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Nom du dossier :" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "R_enommer" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "Renommer automatiquement" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Renommer tout automatiquement" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "Créer une archive" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "copie" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "Archive" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "Extraire _vers" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "Créer un _sous-dossier" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "Rendre le contenu accessible en é_criture par l'utilisateur" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "Extraire « %s »" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nTerminé !" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Commande :" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Système de fichiers" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "(aucun sous-dossier)" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "Supprimer une association pour le type texte" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "NOTE : lorsqu'il génère la liste des applications devant apparaître dans le sous-menu « Ouvrir » pour un fichier texte, SpaceFM inclut les applications associées au type MIME (par exemple « text/html ») ET celles associées à « text/plain ». Si vous supprimez une application de ce menu, cette dernière sera enlevée de la liste des applications associées au type MIME (par exemple « text/html »), mais NE SERA PAS enlevée de la liste de « text/plain » (sauf si le type MIME est « text/plain »). Ainsi, l'option « Supprimer » peut ne pas supprimer l'application du sous-menu « Ouvrir » pour ce type MIME, sauf si vous la supprimer de « text/plain »." #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "Créer un nouveau fichier XML" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "_Définir comme étant par défaut" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "_Ajouter..." #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "nouveau" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Supprimer %d élément sélectionné ?" msgstr[1] "Supprimer les %d éléments sélectionnés ?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Confirmer la suppression" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "C_hemin : le même qu'au départ" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "No_m : le même qu'au départ" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "Nom de _fichier : le même qu'au départ" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "Pa_rent : le même qu'au départ" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "C_hemin : existe comme dossier" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "No_m : existe comme dossier" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "Nom de _fichier : existe comme dossier" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "Pa_rent :" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "C_hemin : existe comme fichier" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "No_m : existe comme fichier" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "Nom de _fichier : existe comme fichier" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "C_hemin : * écrase un fichier existant" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "No_m : * écrase un fichier existant" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "Nom de _fichier : * écrase un fichier existant" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "C_hemin : le parent existe comme fichier" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "No_m :" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "Nom de _fichier :" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "Pa_rent : le parent existe comme fichier" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "C_hemin : * crée le parent" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "Pa_rent : * crée le parent" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "C_hemin :" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Déplacer" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Sélectionner la cible du lien" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Sélectionner un modèle de fichier" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Sélectionner un modèle de dossier" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Parcourir" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Nom de _fichier" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "Pa_rent" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Ajouter comme" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "Cré_er" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Créer un nouveau" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "fichier" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "dossier" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "lien" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Déplacer" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "_Copier" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Copier" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Créer un lien vers" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Lien vers la cible" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Cible" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr " avec l'utilisateur root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Lien" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "Fichier" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "_Options" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Réinitiali_ser" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& Ou_vrir" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Lien-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Lien-> %s (inexistant)" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "C_ible :" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "Mo_dèle :" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "Fichier vide" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "Dossier vide" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "E_xtension :" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "_Déplacer" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "_Copier" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "_Lien" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "Lien _vers la cible" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "Avec l'utilisateur roo_t" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "Fi_chier" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "Doss_ier" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "_Lien" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Nouveau" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "Le chemin contient des retours à la ligne" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "Créer le dossier parent" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "Le dossier parent n'existe pas. Le créer ?" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Erreur durant la création du dossier parent\n\n%s" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "Erreur de « mkdir »" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "Écraser le fichier existant" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "AVERTISSEMENT D'ÉCRASEMENT" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "Le chemin du fichier existe. Écraser le fichier existant ?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "Créer un lien%s" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "Modèle inexistant" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "Le modèle spécifié n'existe pas" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "Créer un nouveau fichier%s" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "Créer un nouveau dossier%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "Copier%s" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "Erreur de copie de la cible" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "Erreur lors de la tentative de déterminer la cible du lien" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "Erreur avec la cible du lien" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "Déplacer%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "Erreur lors du renommage du fichier\n\n%s" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Erreur de renommage" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Nouveau dossier" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "Nom du nouveau dossier :" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Nouveau fichier" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "Nom du nouveau fichier :" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "Le nom existe déjà.\n\nVeuillez en saisir un nouveau :" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "Le nouveau fichier ne peut pas être créé" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "La cible de ce lien symbolique n'existe pas ou ses npermissions ne vous permettent pas d'y accéder :\n%s\n\nCible : « %s »" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "Lien cassé" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Supprimer %d élément sélectionné avec l'utilisateur root ?" msgstr[1] "Supprimer les %d éléments sélectionnés avec l'utilisateur root ?" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "Confirmer la suppression avec l'utilisateur root" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "SUPPRIMER AVEC L'UTILISATEUR ROOT" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "Supprimer avec l'utilisateur root" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "Déplacer avec l'utilisateur root" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "Copier avec l'utilisateur root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s (%lu octets)" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d dossier" msgstr[1] "%d dossiers" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d fichier, %s" msgstr[1] "%d fichiers, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d fichier" msgstr[1] "%d fichiers" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "(plusieurs fichiers)" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "(plusieurs types)" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "Choisir..." #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "Nom du _dossier :" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "%s (%lu octets)" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "1 fichier" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "N_om du lien :" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "(lien cassé)" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "(erreur de lecture du lien)" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Calcul en cours..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "Modifier la date du fichier" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Utilisateur invalide" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Groupe invalide" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "En plus du chemin d'un dossier ou d'un fichier, il est possible de saisir des commandes dans la barre de chemin. Préfixes :\n\t$\tlancer en tant que tâche\n\t&\tlancer et oublier\n\t+\tlancer dans un terminal\n\t!\tlancer avec l'utilisateur root\nUsage :\n\t%%F\tfichiers sélectionnés, ou %%f premier fichier sélectionné\n\t%%N\tnom des fichiers sélectionnés, ou %%n nom du premier fichier sélectionné\n\t%%d\tdossier actuel\n\t%%v\tpériphérique sélectionné (ex. : « /dev/sda1 »)\n\t%%m\tpoint de montage du périphérique (ex. : « /media/dvd »); %%l étiquette du périphérique\n\t%%b\tsignet sélectionné\n\t%%t\tdossier de la tâche sélectionnée; %%p pid de la tâche\n\t%%a\tvaleur de l'élément du menu\n\t$fm_panel, $fm_tab, $fm_command, etc.\n\nExemple : « $ echo \"Dossier actuel : %%d\" »\nExemple : « +! umount %%v »" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "Erreur lors de la lecture du fichier" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "Erreur lors de l'écriture du fichier" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "Périphérique" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "Protocole" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "Appliquer les modifications ?" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Lancer dans un terminal" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "Lancer en tant que tâche" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "Modifier" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Veuillez choisir une application :" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Commande introuvable" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "To" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "Go" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "Mo" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "ko" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "o" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Le dossier de destination « %1$s » est situé dans la source « %2$s »" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "En accédant à" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "En supprimant" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "En créant le dossier" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "En créant le lien" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "En écrivant" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "En créant" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "En renommant" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "Veuillez installer « /usr/bin/sha256sum » dans le but d'améliorer votre sécurité lors du lancement de commandes root\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Veuillez configuer une commande valide pour le terminal SU dans « Affichage|Préférences|Avancé »" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminal SU inaccessible" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "Veuillez configurer une commande valide pour la commande graphique SU dans « Affichage|Préférences|Avancé »" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "SU graphique inaccessible" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Impossible de créer un dossier temporaire" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Veuillez définir un terminal valide « Affichage|Préférences|Avancé »" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "« spacefm-auth » pas trouvé dans le chemin - votre sécurité en est affectée négativement" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "Erreur durant l'exécution de « %s »\nVoir la sortie (lancer SpaceFM dans un terminal) pour obtenir des informations de débogage" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "Erreur durant l'écriture du fichier temporaire" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "Expiration du délai lors du calcul de la taille totale\n" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nErreur : « %s »\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Volume de %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Lecteur %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Lecteur %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Lecteur de disquettes" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Lecteur Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Lecteur Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Lecteur Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Lecteur SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Lecteur ZIP" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Lecteur Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Clé USB" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Lecteur de musique %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Appareil photo numérique %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Lecteur" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s externe" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disque CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Disque CD-R vierge" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disque CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Disque CD-RW vierge" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disque CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disque DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Disque DVD-RAM vierge" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disque DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Disque DVD-R vierge" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disque DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Disque DVD-RW vierge" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disque DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Disque DVD+R vierge" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disque DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Disque DVD+RW vierge" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disque DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Disque audio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Disque amovible %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volume" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "La connexion au démon HAL a échoué : %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Le périphérique « %s » n'est pas un volume ou un lecteur" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Le périphérique « %s » n'a pas été trouvé dans la table des périphériques du système de fichiers" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Vous n'avez pas les permissions pour monter le volume « %s »" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Vous n'avez pas les permissions pour démonter le volume « %s »" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Vous n'avez pas les permissions pour éjecter le volume « %s »" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Option de montage invalide lors de la tentative de montage du volume « %s »" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Le volume « %s » utilise le système de fichiers « %s », qui n'est pas pris en charge par votre système" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Une application empêche le démontage du volume « %s »" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Le volume « %s » n'est pas monté" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Erreur %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Le volume « %s » a probablement été monté manuellement à partir de la ligne de commande" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Les disques vierges ne peuvent être montés, utilisez un logiciel de gravure pour enregistrer un CD audio ou de données sur le disque" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "Les CD audio ne peuvent pas être montés, utilisez un lecteur de musique pour l'écouter" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr ":disquette" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr ":optique" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "[vierge]" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "[audio]" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "[aucun média]" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "(aucun périphérique « udev »)" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "\nExécution automatique : « %s »\n" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "\nOuvrir un onglet automatiquement pour « %s » dans « %s »\n" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "\nDémontage automatique : « %s »\n" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "\nMontage automatique : « %s »\n" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Démonter si monté : « %s »\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "Entrer le nouveau nom de l'élément « .desktop » :\n\nModifier le nom de cet élément « .desktop » nécessite de modifier le contenu du fichier « %s »" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Modifier le nom de l'élément « .desktop »" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Une erreur s'est produite lors du renommage de cet élément « .desktop »" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Ouvrir le _dossier parent" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Sélectionner un dossier" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Parcourir..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Volumes locaux" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Dernière modification" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Entrer le nom d'un programme ou une ligne de commande Bash :\n\nUsage :\n\t%F\tfichiers sélectionnés, ou %f premier fichier sélectionné\n\t%N\tnom des fichiers sélectionnés, ou %n nom du premier fichier sélectionné\n\t%d\tdossier actuel\n\t%v\tpériphérique sélectionné (ex. : « /dev/sda1 »)\n\t%m\tpoint de montage du périphérique (ex. : « /media/dvd »); %l étiquette du périphérique\n\t%b\tsignet sélectionné\n\t%t\tdossier de la tâche sélectionnée; %p pid de la tâche\n\t%a\tvaleur de l'élément du menu\n\t$fm_panel, $fm_tab, $fm_command, etc." #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "Type MIME" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Nom de fichier" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Dossier" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Accès en écriture du dossier" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Le fichier est un fichier texte" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Le fichier est un dossier" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Le fichier est un lien" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "L'utilisateur est root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Sélection multiple" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Le presse-papiers contient des fichiers" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Le presse-papiers contient du texte" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Panneau actif" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Nombre de panneaux" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Onglet actif" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Nombre d'onglets" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Signet" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Point de montage du périphérique" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Étiquette du périphérique" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Type de système de fichiers du périphérique" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI du périphérique" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Propriétés du périphérique" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Nombre de tâches" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Dossier de la tâche" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Type de tâche" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Nom de la tâche" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Dossier du panneau 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Dossier du panneau 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Dossier du panneau 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Dossier du panneau 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Le panneau 1 contient une sélection" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Le panneau 2 contient une sélection" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Le panneau 3 contient une sélection" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Le panneau 4 contient une sélection" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Périphérique du panneau 1" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Périphérique du panneau 2" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Périphérique du panneau 3" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Périphérique du panneau 4" #: ../src/item-prop.c:205 msgid "equals" msgstr "vaut" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "ne vaut pas" #: ../src/item-prop.c:207 msgid "contains" msgstr "contient" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "ne contient pas" #: ../src/item-prop.c:209 msgid "begins with" msgstr "commence par" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "ne commence pas par" #: ../src/item-prop.c:211 msgid "ends with" msgstr "se termine par" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "ne se termine pas par" #: ../src/item-prop.c:213 msgid "is less than" msgstr "est plus petit que" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "est plus grand que" #: ../src/item-prop.c:215 msgid "matches" msgstr "correspond à" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "ne correspond pas à" #: ../src/item-prop.c:222 msgid "Application" msgstr "Application" #: ../src/item-prop.c:223 msgid "Command" msgstr "Commande" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Actuellement : afficher" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Actuellement : cacher" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Actuellement : désactiver" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Enregistrer le script modifié ?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Sauvegarder vos modifications apportées au script de commande ?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Écraser le script ?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "Le script de commande sur le disque a été modifié.\n\nVoulez-vous l'écraser ?" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "Dossier de la commande" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "(aucun fichier)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "La ligne de commande ne débute pas par un fichier texte (script) pouvant être ouvert, ou le script n'a pas été trouvé dans votre « $PATH »." #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Cibles : (une liste de chemins ou d'URL séparés par des points-virgules)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Cible : (un fichier « .desktop » ou exécutable)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Choisir un exécutable" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Propriétés de l'élément de la barre d'outils" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Propriétés de l'élément de menu" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Élément de la _barre d'outils" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Élément de _menu" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Type :" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Nom :" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Touche :" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Icône :" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Con_texte" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "A_ppliquer" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "valide au moins une des règles :" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "valide toutes les règles :" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "ne valide aucune règle :" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "ne valide pas toutes les règles :" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Afficher" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Activer" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Cacher" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Désactiver" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "l'élément si le contexte" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "Modifier la règle" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Valeur :" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1962 msgid "none" msgstr "aucun" #: ../src/item-prop.c:1964 msgid "files" msgstr "fichiers" #: ../src/item-prop.c:1966 msgid "devices" msgstr "périphériques" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "I_gnorer le contexte / Tout afficher (paramètre global)" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "_Commande" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "_Ligne de commande" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Script" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Ouvrir dans l'éditeur" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "Éditeur _root" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "_Options" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "Options de lancement" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "Notifier la tâche" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "Notifier les erreurs" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "Notifier la sortie" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "Faire défiler la sortie" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "Laisser le terminal ouvert" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "Lancer avec un utilisateur en particulier :" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "(laisser vide pour l'utilisateur actuel)" #: ../src/item-prop.c:2184 msgid "Style" msgstr "Style" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "Normal" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "Case à cocher" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "Confirmation" #: ../src/item-prop.c:2204 msgid "Input" msgstr "Saisie" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "Message de confirmation ou de saisie :" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Ouvrir dans le gestionnaire de fichiers:" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "Dossier des données" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "Dossier de l'extension" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Sous-menu" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "Séparateur" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "Commande intégrée" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Animations" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Icônes des applications" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Icônes des menus" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Icônes des périphériques" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Toutes les icônes" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Apperçu" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "Aucun fichier sélectionné" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "" spacefm-1.0.5/po/gl.po000066400000000000000000005017371264770501700145410ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # ifreiria , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Galician (http://www.transifex.com/projects/p/spacefm/" "language/gl/)\n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Indalecio Freiría Santos , 2009" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Navegar" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Abrir en terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Propiedades do Ficheiro" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Propietario:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupo:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Propietario:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupo:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lectura" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Escritura" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Execución" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Estabelecer UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Estabelecer GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Pegañento" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Permisos" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Buscar Ficheiros" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Distinguir Maiúsculas / Minúsculas" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Ficheiros de Vídeo (avi, mpg,..." #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Ficheiros de Audio (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Ficheiros de Imaxe (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Ficheiros de Texto Plano" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Todos os Ficheiros e Cartafoles " #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Tipos de Ficheiro a Buscar" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Lugares a Buscar" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Xeral" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "O Ficheiro Conten:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Usar expresións regulares" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Contido do Ficheiro" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Contido" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Maior que:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Menor que:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Tamaño do Ficheiro" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Última Modificación" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Tamaño e Data" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Resultado da Busca:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Buscar de novo" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ir ao cartafol" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Preferencias" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Marcadores:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Xeral" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Mostrar sempre a barra de separadores" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterface " #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Imaxe de fondo:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Por favor, seleccione un ficheiro de imaxe" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modo:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Fondo de pantalla:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Texto:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Sombra:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Escritorio" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Xestión de Volumes" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avanzado" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "O ficheiro non existe" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Erro" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Erro: Non se pode estabelecer unha conexión con FAM.\n" "\n" "Tes \"FAM\" ou \"Gamin\" instalado e executándose?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Non se sabe como abrir o ficheiro" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Non se pode abrir o ficheiro:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Ficheiro" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Ver" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "A_xuda" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Cartafol" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nome" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Tamaño" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipo" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Permisos" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Atrás" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Adiante" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Actualizar" #: ../src/settings.c:160 msgid "New Tab" msgstr "Novo Separador" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Cartafol" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Marcadores" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Propiedades" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Editar" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Abrir" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nova _Xanela" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "Ferramen_tas" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "E_xecutar" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Todos os Ficheiros e Cartafoles " #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Extraer _a" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Marcadores" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Ir" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Renomear" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Borrar" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Inverter Selección" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Iconas" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Non se pode montar o dispositivo" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Non se pode desmontar o dispositivo" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Non se pode expulsar o dispositivo" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Expulsar" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Mover: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Copiar: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Borrar: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Enlazar: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Movendo..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Copiando..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Borrando..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Enlazando..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "A:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Sobrescribir todo" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Omitir Todo" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Completado!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Orde:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Sistema de Ficheiros" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Cartafol" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Novo Cartafol" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Novo Ficheiro" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Calculando..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Usuario Inválido" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Grupo Inválido" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Todos os Ficheiros e Cartafoles " #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Orde non atopada" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "O directorio de destino \"%1$s\" está contido na orixe \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Volume" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Unidade" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Unidade" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Unidade de disquete" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Unidade de Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Unidade de Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Unidade de Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Unidade de SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Unidade Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Unidade Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Memoria USB" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Reprodutor de música" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Cámara Dixital" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Unidade" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Externo %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disco CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Disco CD-R Baleiro" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disco CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Disco CD-RW Baleiro" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disco CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disco DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Disco DVD-RAM Baleiro" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disco DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Disco DVD-R Baleiro" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disco DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Disco DVD-RW Baleiro" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disco DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Disco DVD+R Baleiro" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disco DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Disco DVD+RW Baleiro" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disco DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Disco de Audio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Volume Extraíbel" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volume" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Non se puido conectar ao demoño HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "O dispositivo indicado \"%s\" non é un volume ou unidade" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "O dispositivo \"%s\" non se atopou na táboa de dispositivos do sistema" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Non tes permiso para montar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Non tes permiso para desmontar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Non tes permiso para expulsar o volume \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Opción de montaxe non válida ao tratar de montar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "O volume \"%s\" usa o sistema de ficheiros %s, que o seu sistema non " "admite" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Unha aplicación está evitando que o volume \"%s\" se desmonte" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "O volume \"%s\" non está montado" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Erro %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" "O volume \"%s\" montouse probabelmente de forma manual por liña de ordes" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Os discos baleiros non se poden montar, utilice unha aplicación de gravación " "de discos para gravar audio ou datos no disco" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Os CDs de audio non se poden montar, utilice un reprodutor de música para " "escoitalos" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Abrir _Cartafol Contedor " #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Seleccione un cartafol" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Navegar..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Última Modificación" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Orde non atopada" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/he.po000066400000000000000000005036141264770501700145270ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Yaron Shahrabani , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/spacefm/language/" "he/)\n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "מארק קרפיבנר \n" "ירון שהרבני " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_עיון" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "פתיחה במסוף" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "מאפייני קובץ" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_בעלים:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_קבוצה:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "בעלים:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "קבוצה:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "קריאה" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "כתיבה" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "הרצה" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "הגדרת מזהה המשתמש (UID)" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "הגדרת מזהה הקבוצה (GID)" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "דביק" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "ה_רשאות" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "חיפוש קבצים" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "תלוי רישיות" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "קובצי וידאו (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "קובצי שמע (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "קובצי תמונה (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "קובצי _טקסט פשוטים" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "כל הקבצים והתיקיות" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "סוגי הקבצים לחיפוש" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "מיקומים לחיפוש" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "כללי" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "הקובץ מכיל:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "שימוש בביטוי רגולארי" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "תוכן הקובץ" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "תוכן" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "גדולים מ־:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "קטנים מ־:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "גודל הקובץ" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "שינוי אחרון" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "גודל ותאריך" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "תוצאות החיפוש:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "חיפוש חוזר" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "מעבר לתיקייה" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "העדפות" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "סימניות:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_כללי" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "תמיד להציג את סרגל הלשוניות" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "מ_נשק" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "רקע שולחן העבודה:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "נא לבחור בקובץ תמונה" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "מצב:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "רקע:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "טקסט:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "צללית:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_שולחן עבודה" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_ניהול התקני אחסון" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "מסוף:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "מ_תקדם" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "הקובץ אינו קיים" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "שגיאה" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "שגיאה: לא ניתן לקיים את החיבור אל FAM.\n" "\n" "האם יש ברשותך \"FAM\" או \"Gamin\" מותקן ופעיל?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "המידע הדרוש לפתיחת הקובץ חסר או לקוי" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "לא ניתן לפתוח את הקובץ:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_קובץ" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_תצוגה" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_עזרה" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "תיקייה" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "שם" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "גודל" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "סוג" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "הרשאות" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "אחורה" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "קדימה" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "רענון" #: ../src/settings.c:160 msgid "New Tab" msgstr "לשונית חדשה" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_תיקייה" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_סימניות" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_מאפיינים" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_עריכה" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_פתיחה" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "_חלון חדש" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_כלים" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "הר_צה" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "כל הקבצים והתיקיות" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "חילוץ _אל" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_סימניות" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_מעבר" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_שינוי שם" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_מחיקה" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_ביטול הבחירה" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_סמלים" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "לא ניתן לעגן את ההתקן" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "לא ניתן לנתק את ההתקן" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "לא ניתן לשלוף את ההתקן" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_שליפה" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "העברה: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "העתקה: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "מחיקה: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "קישור: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "בהליכי העברה..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "בהליכי העתקה..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "בהליכי מחיקה..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "בהליכי קישור..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "אל:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "שכתוב הכול" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "דילוג על הכול" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "הושלם!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "פקודה:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "מערכת קבצים" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "תיקייה" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "תיקייה חדשה" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "קובץ חדש" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "בהליכי חישוב..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "משתמש לא תקין" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "קבוצה לא תקינה" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "כל הקבצים והתיקיות" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "הפקודה לא נמצאה" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "תיקיית היעד \"%1$s\" מוכלת תחת המקור \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "כרך %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/כונן %s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "כונן %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "כונן דיסקטים" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "כונן Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "כונן Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "כונן Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "כונן SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "כונן Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "כונן Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "דיסק־און־קי" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "נגן מוזיקה ‏‎%s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "מצלמה דיגיטלית ‎%s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "כונן" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s חיצוני" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "דיסק CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "דיסק CD-R ריק" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "דיסק CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "דיסק CD-RW ריק" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "דיסק CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "דיסק DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "דיסק DVD-RAM ריק" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "דיסק DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "דיסק DVD-R ריק" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "דיסק DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "דיסק DVD-RW ריק" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "דיסק DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "דיסק DVD+R ריק" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "דיסק DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "דיסק DVD+RW ריק" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "דיסק DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "דיסק שמע" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "כרך %s נתיק" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "כרך" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "ארע כשל בהתחברות אל מנגנון ה־HAL‏: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "ההתקן הנתון \"%s\" איננו כרך או כונן" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "ההתקן \"%s\" לא נמצא בטבלת התקני מערכות קבצים" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "אינך מורשה לחבר את הכרך \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "אינך מורשה לנתק את הכרך \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "אינך מורשה לשלוף את הכרך \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "אפשרות העגינה לא היתה תקנית בעת הנסיון לעגינת הכרך \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "הכרך \"%s\" משתמש במערכת הקבצים %s שאינה נתמכת על ידי המערכת שלך" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "ישנו יישום המונע את ניתוק הכרך \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "הכרך \"%s\" אינו מעוגן" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "שגיאה %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "קרוב לוודאי שהכרך \"%s\" עוגן אוטומטית באמצעות שורת הפקודה" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "לא ניתן לעגן דיסקים ריקים, יש להשתמש בתוכנת צריבה כדי לצרוב רצועות שמע או " "נתונים על הדיסק" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "לא ניתן לעגן תקליטורי שמע, יש להשתמש בנגני מוזיקה כדי לנגן את רצועות השמע" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "פתיחת התיקייה ה_מכילה" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "בחירת תיקייה" #: ../src/find-files.c:825 msgid "Browse..." msgstr "עיון..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "שינוי אחרון" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "הפקודה לא נמצאה" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/hr.po000066400000000000000000004734701264770501700145520ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/spacefm/" "language/hr/)\n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM Open Folder" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/hu.po000066400000000000000000005026251264770501700145500ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Attila SZERVÁC , 2006,2013 # Zoltan Hoppár , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/spacefm/" "language/hu/)\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "SZERVÁC Attila" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Böngészés" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Megnyitás Terminálban" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Tulajdonságok" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Tulajdonos:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Csoport:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Tulajdonos:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Csoport:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Olvas" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Ír" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Futtat" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Set UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Set GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Ragadós" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Jogok" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Fájlkeresés" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Nagybetű-érzékeny" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Videófájlok (mpg, avi...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Hangfájlok (ogg, mp3,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Képfájlok (png, jpg...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Sima szövegfájlok" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Minden fájl és mappa" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Keresendő fájltípusok" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Keresési helyek" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Általános" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Fájl tartalma:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Szabályos kifejezéssel" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Fájltartalom" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Tartalom" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Nagyobb mint:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Kisebb mint:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Fájlméret" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Utolsó módosítás" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Méret és dátum" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Keresési eredmények:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Keresés újra" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ugrás mappára" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Tulajdonságok" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Könyvjelzők" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "Általá_nos" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Fül sáv állandó mutatása" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "F_elület" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Tapéta:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Válassz egy kép fájlt" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Mód:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Háttér:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Szöveg:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Árnyék:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Asztal" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Kötetkezelés" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminál:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Haladó" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Túl sok oszlop (>%d) itt: %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "hiba e fájl olvasásakor: %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "Az alábbi fájl tartalma: '%s' nem érvényes UTF-8" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Nem tudom beállítani e hiányzó elemet: '%s'" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "A dinamikus átméretezés 0-nál nagyobb szélességet és hosszúságot kíván" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "az alábbi belső parancs: %s egy argumentumot kíván" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "'%s' ekem nem létezik" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "hiba a fájl írásakor: %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' nem egy belső parancs" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "hiba a fájl létrehozásakor: %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "'%s' csővezeték adata nem érvényes UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( a fájl tartalma nem érvényes UTF-8 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "'%s' prefixum nem egy érvényes változónév" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Szünet" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "érvénytelen párbeszéd opció" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "A fájl nem létezik" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Hiba" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Hiba: Nem tudok kapcsolódni a FAM-hoz.\n" "\n" "A \"FAM\" vagy \"Gamin\" telepítve van és fut?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Nincs adatom e fájl megnyitásáról" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Fájl megnyitása sikertelen:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Terminál megnyitása" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fájl" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Nézet" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Súgó" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Mappa" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Név" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Méret" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Típus" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Engedély" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Vissza" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Előre" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Frissít" #: ../src/settings.c:160 msgid "New Tab" msgstr "Új lap" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Mappa" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Könyvjelzők" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "T_ulajdonságok" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "Sz_erkesztés" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "Megnyitás" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Új _ablak" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "Esz_köz" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_Futtat" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Minden fájl és mappa" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Kibontás ide" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Könyvjelzők" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Ugrás" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "Át_nevezés" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Törlés" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "Választás meg_fordítása" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikonok" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Eszköz csatolása sikertelen" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Eszköz lecsatolása sikertelen" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Eszköz kiadása sikertelen" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "Kiad" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Mozgatás:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Másolás:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Törlés:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Lánc:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Mozgatás..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Másolás..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Törlés..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Láncolás..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Ide:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Mindet felülírja" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Mindet kihagyja" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Kész!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Parancs:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Fájlrendszer" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Mappa" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Új könyvtár" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Új fájl" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Számolás..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Nem létező felhasználó" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Nem létező csoport" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Minden fájl és mappa" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Parancs nem található" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "\"%1$s\" cél könyvtár szerepel a forrásban: \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s kötet" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s meghajtó" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Meghajtó" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Flopi meghajtó" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash meghajtó" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memory Stick meghajtó" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media meghajtó" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC meghajtó" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip meghajtó" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz meghajtó" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen meghajtó" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s zenelejátszó" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s digitális kamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Meghajtó" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Külső %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM lemez" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Üres CD-R lemez" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R lemez" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Üres CD-RW lemez" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW lemez" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM lemez" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Üres DVD-RAM lemez" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM lemez" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Üres DVD-R lemez" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R lemez" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Üres DVD-RW lemez" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW lemez" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Üres DVD+R lemez" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R lemez" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Üres DVD+RW lemez" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW lemez" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio lemez" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s eltávolítható kötet" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Kötet" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Nem tudtam kapcsolódni a HAL démonhoz: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "A megadott \"%s\" eszköz nem kötet vagy meghajtó" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "\"%s\" eszköz nincs a fájlrendszer eszköz táblában" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Nincs jogod csatolni \"%s\" kötetet" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Nincs jogod lecsatolni \"%s\" kötetet" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Nincs jogod kiadni \"%s\" kötetet" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Érvénytelen csatolási opció \"%s\" kötet csatolása közben" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "\"%s\" kötet %s fájlrendszert használja, melyet nem támogat rendszered" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Egy alkalmazás gátolja \"%s\" kötet lecsatolását" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Az alábbi kötet nincs csatolva: \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Hiba: %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Az alábbi kötet valószínűleg kézzel került csatolásra: \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Az üres lemezek nem csatolhatók, használj egy CD-író alkalmazást hangsávok " "vagy adatok rögzítésére a lemezen" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "A hang CD-k nem csatolhatók, használj zenelejátszót a hangsávok lejátszására" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Tartalmazó _mappa megnyitása" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Válassz mappát" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Böngész..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Utolsó módosítás" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Parancs nem található" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/id.po000066400000000000000000005006101264770501700145200ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/spacefm/" "language/id/)\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Kredit-Penerjemah" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Melihat " #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Dibuka di Terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "File Properties" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Pemilik:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grup:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Pemilik:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grup:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Baca" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Tulis" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Eksekusi" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Set UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Set GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sulit" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Permisi" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Mencari File:" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Tempat Sensitif" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "File Video (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "File Audio (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "File Gambar (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Plain Text Files" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Semua File dan Folder" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Tipe File Untuk Dicari" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Tempat Mencari" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Umum" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Isi File:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Menggunakan Ekspresi Reguler" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Isi File" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Isi" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Baik Dengan:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Bagian Dengan:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Ukuran File" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Terakhir Diubah" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Ukuran & Tanggal" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Hasil pencarian:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Cari Lagi" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ke Folder" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Prefensi" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Penanda:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Umum" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Selalu Menampilkan Tab Bar" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "A_ntar Muka" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Wallpaper:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Silahkan pilih file gambar" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Mode:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Background:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Teks:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "bayang-bayang:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Desktop" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Manajemen _Volume" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Advance" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "File tidak ditemukan" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Galat" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Galat: Menggunakan to Penetapan Sambungan dengan FAM.\n" "\n" "Apakah kamu suka \"FAM\" atau \"Gamin\" untuk dipasang atau dijalankan?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Tidak tahu kapan membuka file" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Menggunakan Untuk membuka FIle:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_File" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "Tamp_ilan" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Bantuan" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Folder" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nama" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Ukuran" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipe" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Permisi" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Kembali" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Ke Depan" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Segarkan" #: ../src/settings.c:160 msgid "New Tab" msgstr "Tab Baru" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Folder" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Penanda" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Properties" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Edit" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Buka" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Jen_dela Baru" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Alat" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "E_ksekusi" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Semua File dan Folder" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Extrac_t Ke" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Penanda" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Ke" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Ganti Nama" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Hapus" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "Membalikkan Pilihan" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikon" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Buat Tautan Device" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Lepaskan Tautan Device" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Keluarkan Device" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Eject" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Pindah: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Salin:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Hapus:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Link: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Sedang Memindah..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Sedang Menyalin..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Sedang Menghapus..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Sedang Mengaitkan..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Ke:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Tulis Ulang Semuanya" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Abaikan Semuanya" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Komplit!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Command:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "File System" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Folder" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Folder Baru" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "File Baru" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Sedang Menghitung..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Pengguna Tidak Valid" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Grup Tidak Valid" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Semua File dan Folder" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Perintah Tidak Ada" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Direktori Tujuan \"%1$s\" terdapat di sumber \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Volume" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Drive" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Drive" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Floppy Drive" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash Drive" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memory Stick Drive" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media Drive" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC Drive" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip Drive" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz Drive" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen Drive" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Pemutar Musik" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Kamera Digital" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Drive" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "External %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM Disc" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "CD-R Disc Kosong" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R Disc" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "CD-RW Disc Kosong" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW Disc" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM Disc" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "DVD-RAM Disc Kosong" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM Disc" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "DVD-R Disc Kosong" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R Disc" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "DVD-RW Disc Kosong" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW Disc" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "DVD+R Disc Kosong" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R Disc" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "DVD+RW Disc Kosong" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW Disc" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio Disc" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Removable Volume" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volume" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Gagal menyambungkan ke HAL daemon: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Dengan alat \"% s\" bukanlah volume atau drive" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Device \"%s\" tidak ada file system di tabel device" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Kamu tidak diistimewakan untuk menautkan volume \"% s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Kamu tidak diistimewakan untuk melepaskan volume \"% s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Kamu tidak diistimewakan untuk mengeluarkan volume \"% s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Tautan Cacat ketika mencoba untuk menautkan volume [itu] \"% s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Volume \"%s\" menggunakan %s file system tidak disupport oleh sistem " "anda" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Suatu aplikasi sedang mencegah volume \"% s\" dari tidak menautkan" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Volume \"%s\" Tidak dapat dilepaskan" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Galat %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Vikume \"%s\" mungkin menautkan secara manual dengan perintah baris" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "disk Kosong tidak dapat ditautkan, menggunakan CD aplikasi CD rekaman untuk " "merekam audio atau data ke disc" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Audi CD tidak dapat ditautkan, menggunakan pemutar music untuk memutar audio " "track" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Buka _Folder yang berisi" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Pilih Folder" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Lihat..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Terakhir Dimodifikasi" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Perintah Tidak Ada" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/it.po000066400000000000000000006113441264770501700145470ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Andrea Scarpino , 2009 # Claudio Riva , 2006 # Teodoro Santoni , 2013 # Pierluigi Mario , 2015 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-10-10 17:44+0000\n" "Last-Translator: Pierluigi Mario \n" "Language-Team: Italian (http://www.transifex.com/ignorantguru/spacefm/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Gestore file SpaceFM" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Apri cartella" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM Ricerca File" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Cerca fra i file e le cartelle" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Gestore File" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Mostra il file system" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "di IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Copyright (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "SpaceFM - Copyright (C) 2015 GPL3+\n\nQuesto programma è software libero; puoi ridistribuirlo e/o modificarlo secondo i termini della licenza GNU General Public License edita dalla Free Software Foundation; ciascuna delle 3 versioni della Licenza, o (a tua scelta) una eventuale versione successiva.\n\nUTILIZZALO A TUO PROPRIO RISCHIO. Questo programma è distribuito nella speranza che venga usato, ma SENZA ALCUNA GARANZIA; così come non vi è la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ AD UN PARTICOLARE SCOPO. Si veda la GNU General Public License per maggiori dettagli.\n\nLe librerie 'exo' e il codice sorgente usati per questo software sono rilasciati sotto licenza della GNU General Public License e della GNU Lesser General Public License versione 3 (LGPL3).\n\nDovresti aver ricevuto una copia della GNU General Public License e della GNU Lesser General Public License con questo programma; se non è così, scrivi alla Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "IgnorantGuru \n\nContributori:\nBwackNinja \nOmegaPhil \n\nLavoro artistico:\nIcone e logo di SpaceFM di Goran Simovic\n\nRingraziamenti agli utenti di SpaceFM per i feedback di valutazione, ai traduttori di SpaceFM e \nagli sviluppatori di pacchetti!\n\nRingraziamenti speciali a:\nJean-Philippe Fleury\nVladimir Kudrya\nVastOne\nHasufell\n\nSpaceFM è sviluppato usando geany, gcc, e git, con un piccolo aiuto di gdb.\n\nCodice Sorgente preso da altri progetti:\n* pcmanfm-mod: IgnorantGuru\n* pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n* libmd5-rfc: Aladdin Enterprises\n* Working area detection: Gary Kramlich\n* ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n* Text and icon renderer utilizzano codice di Jonathan Blandford\n* Le icone del Desktop utilizzano codice di Brian Tarricone\n* HAL support (deprecato): gnome-vfs, thunar-vfs, libexo, gnome-mount" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "Icone e logo di SpaceFM sono stati realizzati da Goran Simovic\n\nUlteriori icone sono state mutuate da quelle della serie Tango Desktop Project" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Spartak77 ; Teodoro Santoni " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Scegli applicazione" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Inserisci il nome di un'applicazione o un comando:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Tipo di File:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Applicazioni Associate" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "Tutte _le Applicazioni " #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Comando:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "Naviga (_B)" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Aperto nel Terminale" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Impo_Sta come applicazione di default per questo tipo di file" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Proprietà File" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "b>_Nome File:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Location:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Link _Target:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Tipo:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Apri Con:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Dimensione totale:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Dimensione su disco:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Quantità:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Modificato:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "Ultimo _Accesso:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Info" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "Pr_Oprietario:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Gruppo:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Proprietario:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Gruppo:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Altro:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lettura" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Scrittura" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Esecuzione" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Imposta ID Utente (UID)" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Imposta ID gruppo (GID)" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sticky" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Ricorsivo (applica le modifiche alle cartelle e a ciò che contengono)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "_Permessi" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Tutti" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Ultime 24 ore" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Ultima settimana" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Ultimo mese" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Ultimo anno" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Nell'intervallo date selezionato" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Cerca File" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Nome-file:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Case Sensitive" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "File Video (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "File Audio (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "File Immagine (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "File Testo Puro" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Tutti i File e le Cartelle" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Cerca nei file di tipo" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Cerca nelle sottocartelle" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Cerca fra i file nascosti" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Cerca in" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Generale" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "File Contiene:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Usa Espressioni Regolari" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Il File Contiene" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Contenuto" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Più grande di:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Più piccolo di:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Dimensione File" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Ultima modifica" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Dimensione e Data" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Risultati Ricerca:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Ripeti Ricerca" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Vai alla cartella" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Apri nella scheda corrente" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Apri in una nuova scheda" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Esteso" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Adatta" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centrato" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Affiancato" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Ingrandito" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Trasparente" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Modalità Automatica" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Copia (Ctrl+Trascina)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Muovi (Shift+Trascina)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Crea collegamento (Ctrl+Shift+Trascina)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Preferenze" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Icone piccole:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Icone grandi:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Icone barra degli strumenti:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Icone" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Apri i file con un singolo click" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Seleziona passando sopra col mouse" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Segnalibri:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Mostra anteprime" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Dimensione massima immagini d'anteprima:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Elenco di File" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Generale" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Mostra sempre la barra delle schede" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Nascondi tasti 'Chiudi Scheda'" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Chiedi conferma cancellazioni/rimozioni" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Avvia eseguibili cliccando" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Dimensione file SI (1K = 1000) (è necessario riavviare SpaceFM)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Colore per evidenziare utente root" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Azione predefinita quando si trascinano elementi:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterfaccia" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Wallpaper:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Per favore seleziona un'immagine" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modalità:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Sfondo:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Testo:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Ombra:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Font:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "In Alto:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "A Sinistra:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "A Destra:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "In Basso:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Spaziatura:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Margini" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Clicca col destro per vedere il menu WM" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Apri le cartelle usando applicazioni associate MIME" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Desktop" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Gestione _Volumi" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminale:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Comando SU da terminale:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "SU grafico:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Codifica caratteri per i nomi dei files:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor testi:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Avvia l'editor da terminale" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Editor testi (utente root):" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Avvia l'editor da terminale (utente root)" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Formato data:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(è necessario riavviare SpaceFM)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Mostra data" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avanzate" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Troppe colonne (>%d) in %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "Si è verificato un errore leggendo il file %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "i contenuti del file '%s' non sono codificati correttamente per UTF-8" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "L'elemento '%s' è mancante" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "'%s' non è un file" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "Il ridimensionamento dinamico richiede altezza e larghezza maggiori di 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "Il comando interno %s necessita di un parametro" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "l'elemento '%s' non esiste" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "%s non si può premere" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "%s non è de/selezionabile" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "Si è verificato un errore scrivendo su %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' non è un comando" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "Si è verificato un errore nella creazione di %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "Il flusso dati '%s' non è UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ SNIP - l'output extra è stato eliminato da questo log ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( il contenuto del file non è UTF-8 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "Il prefisso '%s' non è un nome valido per variabili" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Pausa" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "'%s' non è un file o un flusso dati pipe" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "SpaceFM Dialog crea una finestra di dialogo GTK personalizzata in base agli elementi\nspecificati sulla linea di comando, include comandi interni/esterni eseguiti in run-time che\npossono modificare elementi, e mostra dei risultati in formato riutilizzabile.\n" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "Modalità d'uso:\n" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "spacefm --dialog|-g {ELEMENTO [OPZIONI] [PARAMETRI...]} ...\n" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Esempio:\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "spacefm -g --label \"A message\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "\nELEMENTO: OPZIONI E PARAMETRI:\n" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nI seguenti parametri possono essere dati in ingresso come specificato sopra:\n" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr "STOCK %s \n" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "ICON Il nome di un'icona, ad esempio: gtk-open\n" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr " @FILE Un file di testo da cui leggere un valore. In alcuni casi questo file\n è monitorato, quindi inserire un nuovo valore aggiornerà\n l'elemento. In altri casi, il file specificherà un valore iniziale.\n" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr " SAVEFILE I contenuti di un editor o di un visualizzatore saranno salvati in questo file.\n" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr " COMMAND Un comando interno o eseguibile seguito da parametri. Separa\n comandi multipli intervallando con --.\n I seguenti alias possono essere usati nei COMMAND:\n %%n Nome dell'elemento prelevato\n %%v Valore dell'elemento prelevato\n %%NAME Valore dell'elemento chiamato NAME (esempio: %%input1)\n %%(command) stdout da un comando eseguito in bash shell\n %%%% %%\n" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr " LABEL I seguenti caratteri escape non vengono processati in LABEL:\n \\n newline\n \\t tab\n \\\" \"\n \\\\ \\\n Negli elementi --label, se il primo carattere di LABEL è una\n tilde (~), può essere utilizzato il markup pango. Ad esempio:\n --label '~Testo base. Grassetto.'\n" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "\nAssieme alle opzioni OPTIONS mostrate sopra, --compact o --expand possono essere aggiunte \na qualsiasi elemento. Inoltre, un'opzione --font può essere introdotta in gran parte degli elementi\nper modificare il tipo e la dimensione dei font usati. Ad esempio:\n --input --font \"Times New Roman 16\" \"Testo Predefinito\"\n" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "\nCOMANDI INTERNI:\n" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "\nESEMPIO CON COMANDI:\n" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr " spacefm -g --label \"Inserisci del testo e premi Invio:\" \\\n --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n --label \\\n --button ok\n" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "\nSCRIPT DI ESEMPIO:\n" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nPer la documentazione completa ed esempi, vedi il manuale utente di SpaceFM:\n" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: parametro non UTF-8\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "Opzione non valida" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Imposta titolo della finestra" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Imposta icona della finestra" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Aggiungi una casella di testo" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Aggiungi una voce di testo" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Aggiungi una voce con lettere grandi" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Aggiungi una voce per una password" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Aggiungere visualizzatore di file o flusso di dati (pipe)" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Aggiungi editor di testo multi-linea" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Aggiungi una casella di scelta" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Aggiungi una casella di scelta a cerchio" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Aggiungi un'icona" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Aggiungi un'immagine" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Aggiungi una barra di progressione" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Aggiungi una linea di separazione orizzontale" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Aggiungi una linea di separazione verticale" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Chiudi automaticamente la finestra dopo DELAY secondi" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Aggiungi un menu a tendina. Il COMANDO si avvia cliccandoci sopra" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Aggiungi un elenco di combinazioni. Il comando si avvia premendo Invio." #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Aggiungi un elenco a finestra. Il COMANDO si avvia cliccandoci sopra due volte." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Aggiungi un elenco, a finestra, a scelta multipla" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Optioni: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Imposta la base del nome della variabile (di default: \"dialog\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Imposta larghezza minima, altezza, spaziatura (-1 = non cambiare)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Aggiungi i seguenti widgets su un quadro orizzontale" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Aggiungi i seguenti widgets su un quadro verticale" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Chiudi l'attuale quadro di widgets" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Avvia COMANDO quando viene premuta una chiave di combinazione di tasti " #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "Avvia COMANDO quando un elemento è cliccato o focalizzato" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "Esegui Comando al tentativo di chiudere la finestra" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Leggi comandi dal file o flusso di dati (pipe). Comando per l'inizializzazione." #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "Nessuna azione - non fare nulla, solo interpreta gli argomenti" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "Chiudi il dialogo" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "Premi il pulsante chiamato BUTTON-NAME" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "Imposta l'elemento NAME su VALUE" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Seleziona la voce VALUE (o la prima/o tutte le voci) nell'elemento NAME" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "deseleziona la voce VALUE (o tutte) nell'elemento NAME" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "Focalizza l'elemento NAME, o apri una finestra di dialogo" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "Nascondi elemento NAME" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "Mostra l'elemento NAME se precedentemente nascosto" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "Disabilita l'elemento NAME" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "Abilita l'elemento NAME se precedentemente disabilitato" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Apri la cartella in una nuova scheda dell'ultima finestra (default)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Apri le cartelle in una nuova finestra" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Apri le finestre nel pannello 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Mostra le impostazioni del desktop" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Mostra Preferenze ('N' è il numero della scheda Pref )" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Avvia come Demone" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "Mostra la Ricerca File" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Imposta il wallpaper del desktop su FILE" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Mostra un dialogo di personalizzazione (See -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "Mostra informazione sulla versione" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | FILE | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "L'Opzione --config-dir viene ignorata - un instanza è già stata avviata" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "L'Opzione --config-dir contiene caratteri non validi - non si può avviare" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd richiede un argomento\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: non si riesce a creare socket\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm: non si riesce a connettersi al socket (non è avviato? o il DISPLAY non è impostato?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: risposta non valida dal socket\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Uso:" #: ../src/main.c:679 msgid "Example:" msgstr "Esempio:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "METODI\n-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Imposta una proprietà" #: ../src/main.c:687 msgid "Gets a property" msgstr "Ottieni una proprietà" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Attiva una voce di menu emettendo il suo tasto di scelta rapida" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Mostra questo aiuto. (Vedi anche il manuale lincato sotto)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "OPZIONI\n-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Aggiungi delle opzioni dopo METHOD per definire una specifica finestra, pannello, e/o tab." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Altrimenti verra usata la scheda corrente dell'attuale pannello dell'ultima finestra." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Specifica finestra. ad es.:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Specifica pannello 1-4. ad es.:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Specifica scheda 1-... ad es.:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "PROPRIETA'\n----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Impostare le proprietà con la MODALITA' 'set' (imposta), o ottieni il valore con 'get' (ottieni)." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "es. '800x600'" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "es. '100x50'" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "es. '1024x768' (sola-lettura)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "es. '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[FILENAME...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "es. '~/copia-contenuto-del-file-sugli-appunti.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "FILE... Files copiati sugli appunti" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "FILE... Files tagliati, presenti sugli appunti" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "es. 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Esegui COMANDO nella DIR" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Copia|Sposta|Collega FILE(s) o DIR(s) alla dir. TARGET" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Elimina Ricorsivamente FILE(s) o DIR(s)" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "Apre un FILE con un text editor con proprietà d'utente o di root" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "Apre un URL nel web browser dell'utente" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "Monta un DISPOSITIVO o un URL" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "Smonta un DISPOSITIVO o una Directory di punto di montaggio" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "EVENTI\n------" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "Avvia Instanza %e" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "Chiudi Istanza %e" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:828 msgid "window ID" msgstr "" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:838 msgid "Examples" msgstr "Esempi" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "Questi file sono stati copiati sugli appunti" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Per una documentazione completa ed esempi vedi il Manuale dell'utente di SpaceFM:" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Errore: Incapace di salvare la sessione\n%s\n" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "Il File non esiste!" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Errore" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Errore: Impossibile stabilire una connessione con FAM.\n\nAvete installato e avviato \"FAM\" o \"Gamin\"?" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "SpaceFM richiede che sia installata la shell bash. Altre shells NON sono equivalenti dato che SpaceFM usa delle caratteristiche che si trovano solamente in genuine bash (v4+).\n\nIl programma %s non è stato trovato. Installa bash o usa, nel processo di compilazione, l'opzione di configure --con/il/percorso/per arrivare a/bash per specificare un percorso personalizzato." #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Non so come aprire il file" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Impossibile aprire il file:\n\"%s\"\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Scegli il file del Plugin" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Inserisci l'URL del Plugin" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Inserisci L'URL del Plugin di SpaceFM:\n\n(wget verrà usato per scaricare il file del plugin)" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "Il filename di questo plugin non è corretto. Prego rinominalo usando caratteri alfa-numerici ASCII e riprova." #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "Il nome_file del plugin non è valido" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "C'è già un plugin installato come '%s'. Lo sovrascrivo ?\n\nConsiglio: Puoi anche rinominare il file di questo plugin per installarlo con un nome differente." #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "Sovrascrivere il Plugin?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Errore nel Creare la Directory Temp" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "Non si riesce a creare la directory Temp dei file temporanei" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Errore: Non si riesce a salvare il file di sessione\n\n( %s )" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Errore di Salvataggio Sessione" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Apri Finestra Root" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminale Non Disponibile" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Prego imposta i tuoi programmi da terminale in Visualizza|Preferenze|Avanzate" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Apri Terminale" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "Guida Modalità Design" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "Modalità Design ti permette di cambiare il nome, la scorciatoia da tastiera e l'icona del menu, della barra degli strumenti eil segnalibro degli elementi, visualizza un aiuto su ciascun elemento, e aggiunge i tuoi comandi e programmi personali.\n\nPer aprire la Modalità Design, simplicemente clicca col destro su un elemento del menu, su un segnalibro, o un elemento della barra degli strumenti. Per aprire il Menu Design per un submenu, prima chiudi il submenu (cliccandoci sopra).\n\nPer maggiori informazioni, clicca il pulsante Aiuto sopra." #: ../src/main-window.c:1903 msgid "Panel" msgstr "Pannello" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Nuovo _Comando" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "Mosta Pannello %d" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_File" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "_Visualizza" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Dispositivo" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "Segnali_bri" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Plugins" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "S_trumenti" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Errore: non è possibile salvare il file di sessione. Vuoi uscire senza salvare?\n\n( %s )" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "Errore di SpaceFM" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "Fermare tutti i processi attivi in questa finestra?" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "Spegnimento processi..." #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr "%s liberi / %s " #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "%sIn lettura %s ..." #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr "Link → %s" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr "Link → %s/" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr "!Link → %s/ (non si trova)" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr "Link → %s (%s)" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr "!Link → %s/ (non si trova)" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr " !Link → ( errore nella lettura del target )" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Le scorciatoie da tastiera del manager Dispositivi sono disabilitate in modalità HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "Stato" #: ../src/main-window.c:4302 msgid "#" msgstr "#" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Cartella" #: ../src/main-window.c:4302 msgid "Item" msgstr "Elemento" #: ../src/main-window.c:4303 msgid "To" msgstr "a" #: ../src/main-window.c:4303 msgid "Progress" msgstr "Avanzamento" #: ../src/main-window.c:4303 msgid "Total" msgstr "Totale" #: ../src/main-window.c:4304 msgid "Started" msgstr "Iniziato" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "Trascorso" #: ../src/main-window.c:4304 msgid "Current" msgstr "Attuale" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "" #: ../src/main-window.c:4305 msgid "Average" msgstr "Media" #: ../src/main-window.c:4305 msgid "Remain" msgstr "Rimane" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "Aiuto Riordina Colonne" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Per modificare l'ordine delle colonne, trascina l'intestazione di colonna nella posizione desiderata." #: ../src/main-window.c:5913 msgid "moving" msgstr "spostamento" #: ../src/main-window.c:5914 msgid "copying" msgstr "copia" #: ../src/main-window.c:5915 msgid "trashing" msgstr "cestinaggio" #: ../src/main-window.c:5916 msgid "deleting" msgstr "eliminazione" #: ../src/main-window.c:5917 msgid "linking" msgstr "collegamento" #: ../src/main-window.c:5918 msgid "changing" msgstr "cambiamento" #: ../src/main-window.c:5919 msgid "running" msgstr "avvio" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "%d errore %s" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "%d errori %s" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "in pausa" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "in coda" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Nome" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Dimensione" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipo" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Permessi" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "Proprietario" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "Modificato" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "spacefm: invalid comando socket non valido\n" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: optione '%s' non valida\n" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: l'optione %s richiede un argomento\n" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "spacefm: window non valida\n" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: window %s non valida\n" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: panello %d non valido\n" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: panello %d non è visibile\n" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: scheda %d non valida\n" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: per configurare il comando si richiede un argomento\n" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: il valore %s non è valido\n" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "spacefm: numero di panello non valido\n" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: la proprietà %s non è valida\n" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "spacefm: la larghezza della colonna non è valida\n" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: il nome '%s' della colonna non è valido\n" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: il testo non rispetta la codifica UTF-8\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s richiede sia specificato il percorso al file\n" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: errore nella lettura del file '%s'\n" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: il file '%s' non contiene testo rispondente alla codifica UTF-8\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s richiede un percorso alla directory\n" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: la directory '%s' non esiste\n" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: il comando %s richiede un argomento\n" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s richiede due argomenti\n" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: il processo '%s' non è valido\n" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: il processo interno %s è in sola lettura\n" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: le proprietà del processo '%s' sono di sola lettura\n" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: le proprietà del processo '%s' non sono valide\n" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: non si trova la directory '%s'\n" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: non valida %s opzione di processo '%s'\n" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: non si trova il file '%s'\n" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "spacefm: il tipo di processo %s richiede udev\n" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "spacefm: il tipo di processo %s richiede un argomento TARGET\n" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "spacefm: il TARGET '%s' non è valido\n" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: il tipo di processo %s richiede l'argomento(i) FILE\n" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "pacefm: il tipo di processo '%s' non è valido\n" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: il keycode '%s' non è valido\n" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "Default" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "Scegli Font per il desktop" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "Esempio Elemento 0123456789" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "Requisiti della Transparenza" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "Nota generale: Perchè si possa applicare la trasparenza al desktop, è necessario sia avviato un composite window manager o un compositore a parte come compton o xcompmgr. È quindi possibile utilizzare nitrogen o xwinwrap per impostare un wallpaper come sfondo.\n\nQuesto messaggio non si ripeterà." #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "A causa delle licenze di gnome-terminal, konsole, lxterminal, e urxvtc, l'uso di questi terminali con SpaceFM può impedire l'opzione di \"esegui come processo\" ed \"Esegui da terminale\" poichè vengono usati insieme per avviare i comandi. Ad esempio, questo può causare, in protocolli montati da terminale, la mancata apertura automatica successivamente al loro montaggio. Per un pieno uso delle funzionalità di SpaceFM, si raccomanda di scegliere un altro terminale." #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "Salva Impostazioni Root" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "" #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "" #: ../src/settings.c:156 msgid "Show Devices" msgstr "Mostra Dispositivi" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "Mostra Segnalibri" #: ../src/settings.c:158 msgid "Show Tree" msgstr "Mostra albero" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "Home" #: ../src/settings.c:161 msgid "Up" msgstr "Su" #: ../src/settings.c:162 msgid "Back" msgstr "Indietro" #: ../src/settings.c:163 msgid "Back History" msgstr "\"Indietro\" precedenti " #: ../src/settings.c:164 msgid "Forward" msgstr "Avanti" #: ../src/settings.c:165 msgid "Forward History" msgstr "\"Avanti\" precedenti" #: ../src/settings.c:166 msgid "Refresh" msgstr "Aggiorna" #: ../src/settings.c:167 msgid "New Tab" msgstr "Nuova Scheda" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Nuova scheda qui" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "Mostra file nascosti" #: ../src/settings.c:171 msgid "Large Icons" msgstr "Icone Larghe" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "" #: ../src/settings.c:462 msgid "file not found" msgstr "" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "_Stop" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "Mostra_Manager" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "Auto-_Nascondi Manager" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "Err_ori" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Cartella" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "STatistiche _Dettagliate" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "Rimuo_vi / Espelli" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "_Importa" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "F_ilename" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "Ta_rget" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# File di sessione di SpaceFM\n\n# QUESTO FILE NON È STATO IMPLEMENTATO PER VENIRE MODIFICATO DALL'UTENTE TRAMITE UN EDITOR DI TESTO - esso verrà letto e SOVRASCRITTO\n\n# Se elimini tutti i file di sessione, SpaceFM verrà resettato ai valori iniziali predefiniti dal programma.\n" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "Errore nel salvare il file" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "SpaceFM Errore: Non riesce l'auto-salvataggio del file di sessione ( %s )\n" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "" #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "Aiuto non disponibile" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "Questo plugin non include un file README di avvertenze e consigli." #: ../src/settings.c:4346 msgid "Create README" msgstr "Crea file README" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "Nessun file README esiste per questo comando.\n\nVuoi crearti un file README su cui scrivere delle avverenze?" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "Creazione fallita" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "Si è verificato un errore creando un file README per questo comando." #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Si è verificato un errore copiando i file di comando\n\n%s" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "Errore nel copiare il comando" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Si è verificato un errore copiando i files di dati del comando\n\n%s" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "Errore nella lettura del file del plugin %s" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "La cartella del plugin importato non contiene un plugin valido.\n\n(%s/)" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "Plugin non valido" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "Il plugin '%s' è stato copiato negli appunti di design. Utilizza Visualizza|modalità Design per incollarlo in un menu.\n\nPoiché non è stato installato, questo plugin non apparirà nel menu dei Plugins." #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "Il plugin '%s' è stato copiato negli appunti di design. Utilizza Visualizza|modalità Design per incollarlo in un menu.\n\nPoiché non è stato installato, questo plugin non apparirà nel menu dei Plugins, e i suoi contenuti non sono protetti da proprietà di pertinenza di root (una volta incollato verrà salvato con le proprietà del normale utente) .\n\nSe questo plugin contiene comandi con richiesta password di root o viene eseguito come root, si raccomanda l'installazione e l'esecuzione di esso solo dal menu Plugin per maggiore sicurezza del sistema." #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "Disinstallare il plugin '%s' ?\n\n( %s )" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Disinstalla Plugin" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Installa Plugin" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "Salva come File Plugin" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Esporta Plugin" #: ../src/settings.c:5601 msgid "Export Error" msgstr "Errore nel tentativo di esportazione" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "Non si riesce a creare i file temporanei" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "Cambia nome all'elemento" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "Editor non impostato" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Prego imposta il tuo editor in View|Preferenze|Avanzate" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "Root Editor Non impostato" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Prego imposta il tuo editor in View|Preferenze|Avanzate" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "Edita %s" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "Manuale Utente non trovato" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "Leggere il manuale utente online?\n\nLa copia locale del manuale utente di SpaceFM non è stata trovata. Clicca Yes per leggerlo online, o clicca No e poi inserisci la posizione corretta in Help|Options|Manual Location." #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "Manuale aperto?" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "Il manuale di SpaceFM dovrebbe essersi aperto nel tuo browser. Se non si è aperto, o se ti piacerebbe usare un browser diverso, imposta il browser di tua scela in Help|Options|Browser.\n\nQuesto messaggio non verrà ripetuto." #: ../src/settings.c:6627 msgid "( none )" msgstr "( nessuno )" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "Digita la tua combinazione di tasti per la voce '%s' dopodichè clicca Imposta. Per rimuovere la combinazione assegnata clicca Rimuovi." #: ../src/settings.c:6820 msgid "Cancel" msgstr "Cancella" #: ../src/settings.c:6826 msgid "Unset" msgstr "Rimuovi" #: ../src/settings.c:6839 msgid "Set" msgstr "Imposta" #: ../src/settings.c:6853 msgid "Set Key" msgstr "Imposta Tasto" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "Imposta Icona" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "Edita Comando" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:7041 msgid "Run As User" msgstr "Avvia da normale Utente" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Avvia questo comando da username:\n\n( Lascia lo spazio bianco per l'utente attuale )" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7050 msgid "New Context Command" msgstr "" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "Imposta il nome all'elemento" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Scegli cartella" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7140 msgid "(none)" msgstr "(nessuno)" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "Imposta nome del submenu" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Inserisci il nome del submenu:\n\nPrecedi un carattere con un underscore (_) per sottolineare quel carattere come tasto di scelta rapida se lo si desidera." #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "Nuovo _Submenu" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "" #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7346 msgid "( no name )" msgstr "( nessun nome )" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "Rimuovere definitivamente il SUBMENU '%s' E TUTTE LE VOCI CONTENUTE IN ESSO?\n\nQuesta azione eliminerà tutte le impostazioni e i file associati con queste voci." #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "Rimuovere definitivamente la voce '%s' ?\nQuesta azione eliminerà tutte le impostazioni e i file associati con questa voce." #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "Conferma Rimozione" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Sei sicuro?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "Messaggio di Dialogo" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Inserisci il messaggio che sarà mostrato in questo dialogo:\n\nUsa:\n⇥\\n⇥newline\n⇥\\t⇥tab" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "_Taglia" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "_Copia" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "_Rimuovi" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "E_xport" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "_Nuovo" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Bookmark" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "_Applicazione" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "_Comando" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "Sub_menu" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "S_eparatore" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "_GTK Bookmarks" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "_Aggiungi" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "Suggerimen_ti" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "_Edita Script" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "E_dita come Root" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "_Edita Comando" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "_Proprietà" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "Scegli Icona" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Modifica" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "Sc(_h)egli" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "_Default" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9372 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9509 msgid "_Unset" msgstr "" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "" #: ../src/settings.c:10640 msgid "Re_load" msgstr "" #: ../src/settings.c:10644 msgid "_Sync" msgstr "_Sync" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Apri" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "_Monta" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "Ri_/monta" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "_Root" #: ../src/settings.c:10693 msgid "_Label" msgstr "_Label" #: ../src/settings.c:10743 msgid "_Check" msgstr "_Check" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "_Edita fstab" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "Edita u_devil.conf" #: ../src/settings.c:10755 msgid "_Format" msgstr "_Formato" #: ../src/settings.c:10815 msgid "_Backup" msgstr "_Backup" #: ../src/settings.c:10837 msgid "_Restore" msgstr "_Ripristina" #: ../src/settings.c:10842 msgid "_From File" msgstr "dal _File" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "File _Info" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "I_npostazioni" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "S_how" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "Drives _Interni" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "Tavola delle _Partizioni" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "_Networks Montati" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "Altri Disp_Ositivi Montati" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "_Volumi..." #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "Mostra/Nascondi Volumi" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "Monta _Unità..." #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "Auto-Monta Unità" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "" #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "Opzioni di _Montaggio" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "Opzioni Mount Predefinite" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "Ri/mount Con Opzioni" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "Il dispositivo sarà (ri)montato utilizzando le opzioni sottostanti.\nIn aggiunta alle opzioni normali, è anche possibile specificare le opzioni da aggiungere o rimuovere per uno specifico tipo di filesystem utilizzando la forma OPTION+FSTYPE or OPTION-FSTYPE.\nEsempio: nosuid, sync + vfat, sync + ntfs, noatime, noatime-ext4\nQuesto aggiungerà nosuid e noatime per tutti i tipi di filesystem, aggiunge sync solo per vfat e ntfs, e rimuove noatime per ext4.\nNota: alcune opzioni, come nosuid, possono essere aggiunti dal programma mount, anche se non li include. Opzioni di fstab hanno la precedenza. pmount ignora le opzioni impostate qui." #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "Inserisci il tuo elenco di filesystem separati da virgole o da spazi che NON devono essere monitorati per i cambiamenti. Questa impostazione riguarda solo i dispositivi non-block (come NFS o fuse), e di solito è utilizzata per prevenire a SpaceFM di diventare non rispondente con i filesystem di rete. Sarà anche disabilitato il caricamento di miniature." #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "_Icona" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "Audio CD" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "Dispositivo ottico Montato" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "Floppy Montato" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "Floppy smontato" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "Unità Rimovibile Montata" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "Unità Rimovibile smontata" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "Unità interna montata" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "Unità interna smontata" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "Network Montato" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "Altri dispositivi montati" #: ../src/settings.c:11148 msgid "_Settings" msgstr "Impo_stazioni" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "_Icona Segnalibri" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "Icona del Sotto_menu" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "Mo_stra Segnalibri" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "Nuovo Segnali_bri" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "_Nome" #: ../src/settings.c:11185 msgid "_Parent" msgstr "" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11204 msgid "_Option" msgstr "_Opzione" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Link" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "Copia _Target" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "Lin_k Target" #: ../src/settings.c:11222 msgid "_As Root" msgstr "Come _Amministratore" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "_Font" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "Sposta Dialogo del Font" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "/home/user/Esempio NomeFile.ext" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "_Conferma Crea" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "_Testo Evidenziato" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "Copia _Nome" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11283 msgid "New _Window" msgstr "New _Window" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11289 msgid "_File Search" msgstr "" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "_Terminale" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "Terminale _Root" #: ../src/settings.c:11302 msgid "Open URL" msgstr "Apri URL" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "Inserisci un URL nel formato:\n⇥PROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n\nEsempi:\n⇥ftp://mirrors.kernel.org\n⇥smb://user:pass@10.0.0.1:50/docs\n⇥ssh://user@sys.domain\n\nIncludere una password non è sicuro. Per registrare un URL tra i segnalibri, clicca col destro sul network collegato nei Dispositivi e seleziona Segnalibro.\n" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "Salva Ta_bs (Scheda)" #: ../src/settings.c:11310 msgid "E_xit" msgstr "E_xit" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "Pannello _1" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "Pannello _2" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "Pannello _3" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "Pannello _4" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "_Barra del Pannello" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "F_ocus" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11391 msgid "_Instance" msgstr "_Instanza" #: ../src/settings.c:11396 msgid "_Startup" msgstr "" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "Imposta comando di avvio di un istanza" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11402 msgid "_Exit" msgstr "_Esci" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11408 msgid "_Window" msgstr "" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Nuovo" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "_Focus" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "Imposta Comando Focus della Finestra" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "Sposta/Ridimensiona" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "Imposta comando Sposta/Ridimensiona" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11431 msgid "_Click" msgstr "_Clicca" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "Imposta Comando Pulsante Mouse" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Inserisci una linea di comando bash o programma da avviare automaticamente ogni volta che si vada a cliccare col mouse:\n\nUsa:\n⇥%%e⇥tipologia evento (evt_win_click)\n⇥%%w⇥ id della finestra (vedi spacefm -s help)\n⇥%%p⇥pannello\n⇥%%t⇥tab cioè scheda\n⇥%%b⇥button cioè pulsante (pulsante del mouse premuto)\n⇥%%m⇥modifica (modifica chiave)\n⇥%%f⇥focus (elemento che viene cliccato)\n\nVariabili di bash esportate (es. $fm_pwd, etc) possono essere utilizzate in questo comando se non sono precedute da un asterisco.\n\nPrecedi il tuo comando con un asterisco (*) e quindi invia uno status d'uscita 0 per inibire la gestione di default. Per esempio:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11449 msgid "_Panel" msgstr "" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11466 msgid "S_elect" msgstr "" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "_Cambia Directory" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Chiudi" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11501 msgid "_Device" msgstr "_Dispositivo" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "Imposta Comando del Dispositivo" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "Modalità _Design" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "_Preferenze" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Strumenti" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11606 msgid "_Options" msgstr "" #: ../src/settings.c:11611 msgid "_Browser" msgstr "" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11623 msgid "_About" msgstr "" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11656 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "" #: ../src/settings.c:11673 msgid "_Item" msgstr "" #: ../src/settings.c:11679 msgid "_To" msgstr "" #: ../src/settings.c:11685 msgid "_Progress" msgstr "_Progresso" #: ../src/settings.c:11692 msgid "T_otal" msgstr "T_otale" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "Pa_rtito" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "Velocità Att_uale" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "Velocità Medi_a" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "Rior_dina" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pa_usa" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "_Riprendi" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "Sho_w Output" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "copia del File 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11789 msgid "_Columns" msgstr "_Colonne" #: ../src/settings.c:11794 msgid "_Popups" msgstr "_Popups" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11857 msgid "_Continue" msgstr "_Continua" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11892 msgid "By _Name" msgstr "Dal _Nome" #: ../src/settings.c:11895 msgid "By _Type" msgstr "Dal _Tipo" #: ../src/settings.c:11898 msgid "By _Date" msgstr "Dalla _Data" #: ../src/settings.c:11901 msgid "By _Size" msgstr "Dalla Dimen_Sione" #: ../src/settings.c:11904 msgid "_Custom" msgstr "" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "_Ascendente" #: ../src/settings.c:11910 msgid "D_escending" msgstr "Disc_endente" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "Impo_stazioni del Desktop" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "Dispositi_vi" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "Cartella _Desktop" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11964 msgid "Input Font" msgstr "" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "_Esegui" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "Edi_ta" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Edita come _Root" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "S_Cegli" #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "" #: ../src/settings.c:11993 msgid "N_ew" msgstr "" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Estrai _In" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Segnalibri" #: ../src/settings.c:12104 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:12122 msgid "_Go" msgstr "V_ai" #: ../src/settings.c:12127 msgid "_Back" msgstr "" #: ../src/settings.c:12129 msgid "_Forward" msgstr "" #: ../src/settings.c:12131 msgid "_Up" msgstr "" #: ../src/settings.c:12133 msgid "_Home" msgstr "" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "" #: ../src/settings.c:12149 msgid "_File List" msgstr "Elenco _File" #: ../src/settings.c:12151 msgid "_Tree" msgstr "" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12164 msgid "_Close" msgstr "_Chiudi" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "C_olonne" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12202 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "Dimen_sione" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "_Tipo" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "_Permessi" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "Pr_oprietario" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "_Modificato" #: ../src/settings.c:12220 msgid "_Descending" msgstr "_Discendente" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "Nat_urale" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "_Case Sensitive" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "P_rima Cartelle" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "Pr_ima i Files" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "Mi_xed" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "Prima i Nascosti (_H)" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "U_Ltimi i Nascosti" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "Re_fresh" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "Auto Ricer_ka" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Rinomina" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Elimina" #: ../src/settings.c:12281 msgid "_Actions" msgstr "_Azioni" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "Incolla _Link" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "Copi_A come" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "_Copia su" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "P_osizione" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "Ultim_a posizione" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Pannello" #: ../src/settings.c:12346 msgid "_Move To" msgstr "" #: ../src/settings.c:12350 msgid "_Location" msgstr "" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Pannello" #: ../src/settings.c:12383 msgid "_Select All" msgstr "_Seleziona Tutto" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "Deseleziona T_utto" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Inverti Selezione" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12392 msgid "R_oot" msgstr "R_oot" #: ../src/settings.c:12398 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "Propr_ietà" #: ../src/settings.c:12414 msgid "_Quick" msgstr "" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "_Ricorsivo" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12526 msgid "T_ree" msgstr "Albe_ro" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "_Dettagli" #: ../src/settings.c:12550 msgid "_Icons" msgstr "_Icone" #: ../src/settings.c:12555 msgid "_Compact" msgstr "" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "Icone _Larghe" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "Click _Singolo" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "La directory non esiste\n\n%s" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "Non si riesce ad accedere a %s\n\n%s" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "Scegli Posizione" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "Destinazione non valida" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "La destinazione è la stessa della sorgente" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "Destinazione non valida" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "I nomi dei file selezionati verranno aggiunti al file '.hidden' che si trova in questa cartella, che li nasconderà alla vista in SpaceFM. Potrebbe essere necessario aggiornare la visualizzazione o riavviare SpaceFM per i file da nascondere.\n\nPer visualizzare un file, aprire il file .hidden con il tuo editor di testo, rimuovere il nome del file, e fare il refresh." #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "Nessun file è stato selezionato" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Impossibile montare il dispositivo" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Impossibile smontare il dispositivo" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Impossibile espellere il dispositivo" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "udev Non è Configurato" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Montare un network di risorse condivise richiede una compilazione di SpaceFM con udev (--disable-hal) " #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "URL non valido" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "L'URL inserito non è valido." #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "Apri URL %s" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "monta" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "smonta" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "Monta %s" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "Il Dispositivo è montato" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "Monta come Root" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "MONTA COME ROOT" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "Monta come root %s" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "Smonta come Root" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "SMONTA COME ROOT" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "Smonta Come Root %s" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "Cambia l'etichetta dell'Unità" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "Smonta %s" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "Rimuovi %s" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "Rimonta %s" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "Riavvia %s" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "%s è montata in questo momento. Devi smontarla prima di poterla formattare." #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "Formatta" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "Formato %s" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s è montato attualmente. Devi smontarlo prima di poter eseguire il ripristino." #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "Scegli il Backup per il ripristino" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "Ripristina MBR" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "Tipo sconosciuto" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "Ripristina" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "Directory Scomparsa" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "Salvare il Backup %s" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "Sovrascrivere?" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "Il backup selezionato esiste già. Sovrascrivere?" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "Backup" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "%s Backup %s" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "Proprietà %s" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "_Espelli" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Interrompi tutti gli altri" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "Q_ueue (coda)" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Sposta: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Copia: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Cestina:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Elimina: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Collega: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Cambia:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Avvia:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Spostamento..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Copia..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Eliminazione..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Collegameto..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Cambiamento in corso.." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Avvio in corso..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Da:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "A:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Avanzamento:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Stato:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "In pausa" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "In coda" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Chiedi" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Sovrascrivi Tutti" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Salta Tutti" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Auto Rinomina" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Continua" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Fermato" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Errori" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Fatto" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Finito con errori ( stato d'uscita %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Finito con errori" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "In pausa ( pid %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "In pausa ( stato d'uscita %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Avvio in corso... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Avvio in corso... ( stato d'uscita %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "in stallo" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Spostamento dalla cartella:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Collegamento dalla cartella:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Copia in corso dalla cartella:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "La cartella esiste" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "La cartella esiste già. Rinominala o seleziona un azione." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "⇥( collegamento )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "⇥! sostituire il file con un collegamento !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "più largo" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "più piccolo" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "più nuovo" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "più vecchio" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Il nome del file esiste già" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "NomeFile già esiste. Prego rinomina o seleziona un'azione." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "E' richiesta la rinomina" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "Nella cartella:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "S_ovrascrivi" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Sovr_ascrivi Tutto" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pausa" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Alla cartella:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Nome Cartella:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Rinomina" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "A_uto Rinomina " #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Auto Ri_nomina Tutto " #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "Crea Archivio" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "Conf_igura" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "copia" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "Archivia" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "Estrai in" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "Cre_a sottocartella(e)" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "Rendi i contenuti modificabili dall'utente" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "Estrai %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nCompleto!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Comando:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "File System" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "( nessuna sottocartella )" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "Rimuovi Associazione Text Type" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "Il file '%s' non esiste.\nCopiando '%s' su '%s' e poi modificandolo, è possibile regolare il comportamento e l'aspetto di questa applicazione per l'utente corrente.\nCreare questa copia ora?" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "Copia File Desktop" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "Il file '%s' non esiste.\n\nCopiando '%s' su '%s' e poi modificandolo, è possibile regolare come i files di tipo MIME '%s' vengano riconosciuti dall'utente corrente.\n\nCreare questa copia ora?" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "Impo_Sta come predefinito" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "_Aggiungi..." #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "nuovo" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Conferma Eliminazione" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "File" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Cartella" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Link" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Sposta" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "C_opia" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Crea Link A" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr "Come Root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Link" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "File" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "File Vuoto" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "Cartella Vuota" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "Fil_e" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "_Directory" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "_Link" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Nuovo" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "Crea cartella genitrice" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "La cartella genitrice non esiste. Vuoi crearla?" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Errore nel creare la cartella genitrice\n\n%s" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "Crea Nuovo File%s" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "Crea Nuova Cartella%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "Copia%s" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "Sposta%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Nuova Cartella" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Nuovo File" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "ELIMINA COME ROOT" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "Elimina Come Root" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "Sposta Come Root" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "Copia Come Root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "1 file" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "In elaborazione..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Utente non valido" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Gruppo non valido" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "Dispositivo" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "(facoltativo)" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "(disabilitato)" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "Applicare i cambiamenti?" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "_Esporta" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "_Nome:" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "Bl_acklist:" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "_Icona:" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "_Monta:" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "Smon_ta:" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Avvia da Terminale" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "Edita" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Prego scegli un'applicazione" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Comando non trovato" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "La cartella di destinazione \"%1$s\" è contenuta nella sorgente \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "Accesso in corso" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Rimozione in corso" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Creazione Directory" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Creazione Link" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Scrittura in corso" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Creazione in corso" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Rinomina" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "Errore nella scrittura di file temporanei" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nErrore: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Disco" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Disco" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Disco" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Lettore Floppy" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Lettore Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Lettore Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Lettore Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Lettore SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Lettore Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Lettore Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Penna USB" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Riproduttore Musicale" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Macchina Fotografica Digitale" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Unità" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s Esterno/a" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disco CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Disco CD-R Vuoto" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disco CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Disco CD-RW Vuoto" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disco CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disco DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Disco DVD-RAM Vuoto" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disco DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Disco DVD-R Vuoto" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disco DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Disco DVD-RW Vuoto" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disco DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Disco DVD+R Vuoto" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disco DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Disco DVD+RW Vuoto" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disco DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Disco Audio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Disco Rimovibile %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Disco" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Impossibile comunicare col demone HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Il dispositivo \"%s\" non è un disco o un lettore" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Il dispositivo \"%s\" non è stato trovato nella tabella dei dispositivi di sistema" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Non avete i permessi per montare il volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Non avete i permessi per smontare il volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Non avete i permessi per espellere il volume \"%s\"" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Opzione di mount non valida al montaggio del volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Il disco \"%s\" usa il file system %s che non è supportato dal tuo sistema" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Un applicazione non ti permette di smontare il volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Il disco \"%s\" non è montato" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Errore %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Il disco \"%s\" probabilmente è stato montato manualmente da linea di comando" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "I dischi vuoti non possono essere montati, usa un'applicazione per registrare su disco audio o dati" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "I CD Audio non possono essere montati, usa un riproduttore musicale per suonare le tracce audio" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr ":floppy" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr ":unità ottica" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "[audio]" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "[no media]" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Non si riesce a rinominare" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Cambia nome ad icona del desktop" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Un errore è incorso rinominando questa icona del desktop." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Apri _Cartella Superiore" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Seleziona una cartella" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Esplora..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Unità Locali" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Ultima Modifica" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Inserisci programma o linea/e di comando bash:\n \nUsa:\n⇥%F⇥files selezionati o %f primo file selezionato\n⇥%N⇥nome-files selezionati o %n primo nome-file selezionato\n⇥%d⇥directory corrente\n⇥%v⇥dispositivo selezionato (es. /dev/sda1)\n⇥%m⇥punto di montaggio di dispositivo (es. /media/dvd); %l etichetta dispositivo\n⇥%b⇥segnalibro selezionato\n⇥%t⇥task directory selezionata; %p task pid\n⇥%a⇥valore di voce di menu\n⇥$fm_panel, $fm_tab, $fm_command, ecc" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "NomeFile" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Directory" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "File di Testo" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "File di Directory" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "File di Collegamento" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Utente è Root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Gli Appunti contengono Files" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Gli Appunti contengono Testo" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Pannello Attuale" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Segnalibro" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Punto di Mount del Dispositivo" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Etichetta Dispositivo" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "FSystem Dispositivo " #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI Dispositivo" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Proprietà Dispositivo" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr " Directory Pannello 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr " Directory Pannello 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr " Directory Pannello 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr " Directory Pannello 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "è uguale" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "non è uguale" #: ../src/item-prop.c:207 msgid "contains" msgstr "contiene" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "non contiene" #: ../src/item-prop.c:209 msgid "begins with" msgstr "inizia con" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "non inizia con" #: ../src/item-prop.c:211 msgid "ends with" msgstr "finisce con" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "non finisce con" #: ../src/item-prop.c:213 msgid "is less than" msgstr "è meno di" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "è più grande di" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "Applicazione" #: ../src/item-prop.c:223 msgid "Command" msgstr "Comando" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Attuale: Visualizza" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Attuale: Nascondi" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Attuale: Disabilita" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "Attuale: Attiva" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Salvare lo script modificato?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Salva i tuoi cambiamenti nello script del comando?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Sovrascrivere lo script?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "(nessun file)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Proprietà Elemento della Toolbar" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Proprietà Elemento del Menu" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Elemento della _Toolbar " #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Elemento del _Menu" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Tipo:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Nome:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Chiave:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Icona:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "A_pplica" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Mostra" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Abilita" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Nascondi" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Disabilita" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Valore:" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "Se abilitato, usa come gestore per:" #: ../src/item-prop.c:1962 msgid "none" msgstr "nessuno" #: ../src/item-prop.c:1964 msgid "files" msgstr "files" #: ../src/item-prop.c:1966 msgid "devices" msgstr "dispositivi" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "_Ignore Context / Mostra Tutto (impostazioni globali)" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "Com_ando" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "_Linea di Comando" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Script" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Apri nell' _Editor" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "Editor con proprietà _Root" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "Opzio_ni" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "Avvia Opzioni" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "Avvia da normale Utente:" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "( lascia in bianco per l'utente corrente )" #: ../src/item-prop.c:2184 msgid "Style" msgstr "Stile" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "Normale" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2204 msgid "Input" msgstr "" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Apri in un Browser:" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Sottomenu" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "Separatore" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "Comando Built-In" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "Icona" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "dimensione" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "Icone Azioni" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Animazioni" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Icone Applicazioni" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Icone Menu" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Icone Dispositivo" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "Emoticons" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "Posizione delle Icone" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "Status delle Icone" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "Icone non catalogate" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Tutte le Icone" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "Files d'Immagine" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "Scegli una _icona da:" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "(_S) Cerca icona:" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "Pulisci campo di ricerca" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Anteprima" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "Nessun file selezionato" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "FIFO" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "Socket" spacefm-1.0.5/po/ja.po000066400000000000000000005062361264770501700145300ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Nobuhiro Iwamatsu , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/spacefm/" "language/ja/)\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Hironao Komatsu " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "ダイアログから選ぶ(_B)" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "端末で開く" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "ファイルのプロパティ" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "所有者(_O):" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "グループ(_G):" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "所有者:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "グループ:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "読み込み" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "書き込み" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "実行" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Set UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Set GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "スティッキー" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "パーミッション(_P)" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "ファイルの検索" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "大文字・小文字を区別する" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "動画ファイル (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "音声ファイル (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "画像ファイル (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "プレーンテキストファイル" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "すべてのファイルとフォルダ" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "検索するファイルタイプ" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "検索する場所" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "一般" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "ファイルに含む:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "正規表現を使用する" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "ファイルの内容" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "内容" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "〜より大きい:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "〜より小さい:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "ファイルのサイズ" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "最終更新時刻" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "サイズと日付" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "検索結果:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "もう一度検索" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "フォルダへ移動" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "設定" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "ブックマーク:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "一般(_G)" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "タブバーを常に表示する" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "インタフェース(_I)" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "壁紙:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "画像ファイルを選んでください" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "モード:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "背景:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "テキスト:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "影:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "デスクトップ(_D)" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "ボリューム管理(_V)" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "端末:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "高度な設定(_A)" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "の列数が多すぎます (> %d %s)" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "%s の読み込み中にエラー: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "ファイル「%s」の内容は正しい UTF-8 ではありません" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "%s の書き込み中にエラー: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "例:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "ファイルが存在しません" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "エラー" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "エラー: FAM への接続に失敗しました。\n" "\n" "\"FAM\" ないし \"Gamin\" はインストールされ実行されていますか?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "ファイルが開く方法が不明です" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "ファイルが開けません:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "プラグインの選択" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "プラグインの URL を入力" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "プラグインを上書きしますか ?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "ルートウィンドウを開く" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "ターミナルを開く" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "ファイル(_F)" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "表示(_V)" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "ブックマーク(_B)" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "プラグイン(_P)" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "ツール(_T)" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "ヘルプ(_H)" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "SpaceFM エラー" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "フォルダー" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "名前" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "サイズ" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "ファイルタイプ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "パーミッション" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "戻る" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "進む" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "更新" #: ../src/settings.c:160 msgid "New Tab" msgstr "新規タブ" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "現在位置に新規タブ" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "アイコンを設定" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "FAQ(_F)" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "フォルダー(_F)" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "プラグインをアンインストールする" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "プラグインをインストールする" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "メニュー名を変更する" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "エディターが設定されていません" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "%s を編集する" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "キャンセル" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "アイコンを設定" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "切り取り(_T)" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "コピー(_C)" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "貼り付け(_P)" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "ブックマーク(_B)" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "追加(_A)" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "プロパティ(_P)" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "アイコンを設定" #: ../src/settings.c:8993 msgid "_Edit" msgstr "編集(_E)" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "デフォルト(_D)" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "アンマウント(_U)" #: ../src/settings.c:10498 msgid "Re_load" msgstr "再読み込み(_L)" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "開く(_O)" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "マウント(_M)" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "表示(_H)" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "アイコン(_I)" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "名前(_N)" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "新規ウィンドウ(_W)" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "ツール(_T)" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "実行(_X)" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "すべてのファイルとフォルダ" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "展開先を指定(_T)" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "ブックマーク(_B)" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "移動(_G)" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "名前の変更(_R)" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "削除(_D)" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "選択の反転(_I)" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "アイコン(_I)" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "デバイスがマウントできません" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "デバイスがアンマウントできません" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "デバイスが取り出せません" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "取り出し(_E)" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "移動: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "コピー: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "削除: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "リンク: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "移動しています..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "コピーしています..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "削除しています..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "リンクしています..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "送り先:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "すべて上書き" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "すべてスキップ" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "完了!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "コマンド:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "ファイルシステム" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "フォルダ" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "新規フォルダの作成" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "新規ファイルの作成" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "計算中..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "不正なユーザ" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "不正なグループ" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "すべてのファイルとフォルダ" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "コマンドが見つかりません" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "送り先 \"%1$s\" は 送り元 \"%2$s\" に含まれています" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s ボリューム" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s ドライブ" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s ドライブ" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "フロッピードライブ" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "コンパクトフラッシュドライブ" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "メモリースティックドライブ" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "スマートメディアドライブ" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC ドライブ" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip ドライブ" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz ドライブ" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen ドライブ" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s ミュージックプレーヤ" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s デジタルカメラ" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "ドライブ" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "外付け %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM ディスク" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "空の CD-R ディスク" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R ディスク" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "空の CD-RW ディスク" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW ディスク" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM ディスク" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "空の DVD-RAM ディスク" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM ディスク" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "空の DVD-R ディスク" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R ディスク" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "空の DVD-RW ディスク" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW ディスク" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "空の DVD+R ディスク" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R ディスク" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "空の DVD+RW ディスク" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW ディスク" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "オーディオディスク" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s のリムーバルボリューム" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "ボリューム" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "HAL デーモンへの接続に失敗しました: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "指定されたデバイス \"%s\" はボリュームやドライブではありません" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "デバイス \"%s\" はファイルシステムデバイスの一覧にありません" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "あなたにはボリューム \"%s\" をマウントする権限はありません" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "あなたにはボリューム \"%s\" をアンマウントする権限はありません" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "あなたにはボリューム \"%s\" を取り出す権限はありません" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "ボリューム \"%s\" をマウントしようとしましたが、オプションが不正です" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "ボリューム \"%s\" は、このシステムが非対応の %s ファイルシステムです" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "ボリューム \"%s\" のアンマウントを妨げているアプリケーションがあります" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "ボリューム \"%s\" はマウントされていません" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "エラー %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" "ボリューム \"%s\" は、おそらくコマンドラインで手動でマウントされたものです" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "空のディスクはマウントできません。オーディオやデータを記録するには書き込みソ" "フトを使用してください" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "オーディオCDはマウントできません。再生するには音楽プレーヤを使用してください" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "所属するフォルダを開く(_F)" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "フォルダーの選択" #: ../src/find-files.c:825 msgid "Browse..." msgstr "ダイアログから選択" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "最終更新時刻" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "コマンドディレクトリー" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "コマンドが見つかりません" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "適用(_P)" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "表示" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "有効" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "隠す" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "無効" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "ファイル" #: ../src/item-prop.c:1964 msgid "devices" msgstr "デバイス" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "スクリプト(_S)" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "チェックボックス" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "入力" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "ブラウザーで開く:" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "データディレクトリー" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "サブメニュー" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/km.po000066400000000000000000005117421264770501700145430ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # 12rithy <12rithy@gmail.com>, 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Khmer (http://www.transifex.com/projects/p/spacefm/language/" "km/)\n" "Language: km\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "ធីម ច័ន្ទ ឫទ្ធី" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "រុករក" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "បាន​បើក​ក្នុង​ស្ថានីយ" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "លក្ខណៈសម្បត្តិ​​ឯកសារ" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "ម្ចាស់ ៖" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "ដាក់​ជា​ក្រុម" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "ម្ចាស់ ៖" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "ក្រុម ៖" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "អាន" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "សរសេរ" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "ប្រតិបត្តិ" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "កំណត់ UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "កំណត់ GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "ស្អិត" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "សិទ្ធិ" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "រក​ឯកសារ" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "កម្មវិធី​ចាក់​វីដេអូ (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "ឯកសារ​សំឡេង​ (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "ឯកសារ​រូបភាព (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "ឯកសារ​អត្ថបទ" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "ឯកសារ និង​ថត​ទាំងអស់" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "នាំ​ប្រភេទ​ឯកសារ​ដែល​រក" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "ផ្លូវដែលត្រូវ​ស្វែង​រក" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "​ទូទៅ" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "មាតិកា​ឯកសារ ៖" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "ប្រើ​កន្សោម​ផ្គូផ្គង" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "មាតិកា​ឯកសារ" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "មាតិកា" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "ធំ​ជាង ៖" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "តូច​ជាង ៖" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "ទំហំ​ឯកសារ" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "បាន​កែប្រែ​ចុង​ក្រោយ" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "កាលបរិច្ឆេទ & ទំហំ" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "លទ្ធផល​ស្វែងរក ៖ " #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "ពិនិត្យ​ម្ដង​ទៀត​" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "ចំណូល​ចិត្ត" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "ចំណាំ ៖" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "​ទូទៅ" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "ផ្ទាំងរូបភាព ៖" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "ជ្រើស​ឯកសារ​រូបភាព​" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "របៀប ៖" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "ផ្ទៃ​ខាង​ក្រោយ ៖" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "អត្ថបទ ៖" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "ស្រមោល ៖" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "ផ្ទៃតុ" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "ការ​គ្រប់គ្រង​ភាគ​ថាស" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "ស្ថានីយ ៖" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "កម្រិតខ្ពស់" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "មិនមាន​ឯកសារឡើយ" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "កំហុស" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "កំហុស ៖ មិន​អាច​បង្កើត​ការ​តភ្ជាប់​ជាមួយ FAM បាន​ទេ ។\n" "\n" "តើ​អ្នក​មានដំឡើង \"FAM\"ឬ \"Gamin\" ហើយ​កំពុង​រត់​វា ឬនៅ ?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "មិន​ដឹង​ពី​របៀប​បើក​ឯកសារ" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "មិន​អាច​បើក​ឯកសារ ៖\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "ឯកសារ" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "មើល" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "ជំនួយ" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "ថត" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "​ឈ្មោះ" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "ទំហំ" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "ប្រភេទ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "សិទ្ធិ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "ថយក្រោយ" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "​ទៅ​មុខ" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "ធ្វើ​ឲ្យ​ស្រស់" #: ../src/settings.c:160 msgid "New Tab" msgstr "ផ្ទាំង​ថ្មី" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "ថត" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "ចំណាំ" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "លក្ខណៈ​សម្បត្តិ" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "​កែសម្រួល" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "បើក" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "បង្អួច​ថ្មី" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "ឧបករណ៍" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "ប្រតិបត្តិ" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "ឯកសារ និង​ថត​ទាំងអស់" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "ស្រង់ចេញ​ទៅ" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "ចំណាំ" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "ទៅ" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "​ប្តូរឈ្មោះ" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "លុប" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "បញ្ច្រាស​ជម្រើស" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "រូប​តំណាង" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "មិន​អាច​ម៉ោន​ឧបករណ៍​បាន​ឡើយ" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "មិន​អាច​អាន់ម៉ោន​ឧបករណ៍​បាន​ឡើយ" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "មិន​អាច​ច្រាន​ឧបករណ៍​បាន​ឡើយ" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "ច្រានចេញ​" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "ផ្លាស់​ទី ៖" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "ចម្លង ៖" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "លុប ៖" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "តំណ ៖" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "កំពុង​ផ្លាស់ទី..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "កំពុង​ចម្លង..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "(កំពុង​លុប..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "កំពុង​ធ្វើ​តំណ..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "ទៅ ៖" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "សរសេរជាន់​លើ​ទាំងអស់" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "រំលង​ទាំងអស់" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "ជោគជ័យ!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "ពាក្យបញ្ជា ៖" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "ប្រព័ន្ធ​ឯកសារ​" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "ថត" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "ថត​ថ្មី" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "ឯកសារ​ថ្មី" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "កំពុង​គណនា..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "អ្នក​​ប្រើ​មិន​ត្រឹមត្រូវ ។" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "ក្រុម​មិន​ត្រឹមត្រូវ" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "ឯកសារ និង​ថត​ទាំងអស់" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "រក​មិន​ឃើញ​ពាក្យ​បញ្ជា" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "ទិស​ដៅ​ថត \"%1$s\" គឺ​ត្រូវ​បាន​ផ្ទុក​ក្នុង​ប្រភព \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "ភាគថាស %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "ស៊ីឌី​រ៉ូម" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "ស៊ីឌី-អាន" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "ស៊ីឌី-អានសរសេរ" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "ឌីវីឌី​រ៉ូម" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "ឌីវីឌី+អាន" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "ឌីវីឌី+អានសរសេរ" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "ឌីវីឌី-អាន" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "ឌីវីឌី-អានសរសេរ" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "ឌីវីឌី-រ៉េម" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "ដ្រាយ %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "ដ្រាយ %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "ដ្រាយ​ថាសទន់" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "ដ្រាយ Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "ដ្រាយ Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "ដ្រាយ SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "ដ្រាយ​ហ្ស៊ីប្ស៊ីប" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "ដ្រាយ Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "ដ្រាយ Pen" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "កម្មវិធី​ចាក់​តន្ត្រី %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "ម៉ាស៊ីន​ថតរូប​ឌីជីថល %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "ដ្រាយ" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "ឧបករណ៍​ខាង​ក្រៅ %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "ឌីស​​ស៊ីឌីរ៉ូម" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "ស៊ីឌី​ទទេ" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "ឌីស​ស៊ីឌី-អាន" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "​ស៊ីឌី-អានសរសេរ​ទទេ" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "ឌីស​​ស៊ីឌី-​អានសរសេរ" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "ឌីស​ឌីវីឌី​រ៉ូម​" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "ឌីស​ឌីវីឌី-រ៉េម​ទទេ" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "ឌីស​ឌីវីឌី-រ៉េម" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "ឌីវីឌី​ទទេ" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "ឌីសឌីវីឌី" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "ឌីវីឌី-អាន​សរសេរ​ទទេ" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "ឌីស​ឌីវីឌី+អានសរសេរ" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "ឌីសឌីវីឌី+អាន" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "ឌីសឌីវីឌី+អាន" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "ឌីស​ឌីវីឌី​​​+អាន​សរសរ" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "ឌីស​ឌីវីឌី+អានសរសេរ" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "ឌីស​អូឌីយ៉ូ" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "ភាគ​ថាស​ចល័ត %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "ភាគថាស" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "មិន​អាច​តភ្ជាប់​ទៅ​ដេមិន HAL ៖ %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "ចំពោះ​ឧបករណ៍ \"%s\" គឺ​មិនមែន​ជា​ភាគថាស ឬ​ដ្រាយ​ទេ" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "មិន​អាច​រក​ឃើញ \"%s\" ក្នុង​តារាង​ឧបករណ៍​ប្រព័ន្ធ​ឯកសារ​ទេ" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "អ្នក​គ្មាន​សិទ្ធិ​ម៉ោន​ភាគថាស \"%s\" ទេ" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "អ្នក​គ្មាន​សិទ្ធិ​អាន់ម៉ោន​ភាគថាស \"%s\" ទេ" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "អ្នក​គ្មាន​សិទ្ធិ​ច្រាន​ភាគថាស \"%s\" ចេញ​ទេ" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "ជម្រើស​ម៉ោន​មិន​ត្រឹម​ត្រូវ​ពេល​ព្យាយាម​ម៉ោន​ភាគថាស \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "ភាគថាស \"%s\" ប្រើ​ឯកសារ​ប្រព័ន្ធ %s ដែល​ប្រព័ន្ធ​របស់​អ្នក​មិន​ត្រូវ​បាន​គាំទ្រ" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "ភាគថាស \"%s\" គឺ​មិន​ត្រូវ​បាន​ម៉ោន" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "កំហុស %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "The volume \"%s\" was probably mounted manually on the command line" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "ឌីស​ទទេ​មិន​ម៉ោន​បាន​ទេ, ប្រើ​កម្មវិធី​ចម្លង​ស៊ីឌី​ដើម្បី​ចម្លង​អូឌីយ៉ូ ឬ​ទិន្ន័យ​ទៅ​លើ​ឌីស" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "អូឌីយ៉ូ​ស៊ីឌី​មិន​អាច​ម៉ោន​បាន​ទេ, ប្រើ​កម្មវិធី​ចាក់តន្ត្រី​ដើម្បី​ចាក់" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "បើក​ថត​ដែល​ផ្ទុក" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "ជ្រើស​ថត" #: ../src/find-files.c:825 msgid "Browse..." msgstr "រុករក..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "បាន​កែប្រែ​ចុង​ក្រោយ" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "រក​មិន​ឃើញ​ពាក្យ​បញ្ជា" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/ko.po000066400000000000000000004776061264770501700145570ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Korean (http://www.transifex.com/projects/p/spacefm/language/" "ko/)\n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Hironao Komatsu " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "Browse(_B)" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "파일 속성" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "소유자:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "그룹: " #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "소유자" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "그룹:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "읽기" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "쓰기" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "실행" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "사용자ID 설정" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "그룹ID 설정" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "퍼미션(_P)" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "파일 찾기" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "대소문자 구별" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "동영상 파일들 (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "오디오 파일들(mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "이미지 파일들 (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "모든 파일과 폴더" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "일반" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "정규식 사용" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "파일 콘텐츠" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "검색 결과:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "다시 검색" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "환경설정" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "북마크:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "일반(_G)" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "배경화면:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "이미지 파일을 선택해주세요" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "모드:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "배경화면:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "텍스트:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Shadow:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "테스크탑(_D)" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "터미널:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "파일이 존재하지 않습니다." #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "에러" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "에러 : FAM 연결할 수 없습니다.\n" "\n" "\"FAM\" 또는 \"Gamin\" 이 설치되었고 실행중입니까?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "파일을 열수 없습니다." #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "파일을 열 수 없습니다:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "파일(_F)" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "보기(_V)" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "도움말(_H)" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "폴더" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "이름" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "사이즈" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "타입" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "퍼미션" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "뒤로" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "앞으로" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "새로 고침" #: ../src/settings.c:160 msgid "New Tab" msgstr "새 탭" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "폴더(_F)" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "북마크(_B)" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "속성(_P)" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "편집(_E)" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "열기(_O)" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "새 창(_W)" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "도구(_T)" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "실행(_X)" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "모든 파일과 폴더" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "특정 폴더에 압축풀기(_T)" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "북마크(_B)" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "이동(_G)" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "이름바꾸기(_R)" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "삭제(_D)" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "반대로 선택(_I)" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "아이콘(_I)" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "디바이스를 마운트할 수 없습니다." #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "디바이스를 언마운트할 수 없습니다." #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "디바이스를 꺼낼수 없습니다." #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "꺼내기(_E)" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "이동: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "복사: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "삭제: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "링크: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "이동중..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "복사중..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "삭제중..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "링크중..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "To:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "전부 덮어쓰기" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "전부 건너뛰기" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "완료!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "명령:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "파일 시스템" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "폴더" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "새 폴더" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "새 파일" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "계산중..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "알수없는 사용자" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "알수없는 그룹" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "모든 파일과 폴더" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "명령을 찾을 수 없습니다." #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Drive" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Drive" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Floppy Drive" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash Drive" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memory Stick Drive" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media Drive" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC Drive" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip Drive" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz Drive" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen Drive" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Music Player" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Digital Camera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Drive" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "External %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM Disc" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "공 CD-R Disc" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R Disc" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "공 CD-RW Disc" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW Disc" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM Disc" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "공 DVD-RAM Disc" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM Disc" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "공 DVD-R Disc" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R Disc" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "공 DVD-RW Disc" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW Disc" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "공 DVD+R Disc" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R Disc" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "공 DVD+RW Disc" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW Disc" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio Disc" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Removable Volume" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volume" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "HAL 데몬으로 연결이 실패했습니다.: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Given device \"%s\" is not a volume or drive" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "\"%s\"을 파일시스템 장치 테이블에서 찾을 수 없습니다." #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "\"%s\"를 마운트할 권한이 없습니다." #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "\"%s\"를 언마운트할 권한이 없습니다." #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "\"%s\"을 꺼낼 권한이 없습니다." #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Invalid mount option when attempting to mount the volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "에러 %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Browse(_B)" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "최종 수정" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "명령을 찾을 수 없습니다." #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/lt.po000066400000000000000000005325551264770501700145600ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # julius , 2009 # Moo, 2015 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-07-21 16:25+0000\n" "PO-Revision-Date: 2015-08-15 16:38+0000\n" "Last-Translator: Moo\n" "Language-Team: Lithuanian (http://www.transifex.com/ignorantguru/spacefm/language/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM Atverti Aplanką" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Atverti aplanką" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM Failų Paieška" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Ieškoti failų ir aplankų" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Failų Tvarkytuvė" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Naršyti failų sistemą" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "pagal IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Autorinės Teisės (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "IgnorantGuru \n\nTalkininkai:\n BwackNinja \n OmegaPhil \n\nIliustracijos:\n SpaceFM piktogramos ir logotipas pagal Goran Simovic\n\nDėkojame SpaceFM naudotojams už vertingus atsiliepimus ir SpaceFM vertėjams bei\npakuotojams!\n\nYpatingos padėkos:\n Jean-Philippe Fleury\n Vladimir Kudrya\n VastOne\n Hasufell\n\nSpaceFM yra sukurtas su geany, gcc, ir git, su trupučiu pagalbos iš gdb.\n\nIš kitų projektų paimtas pirminis kodas:\n * pcmanfm-mod: IgnorantGuru\n * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n * libmd5-rfc: Aladdin Enterprises\n * Darbinės srities aptikimas: Gary Kramlich\n * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n * Teksto ir piktogramų atvaizdavimas naudoja kodą iš Jonathan Blandford\n * Darbalaukio piktogramos naudoja kodą iš Brian Tarricone\n * HAL palaikymas (pasenęs) gnome-vfs, thunar-vfs, libexo, gnome-mount" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "SpaceFM piktogramos ir logotipas pagal Goran Simovic\n\nPapildomos piktogramos buvo panaudotos iš Tango Darabalaukio Projekto piktogramų rinkinio" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Joshas \nJulius Vitkauskas \nMoo" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Prašome pasirinkti programą arba įvesti komandą:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Failo Tipas:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Susietos Programos" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "_Visos Programos" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Komanda:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11516 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Naršyti" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Atverti terminale" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Nu_statyti kaip numatytąją programą šiam failų tipui" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Failo savybės" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Failo Pavadi_nimas:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Vieta:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Tipas:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Atveriamas, na_udojant:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Viso Dydis:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Dydis Diske:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Skaitiklis:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Keista:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "Prieig_a:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12349 msgid "_Info" msgstr "_Informacija" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Savininkas:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupė:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Savininkas:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupė:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Kita:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Skaityti" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Rašyti" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Vykdyti" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Nustatyti UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Nustatyti GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Lipni" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Rekursinis (taikyti pakeitimus aplankams ir jų turiniui)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12352 msgid "_Permissions" msgstr "_Leidimai" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Bet kada" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Rasti failus" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Failo pavadinimas:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Skirti didžiąsias ir mažąsias raides" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Video failai (avi, mpg, ...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Audio failai (mp3, ogg, ...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Paveikslėliai (jpg, png, ...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Paprasti teksto failai" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Visi failai ir aplankai" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Ieškoti failų tipų" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Ieškoti poaplankiuose" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Ieškoti tarp paslėptų failų" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Kur ieškoti" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Bendri" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Faile yra:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Naudoti reguliariąją išraišką" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Failo turinys" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Turinys" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Daugiau už:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Mažiau nei:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Failo dydis:" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Paskutinis pakeitimas" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Dydis ir data" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Paieškos rezultatai:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Ieškoti dar kartą" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Eiti į aplanką" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Atverti Esamoje Kortelėje" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Atverti Naujoje Kortelėje" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Ištempti" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Talpinti" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centre" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Iškloti" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Didinti" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Permatomas" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopijuoti (Ctrl+Tempti)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Perkelti (Shift+Tempti)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Nustatymai" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Mažos Piktogramos:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Didelės Piktogramos:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Įrankių Juostos Piktogramos:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Piktogramos" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Vienas spustelėjimas atveria failus" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Užvedus pelę, pasirenkama" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Žymelės:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:167 msgid "Show Thumbnails" msgstr "Rodyti Miniatiūras" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Failų Sąrašas" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Bendri" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Visada rodyti korteles" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Slėpti mygtukus \"Užverti Kortelę\"" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "SI Failų Dydžiai (1K = 1000) (reikalauja paleidimo iš naujo)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Sąsa_ja" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Darbastalio fonas:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Pasirinkite paveikslėlį" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Režimas:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Fonas:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekstas:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Šešėlis:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Šriftas:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Viršus:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Kairė:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Dešinė:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Apačia:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Paraštės" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Atverti aplankus, naudojant susietą MIME programą" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Darbastalis" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Tomų valdymas" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminalo programa:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminalo SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Grafinis SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Redaktorius:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Vykdyti redaktorių terminale" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Datos Formatas:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(reikalauja paleidimo iš naujo)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Sudėtingesni" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "klaida, skaitant failą %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:705 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Nepavyko nustatyti trūkstamo elemento '%s'" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "failas '%s' nėra normalus failas" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "vidinė komanda %s reikalauja argumento" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "elemento '%s' nėra" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' nėra vidinė komanda" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "klaida, kuriant failą %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Naudojimas:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Pavyzdys:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Pridėti teksto įrašą" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Pridėti didelį teksto įrašą" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Pridėti slaptažodžio įrašą" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Pridėti piktogramą" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Pridėti paveikslą" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Pridėti eigos juostą" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Atverti aplankus naujame lange" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Atverti aplankus skydelyje 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Paleisti darbalaukio tvarkytuvės tarnybą" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Rodyti darbalaukio nustatymus" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Vykdyti kaip tarnybą" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "Rodyti Failų Paiešką" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "Rodyti versijos informaciją" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Naudojimas:" #: ../src/main.c:679 msgid "Example:" msgstr "Pavyzdys:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "METODAI\n-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Nustato savybę" #: ../src/main.c:687 msgid "Gets a property" msgstr "Gauna savybę" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Nustato užduoties savybę" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Gauna užduoties savybę" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Pradeda naują užduotį" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "PARINKTYS\n-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Pridėkite parinktis po METODO, kad nurodytumėte konkretų langą, skydelį ir/ar kortelę." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "SAVYBĖS\n----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "UŽDUOTIES SAVYBĖS\n---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "UŽDUOTIES TIPAI\n----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "Atverti URL naudotojo saityno naršyklėje" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "Prijungti ĮRENGINĮ ar URL" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "Atjungti ĮRENGINĮ ar prijungimo taško KATALOGĄ" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "ĮVYKIAI\n------" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "lango ID" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "Pavyzdžiai" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "Šie failai buvo nukopijuoti į iškarpinę" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Failas neegzistuoja" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5835 ../src/settings.c:9175 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5525 ../src/ptk/ptk-file-browser.c:5533 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Klaida" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Klaida: nepavyko prisijungti prie FAM.\n\nAr turite įdiegtą ir veikiantį „FAM“ arba „Gamin“ ?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Nežinoma kaip atverti failą" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Nepavyko atverti failo:\n„%s“\n%s" #: ../src/main-window.c:306 ../src/settings.c:7169 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7181 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7181 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7189 #: ../src/ptk/ptk-handler.c:2767 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7190 #: ../src/ptk/ptk-handler.c:2768 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminalas Neprieinamas" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Atverti Terminalą" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5724 ../src/settings.c:6034 #: ../src/settings.c:7020 ../src/settings.c:7135 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Rodyti Skydelį %d" #: ../src/main-window.c:2000 ../src/settings.c:8122 ../src/settings.c:11489 #: ../src/settings.c:11505 ../src/settings.c:12029 msgid "_File" msgstr "_Failas" #: ../src/main-window.c:2003 ../src/settings.c:12118 msgid "_View" msgstr "R_odymas" #: ../src/main-window.c:2006 ../src/settings.c:12461 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11119 ../src/settings.c:11862 #: ../src/settings.c:12094 ../src/settings.c:12473 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1159 ../src/settings.c:8160 #: ../src/settings.c:8727 ../src/settings.c:9093 ../src/settings.c:11179 msgid "_Help" msgstr "_Pagalba" #: ../src/main-window.c:2330 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2339 msgid "SpaceFM Error" msgstr "SpaceFM Klaida" #: ../src/main-window.c:2355 msgid "Stop all tasks running in this window?" msgstr "Stabdyti visas šiame lange vykdomas užduotis?" #: ../src/main-window.c:2364 msgid "Aborting tasks..." msgstr "Nutraukiamos užduotys..." #: ../src/main-window.c:3573 #, c-format msgid " %s free / %s " msgstr " %s laisva / %s " #: ../src/main-window.c:3580 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3637 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3650 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3653 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3660 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3707 msgid "hidden" msgid_plural "hidden" msgstr[0] "paslėptas" msgstr[1] "paslėpti" msgstr[2] "paslėptų" #: ../src/main-window.c:3710 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d matomas (%s) %s" msgstr[1] "%s%d matomi (%s) %s" msgstr[2] "%s%d matomų (%s) %s" #: ../src/main-window.c:3715 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3967 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4190 ../src/main-window.c:5667 msgid "Status" msgstr "" #: ../src/main-window.c:4190 msgid "#" msgstr "#" #: ../src/main-window.c:4190 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:260 msgid "Folder" msgstr "Aplankas" #: ../src/main-window.c:4190 msgid "Item" msgstr "" #: ../src/main-window.c:4191 msgid "To" msgstr "" #: ../src/main-window.c:4191 msgid "Progress" msgstr "Eiga" #: ../src/main-window.c:4191 msgid "Total" msgstr "Viso" #: ../src/main-window.c:4192 msgid "Started" msgstr "" #: ../src/main-window.c:4192 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4192 msgid "Current" msgstr "" #: ../src/main-window.c:4192 msgid "CRemain" msgstr "" #: ../src/main-window.c:4193 msgid "Average" msgstr "" #: ../src/main-window.c:4193 msgid "Remain" msgstr "" #: ../src/main-window.c:4206 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4206 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5779 msgid "moving" msgstr "" #: ../src/main-window.c:5780 msgid "copying" msgstr "" #: ../src/main-window.c:5781 msgid "trashing" msgstr "" #: ../src/main-window.c:5782 msgid "deleting" msgstr "" #: ../src/main-window.c:5783 msgid "linking" msgstr "" #: ../src/main-window.c:5784 msgid "changing" msgstr "" #: ../src/main-window.c:5785 msgid "running" msgstr "" #: ../src/main-window.c:5860 #, c-format msgid "%d error %s" msgstr "%d klaida %s" #: ../src/main-window.c:5861 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5877 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5879 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6212 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Pavadinimas" #: ../src/main-window.c:6212 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Dydis" #: ../src/main-window.c:6212 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipas" #: ../src/main-window.c:6213 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Leidimas" #: ../src/main-window.c:6213 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6213 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6225 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6254 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6257 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6267 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6287 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6297 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6304 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6317 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6329 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6355 ../src/main-window.c:6662 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6388 ../src/main-window.c:6540 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6417 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6458 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6511 ../src/main-window.c:6846 #: ../src/main-window.c:6973 ../src/main-window.c:7251 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6560 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6596 ../src/main-window.c:6623 #: ../src/main-window.c:7039 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6733 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6750 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6756 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6762 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6803 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6809 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6855 ../src/main-window.c:7864 #: ../src/main-window.c:7890 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7259 ../src/main-window.c:7389 #: ../src/main-window.c:7493 ../src/main-window.c:7550 #: ../src/main-window.c:7601 ../src/main-window.c:7930 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7287 ../src/main-window.c:7417 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7292 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7344 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7361 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7379 ../src/main-window.c:7480 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7536 ../src/main-window.c:7766 #: ../src/main-window.c:7787 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7543 ../src/main-window.c:7594 #: ../src/main-window.c:7629 ../src/main-window.c:7773 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7610 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7623 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7635 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7660 ../src/main-window.c:7683 #: ../src/main-window.c:7727 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7806 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7830 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7855 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: neteisingas užduoties tipas '%s'\n" #: ../src/main-window.c:7879 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7897 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7909 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7936 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7962 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7973 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:157 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "Permatomumo Reikalavimai" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "" #: ../src/pref-dialog.c:765 msgid "Limited Terminal Emulator Selected" msgstr "" #: ../src/pref-dialog.c:765 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:815 ../src/pref-dialog.c:816 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:815 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:143 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:145 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "" #: ../src/settings.c:147 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:148 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "" #: ../src/settings.c:153 msgid "Show Devices" msgstr "Rodyti Įrenginius" #: ../src/settings.c:154 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:155 msgid "Show Tree" msgstr "Rodyti Medį" #: ../src/settings.c:156 ../src/ptk/ptk-location-view.c:4167 #: ../src/ptk/ptk-location-view.c:4624 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:158 msgid "Up" msgstr "Aukštyn" #: ../src/settings.c:159 msgid "Back" msgstr "Atgal" #: ../src/settings.c:160 msgid "Back History" msgstr "" #: ../src/settings.c:161 msgid "Forward" msgstr "Pirmyn" #: ../src/settings.c:162 msgid "Forward History" msgstr "" #: ../src/settings.c:163 msgid "Refresh" msgstr "Atnaujinti" #: ../src/settings.c:164 msgid "New Tab" msgstr "Nauja kortelė" #: ../src/settings.c:165 msgid "New Tab Here" msgstr "Nauja Kortelė Čia" #: ../src/settings.c:166 msgid "Show Hidden" msgstr "" #: ../src/settings.c:168 msgid "Large Icons" msgstr "" #: ../src/settings.c:446 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:452 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1023 ../src/settings.c:10841 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1030 ../src/settings.c:10935 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1040 ../src/settings.c:11535 msgid "_FAQ" msgstr "_DUK" #: ../src/settings.c:1050 ../src/settings.c:1055 ../src/settings.c:11679 #: ../src/settings.c:11699 msgid "_Stop" msgstr "_Stabdyti" #: ../src/settings.c:1062 ../src/settings.c:11712 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1069 ../src/settings.c:11718 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1076 ../src/settings.c:11783 msgid "Err_ors" msgstr "Klaid_os" #: ../src/settings.c:1083 ../src/settings.c:11658 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1090 ../src/settings.c:11670 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1097 ../src/settings.c:11608 msgid "_Folder" msgstr "_aplanką" #: ../src/settings.c:1129 ../src/settings.c:11760 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1140 ../src/settings.c:10579 msgid "Remo_ve / Eject" msgstr "Šal_inti / Išstumti" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1151 ../src/settings.c:8110 ../src/settings.c:11499 msgid "_Import" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11592 msgid "_Task Manager" msgstr "Užduočių _tvarkytuvė" #. for rename dialog #: ../src/settings.c:1155 ../src/settings.c:11128 msgid "F_ilename" msgstr "Fa_ilo pavadinimas" #: ../src/settings.c:1156 ../src/settings.c:11139 msgid "Typ_e" msgstr "" #: ../src/settings.c:1157 ../src/settings.c:11143 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1158 ../src/settings.c:11147 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1284 ../src/settings.c:11246 msgid "Open _URL" msgstr "Atverti _URL" #. General #: ../src/settings.c:1643 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "" #: ../src/settings.c:1818 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1899 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3333 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3428 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3430 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4301 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4302 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4308 msgid "Create README" msgstr "" #: ../src/settings.c:4310 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4334 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4335 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4496 ../src/ptk/ptk-handler.c:1279 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #. due to dialog run causes low level thread lock #: ../src/settings.c:4498 ../src/settings.c:4533 ../src/ptk/ptk-handler.c:1282 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4531 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4924 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:5023 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:5025 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5124 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "" #: ../src/settings.c:5126 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "" #: ../src/settings.c:5158 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5161 ../src/settings.c:5169 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5207 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5460 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5528 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5562 msgid "Export Error" msgstr "" #: ../src/settings.c:5563 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5670 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5674 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5726 msgid "Change Item Name" msgstr "" #: ../src/settings.c:6302 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6303 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6314 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6315 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6336 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6517 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6519 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "" #: ../src/settings.c:6568 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6568 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6587 msgid "( none )" msgstr "" #: ../src/settings.c:6721 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6725 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6737 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6767 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6780 msgid "Cancel" msgstr "Atšaukti" #: ../src/settings.c:6786 msgid "Unset" msgstr "" #: ../src/settings.c:6799 msgid "Set" msgstr "" #: ../src/settings.c:6813 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6896 ../src/settings.c:8659 ../src/settings.c:9113 msgid "Set Icon" msgstr "" #: ../src/settings.c:6964 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6990 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:7001 msgid "Run As User" msgstr "" #: ../src/settings.c:7001 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:7009 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7010 msgid "New Context Command" msgstr "" #: ../src/settings.c:7021 msgid "Set Item Name" msgstr "" #: ../src/settings.c:7058 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7100 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7100 msgid "(none)" msgstr "" #: ../src/settings.c:7109 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7109 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:7109 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7216 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7218 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7298 msgid "( no name )" msgstr "" #: ../src/settings.c:7302 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7307 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7328 ../src/ptk/ptk-handler.c:1886 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7402 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Ar tikrai?" #: ../src/settings.c:7403 ../src/settings.c:7407 ../src/settings.c:7411 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7403 ../src/settings.c:7407 ../src/settings.c:7411 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:8030 ../src/settings.c:12197 msgid "Cu_t" msgstr "Iškirp_ti" #. Copy #: ../src/settings.c:8038 ../src/settings.c:11155 ../src/settings.c:12200 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:8046 ../src/settings.c:12203 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8054 ../src/ptk/ptk-file-menu.c:2285 #: ../src/ptk/ptk-handler.c:2847 ../src/ptk/ptk-handler.c:3071 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:8064 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:8072 ../src/settings.c:11424 ../src/settings.c:12024 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:8085 ../src/settings.c:10611 msgid "_Bookmark" msgstr "Ž_ymelės" #. New > Application #: ../src/settings.c:8089 msgid "_Application" msgstr "Progr_ama" #. New > Command #: ../src/settings.c:8093 msgid "_Command" msgstr "_Komanda" #. New > Submenu #: ../src/settings.c:8100 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8106 msgid "S_eparator" msgstr "" #: ../src/settings.c:8124 ../src/settings.c:11492 ../src/settings.c:11508 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8127 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8133 ../src/item-prop.c:1811 msgid "_Add" msgstr "" #: ../src/settings.c:8171 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8180 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8199 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8209 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8223 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8233 ../src/settings.c:10797 msgid "_Properties" msgstr "_Savybės" #: ../src/settings.c:8978 msgid "Choose Icon" msgstr "" #: ../src/settings.c:9102 msgid "_Edit" msgstr "_Keisti" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9114 ../src/settings.c:11460 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9116 ../src/ptk/ptk-handler.c:3180 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9135 ../src/settings.c:9316 ../src/settings.c:12076 msgid "_Default" msgstr "" #: ../src/settings.c:9176 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9319 msgid "_OK" msgstr "" #: ../src/settings.c:9456 msgid "_Unset" msgstr "" #: ../src/settings.c:10583 ../src/settings.c:10635 #: ../src/ptk/ptk-location-view.c:3510 ../src/ptk/ptk-location-view.c:3845 msgid "_Unmount" msgstr "Atj_ungti" #: ../src/settings.c:10587 msgid "Re_load" msgstr "Įke_lti iš naujo" #: ../src/settings.c:10591 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10595 ../src/settings.c:11091 ../src/settings.c:11908 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Atverti" #: ../src/settings.c:10599 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "Atverti Kor_telėje" #: ../src/settings.c:10603 ../src/settings.c:10630 #: ../src/ptk/ptk-location-view.c:3503 ../src/ptk/ptk-location-view.c:3839 msgid "_Mount" msgstr "" #: ../src/settings.c:10607 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10624 ../src/settings.c:12387 msgid "_Root" msgstr "" #: ../src/settings.c:10640 msgid "_Label" msgstr "" #: ../src/settings.c:10690 msgid "_Check" msgstr "" #: ../src/settings.c:10694 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10698 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10702 msgid "_Format" msgstr "" #: ../src/settings.c:10762 msgid "_Backup" msgstr "" #: ../src/settings.c:10784 msgid "_Restore" msgstr "Atku_rti" #: ../src/settings.c:10789 msgid "_From File" msgstr "" #: ../src/settings.c:10794 ../src/settings.c:11210 msgid "File _Info" msgstr "" #: ../src/settings.c:10801 msgid "Setti_ngs" msgstr "_Nustatymai" #. dev settings #: ../src/settings.c:10807 msgid "S_how" msgstr "" #: ../src/settings.c:10812 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10817 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10822 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10826 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10831 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10836 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10837 msgid "Show/Hide Volumes" msgstr "Rodyti/Slėpti Tomus" #: ../src/settings.c:10838 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10845 msgid "_Display Name" msgstr "" #: ../src/settings.c:10847 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10848 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10854 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10859 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10864 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10869 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10870 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10871 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10874 msgid "Mount _Dirs..." msgstr "" #: ../src/settings.c:10875 msgid "Automatic Mount Point Dirs" msgstr "" #: ../src/settings.c:10877 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10880 msgid "Open _Tab" msgstr "Atverti Kor_telę" #: ../src/settings.c:10885 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10893 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10899 msgid "On _Mount" msgstr "" #: ../src/settings.c:10901 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10902 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10905 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10907 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10908 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10911 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10913 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10914 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10917 msgid "On _Insert" msgstr "" #: ../src/settings.c:10919 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10920 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10923 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10925 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10926 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10929 msgid "On _Remove" msgstr "" #: ../src/settings.c:10931 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10932 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10939 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10940 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10942 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10950 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10951 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "" #: ../src/settings.c:10955 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10956 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "" #: ../src/settings.c:10958 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:10980 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10984 ../src/settings.c:12187 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:11001 ../src/settings.c:12544 ../src/settings.c:12556 msgid "_Icon" msgstr "P_iktograma" #: ../src/settings.c:11006 msgid "Audio CD" msgstr "" #: ../src/settings.c:11012 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:11017 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:11022 msgid "Optical No Media" msgstr "" #: ../src/settings.c:11027 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:11032 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:11037 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:11042 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:11047 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:11052 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:11057 msgid "Mounted Network" msgstr "" #: ../src/settings.c:11062 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11095 msgid "_Settings" msgstr "Nu_statymai" #: ../src/settings.c:11100 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11105 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11110 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11115 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11125 ../src/settings.c:12147 ../src/settings.c:12562 msgid "_Name" msgstr "" #: ../src/settings.c:11132 msgid "_Parent" msgstr "" #: ../src/settings.c:11135 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "Keli_as" #: ../src/settings.c:11151 msgid "_Option" msgstr "" #: ../src/settings.c:11159 ../src/settings.c:12037 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11163 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11166 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11169 msgid "_As Root" msgstr "" #: ../src/settings.c:11173 ../src/settings.c:11723 ../src/settings.c:11775 #: ../src/settings.c:11873 ../src/settings.c:11902 ../src/settings.c:12511 #: ../src/settings.c:12517 ../src/settings.c:12524 ../src/settings.c:12531 #: ../src/settings.c:12538 ../src/settings.c:12548 msgid "_Font" msgstr "Šri_ftas" #: ../src/settings.c:11176 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11177 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11182 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11190 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11191 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11195 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11196 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11200 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11204 ../src/settings.c:12227 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11207 ../src/settings.c:12230 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11214 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11230 msgid "New _Window" msgstr "Naujas _langas" #: ../src/settings.c:11233 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11236 msgid "_File Search" msgstr "_Failų Paieška" #: ../src/settings.c:11239 msgid "_Terminal" msgstr "_Terminalas" #. discovery notification #: ../src/settings.c:11242 msgid "_Root Terminal" msgstr "Ša_knies Terminalas" #: ../src/settings.c:11249 msgid "Open URL" msgstr "Atverti URL" #: ../src/settings.c:11250 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11253 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11257 msgid "E_xit" msgstr "" #: ../src/settings.c:11288 ../src/settings.c:11326 ../src/settings.c:11954 #: ../src/settings.c:12279 ../src/settings.c:12317 msgid "Panel _1" msgstr "Skydelis _1" #: ../src/settings.c:11293 ../src/settings.c:11328 ../src/settings.c:11955 #: ../src/settings.c:12280 ../src/settings.c:12318 msgid "Panel _2" msgstr "Skydelis _2" #: ../src/settings.c:11297 ../src/settings.c:11329 ../src/settings.c:11956 #: ../src/settings.c:12281 ../src/settings.c:12319 msgid "Panel _3" msgstr "Skydelis _3" #: ../src/settings.c:11301 ../src/settings.c:11330 ../src/settings.c:11957 #: ../src/settings.c:12282 ../src/settings.c:12320 msgid "Panel _4" msgstr "Skydelis _4" #: ../src/settings.c:11305 msgid "Panel _Bar" msgstr "Skydelių _Juosta" #: ../src/settings.c:11310 msgid "F_ocus" msgstr "" #: ../src/settings.c:11316 ../src/settings.c:11935 ../src/settings.c:11952 #: ../src/settings.c:12103 ../src/settings.c:12260 ../src/settings.c:12277 #: ../src/settings.c:12298 ../src/settings.c:12315 msgid "_Prev" msgstr "" #: ../src/settings.c:11318 ../src/settings.c:11936 ../src/settings.c:11953 #: ../src/settings.c:12104 ../src/settings.c:12261 ../src/settings.c:12278 #: ../src/settings.c:12299 ../src/settings.c:12316 msgid "_Next" msgstr "" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11325 ../src/settings.c:12322 msgid "_Hide" msgstr "" #: ../src/settings.c:11332 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11338 msgid "_Instance" msgstr "" #: ../src/settings.c:11343 msgid "_Startup" msgstr "" #: ../src/settings.c:11345 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11346 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11349 msgid "_Exit" msgstr "Iš_eiti" #: ../src/settings.c:11351 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11352 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11355 msgid "_Window" msgstr "" #: ../src/settings.c:11360 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11362 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11363 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11366 ../src/settings.c:11401 ../src/settings.c:11430 msgid "_Focus" msgstr "" #: ../src/settings.c:11368 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11369 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11372 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11374 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11375 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11378 msgid "_Click" msgstr "" #: ../src/settings.c:11380 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11381 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11384 msgid "_Keypress" msgstr "" #: ../src/settings.c:11386 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11387 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11390 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11392 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11393 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11396 msgid "_Panel" msgstr "" #: ../src/settings.c:11403 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11404 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11407 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11409 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11410 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11413 msgid "S_elect" msgstr "" #: ../src/settings.c:11415 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11419 msgctxt "View|Events|" msgid "_Tab" msgstr "Kor_telė" #: ../src/settings.c:11426 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11427 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11432 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11433 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11436 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11438 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11439 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11442 msgid "_Device" msgstr "" #: ../src/settings.c:11444 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11445 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11448 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11450 msgid "Set Window Title Format" msgstr "Lango Pavadinimo Nustatymo Formatas" #: ../src/settings.c:11451 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Lango pavadinimo nustatymo formatas:\n\nNaudojimas:\n\t%%n\tdabartinio aplanko pavadinimas (pvz., bin)\n\t%%d\tdabartinio aplanko kelias (pvz., /usr/bin)\n\t%%p\tdabartinio skydelio numeris (1-4)\n\t%%t\tdabartinės kortelės numeris\n\t%%P\tbendras matomų skydelių skaičius\n\t%%T\tbendras kortelių skaičius esamame skydelyje\n\t*\tžvaigždutė rodoma, jei lange yra vykdomos užduotys" #: ../src/settings.c:11455 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11461 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11464 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11467 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11470 msgid "_Preferences" msgstr "" #: ../src/settings.c:11473 msgid "_Tool" msgstr "_Įrankiai" #: ../src/settings.c:11479 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11483 msgid "_Install" msgstr "" #: ../src/settings.c:11511 msgid "_Verbose" msgstr "" #: ../src/settings.c:11518 msgid "In_cluded" msgstr "" #: ../src/settings.c:11532 msgid "_User's Manual" msgstr "Na_udotojo vadovas" #: ../src/settings.c:11538 msgid "_Homepage" msgstr "_Internetinė svetainė" #: ../src/settings.c:11541 msgid "SpaceFM _News" msgstr "SpaceFM _Naujienos" #: ../src/settings.c:11544 msgid "_Get Plugins" msgstr "_Gauti papildinių" #: ../src/settings.c:11547 msgid "_Options" msgstr "" #: ../src/settings.c:11552 msgid "_Browser" msgstr "" #: ../src/settings.c:11554 msgid "Choose HTML Browser" msgstr "Pasirinkite HTML Naršyklę" #: ../src/settings.c:11555 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11558 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11560 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11561 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11564 msgid "_About" msgstr "_Apie" #: ../src/settings.c:11567 msgid "_Show Devices" msgstr "_Rodyti Įrenginius" #: ../src/settings.c:11597 msgid "_Status" msgstr "Bū_sena" #. column position #. column width #: ../src/settings.c:11603 msgid "_Count" msgstr "" #: ../src/settings.c:11614 msgid "_Item" msgstr "" #: ../src/settings.c:11620 msgid "_To" msgstr "" #: ../src/settings.c:11626 msgid "_Progress" msgstr "" #: ../src/settings.c:11633 msgid "T_otal" msgstr "" #: ../src/settings.c:11640 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11645 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11652 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11664 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11676 msgid "Reor_der" msgstr "" #: ../src/settings.c:11682 ../src/settings.c:11702 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11685 ../src/settings.c:11705 msgid "_Queue" msgstr "" #: ../src/settings.c:11688 ../src/settings.c:11708 msgid "_Resume" msgstr "" #: ../src/settings.c:11691 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11694 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11726 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11727 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11730 msgid "_Columns" msgstr "" #: ../src/settings.c:11735 msgid "_Popups" msgstr "" #: ../src/settings.c:11740 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11745 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11750 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11755 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11765 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11770 msgid "_Error Option" msgstr "" #: ../src/settings.c:11778 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11779 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11788 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11793 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11798 msgid "_Continue" msgstr "" #: ../src/settings.c:11803 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11808 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11813 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11818 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11828 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11833 msgid "By _Name" msgstr "" #: ../src/settings.c:11836 msgid "By _Type" msgstr "Pagal _Tipą" #: ../src/settings.c:11839 msgid "By _Date" msgstr "Pagal _Datą" #: ../src/settings.c:11842 msgid "By _Size" msgstr "" #: ../src/settings.c:11845 msgid "_Custom" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12159 msgid "_Ascending" msgstr "" #: ../src/settings.c:11851 msgid "D_escending" msgstr "" #: ../src/settings.c:11854 msgid "Desktop _Settings" msgstr "Darbalaukio Nu_statymai" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11858 ../src/settings.c:12096 msgid "De_vices" msgstr "" #: ../src/settings.c:11866 msgid "_Desktop Folder" msgstr "_Darbalaukio Aplankas" #: ../src/settings.c:11876 msgid "Editor Font" msgstr "" #: ../src/settings.c:11877 ../src/settings.c:11906 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11905 msgid "Input Font" msgstr "" #: ../src/settings.c:11912 msgid "E_xecute" msgstr "Vy_kdyti" #: ../src/settings.c:11915 msgid "Edi_t" msgstr "" #: ../src/settings.c:11918 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11921 msgid "_Choose..." msgstr "_Pasirinkti..." #: ../src/settings.c:11924 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11928 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11930 msgid "In _Tab" msgstr "Kor_telėje" #: ../src/settings.c:11934 msgid "N_ew" msgstr "" #: ../src/settings.c:11937 ../src/settings.c:12107 ../src/settings.c:12262 #: ../src/settings.c:12300 msgid "Tab _1" msgstr "Kortelė _1" #: ../src/settings.c:11938 ../src/settings.c:12108 ../src/settings.c:12263 #: ../src/settings.c:12301 msgid "Tab _2" msgstr "Kortelė _2" #: ../src/settings.c:11939 ../src/settings.c:12109 ../src/settings.c:12264 #: ../src/settings.c:12302 msgid "Tab _3" msgstr "Kortelė _3" #: ../src/settings.c:11940 ../src/settings.c:12110 ../src/settings.c:12265 #: ../src/settings.c:12303 msgid "Tab _4" msgstr "Kortelė _4" #: ../src/settings.c:11941 ../src/settings.c:12111 ../src/settings.c:12266 #: ../src/settings.c:12304 msgid "Tab _5" msgstr "Kortelė _5" #: ../src/settings.c:11942 ../src/settings.c:12112 ../src/settings.c:12267 #: ../src/settings.c:12305 msgid "Tab _6" msgstr "Kortelė _6" #: ../src/settings.c:11943 ../src/settings.c:12113 ../src/settings.c:12268 #: ../src/settings.c:12306 msgid "Tab _7" msgstr "Kortelė _7" #: ../src/settings.c:11944 ../src/settings.c:12114 ../src/settings.c:12269 #: ../src/settings.c:12307 msgid "Tab _8" msgstr "Kortelė _8" #: ../src/settings.c:11945 ../src/settings.c:12115 ../src/settings.c:12270 #: ../src/settings.c:12308 msgid "Tab _9" msgstr "Kortelė _9" #: ../src/settings.c:11946 ../src/settings.c:12116 ../src/settings.c:12271 #: ../src/settings.c:12309 msgid "Tab 1_0" msgstr "Kortelė 1_0" #: ../src/settings.c:11948 msgid "In _Panel" msgstr "" #: ../src/settings.c:11959 ../src/settings.c:11986 msgid "_Extract" msgstr "" #: ../src/settings.c:11963 ../src/settings.c:11991 msgid "Extract _To" msgstr "Išpakuo_ti į" #: ../src/settings.c:11967 ../src/settings.c:11995 msgid "_List Contents" msgstr "" #: ../src/settings.c:11977 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11982 msgid "_Open With App" msgstr "" #: ../src/settings.c:11999 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:12004 msgid "_Write Access" msgstr "" #: ../src/settings.c:12009 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:12033 msgid "Fol_der" msgstr "" #: ../src/settings.c:12041 msgctxt "New|" msgid "_Bookmark" msgstr "Ž_ymelės" #: ../src/settings.c:12045 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12052 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:12054 msgid "Tab _Here" msgstr "" #: ../src/settings.c:12057 msgid "_Desktop Application" msgstr "_Darbalaukio Programa" #: ../src/settings.c:12063 msgid "_Go" msgstr "_Eiti" #: ../src/settings.c:12068 msgid "_Back" msgstr "" #: ../src/settings.c:12070 msgid "_Forward" msgstr "" #: ../src/settings.c:12072 msgid "_Up" msgstr "A_ukštyn" #: ../src/settings.c:12074 msgid "_Home" msgstr "" #: ../src/settings.c:12079 msgid "_Set Default" msgstr "" #: ../src/settings.c:12082 msgid "Re_al Path" msgstr "" #: ../src/settings.c:12084 msgid "Fo_cus" msgstr "" #: ../src/settings.c:12088 msgid "_Path Bar" msgstr "" #: ../src/settings.c:12090 msgid "_File List" msgstr "" #: ../src/settings.c:12092 msgid "_Tree" msgstr "" #: ../src/settings.c:12099 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12105 msgid "_Close" msgstr "" #: ../src/settings.c:12122 msgid "Styl_e" msgstr "" #: ../src/settings.c:12125 msgid "C_olumns" msgstr "" #: ../src/settings.c:12128 msgid "_Reorder" msgstr "" #: ../src/settings.c:12130 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12143 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12149 ../src/settings.c:12567 msgid "_Size" msgstr "Dydi_s" #: ../src/settings.c:12151 ../src/settings.c:12574 msgid "_Type" msgstr "_Tipas" #: ../src/settings.c:12153 ../src/settings.c:12580 msgid "_Permission" msgstr "" #: ../src/settings.c:12155 ../src/settings.c:12417 ../src/settings.c:12586 msgid "_Owner" msgstr "" #: ../src/settings.c:12157 ../src/settings.c:12592 msgid "_Modified" msgstr "" #: ../src/settings.c:12161 msgid "_Descending" msgstr "" #: ../src/settings.c:12164 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12166 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12168 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12170 msgid "F_iles First" msgstr "" #: ../src/settings.c:12172 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12174 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12176 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12179 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12182 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12193 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12206 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "P_ervadinti" #: ../src/settings.c:12210 ../src/settings.c:12340 msgid "_Delete" msgstr "Iš_trinti" #: ../src/settings.c:12222 msgid "_Actions" msgstr "" #: ../src/settings.c:12233 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12236 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12239 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12242 msgid "Paste _As" msgstr "" #: ../src/settings.c:12248 ../src/settings.c:12338 msgid "_Copy To" msgstr "" #: ../src/settings.c:12252 msgid "L_ocation" msgstr "" #: ../src/settings.c:12253 ../src/settings.c:12292 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12256 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "Kor_telė" #: ../src/settings.c:12273 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12287 msgid "_Move To" msgstr "" #: ../src/settings.c:12291 msgid "_Location" msgstr "" #: ../src/settings.c:12294 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12311 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12324 msgid "_Select All" msgstr "" #: ../src/settings.c:12327 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12329 msgid "_Invert Selection" msgstr "Žymėti pr_iešingai" #: ../src/settings.c:12331 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12333 msgid "R_oot" msgstr "" #: ../src/settings.c:12339 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12344 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12355 msgid "_Quick" msgstr "" #: ../src/settings.c:12377 ../src/settings.c:12407 ../src/settings.c:12433 msgid "_Recursive" msgstr "" #: ../src/settings.c:12455 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12467 msgid "T_ree" msgstr "" #: ../src/settings.c:12479 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12485 msgid "_Detailed" msgstr "" #: ../src/settings.c:12491 msgid "_Icons" msgstr "Rikiuoti p_iktogramas..." #: ../src/settings.c:12496 msgid "_Compact" msgstr "" #: ../src/settings.c:12501 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12506 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12514 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12515 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12520 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12521 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12527 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12528 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12534 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12535 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/pavyzdys" #: ../src/settings.c:12541 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12551 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12552 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12604 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12613 ../src/settings.c:12622 msgid "_New Tab" msgstr "" #: ../src/settings.c:12617 ../src/settings.c:12627 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "Katalogo nėra\n\n%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3017 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5433 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5466 ../src/ptk/ptk-file-browser.c:5500 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "Neteisinga Paskirtis" #: ../src/ptk/ptk-file-browser.c:5467 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "Paskirtis tokia pati kaip šaltinis" #: ../src/ptk/ptk-file-browser.c:5501 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "Neteisinga paskirtis" #: ../src/ptk/ptk-file-browser.c:5508 msgid "Hide File" msgstr "Slėpti Failą" #: ../src/ptk/ptk-file-browser.c:5510 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5525 msgid "Error hiding files" msgstr "Klaida, slepiant failus" #: ../src/ptk/ptk-file-browser.c:5533 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:880 ../src/ptk/ptk-location-view.c:960 msgid "Unable to mount device" msgstr "Nepavyko prijungti įrenginio" #: ../src/ptk/ptk-location-view.c:900 msgid "Unable to unmount device" msgstr "Nepavyko atjungti įrenginio" #: ../src/ptk/ptk-location-view.c:922 ../src/ptk/ptk-location-view.c:936 msgid "Unable to eject device" msgstr "Nepavyko išimti įrenginio" #: ../src/ptk/ptk-location-view.c:982 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:983 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1086 msgid "Invalid URL" msgstr "Neteisingas URL" #: ../src/ptk/ptk-location-view.c:1087 msgid "The entered URL is not valid." msgstr "Įvestas URL yra neteisingas." #: ../src/ptk/ptk-location-view.c:1145 ../src/ptk/ptk-location-view.c:1269 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1146 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1203 #, c-format msgid "Open URL %s" msgstr "Atverti URL %s" #: ../src/ptk/ptk-location-view.c:1265 msgid "mount" msgstr "prijungti" #: ../src/ptk/ptk-location-view.c:1267 msgid "unmount" msgstr "atjungti" #: ../src/ptk/ptk-location-view.c:1268 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:1866 #: ../src/ptk/ptk-location-view.c:1941 ../src/ptk/ptk-location-view.c:2018 #, c-format msgid "Mount %s" msgstr "Prijungti %s" #: ../src/ptk/ptk-location-view.c:1341 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "%s šiuo metu yra prijungtas. Prieš jį tikrindami, privalote jį atjungti." #: ../src/ptk/ptk-location-view.c:1342 ../src/ptk/ptk-location-view.c:2252 #: ../src/ptk/ptk-location-view.c:2331 ../src/ptk/ptk-location-view.c:2673 msgid "Device Is Mounted" msgstr "Įrenginys Yra Prijungtas" #: ../src/ptk/ptk-location-view.c:1349 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1354 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1357 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1367 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1400 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1406 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1409 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1425 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1455 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1460 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1463 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1475 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1531 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1537 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1562 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1568 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1571 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1574 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1589 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1653 #, c-format msgid "Unmount %s" msgstr "Atjungti %s" #: ../src/ptk/ptk-location-view.c:1787 ../src/ptk/ptk-location-view.c:1800 #, c-format msgid "Remove %s" msgstr "Šalinti %s" #. task #: ../src/ptk/ptk-location-view.c:2090 #, c-format msgid "Remount %s" msgstr "Iš naujo prijungti %s" #: ../src/ptk/ptk-location-view.c:2189 #, c-format msgid "Reload %s" msgstr "Iš naujo įkelti %s" #: ../src/ptk/ptk-location-view.c:2217 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2251 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "%s šiuo metu yra prijungtas. Prieš jį formatuodami, privalote jį atjungti." #: ../src/ptk/ptk-location-view.c:2263 ../src/ptk/ptk-location-view.c:2423 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2269 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2272 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2273 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2276 ../src/ptk/ptk-location-view.c:2373 #: ../src/ptk/ptk-location-view.c:2430 msgid "DATA LOSS WARNING" msgstr "DUOMENŲ PRARADIMO ĮSPĖJIMAS" #: ../src/ptk/ptk-location-view.c:2285 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2338 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2372 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2373 msgid "Restore MBR" msgstr "Atkurti MBR" #: ../src/ptk/ptk-location-view.c:2385 ../src/ptk/ptk-location-view.c:2595 msgid "Unknown Type" msgstr "Nežinomas Tipas" #: ../src/ptk/ptk-location-view.c:2385 ../src/ptk/ptk-location-view.c:2595 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2426 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 msgid "Restore" msgstr "Atkurti" #: ../src/ptk/ptk-location-view.c:2468 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2522 msgid "Directory Missing" msgstr "Trūksta Katalogo" #: ../src/ptk/ptk-location-view.c:2523 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2536 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2589 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2589 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2605 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2664 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2672 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2689 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2706 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2706 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2738 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2766 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2873 #, c-format msgid "Properties %s" msgstr "Savybės %s" #: ../src/ptk/ptk-location-view.c:3116 ../src/ptk/ptk-location-view.c:3143 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sŠiuo metu pasirinktas įrenginys: %s\nTomo etiketė: %s\nĮrenginio ID: %s" #: ../src/ptk/ptk-location-view.c:3519 ../src/ptk/ptk-location-view.c:3853 msgid "_Eject" msgstr "_Išimti" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Perkelti: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopijuoti: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Ištrinti: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Nuoroda: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Perkeliama..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopijuojama..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Trinama..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Siejama..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Į:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Eiga:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Būsena:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pristabdyta" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Klausti" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Pakeisti visus" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Praleisti visus" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Tęsti" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Sustabdyta" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Klaidos" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Atlikta" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Užbaigta su %d klaida" msgstr[1] "Užbaigta su %d klaidom" msgstr[2] "Užbaigta su %d klaidų" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Užbaigta su klaida ( išėjimo būsena %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Užbaigta su klaida" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Aplankas Yra" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Aplankas jau yra. Prašome pervadinti arba pasirinkti veiksmą." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Aplanko Pavadinimas:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "Pe _rvadinti " #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr " A_utomatiškai Pervadinti" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1454 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1059 msgid "Conf_igure" msgstr "Konf_igūruoti" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:2025 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:968 ../src/ptk/ptk-handler.c:1324 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1050 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1090 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1092 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1239 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1379 ../src/ptk/ptk-file-archiver.c:1434 #: ../src/ptk/ptk-file-menu.c:2310 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1495 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nBaigta!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Komanda:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Failų sistema" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1864 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1864 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1880 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1883 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1981 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1983 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1986 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2279 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2289 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2352 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Ištrinti %d pasirinktą elementą ?" msgstr[1] "Ištrinti %d pasirinktus elementus ?" msgstr[2] "Ištrinti %d pasirinktų elementų ?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Naršyti" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "Suku_rti" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Sukurti Naują" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Aplankas" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Perkelti" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1330 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2974 msgid "Opt_ions" msgstr "Par_inktys" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Tuščias Failas" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Tuščias Aplankas" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Naujas aplankas" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Naujas failas" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( keli failai )" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "( keli tipai )" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "Aplanko Pavadi_nimas:" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 failas" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Skaičiuojama..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Neteisingas vartotojas" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Neteisinga grupė" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:80 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:81 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:82 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:83 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:644 ../src/ptk/ptk-handler.c:656 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:670 ../src/ptk/ptk-handler.c:763 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:743 msgid "Error reading file" msgstr "Klaida, skaitant failą" #: ../src/ptk/ptk-handler.c:756 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:827 msgid "Error writing to file" msgstr "Klaida, įrašant į failą" #: ../src/ptk/ptk-handler.c:1326 ../src/item-prop.c:122 msgid "Device" msgstr "Įrenginys" #: ../src/ptk/ptk-handler.c:1328 msgid "Protocol" msgstr "" #. failsafe #: ../src/ptk/ptk-handler.c:1333 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1336 msgid "Handler Imported" msgstr "" #: ../src/ptk/ptk-handler.c:1351 ../src/ptk/ptk-handler.c:1535 #: ../src/ptk/ptk-handler.c:1745 ../src/ptk/ptk-handler.c:1811 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1352 ../src/ptk/ptk-handler.c:1536 #: ../src/ptk/ptk-handler.c:1746 ../src/ptk/ptk-handler.c:1812 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1888 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2124 ../src/ptk/ptk-handler.c:2161 msgid "Apply Changes ?" msgstr "Taikyti Pakeitimus ?" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2245 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2246 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2362 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2374 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2418 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2446 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2465 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2747 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2759 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2759 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2852 msgid "_Export" msgstr "" #: ../src/ptk/ptk-handler.c:2856 msgid "Import _File" msgstr "" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _URL" msgstr "" #: ../src/ptk/ptk-handler.c:2860 msgid "Restore _Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2986 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:3080 msgid "A_dd" msgstr "Pri_dėti" #: ../src/ptk/ptk-handler.c:3088 msgid "Appl_y" msgstr "Taik_yti" #: ../src/ptk/ptk-handler.c:3097 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:3106 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:3118 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:3119 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:3126 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:3132 msgid "MIM_E Type:" msgstr "MIM_E Tipas:" #: ../src/ptk/ptk-handler.c:3133 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:3139 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:3140 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:3147 msgid "_Icon:" msgstr "P_iktograma:" #: ../src/ptk/ptk-handler.c:3155 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:3157 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:3159 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:3165 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:3166 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:3171 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:3172 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:3302 ../src/ptk/ptk-handler.c:3306 #: ../src/ptk/ptk-handler.c:3308 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Vykdyti Terminale" #: ../src/ptk/ptk-handler.c:3305 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "Vykdyti Kaip Užduotį" #: ../src/ptk/ptk-handler.c:3324 ../src/ptk/ptk-handler.c:3330 #: ../src/ptk/ptk-handler.c:3336 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Prašome pasirinkti programą:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Komanda nerasta" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Paskirties aplankas „%1$s“ jau yra pirminiame aplanke „%2$s“" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2100 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminalo SU Neprieinamas" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Grafinis SU Neprieinamas" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1830 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1932 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:2000 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2184 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2516 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nKlaida: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s tomas" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s įrenginys" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s įrenginys" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Diskelių įrenginys" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash įrenginys" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memory Stick įrenginys" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media įrenginys" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC įrenginys" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip įrenginys" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz įrenginys" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Atmintukas" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s muzikos grotuvas" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s fotoaparatas" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Įrenginys" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Išorinis %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM diskas" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Tuščias CD-R diskas" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R diskas" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Tuščias CD-RW diskas" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW diskas" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM diskas" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Tuščias DVD-RAM diskas" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM diskas" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Tuščias DVD-R diskas" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R diskas" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tuščias DVD-RW diskas" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW diskas" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tuščias DVD+R diskas" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R diskas" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tuščias DVD+RW diskas" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW diskas" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio diskas" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s keičiamasis tomas" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Tomas" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Nepavyko prisijungti prie HAL tarnybos: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Įrenginys „%s“ nėra nei tomas, nei diskas" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Įrenginys „%s“ nerastas failų sistemos įrenginių lentelėje" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Jūs neturite leidimo prijungti tomą „%s“" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Jūs neturite leidimo atjungti tomą „%s“" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Jūs neturite leidimo išimti tomo „%s“" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Neteisingas prijungimo parametras bandant prijungti tomą „%s“" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Sistema nepalaiko tomo „%s“ naudojamos %s failų sistemos" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Programa trukdo atjungti tomą „%s“" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Tomas „%s“ neprijungtas" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Klaida %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Tomas „%s“ greičiausiai buvo prijungtas rankiniu būdu iš komandinės eilutės" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Negalima prijungti tuščių diskų. Norėdami įrašyti duomenis į diską, naudokite diskų įrašymo programą" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "Negalima prijungti Audio CD diskų. Jų klausymui naudokite muzikos grotuvo programą" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3433 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3434 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3705 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4049 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4095 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4100 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4119 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4124 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4303 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Atverti aplan_ką" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Pasirinkti aplanką" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Naršyti..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Vietiniai Tomai" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Paskutinis pakeitimas" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME Tipas" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Įrenginio Prijungimo Taškas" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Įrenginio Savybės" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Meniu Elemento Savybės" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "_Meniu Elementas" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Tipas:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Raktas:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Piktograma:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Rodyti" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Įjungti" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Slėpti" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Išjungti" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Reikšmė:" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1962 msgid "none" msgstr "" #: ../src/item-prop.c:1964 msgid "files" msgstr "" #: ../src/item-prop.c:1966 msgid "devices" msgstr "" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "Kom_anda" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "Komandų Ei_lutė" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Scenarijus" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Atverti R_edaktoriuje" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "Pari_nktys" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2184 msgid "Style" msgstr "" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2204 msgid "Input" msgstr "" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Atverti Naršyklėje" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Submeniu" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "Piktograma" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "dydis" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:124 msgid "Action Icons" msgstr "Veiksmo Piktogramos" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:126 msgid "Animations" msgstr "Animacijos" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:128 msgid "Application Icons" msgstr "Programų Piktogramos" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:130 msgid "Menu Icons" msgstr "Meniu Piktogramos" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:132 msgid "Device Icons" msgstr "Įrenginio Piktogramos" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:134 msgid "Emblems" msgstr "Emblemos" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:136 msgid "Emoticons" msgstr "Jaustukai" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:138 msgid "International Denominations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:140 msgid "File Type Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:142 msgid "Location Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:144 msgid "Status Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:146 msgid "Uncategorized Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:150 msgid "All Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:154 #: ../src/exo/exo-icon-chooser-dialog.c:305 msgid "Image Files" msgstr "" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:225 msgid "Select _icon from:" msgstr "" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:241 msgid "_Search icon:" msgstr "" #: ../src/exo/exo-icon-chooser-dialog.c:252 msgid "Clear search field" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:129 msgid "Preview" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:145 #: ../src/exo/exo-thumbnail-preview.c:226 msgid "No file selected" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:250 msgid "Block Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:255 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:265 msgid "FIFO" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:270 msgid "Socket" msgstr "" spacefm-1.0.5/po/ltg.po000066400000000000000000006362031264770501700147220ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-06-01 12:48+0000\n" "PO-Revision-Date: 2015-07-08 08:37+0000\n" "Last-Translator: APvars \n" "Language-Team: Latgalian (http://www.transifex.com/p/spacefm/language/ltg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ltg\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Attaisäț mapi" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Attaisäț mapi" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Failu vaicōšona" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Vaicōț mapis i failus" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Failu menedžers" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Värtīs failu sistemu" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "SpaceFM iconys i logo taisä Goran Simovic\n\nCytys ikonys jymtys nu Tango Desktop Project ikonu komplekta" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Andrejs Meinerts " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Programys" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Atzeimejit programu nu saroksta ci īrokstit tū:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Faila tips:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "S_aisteitōs programys" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "Vysys programys" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "Komanda:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11428 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1740 msgid "_Browse" msgstr "Värtīs" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Attaisäț terminalā" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Pī_saistäț programu itam failu tipam" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Faila īpašeibys" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Faila _nūsaukums:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "Vīta:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Nūrōdȧ:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Tips:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Attaisäț ai:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Kūpejs izmārs:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Aizjimtō vīta iz diska:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Satur:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "Izmaineits:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "Nūlaseits:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12261 msgid "_Info" msgstr "_Informaceja" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "Īpašnīks:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupa:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Īpašnīks:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupa:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Cyti:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lasäț" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Rakstäț" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Izpiļdäț" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Īstatäț UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Īstatäț GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Lipeigs" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Rekursivi (izmainäț vysōs apakšmaṕōs)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12264 msgid "_Permissions" msgstr "_Tīseibys" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Baiti" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Vysūs laikūs" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Dīnys laikā" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Nedelis laikā" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Mieneša laikā" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Goda laikā" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Nūrōdeitijā laikā" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Vaicōț failus" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Nūsaukums:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Īvārōț burtu lelumu" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Video faily (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Audio faily (mp3, ogg, ...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Attāla faily (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Teksta faily" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Vysi faily i mapis" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Vaicojamūs failu tipi" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Vaicōț apakšmaṕōs" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Vaicōț slāptūs failus" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Vaicōšonys vītys" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Golvonō" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Fails satur:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Lītōț regularōs izteiksmis" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Faila saturs" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Saturs" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Lelōks par:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Mozōks par:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Faila izmārs" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Izmaineits" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Izmārs i datums" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Vaicōšonys rezultati:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Vaicōț väļ" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Attaisäț mapi" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Attaisäț asūšijā TABā" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Attaisäț jaunā TABā" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Izstīpts" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Īlikț" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centreits" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Mozaika" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Mainäț izmāru" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Caurspeideigs" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automatiski" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopäț (Ctrl+pōrviļkț)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Pōrlikț (Shift+pōrviļkț)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Sataisäț nūrōdi (Ctrl+Shift+pōrviļkț)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Īstatiejumi" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Mozys ikonys:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Lelys ikonys:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Paneļa ikonys:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Ikonys" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Attaisäț ai vīnu klikški" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Atlasäț vysu zam kursora" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Grōmotzeimis:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Prīškapskatȧ" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Maksimals attāla izmārs prīškapskatȧi:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Failu saroksts" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Golvonīs" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Rōdäț TABu paneli" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Narōdäț TABa aiztaiseišonys pūgu" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Apstyprynōț dziesšonu i izjimšonu" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Izpyldamūs failus palaizț ai klikški" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Izmārs pec SI (1K = 1000) (jōpōrstartej)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "root lītōtōja lūgs sorkonā krōsā" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Nūkluseitō darbeiba pōrviļkšonai:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Izskots" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Dorbgolda fons:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Izavielejit attāla failu" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Režims:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Fons:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Teksts:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Susātivs:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Fonts:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Viersā:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Kairijā:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Lobijā:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Zamaškā:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Storpā:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Atkōpis" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Lobīs klikškis attaisa menu" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Attaisäț mapis ai MIME programom" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Dorbgolds" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Sadaļu menedžers" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminals:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminala SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Grafiskīs SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Faila nūsaukuma kodiejums:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Redaktors:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Palaizț redaktoru terminalā" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Lītōtōja root redaktors:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Palaizț root redaktoru terminalā" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Datuma formats:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(jōpōrstartej)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Datuma skots" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "P_apyldus" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Par daudzi (>%d) kolonnu %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "kļūda nūlosūt failu %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "faila '%s' saturs nav UTF-8 kodiejumā" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Navar daškierț elementu '%s'" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "fails '%s' nav sprosts fails" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "Lai izmaineitu augstumam i plotumam jōbȳn > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "īškdejai komandai %s vajdzeigs arguments" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "elements '%s' naeksistej" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "īškdejō komanda iz pūgys %s nūspīsšonys nanūstrōdō" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "īškdejō komanda na/atlasäț deļ %s nanūstrōdō" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "kļūda rokstūt failā %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' nav īškdejō komanda" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "kļūda sataisūt failu %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "pipe '%s' nav UTF-8 kodiejumā" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ SNIP - cyta izvadȧ izjimta nu itō saroksta ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( faila saturs nav UTF-8 kodiejumā )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "prīvōrdam '%s' nakorekts nūsaukums" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Pīturäț" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "fails '%s' nav sprosts fails i nav pipe" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "SpaceFM dialogi ļaun taisäț ai GTK dialog paleidzeibu grafiskūs elementus,\npīškierț kotram elementam keidu komandu ci darbeibu i laiku, taipaț var\nkomadu argumentus konfiguräț izvadi.\n" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Lītōšona:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Pīmārs:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Ziņōjums\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nVar lītōț zemļōk radzamūs argumentus:\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ICON Nūsaukums, pīmāram: gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr " @FILE Teksta fails nu kura jimț vierteibu.\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr " SAVEFILE Saglobōț redaktora saturu failā.\n" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nPylnīs aproksts ai pīmārim irā SpaceFM rūkys-grōmotā:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: arguments nav UTF-8 kodiejumā\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "nakorekta dialoga opceja" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Lūga nūsaukums" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Ikonys nūsaukums" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Dalikț nūsaukumu" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Dalikț dialoga pūgu" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Dalikț pūgu" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Dalikț teksta lauku" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Dalikț lelū teksta lauku" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Dalikț paroļa lauku" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Dalikț izvadis ryndu" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Dalikț redaktoru" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Dalikț karūdzeni" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Dalikț radio pūdzeni" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Dalikț ikonu" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Dalikț attālu" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Dalikț progresa indikatoru" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Dalikț horizontalū lineji" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Dalikț vertikalū lineji" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Automatiski aiztaisäț lūgu pec DELAY sekunḑom" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Dalikț izkreitūšū sarokstu. COMMAND pazalaiž kod klikškis." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Dalikț redigejamū izkreitūšū sarokstu. COMMAND pazalaiž nu Enter." #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Dalikț sarokstu. COMMAND kod dubultklikškis." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Dalikț sarokstu." #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Maineigō nūsaukums (Nūkluseitīs: «dialog»)" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Minimals plotums, augstums, atkōpȧ (-1 = namainäț)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Dalikț reikus horizontalyjā konteinerī" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Dalikț reikus vertikalyjā konteinerī" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Aiztaisäț konteineri" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Palaizț COMMAND ai tausteņu kombinaceji" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "Palaizț COMMAND kod aizataisōs lūgs" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Nūlasäț komandys nu FILE ci PIPE. COMMAND deļ init." #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "Nav operaceju - viņ nūlasäț argumentus" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "Aiztaisäț dialogu" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "Nūspīsț pūgu BUTTON-NAME" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "Elementam NAME daškierț VALUE" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Atzeimäț VALUE (pyrmū/vysus) elementā NAME" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Nūjimț atzeimiejumu VALUE (ci vysus) elementā NAME" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "Nūfokusäț elementu NAME ci pacȧļț dialoga lūgu" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "Narōdäț elementu NAME" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "Rōdäț elementu NAME, ka tys beja nūglobōts" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "Atslägț elementu NAME" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "Īslägț elementu NAME, ka tys beja atslāgts" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "Saglobōț failus i izvodu saglobōț FILE" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Attaisäț mapis pādejō lūga jaunā TABĀ (nūkluseits)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Attaisäț mapi pādejō lūga asūšijā TABĀ" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Nalōdäț saglobōtūs TABUS" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Attaisäț mapis jaunā lūgā" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Attaisäț mapis panelī 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Startäț dorbgoldu menedžeri" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Dorbgolda īstatiejumi" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Rōdäț īstatiejumus (kur 'N' ir īstatiejumu TABA numerș)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Palaizț fonā" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Lītōț DIR kei konfigureišonys mapi" #: ../src/main.c:138 msgid "Show File Search" msgstr "Rōdäț failu vaicōšonu" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Dorbgolda fonu jimț nu FILE" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Rōdäț lītōtōja dialoglūgu (See -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Pōrsyutäț komandu iz socket (See -g help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Nav funkcejis - deļ savītōjameibys" #: ../src/main.c:151 msgid "Show version information" msgstr "Rōdäț verseji" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Opceja --config-dir teik ignorāta - programa jau dorbojās" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Opcejī --config-dir ir nakorekti simboly — navar palaizț" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd vajdzeigs arguments\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: navar sataisäț socket\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm: navar dazaslägț pi socket (nav palaizț? ci nav nūrōdeits DISPLAY?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: nakorekta atbiļdȧ nu socket\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Izmontōšona:" #: ../src/main.c:679 msgid "Example:" msgstr "Pīmārs:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "Īstatäț vierteibu" #: ../src/main.c:687 msgid "Gets a property" msgstr "Parōdäț vierteibu" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Īstatäț vierteibys uzdavumam" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Parōdäț vierteibys uzdavumam" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Jauns uzdavums" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Rōdäț menu, kurei dora tū pošu kū tausteņu kombinaceji" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "Rōdäț lītōtōja menu MENUNAME kei iznyrstūšū menu" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Dalikț asinhronū COMMAND deļ EVENT" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Dalikț asūšōs komandys vītā asinhronū COMMAND deļ EVENT" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Nūjimț asinhronū COMMAND deļ EVENT" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Rōdäț itū paleigu. (Var vārtīs i atsauci zemļōk)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Dalīcit opcejis pec METHOD, lai nūrōdeitu lūgu, paneli ci TABU." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Cytaiž tikș lītōts attaiseitīs TABS pādejā lūgā." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Nūrōdit lūgu. Pīm.:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Nūrōdit paneli 1-4. Pīm.:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Nūrōdit TABU 1-... Pīm.:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "METHOD 'set' īpašeibys, var nūlasäț ai 'get'." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "pīm. '800x600'" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "pīm. '100x50'" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "pīm. '1024x768' (laseišona)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "pīm. '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Attaisäț DIR ci nūkluseitū ceļu jaunā TABĀ" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "pīm. 'Tānejīs statuss: Pīmārs'" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR pīm. '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[PATTERN] pīm. '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "pīm. «Cytys\\nteksta\\nryndys»" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "pīm. '~/copy-file-contents-to-clipboard.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "FILE... Faily pōrkopāti iz clipboard" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "FILE... Faily izjymti nu clipboard" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "uzdavumu Statusa kolonna (laseišona)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "pīm. 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "teksts, kū jōrōda uzdavumu Numeru kolonnā" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "teksts, kū jōrōda uzdavumu Maṕu kolonnā" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "teksts, kū jōrōda uzdavumu kolonnā Punkts" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "teksts, kū jōrōda uzdavumu kolonnā Iz kureini" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "progress procentūs (1..100) ci '' to pulse" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "teksts, kū jōrōda uzdavumu kolonnā Kūpā" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "teksts, kū jōrōda uzdavumu kolonnā Ōtrums" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "teksts, kū jōrōda uzdavumu kolonnā Palicș" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "teksts, kū jōrōda uzdavumu kolonnā Videjīs" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "teksts, kū jōrōda uzdavumu kolonnā Atlicș" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "kolonnys Pagōjș saturs (laseišona)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "kolonnys Starteits saturs (laseišona)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "COMMAND kas parōda lītōtōja uzdavumu dialoglūgu\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Palaizț COMMAND mapī DIR" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Kopäț|Pōrviļkț|Sataisäț nūrōdi FILE(s) ci DIR(s) iz TARGET mapi" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Rekursivi dzäsț FILE(s) ci DIR(s)" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "Attaisäț FILE lītōtōja ci root teksta redaktorā" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "Attaisäț URL Web pōrlūkā" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "Pīmontäț DEVICE ci URL" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "Nūmontäț DEVICE ci mapi DIR" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "Procesa palaizšona %e" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "Procesa aptureišona %e" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "Jauns lūgs %e %w %p %t" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "Lūga fokuss %e %w %p %t" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "Lūga pōrstumšona/izmārs %e %w %p %t" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Pȧlis klikškis %e %w %p %t %b %m %f" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "Lūga tausteni %e %w %p %t %k %m" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "Lūga aiztaiseišona %e %w %p %t" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "Paneļa fokuss %e %w %p %t" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Rōdäț/narōdäț paneli %e %w %p %t %f %v" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "Pōrmeiț atzeimōtū %e %w %p %t" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "Jauns TABs %e %w %p %t" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "TABa fokuss %e %w %p %t" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "TABa aiztaiseišona %e %w %p %t" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "Pōrmeiț īkōrtu %e %f %v" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "Nūtykuma COMMAND pīškiertī maineigī:" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "nūtykuma tips (evt_start|evt_exit|...)" #: ../src/main.c:826 msgid "window ID" msgstr "lūga ID" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "paneļa numerș (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "TABa numerș (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "pȧlis pūga (0=dubult 1=kairō 2=videjō 3=lobō ...)" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "tausteņa kods (pīm, 0x63)" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "tausteņš modifikators (pīm, 0x4, lītoj kūpā ai klikški i tausteni)" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "fokuss iz elementa (panelN|filelist|devices|bookmarks|dirtree|pathbar)" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "nūfokuseitīs elements radzams (0 ci 1, ci īkōrtys statusa pōrmeišona)" #: ../src/main.c:835 msgid "Examples" msgstr "Pīmāri" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "Itī faily tyka sakopāti clipboard" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Vysu dokumentaceji i pīmārus var atrasț SpaceFM rūkys-grōmotā:" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "Itymā SpaceFM atslāgts dorbgolds" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Kļūda: navar saglobōț seseji\n %s\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Taida faila nav" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9093 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5692 ../src/ptk/ptk-file-browser.c:5700 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Kļūda" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "Kļūda: Naizadȧvȧ palaizț inotify - failu izmaiņu pōrlūku.\n\nMož kernelī nav inotify atbolsta?" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Error: Naizadȧvȧ dazaslägț pi FAM.\n\nMož \"FAM\" ci \"Gamin\" nav dainstaleiti?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "opcejai --dialog jōbȳn pyrmijai" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "opcejai --socket jōbȳn pyrmijai" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "SpaceFM darbeibai vajdzeigs bash. Cytys alternativōs programys nadora vysu, kū dora bash (v4+).\n\nPrograma %s nav atrosta. Instalejit bash ci opcejī --with-bash-path nūrōdit, kur tys atsarūn." #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Napazeistams faila tips" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Navar attaisäț failu:\n\"%s\"\n%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Spraudņa fails" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Spraudņa URL" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Īrokstit SpaceFM spraudņa URL:\n\n(fails tikș īlōdeits ai wget)" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "Napareizs spraudņa nūsaukums. Nūsaukumā var bȳț viņ burti, cypari i ASCII simboly." #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Napareizs spraudņa nūsaukums" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "Spraudnș '%s' jau ir instaleits. Pōrrakstäț?\n\nPadūms: Var pōrsaukț failu i spraudņm bȳș cyts nūsaukums." #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Pōrrakstäț spraudni?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Kļūda taisūt Temp mapi" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Navar sataisäț Temp mapi" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Kļūda: Navar saglobōț sesejis failu\n\n( %s )" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Kļūda saglobojūt seseji" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Attaisäț lūgu ai root tīseibom" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminals nav pīejams" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Īrokstiț terminala komandu Skots|Īstatiejumi|Papyldus" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Attaisäț terminalu" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Par maineišonys režimu" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "Maineišonys režimā var samainäț nūsaukumus, korstūs tausteņus, ikonu izskotu i var dalikț pošam sovys komandys.\n\nMaineišonys režims īzaslādz ai pȧlis lobū klikški iz menu.\n\nLai īslāgtu maineišonys režimu deļ apakšmenu, tei jōaiztaisa. Grōmotzeimis samainäț naizadūș.\n\nLai izmaineitu reikjūslu jōnūklikškinoj iz pošys kairōkōs pūdzenis i jōizavielej Paleigu." #: ../src/main-window.c:1810 msgid "Panel" msgstr "Panelș" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Jauna komanda" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Rōdäț paneli %d" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11401 #: ../src/settings.c:11417 ../src/settings.c:11941 msgid "_File" msgstr "_Fails" #: ../src/main-window.c:2003 ../src/settings.c:12030 msgid "_View" msgstr "Skots" #: ../src/main-window.c:2006 ../src/settings.c:12373 msgid "_Devices" msgstr "Īkōrtys" #: ../src/main-window.c:2010 ../src/settings.c:11031 ../src/settings.c:11774 #: ../src/settings.c:12006 ../src/settings.c:12385 msgid "_Bookmarks" msgstr "Grōmotzeimis" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "S_praudni" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "Reiki" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8635 ../src/settings.c:9004 ../src/settings.c:11091 msgid "_Help" msgstr "Paleigs" #: ../src/main-window.c:2330 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Kļūda: Navar saglobōț sesejis failu. Izīț bez saglobōšonys?\n\n( %s )" #: ../src/main-window.c:2339 msgid "SpaceFM Error" msgstr "SpaceFM kļūda" #: ../src/main-window.c:2355 msgid "Stop all tasks running in this window?" msgstr "Apturäț vysus uzdavumus itymā lūgā?" #: ../src/main-window.c:2364 msgid "Aborting tasks..." msgstr "Uzdavumu aptureišona..." #: ../src/main-window.c:3573 #, c-format msgid " %s free / %s " msgstr " %s breivs / %s " #: ../src/main-window.c:3580 #, c-format msgid "%sReading %s ..." msgstr "%sNūlosa %s ..." #: ../src/main-window.c:3637 #, c-format msgid " Link → %s" msgstr " Saitȧ → %s" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s/" msgstr " Saitȧ → %s/" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Saitȧ → %s/ (kļūda)" #: ../src/main-window.c:3650 #, c-format msgid " Link → %s (%s)" msgstr " Saitȧ → %s (%s)" #: ../src/main-window.c:3653 #, c-format msgid " !Link → %s (missing)" msgstr " !Saitȧ → %s (kļūda)" #: ../src/main-window.c:3660 #, c-format msgid " !Link → ( error reading target )" msgstr " !Saitȧ → ( kļūda nūlaseišonā )" #: ../src/main-window.c:3707 msgid "hidden" msgid_plural "hidden" msgstr[0] "slāptīs" msgstr[1] "slāptī" msgstr[2] "slāptī" #: ../src/main-window.c:3710 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d radzamīs (%s) %s" msgstr[1] "%s%d radzamī (%s) %s" msgstr[2] "%s%d radzamī (%s) %s" #: ../src/main-window.c:3715 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d objekts %s" msgstr[1] "%s%d objekti %s" msgstr[2] "%s%d objekti %s" #: ../src/main-window.c:3951 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4167 ../src/main-window.c:5644 msgid "Status" msgstr "Statuss" #: ../src/main-window.c:4167 msgid "#" msgstr "" #: ../src/main-window.c:4167 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:323 msgid "Folder" msgstr "Mapȧ" #: ../src/main-window.c:4167 msgid "Item" msgstr "Elements" #: ../src/main-window.c:4168 msgid "To" msgstr "Iz" #: ../src/main-window.c:4168 msgid "Progress" msgstr "Progress" #: ../src/main-window.c:4168 msgid "Total" msgstr "Vysa" #: ../src/main-window.c:4169 msgid "Started" msgstr "Sōkts" #: ../src/main-window.c:4169 msgid "Elapsed" msgstr "Progō" #: ../src/main-window.c:4169 msgid "Current" msgstr "Ōtrums" #: ../src/main-window.c:4169 msgid "CRemain" msgstr "Palyka" #: ../src/main-window.c:4170 msgid "Average" msgstr "Videjīs" #: ../src/main-window.c:4170 msgid "Remain" msgstr "Atlyka" #: ../src/main-window.c:4183 msgid "Reorder Columns Help" msgstr "Par kolonnu pōrlikšonu" #: ../src/main-window.c:4183 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Lai pōrmeitu kolonnu izkōrtōjumu tōs jōpōrvalk aiz viersroksta." #: ../src/main-window.c:5756 msgid "moving" msgstr "pōrvalk" #: ../src/main-window.c:5757 msgid "copying" msgstr "kopej" #: ../src/main-window.c:5758 msgid "trashing" msgstr "izjem" #: ../src/main-window.c:5759 msgid "deleting" msgstr "dzieš" #: ../src/main-window.c:5760 msgid "linking" msgstr "taisa saiti" #: ../src/main-window.c:5761 msgid "changing" msgstr "maina" #: ../src/main-window.c:5762 msgid "running" msgstr "dorbojās" #: ../src/main-window.c:5837 #, c-format msgid "%d error %s" msgstr "%d kļūda %s" #: ../src/main-window.c:5838 #, c-format msgid "%d errors %s" msgstr "%d kļūdys %s" #: ../src/main-window.c:5854 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "aptureits" #: ../src/main-window.c:5856 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "gaida ryndu" #: ../src/main-window.c:6189 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nūsaukums" #: ../src/main-window.c:6189 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Izmārs" #: ../src/main-window.c:6189 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tips" #: ../src/main-window.c:6190 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Tīseibys" #: ../src/main-window.c:6190 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "Īpašnīks" #: ../src/main-window.c:6190 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "Izmaineits" #: ../src/main-window.c:6202 msgid "spacefm: invalid socket command\n" msgstr "spacefm: napareiza socket komanda\n" #: ../src/main-window.c:6231 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: napareiza opceja '%s'\n" #: ../src/main-window.c:6234 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: opcejai %s navāg argumenta\n" #: ../src/main-window.c:6244 msgid "spacefm: invalid window\n" msgstr "spacefm: nakorekts lūgs\n" #: ../src/main-window.c:6264 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: nakorekts lūgs %s\n" #: ../src/main-window.c:6274 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: napareiza panelș %d\n" #: ../src/main-window.c:6281 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: panelș %d nav radzams\n" #: ../src/main-window.c:6294 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: nakorekts TABs %d\n" #: ../src/main-window.c:6306 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: komandai set vāga argumentu\n" #: ../src/main-window.c:6332 ../src/main-window.c:6639 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: nakorekta vierteiba %s\n" #: ../src/main-window.c:6365 ../src/main-window.c:6517 msgid "spacefm: invalid slider value\n" msgstr "spacefm: nakorekta slider vierteiba\n" #: ../src/main-window.c:6394 msgid "spacefm: invalid panel number\n" msgstr "spacefm: napareizs paneļa numerș\n" #: ../src/main-window.c:6435 msgid "spacefm: invalid tab number\n" msgstr "spacefm: napareizs TABa numerș\n" #: ../src/main-window.c:6488 ../src/main-window.c:6823 #: ../src/main-window.c:6950 ../src/main-window.c:7228 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: nakorekts īpašeiba %s\n" #: ../src/main-window.c:6537 msgid "spacefm: invalid column width\n" msgstr "spacefm: napareizs kolonnys plotums\n" #: ../src/main-window.c:6573 ../src/main-window.c:6600 #: ../src/main-window.c:7016 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: nakorekts kolonnys nūsaukums '%s'\n" #: ../src/main-window.c:6710 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: teksts nav UTF-8 kodiejumā\n" #: ../src/main-window.c:6727 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s vajdzeigs ceļš da faila\n" #: ../src/main-window.c:6733 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: kļūda faila '%s' nūlaseišonā\n" #: ../src/main-window.c:6739 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: fails '%s' nasatur korektu UTF-8 tekstu\n" #: ../src/main-window.c:6780 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s vajdzeigs ceļš iz mapi\n" #: ../src/main-window.c:6786 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: mapȧ '%s' naeksistej\n" #: ../src/main-window.c:6832 ../src/main-window.c:7841 #: ../src/main-window.c:7867 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: komandai %s vajdzeigs arguments\n" #: ../src/main-window.c:7236 ../src/main-window.c:7366 #: ../src/main-window.c:7470 ../src/main-window.c:7527 #: ../src/main-window.c:7578 ../src/main-window.c:7907 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: komandai %s vajdzeigi div argumenti\n" #: ../src/main-window.c:7264 ../src/main-window.c:7394 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: nakorekts uzdavums '%s'\n" #: ../src/main-window.c:7269 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: īskejs uzdavums %s viņ lasäț\n" #: ../src/main-window.c:7321 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: uzdavuma īpašeiba '%s' viņ lasäț\n" #: ../src/main-window.c:7338 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: nakorekta gaideišonys rynda '%s'\n" #: ../src/main-window.c:7356 ../src/main-window.c:7457 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: nakorekta uzdavuma īpašeiba '%s'\n" #: ../src/main-window.c:7513 ../src/main-window.c:7743 #: ../src/main-window.c:7764 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: nav taidys mapis '%s'\n" #: ../src/main-window.c:7520 ../src/main-window.c:7571 #: ../src/main-window.c:7606 ../src/main-window.c:7750 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: nakorekta uzdavuma %s opceja '%s'\n" #: ../src/main-window.c:7587 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: nav taida faila '%s'\n" #: ../src/main-window.c:7600 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "spacefm: uzdavumam %s vajdzeigs udev\n" #: ../src/main-window.c:7612 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "spacefm: uzdavumam %s vajdzeigs arguments TARGET\n" #. not a valid url #: ../src/main-window.c:7637 ../src/main-window.c:7660 #: ../src/main-window.c:7704 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "spacefm: nakorekts TARGET '%s'\n" #: ../src/main-window.c:7783 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: relativam ceļam '%s' vajdzeiga %s opceja --dir DIR\n" #: ../src/main-window.c:7807 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: uzdavumu tipam %s vajdzeigs arguments FILE\n" #: ../src/main-window.c:7832 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: nakorekts uzdavumu tips '%s'\n" #: ../src/main-window.c:7856 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: nakorekts tausteņa kods '%s'\n" #: ../src/main-window.c:7874 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "spacefm: apakšmenu '%s' nav atrosta\n" #: ../src/main-window.c:7886 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "spacefm: menu '%s' saturs atslāgts\n" #: ../src/main-window.c:7913 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm: nakorekts nūtykumu tips '%s'\n" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: nūtykumu apstrōdȧ nav atrosta\n" #: ../src/main-window.c:7950 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: nakorekts socket metodȧ '%s'\n" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Nūkluseits" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "Dorbgolda fonts" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "Pīmārs elementam 0123456789" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "Praseibys caurspeideigumam" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "Lai iz dorbgolda bȳtu caurspeidiegums jōdarbynoj specialys programmys, taidys kei compton ci xcompmgr.\n\nItys paziņōjums vaira natikș rōdeits." #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "Saglobōț lītōtōja root īstatiejumus" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "You will now be asked for your root password to save the root settings for this user to a file in /etc/spacefm/ Supplying the password in the next window is recommended. Because SpaceFM runs some commands as root via su, these settings are best protected by root." #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Īrokstit programmu ci bash komandu:\n\nLītōț:\n\t%%F\tatzeimeitūs failus ci %%f pyrmū atzeimeitū failu\n\t%%N\tatzeimeitūs failu nūsaukumus ci %%n pyrmō atzeimeitō faila nūsaukumu\n\t%%d\tmapi, kurymā atsarūnom\n\t%%v\tatzeimeitū īkōrtu (pīm. /dev/sda1)\n\t%%m\tīkōrtys monteišonys vītu (pīm. /media/dvd); %%l īkōrtys nūsaukums\n\t%%b\tatzeimeitōs grōmotzeimis\n\t%%t\tatzeimeitū uzdavumu mapi; %%p task pid\n\t%%a\tmenu īrokstu\n\t$fm_panel, $fm_tab, $fm_command, etc" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Īrokstit īdalis nūsaukumu:\n\nAi zeiimi (_) pyrms burta var nūrōdäț ka tys bȳș korstīs tausteņš." #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "Īrokstit jaunu īdalis nūsaukumu:\n\nAi zeiimi (_) pyrms burta var nūrōdäț ka tys bȳș korstīs tausteņš.\nTips: Lai vālōk samaineitu itū nūsaukumu ai pȧlis lobū klikški jōīslādz maineišonys režims." #: ../src/settings.c:149 msgid "Show Devices" msgstr "Rōdäț īkōrtys" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "Rōdäț grōmotzeimis" #: ../src/settings.c:151 msgid "Show Tree" msgstr "Rōdäț kūku" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Sātys mapȧ" #: ../src/settings.c:154 msgid "Up" msgstr "Iz augšu" #: ../src/settings.c:155 msgid "Back" msgstr "Atpakaļ" #: ../src/settings.c:156 msgid "Back History" msgstr "Atpakaļ pec viesturis" #: ../src/settings.c:157 msgid "Forward" msgstr "Iz prīšku" #: ../src/settings.c:158 msgid "Forward History" msgstr "Iz prīšku pec viesturis" #: ../src/settings.c:159 msgid "Refresh" msgstr "Atsvaidzynōț" #: ../src/settings.c:160 msgid "New Tab" msgstr "Jauns TABs" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Jauns TABs itȧ" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "Rōdäț slāptūs" #: ../src/settings.c:164 msgid "Large Icons" msgstr "Lelōs ikonys" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "izvieleitō tmp_dir nūsaukumā ir nakorekts simbols — atsagrīž vacīs /tmp" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "izvieleitō tmp_dir naeksistej — atsagrīž vacīs /tmp" #: ../src/settings.c:1019 ../src/settings.c:10759 msgid "Ignore _Hide Policy" msgstr "Naīvārōț _Hide Polic" #: ../src/settings.c:1026 ../src/settings.c:10842 msgid "Ignore _No Policy" msgstr "Naīvārōț _No Policy" #: ../src/settings.c:1036 ../src/settings.c:11447 msgid "_FAQ" msgstr "BUJ" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11591 #: ../src/settings.c:11611 msgid "_Stop" msgstr "Aturäț" #: ../src/settings.c:1058 ../src/settings.c:11624 msgid "Show _Manager" msgstr "Rōdäț _menedžeru" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11630 msgid "Auto-_Hide Manager" msgstr "Auto nūglobōšona" #: ../src/settings.c:1072 ../src/settings.c:11695 msgid "Err_ors" msgstr "Kļūdys" #: ../src/settings.c:1079 ../src/settings.c:11570 msgid "Current Re_main" msgstr "Atlicș" #: ../src/settings.c:1086 ../src/settings.c:11582 msgid "A_verage Remain" msgstr "Atlicș videji" #: ../src/settings.c:1093 ../src/settings.c:11520 msgid "_Folder" msgstr "Mapȧ" #: ../src/settings.c:1125 ../src/settings.c:11672 msgid "_Detailed Stats" msgstr "Seikōk" #: ../src/settings.c:1136 ../src/settings.c:10497 msgid "Remo_ve / Eject" msgstr "Izjimț" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11411 msgid "_Import" msgstr "_Imports" #: ../src/settings.c:1148 ../src/settings.c:11504 msgid "_Task Manager" msgstr "Uzdevumu menedžers" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11040 msgid "F_ilename" msgstr "Nūsaukums" #: ../src/settings.c:1152 ../src/settings.c:11051 msgid "Typ_e" msgstr "Tips" #: ../src/settings.c:1153 ../src/settings.c:11055 msgid "Ta_rget" msgstr "Iz kureini" #: ../src/settings.c:1154 ../src/settings.c:11059 msgid "Te_mplate" msgstr "Paraugs" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11158 msgid "Open _URL" msgstr "Attaisäț _URL" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# SpaceFM sesejis Fails\n\n# ITYS FAILS NAV DŪMŌTS REDIGEIŠONAI - tū var nūlsäț i PŌRRAKSTÄȚ\n\n# KA jiuș izdzāssit vysus seseju failus, SpaceFM will be reset to factory defaults.\n\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Kļūda saglobojūt failu" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "SpaceFM kļūda: navar saglobōț seseju failu ( %s )\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "\nAtlaseitōs īdalis '%s' kei apstrōdȧ\n" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "Kļūda nūlosūt lītōtōja root īstatiejumus nu /etc/spacefm/ Ai root tīseibys palaiztōs komandys var bȳț nadrūšys" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "Nav atrosti lītōtōja root īstatiejumi mapī /etc/spacefm/ Lai itys ziņōjums vaira jōnūrōda lītōtōja root redaktors. Sovaižōk, ai root tīseibys palaiztōs komandys var bȳț nadrūšys." #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Paleiga nav" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Itam spraudņam nav README faila" #: ../src/settings.c:4304 msgid "Create README" msgstr "Sataisäț README" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "Itai komandai nav README faila.\n\nSataisäț README?" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Taiseišana naizadȧvȧ" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "Kļūda faila README taiseišonā" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Kļūda kopejūt kamandys failus\n\n%s" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "Kopeišonys kļūda" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Kļūda kopejūt kamandys datu failus\n\n%s" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "Kļūda nūlosūt spraudņa failu %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "Īimporteitījā mapī nav apraudņa failu.\n\n(%s/)" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "Napareizs spraudnis" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "Atinstaläț spraudni '%s' ?\n\n( %s )" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "Atinstaläț spraudni" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "Dainstaläț spraudni" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "Saglobōț kei spraudni" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "Eksportäț spraudni" #: ../src/settings.c:5495 msgid "Export Error" msgstr "Eksporteišonys kļūda" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "Naizadȧvȧ sataisäț temp failus" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "Napareiza vīta '%s' grōmotzeimjai" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "Napareiza vīta grōmotzeimjai" #: ../src/settings.c:5659 msgid "Change Item Name" msgstr "Izmainäț nūsaukumu" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "Redaktors nav nūrōdeits" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Nūrōdit redaktoru sadalī Skots|Īstatiejumi|Papyldus" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "Root redaktors nav nūrōdeits" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Nūrōdit root redaktoru sadalī Skots|Īstatiejumi|Papyldus" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "Redigäț %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Rūkysgrōmota nav atrosta" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Rūkysgrōmota attaiseita ?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "( nav )" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Atcȧļț" #: ../src/settings.c:6703 msgid "Unset" msgstr "Nūjimț" #: ../src/settings.c:6716 msgid "Set" msgstr "Dalikț" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Dalikț tausteni" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8567 ../src/settings.c:9024 msgid "Set Icon" msgstr "Nūmainäț ikonu" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Redigäț komandu" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "Izavieläț izpyldamū failu" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Palaizț nu root" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Palaizț itū komandu nu lītōtōja:\n\n( tukšs deļ tānejō lītōtōja )" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "Jauna komanda" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Izavieläț mapi" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "(nav)" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "Jauns apakšmenu nūsaukums" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Jaun_s apakšmenu" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "Importäț GTG grōmotzeimis" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "( bez nūsaukuma )" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "Piļneigi izjimț apakšmenu '%s' i vysu, kas irā itymā apakšmenu?\n\nTikș dzāsti vysi ai apakšmenu saisteitī faili i īstatiejumi." #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "Piļneigi izjimț īdali '%s' ?\n\nTikș dzāsti vysi ai īdali saisteitī faili i īstatiejumi." #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "Apstyprynōț izjimšonu" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Jōizdzieš?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "Paziņōjums" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Īrokstit ziņu, kurei tikș rōdeita itymā dialoglūgā:\n\nZiņōț:\n\t\\n\tnewline\n\t\\t\ttab" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12109 msgid "Cu_t" msgstr "Izjimț" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11067 ../src/settings.c:12112 msgid "_Copy" msgstr "Kopäț" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12115 msgid "_Paste" msgstr "Īlikț" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2282 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1798 msgid "_Remove" msgstr "Izjimț" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "Eksportäț" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11336 ../src/settings.c:11936 msgid "_New" msgstr "Jau_ns" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10529 msgid "_Bookmark" msgstr "Grōmotzeimȧ" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "Progr_ama" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "Komanda" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Apakš_menu" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "Atdal_eitōjș" #: ../src/settings.c:8034 ../src/settings.c:11404 ../src/settings.c:11420 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "_GTK grōmotzeimis" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1805 msgid "_Add" msgstr "D_alikț" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "Padūmi" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "Korstīs tausteņš" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "R_edigäț skriptu" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "Re_digäț kei root" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "R_edigäț komandu" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10715 msgid "_Properties" msgstr "Ī_pašeibys" #: ../src/settings.c:8888 msgid "Choose Icon" msgstr "Izavieläț ikonu" #: ../src/settings.c:9013 msgid "_Edit" msgstr "R_edigäț" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9025 ../src/settings.c:11372 msgid "Set Window Icon" msgstr "Lūga ikona" #: ../src/settings.c:9027 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1730 msgid "C_hoose" msgstr "Izavieläț" #: ../src/settings.c:9046 ../src/settings.c:9234 ../src/settings.c:11988 msgid "_Default" msgstr "Nūkluseitō" #: ../src/settings.c:9094 msgid "Your input is invalid because it contains linefeeds" msgstr "Īraksteitīs nav korekts" #: ../src/settings.c:9237 msgid "_OK" msgstr "Labi" #: ../src/settings.c:9374 msgid "_Unset" msgstr "Nūjimț" #: ../src/settings.c:10501 ../src/settings.c:10553 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "Nūmoņtäț" #: ../src/settings.c:10505 msgid "Re_load" msgstr "Pōr_lōdäț" #: ../src/settings.c:10509 msgid "_Sync" msgstr "_Sinhronizäț" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10513 ../src/settings.c:11003 ../src/settings.c:11820 #: ../src/find-files.c:278 msgid "_Open" msgstr "Attaisäț" #: ../src/settings.c:10517 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "Attaisäț _TABā" #: ../src/settings.c:10521 ../src/settings.c:10548 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "_Moņtäț" #: ../src/settings.c:10525 msgid "Re_/mount" msgstr "Pōr_/moņtäț" #: ../src/settings.c:10542 ../src/settings.c:12299 msgid "_Root" msgstr "Nu _root" #: ../src/settings.c:10558 msgid "_Label" msgstr "Zeimȧ" #: ../src/settings.c:10608 msgid "_Check" msgstr "Pōrbaudäț" #: ../src/settings.c:10612 msgid "_Edit fstab" msgstr "R_edigäț fstab" #: ../src/settings.c:10616 msgid "Edit u_devil.conf" msgstr "Redigäț u_devil.conf" #: ../src/settings.c:10620 msgid "_Format" msgstr "_Formatäț" #: ../src/settings.c:10680 msgid "_Backup" msgstr "Sataisäț rezervis kopeji" #: ../src/settings.c:10702 msgid "_Restore" msgstr "Atjaunōț nu rezervis kopejis" #: ../src/settings.c:10707 msgid "_From File" msgstr "Nu _faila" #: ../src/settings.c:10712 ../src/settings.c:11122 msgid "File _Info" msgstr "_Info par failu" #: ../src/settings.c:10719 msgid "Setti_ngs" msgstr "Īstatiejumi" #. dev settings #: ../src/settings.c:10725 msgid "S_how" msgstr "Rōdäț" #: ../src/settings.c:10730 msgid "_Internal Drives" msgstr "D_iskus" #: ../src/settings.c:10735 msgid "_Empty Drives" msgstr "Tukšūs diskus" #: ../src/settings.c:10740 msgid "_Partition Tables" msgstr "Sadaļu tabulys" #: ../src/settings.c:10744 msgid "Mounted _Networks" msgstr "Pīmoņteitūs teikla resursus" #: ../src/settings.c:10749 msgid "Mounted _Other" msgstr "Cytus pīmoņteitūs" #: ../src/settings.c:10754 msgid "_Volumes..." msgstr "Disku sadalis" #: ../src/settings.c:10755 msgid "Show/Hide Volumes" msgstr "Rōdäț/narōdäț diska dalis" #: ../src/settings.c:10756 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10763 msgid "_Display Name" msgstr "Rō_däț nūsaukumu" #: ../src/settings.c:10765 msgid "Set Display Name Format" msgstr "Nūsaukuma rōdeišonys parametri" #: ../src/settings.c:10766 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10772 msgid "_Auto Mount" msgstr "_Automonteišona" #: ../src/settings.c:10777 msgid "Mount _Optical" msgstr "Moņtäț _optiskūs" #: ../src/settings.c:10782 msgid "_Mount Removable" msgstr "_Moņtäț izjemamūs" #: ../src/settings.c:10787 msgid "Open _Tab" msgstr "Attaisäț _TABu" #: ../src/settings.c:10792 msgid "_Unmount On Exit" msgstr "Atmoņtäț kod izīt" #: ../src/settings.c:10800 msgid "Auto _Run" msgstr "Autopalaizšona" #: ../src/settings.c:10806 msgid "On _Mount" msgstr "Monteišonys laikā" #: ../src/settings.c:10808 msgid "Auto Run On Mount" msgstr "Autopalaizšona kod montej" #: ../src/settings.c:10809 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10812 msgid "On _Audio CD" msgstr "_Audio CD" #: ../src/settings.c:10814 msgid "Auto Run On Audio CD" msgstr "Autopalaizšona deļ Audio CD" #: ../src/settings.c:10815 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10818 msgid "On _Video DVD" msgstr "_Video DVD" #: ../src/settings.c:10820 msgid "Auto Run On Video DVD" msgstr "Autopalaizšona deļ Video DVD" #: ../src/settings.c:10821 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10824 msgid "On _Insert" msgstr "Īlīkūt" #: ../src/settings.c:10826 msgid "Auto Run On Insert" msgstr "Autopalaizšona īlīkūt" #: ../src/settings.c:10827 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10830 msgid "On _Unmount" msgstr "Nūmoņtejūt" #: ../src/settings.c:10832 msgid "Auto Run On Unmount" msgstr "Autopalaizšona pec nūmonteišonys" #: ../src/settings.c:10833 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10836 msgid "On _Remove" msgstr "Izjemūt" #: ../src/settings.c:10838 msgid "Auto Run On Remove" msgstr "Autopalaizšona izjemūt" #: ../src/settings.c:10839 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10846 msgid "Mount _Volumes..." msgstr "Moņtäț sadalis..." #: ../src/settings.c:10847 msgid "Auto-Mount Volumes" msgstr "Autopalaizšona deļ sadaļu monteišonys" #: ../src/settings.c:10848 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10851 msgid "_Mount Options" msgstr "_Monteišonys opcejis" #: ../src/settings.c:10852 msgid "" "Enter your comma- or space-separated list of default mount options below (to be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "" #: ../src/settings.c:10854 msgid "Default Mount Options" msgstr "Nūkluseitōs monteišonys opcejis" #: ../src/settings.c:10862 msgid "Re/mount With Options" msgstr "Pōrmoņtät ai opcejom" #: ../src/settings.c:10863 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "" #: ../src/settings.c:10867 msgid "_Change Detection" msgstr "Izmainis monteišonā" #: ../src/settings.c:10868 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "" #: ../src/settings.c:10870 msgid "Change Detection Blacklist" msgstr "Izjāmumi izmaiņōs" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:10892 msgid "_Device Handlers" msgstr "Īkōrtys apstrō_dȧ" #: ../src/settings.c:10896 ../src/settings.c:12099 msgid "_Protocol Handlers" msgstr "_Protokola apstrōdȧ" #: ../src/settings.c:10913 ../src/settings.c:12456 ../src/settings.c:12468 msgid "_Icon" msgstr "_Ikona" #: ../src/settings.c:10918 msgid "Audio CD" msgstr "" #: ../src/settings.c:10924 msgid "Optical Mounted" msgstr "Optiskīs disks pīmonteits" #: ../src/settings.c:10929 msgid "Optical Has Media" msgstr "Optiskijā īkōrtā ir disks" #: ../src/settings.c:10934 msgid "Optical No Media" msgstr "Optiskijā īkōrtā nav diska" #: ../src/settings.c:10939 msgid "Floppy Mounted" msgstr "Disketȧ pīmonteita" #: ../src/settings.c:10944 msgid "Floppy Unmounted" msgstr "Disketȧ atmonteita" #: ../src/settings.c:10949 msgid "Removable Mounted" msgstr "Izjemamō īkōrta pīmonteita" #: ../src/settings.c:10954 msgid "Removable Unmounted" msgstr "Izjemamō īkōrta atmonteita" #: ../src/settings.c:10959 msgid "Internal Mounted" msgstr "Disks pīmonteits" #: ../src/settings.c:10964 msgid "Internal Unmounted" msgstr "Disks atmonteits" #: ../src/settings.c:10969 msgid "Mounted Network" msgstr "Teikla resurss pīmonteits" #: ../src/settings.c:10974 msgid "Mounted Other" msgstr "Cyts pīmonteits" #: ../src/settings.c:11007 msgid "_Settings" msgstr "Pōr_saukț" #: ../src/settings.c:11012 msgid "Bookmark _Icon" msgstr "Izj_imț" #: ../src/settings.c:11017 msgid "Sub_menu Icon" msgstr "Apakšmenu ikona" #: ../src/settings.c:11022 msgid "_Show Bookmarks" msgstr "Rōdäț grōmotzeimi_s" #: ../src/settings.c:11027 msgid "New _Bookmark" msgstr "Jauna grōmotzeimȧ" #. Rename/Move Dialog #: ../src/settings.c:11037 ../src/settings.c:12059 ../src/settings.c:12474 msgid "_Name" msgstr "_Nūsaukums" #: ../src/settings.c:11044 msgid "_Parent" msgstr "Augšejō ma_pȧ" #: ../src/settings.c:11047 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "Ceļš" #: ../src/settings.c:11063 msgid "_Option" msgstr "_Opceja" #: ../src/settings.c:11071 ../src/settings.c:11949 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "Nūrōdȧ" #: ../src/settings.c:11075 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "Kopäț iz" #: ../src/settings.c:11078 msgid "Lin_k Target" msgstr "Nūrōdȧ iz" #: ../src/settings.c:11081 msgid "_As Root" msgstr "Kei root" #: ../src/settings.c:11085 ../src/settings.c:11635 ../src/settings.c:11687 #: ../src/settings.c:11785 ../src/settings.c:11814 ../src/settings.c:12423 #: ../src/settings.c:12429 ../src/settings.c:12436 ../src/settings.c:12443 #: ../src/settings.c:12450 ../src/settings.c:12460 msgid "_Font" msgstr "_Fonts" #: ../src/settings.c:11088 msgid "Move Dialog Font" msgstr "Pōrlikšonys dialoga fonts" #: ../src/settings.c:11089 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11094 msgid "_Confirm Create" msgstr "Apstyprynōț sataiseišonu" #: ../src/settings.c:11102 msgid "Highlight _Bar" msgstr "Fona krōsa" #: ../src/settings.c:11103 msgid "Status Bar Highlight Color" msgstr "Statusa jūslys fona krōsa" #: ../src/settings.c:11107 msgid "Highlight _Text" msgstr "_Teksta krōsa" #: ../src/settings.c:11108 msgid "Status Bar Text Highlight Color" msgstr "Statusa jūslys teksta krōsa" #: ../src/settings.c:11112 msgid "_Middle Click" msgstr "Videjīs klikškis" #: ../src/settings.c:11116 ../src/settings.c:12139 msgid "Copy _Name" msgstr "Kopäț _nūsaukumu" #: ../src/settings.c:11119 ../src/settings.c:12142 msgid "Copy _Path" msgstr "Ko_päț ceļu" #: ../src/settings.c:11126 msgid "_Hide Panel" msgstr "Narōdäț paneli" #: ../src/settings.c:11142 msgid "New _Window" msgstr "Jauns lūgs" #: ../src/settings.c:11145 msgid "R_oot Window" msgstr "Jauns r_oot lūgs" #: ../src/settings.c:11148 msgid "_File Search" msgstr "Vaicōț _failus" #: ../src/settings.c:11151 msgid "_Terminal" msgstr "_Terminals" #. discovery notification #: ../src/settings.c:11154 msgid "_Root Terminal" msgstr "_Root terminals" #: ../src/settings.c:11161 msgid "Open URL" msgstr "Attaisäț URL" #: ../src/settings.c:11162 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11165 msgid "Save Ta_bs" msgstr "Saglobōț TA_Bus" #: ../src/settings.c:11169 msgid "E_xit" msgstr "Izīț" #: ../src/settings.c:11200 ../src/settings.c:11238 ../src/settings.c:11866 #: ../src/settings.c:12191 ../src/settings.c:12229 msgid "Panel _1" msgstr "Panelș _1" #: ../src/settings.c:11205 ../src/settings.c:11240 ../src/settings.c:11867 #: ../src/settings.c:12192 ../src/settings.c:12230 msgid "Panel _2" msgstr "Panelș _2" #: ../src/settings.c:11209 ../src/settings.c:11241 ../src/settings.c:11868 #: ../src/settings.c:12193 ../src/settings.c:12231 msgid "Panel _3" msgstr "Panelș _3" #: ../src/settings.c:11213 ../src/settings.c:11242 ../src/settings.c:11869 #: ../src/settings.c:12194 ../src/settings.c:12232 msgid "Panel _4" msgstr "Panelș _4" #: ../src/settings.c:11217 msgid "Panel _Bar" msgstr "Paneļu vadeiba" #: ../src/settings.c:11222 msgid "F_ocus" msgstr "F_okuss" #: ../src/settings.c:11228 ../src/settings.c:11847 ../src/settings.c:11864 #: ../src/settings.c:12015 ../src/settings.c:12172 ../src/settings.c:12189 #: ../src/settings.c:12210 ../src/settings.c:12227 msgid "_Prev" msgstr "_Pyrma" #: ../src/settings.c:11230 ../src/settings.c:11848 ../src/settings.c:11865 #: ../src/settings.c:12016 ../src/settings.c:12173 ../src/settings.c:12190 #: ../src/settings.c:12211 ../src/settings.c:12228 msgid "_Next" msgstr "Aiz" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11237 ../src/settings.c:12234 msgid "_Hide" msgstr "Narōdäț" #: ../src/settings.c:11244 msgid "_Event Manager" msgstr "Nūtykumu m_enedžers" #: ../src/settings.c:11250 msgid "_Instance" msgstr "Process" #: ../src/settings.c:11255 msgid "_Startup" msgstr "_Starteišona" #: ../src/settings.c:11257 msgid "Set Instance Startup Command" msgstr "Komanda starteišonys laikā" #: ../src/settings.c:11258 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kūpā ai SpaceFM:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_start)\n" #: ../src/settings.c:11261 msgid "_Exit" msgstr "Izīšona" #: ../src/settings.c:11263 msgid "Set Instance Exit Command" msgstr "Komanda izīšonys laikā" #: ../src/settings.c:11264 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod SpaceFM izslāgts:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_exit)\n" #: ../src/settings.c:11267 msgid "_Window" msgstr "Lūgs" #: ../src/settings.c:11272 msgctxt "View|Events|Window|" msgid "_New" msgstr "Jau_ns" #: ../src/settings.c:11274 msgid "Set New Window Command" msgstr "Komanda jauna lūga atsataiseišonys laikā" #: ../src/settings.c:11275 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș jauna SpaceFM lūga atsataiseišonys laikā:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_new)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā." #: ../src/settings.c:11278 ../src/settings.c:11313 ../src/settings.c:11342 msgid "_Focus" msgstr "_Fokuss" #: ../src/settings.c:11280 msgid "Set Window Focus Command" msgstr "Komanda, kod lūgs ir fokusā" #: ../src/settings.c:11281 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod SpaceFM lūgs ir fokusā:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_focus)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā." #: ../src/settings.c:11284 msgid "_Move/Resize" msgstr "Lūga izmāri i vīta" #: ../src/settings.c:11286 msgid "Set Window Move/Resize Command" msgstr "Komanda, kod mainōs lūga izmāri i vīta" #: ../src/settings.c:11287 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod mainōs lūga izmāri i vīta:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_move)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā.\nPīz. Komanda izapiļdäș kotru raizi, kod mainōs lūga izmāri i vīta ." #: ../src/settings.c:11290 msgid "_Click" msgstr "Klikškis" #: ../src/settings.c:11292 msgid "Set Click Command" msgstr "Pȧlis klikškȧ komanda" #: ../src/settings.c:11293 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș ai pȧlis klikški:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_click)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\t%%b\tpūga (nūspīta pȧlis pūga)\n\t%%m\tmodifikators (tausteņš)\n\t%%f\tfokuss (elements, iz kurō ir pȧlis kursors)\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā viņ tūraiz, ka pirms tīm nav simbola (*).\nSimbolu (*) var likț lai tiktu atgrīzta 0 nūkluseitijā apstrōdī. Pīmārs:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nVidejīs klikškis iz %%f\" --button ok &" #: ../src/settings.c:11296 msgid "_Keypress" msgstr "Tausteņš" #: ../src/settings.c:11298 msgid "Set Window Keypress Command" msgstr "Komanda, kod nūspīsts tausteņš" #: ../src/settings.c:11299 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș nūspīžūt tausteni:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_click)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\t%%b\tpūga (nūspīta pȧlis pūga)\n\t%%m\tmodifikators (tausteņš)\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā viņ tūraiz, ka pirms tīm nav simbola (*).\nSimbolu (*) var likț lai tiktu atgrīzta 0 nūkluseitijā apstrōdī. Pīmārs:\n*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nNūspīsts tausteņš F8.\" --button ok &" #: ../src/settings.c:11302 msgid "Cl_ose" msgstr "Aiztaiseišona" #: ../src/settings.c:11304 msgid "Set Window Close Command" msgstr "Komanda, kod lūgs aiztaiseits" #: ../src/settings.c:11305 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod SpaceFM lūgs aizataisa:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_click)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā." #: ../src/settings.c:11308 msgid "_Panel" msgstr "_Panelș" #: ../src/settings.c:11315 msgid "Set Panel Focus Command" msgstr "Komanda, kod fokuss ir iz paneļa" #: ../src/settings.c:11316 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod fokuss ir iz paneļa:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_click)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā." #: ../src/settings.c:11319 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "Rōdeišona" #: ../src/settings.c:11321 msgid "Set Panel Show Command" msgstr "Rōdeišonys komanda paneļam" #: ../src/settings.c:11322 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod keids paneļa elements teik rōdeits ci narōdeits:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_win_click)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\t%%f\tfokuss (elements teik rōdeits ci narōdaits)\n\t%%v\tradzams (1 ci 0)\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā." #: ../src/settings.c:11325 msgid "S_elect" msgstr "Atzeimeišona" #: ../src/settings.c:11327 msgid "Set Panel Select Command" msgstr "Atzeimeišonys komanda paneļam" #: ../src/settings.c:11328 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod keids panelī teik atzeimeits keids fails:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_pnl_sel)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā.\nSimbolu (*) var likț lai tiktu atgrīzta 0 nūkluseitijā apstrōdī." #: ../src/settings.c:11331 msgctxt "View|Events|" msgid "_Tab" msgstr "_TABs" #: ../src/settings.c:11338 msgid "Set New Tab Command" msgstr "Komanda jauna TABa atsataiseišonys laikā" #: ../src/settings.c:11339 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod atsataisa jauns TABs:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_tab_new)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā." #: ../src/settings.c:11344 msgid "Set Tab Focus Command" msgstr "Komanda, kod fokuss ir iz TABa" #: ../src/settings.c:11345 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod fokuss ir iz TABa\nLītōț:\n\t%%e\tnūtykuma tips (evt_tab_new)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\tTABs\n\nBash maineigī (pīm. $fm_pwd, i.c.) dorbōsīș itymā komandā." #: ../src/settings.c:11348 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "Aiztaisäț" #: ../src/settings.c:11350 msgid "Set Tab Close Command" msgstr "TABa aizataiseišonys komanda" #: ../src/settings.c:11351 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod TABs aizataisa\nLītōț:\n\t%%e\tnūtykuma tips (evt_tab_new)\n\t%%w\tlūga id (see spacefm -s help)\n\t%%p\tpanelș\n\t%%t\taiztaiseits TABs" #: ../src/settings.c:11354 msgid "_Device" msgstr "Īkōrtys" #: ../src/settings.c:11356 msgid "Set Device Command" msgstr "Komanda darbeibom ai īkōrtu" #: ../src/settings.c:11357 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "Īrokstit programu ci bash komandu, kurei pazalaizș kod mainōs īkōrtys statuss:\n\nLītōț:\n\t%%e\tnūtykuma tips (evt_device)\n\t%%f\tīkōrtys fails\n\t%%v\tmainȧ (dalykts|izjimts|maineits)\n" #: ../src/settings.c:11360 msgid "Wi_ndow Title" msgstr "Lūga nūsaukums" #: ../src/settings.c:11362 msgid "Set Window Title Format" msgstr "Lūga nūsaukuma formats" #: ../src/settings.c:11363 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Īrokstit kam jōbȳn lūga nūsaukumā:\n\nLītōț:\n\t%%n\tmapis nūsaukums, kurymā atsarūnom (pīm. bin)\n\t%%d\tceļš da mapis, kurymā atsarūnom (pīm. /usr/bin)\n\t%%p\tpaneļa numerș (1-4)\n\t%%t\tTABa numerș\n\t%%P\tradzamūs paneļu skaits\n\t%%T\tTABu skaits panelī\n\t*\tsimbols (*) paziņoj ka lūgā dorbojās uzdavums" #: ../src/settings.c:11367 msgid "_Window Icon" msgstr "Lūga ikona" #: ../src/settings.c:11373 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "Īrokstit ikonys nūsaukumu ci ceļu da ikonys:\n\nGodōs ka i pec vysim īrokstim ikonys napazarōda.\n\nAlternativōs SpaceFM ikonys:\n\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n\tspacefm-48-folder-[blue|red]\n\nPīmārs: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11376 msgid "_Fullscreen" msgstr "Iz vysa ekrana" #: ../src/settings.c:11379 msgid "_Design Mode" msgstr "Maineišonys režims" #: ../src/settings.c:11382 msgid "_Preferences" msgstr "Īstatiejumi" #: ../src/settings.c:11385 msgid "_Tool" msgstr "Reiki" #: ../src/settings.c:11391 msgid "_Thumbnails (global)" msgstr "Prīšksko_ts" #. Plugins #: ../src/settings.c:11395 msgid "_Install" msgstr "_instaläț" #: ../src/settings.c:11423 msgid "_Verbose" msgstr "Smolkōk" #: ../src/settings.c:11430 msgid "In_cluded" msgstr "Dalykts" #: ../src/settings.c:11444 msgid "_User's Manual" msgstr "Rūkysgrōmota" #: ../src/settings.c:11450 msgid "_Homepage" msgstr "Sātys lopa" #: ../src/settings.c:11453 msgid "SpaceFM _News" msgstr "SpaceFM zinis" #: ../src/settings.c:11456 msgid "_Get Plugins" msgstr "Dalikț spraudņus" #: ../src/settings.c:11459 msgid "_Options" msgstr "_Opcejis" #: ../src/settings.c:11464 msgid "_Browser" msgstr "Pōrlūks" #: ../src/settings.c:11466 msgid "Choose HTML Browser" msgstr "Atlosit HTML pōrlūku" #: ../src/settings.c:11467 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "Īrokstit pōrlūka nūsaukumu ci bash komandu, ai kū atsataisäș HTML faili i URL:\n\nLītōț:\n\t%%u\turl\n\n(Ka nikas nabȳș īraksteits, SpaceFM raudzäș atrsț patș)" #: ../src/settings.c:11470 msgid "_Manual Location" msgstr "Rūkysgrōmotys atsarasšonys vīta" #: ../src/settings.c:11472 msgid "Choose User's Manual Location" msgstr "Nūrōdit rūkysgrōmotys atsarasšonys vītu" #: ../src/settings.c:11473 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "Īrokstit ceļu da faila ci URL, kur varātu bȳț SpaceFM rūkysgrōmota:\n\n(Nikō naīraksteišona nūrōdäs iz nūkluseitū vītu)\n" #: ../src/settings.c:11476 msgid "_About" msgstr "P_ar" #: ../src/settings.c:11479 msgid "_Show Devices" msgstr "Rōdäț īkōrty_s" #: ../src/settings.c:11509 msgid "_Status" msgstr "_Statuss" #. column position #. column width #: ../src/settings.c:11515 msgid "_Count" msgstr "Numerș" #: ../src/settings.c:11526 msgid "_Item" msgstr "Elements" #: ../src/settings.c:11532 msgid "_To" msgstr "Iz" #: ../src/settings.c:11538 msgid "_Progress" msgstr "_Progress" #: ../src/settings.c:11545 msgid "T_otal" msgstr "Kūpā" #: ../src/settings.c:11552 msgid "Sta_rted" msgstr "Sta_rteits" #: ../src/settings.c:11557 msgid "_Elapsed" msgstr "Progōja" #: ../src/settings.c:11564 msgid "C_urrent Speed" msgstr "Ōtrums" #: ../src/settings.c:11576 msgid "_Average Speed" msgstr "Videjīs ōtrums" #: ../src/settings.c:11588 msgid "Reor_der" msgstr "Sortäț" #: ../src/settings.c:11594 ../src/settings.c:11614 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Apt_uräț" #: ../src/settings.c:11597 ../src/settings.c:11617 msgid "_Queue" msgstr "Rynda" #: ../src/settings.c:11600 ../src/settings.c:11620 msgid "_Resume" msgstr "Atsōkț" #: ../src/settings.c:11603 msgid "Sho_w Output" msgstr "Rōdäț izvadi" #: ../src/settings.c:11606 msgid "_All Tasks" msgstr "Vysi uzdavumi" #: ../src/settings.c:11638 msgid "Task Manager Font" msgstr "Uzdavumu menedžera fonts" #: ../src/settings.c:11639 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "kopejās File 1:15 65,2 М 30,2 M/sс" #: ../src/settings.c:11642 msgid "_Columns" msgstr "Kolonnys" #: ../src/settings.c:11647 msgid "_Popups" msgstr "_Paziņōjumi" #: ../src/settings.c:11652 msgid "Popup _All Tasks" msgstr "Vysim uzd_avumim" #: ../src/settings.c:11657 msgid "Stay On _Top" msgstr "Viersā" #: ../src/settings.c:11662 msgid "A_bove Others" msgstr "Pyrma" #: ../src/settings.c:11667 msgid "All _Workspaces" msgstr "Iz vysim dorbgoldym" #: ../src/settings.c:11677 msgid "_Overwrite Option" msgstr "Pōrraksteišonys opcejis" #: ../src/settings.c:11682 msgid "_Error Option" msgstr "Kļūdu opcejis" #: ../src/settings.c:11690 msgid "Task Popup Font (affects new tasks)" msgstr "Paziņōjumi fonts (dorbōsīs deļ jaunīm uzdavumim)" #: ../src/settings.c:11691 msgid "Example Output 0123456789" msgstr "Izvoda pīmārs 0123456789" #: ../src/settings.c:11700 msgid "Stop If _First" msgstr "Pōrtraukț pi pyrmōs kļūdys" #: ../src/settings.c:11705 msgid "Stop On _Any" msgstr "Pōrtraukț pi kļūdys" #: ../src/settings.c:11710 msgid "_Continue" msgstr "Turpynōț" #: ../src/settings.c:11715 msgid "Qu_eue" msgstr "Rynda" #: ../src/settings.c:11720 msgid "_Queue New Tasks" msgstr "Dalikț jaunū uzdavumu ryndā" #: ../src/settings.c:11725 msgid "_Smart Queue" msgstr "Gudrō rynda" #: ../src/settings.c:11730 msgid "_Pause On Error" msgstr "Apturäț pi kļūdys" #: ../src/settings.c:11740 msgid "Arrange _Icons" msgstr "Sortäț ikonys" #: ../src/settings.c:11745 msgid "By _Name" msgstr "Pec nūsaukuma" #: ../src/settings.c:11748 msgid "By _Type" msgstr "Pec tipa" #: ../src/settings.c:11751 msgid "By _Date" msgstr "Pec datuma" #: ../src/settings.c:11754 msgid "By _Size" msgstr "Pec izmāra" #: ../src/settings.c:11757 msgid "_Custom" msgstr "Pec cyta kō" #: ../src/settings.c:11760 ../src/settings.c:12071 msgid "_Ascending" msgstr "_Augūši" #: ../src/settings.c:11763 msgid "D_escending" msgstr "Dylstūši" #: ../src/settings.c:11766 msgid "Desktop _Settings" msgstr "Dorbgolda īstatiejumi" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11770 ../src/settings.c:12008 msgid "De_vices" msgstr "Īkōrtys" #: ../src/settings.c:11778 msgid "_Desktop Folder" msgstr "_Dorbgolda mapi" #: ../src/settings.c:11788 msgid "Editor Font" msgstr "Redaktora fonts" #: ../src/settings.c:11789 ../src/settings.c:11818 msgid "Example Input 0123456789" msgstr "Īvoda pīmārs 012345678" #: ../src/settings.c:11817 msgid "Input Font" msgstr "Īvoda fonts" #: ../src/settings.c:11824 msgid "E_xecute" msgstr "Palaizț" #: ../src/settings.c:11827 msgid "Edi_t" msgstr "Lobōț" #: ../src/settings.c:11830 msgid "Edit As _Root" msgstr "Lobōț nu root" #: ../src/settings.c:11833 msgid "_Choose..." msgstr "Izavieläț..." #: ../src/settings.c:11836 msgid "File _Handlers..." msgstr "Apstrōdȧ..." #: ../src/settings.c:11840 msgid "Open With _Default" msgstr "Attaiasäț ai nūkluseitū" #. virtual #: ../src/settings.c:11842 msgid "In _Tab" msgstr "TABā" #: ../src/settings.c:11846 msgid "N_ew" msgstr "Jaunā" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _1" msgstr "TABā _1" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _2" msgstr "TABā _2" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab _3" msgstr "TABā _3" #: ../src/settings.c:11852 ../src/settings.c:12022 ../src/settings.c:12177 #: ../src/settings.c:12215 msgid "Tab _4" msgstr "TABā _4" #: ../src/settings.c:11853 ../src/settings.c:12023 ../src/settings.c:12178 #: ../src/settings.c:12216 msgid "Tab _5" msgstr "TABā _5" #: ../src/settings.c:11854 ../src/settings.c:12024 ../src/settings.c:12179 #: ../src/settings.c:12217 msgid "Tab _6" msgstr "TABā _6" #: ../src/settings.c:11855 ../src/settings.c:12025 ../src/settings.c:12180 #: ../src/settings.c:12218 msgid "Tab _7" msgstr "TABā _7" #: ../src/settings.c:11856 ../src/settings.c:12026 ../src/settings.c:12181 #: ../src/settings.c:12219 msgid "Tab _8" msgstr "TABā _8" #: ../src/settings.c:11857 ../src/settings.c:12027 ../src/settings.c:12182 #: ../src/settings.c:12220 msgid "Tab _9" msgstr "TABā _9" #: ../src/settings.c:11858 ../src/settings.c:12028 ../src/settings.c:12183 #: ../src/settings.c:12221 msgid "Tab 1_0" msgstr "TABā 1_0" #: ../src/settings.c:11860 msgid "In _Panel" msgstr "panelī" #: ../src/settings.c:11871 ../src/settings.c:11898 msgid "_Extract" msgstr "Rozpakōț" #: ../src/settings.c:11875 ../src/settings.c:11903 msgid "Extract _To" msgstr "Rozpakōț iz" #: ../src/settings.c:11879 ../src/settings.c:11907 msgid "_List Contents" msgstr "Rōdäț saturu" #: ../src/settings.c:11889 msgid "_Archive Defaults" msgstr "Nūkluseitīs pakōtōjs" #: ../src/settings.c:11894 msgid "_Open With App" msgstr "Attaisäț ai" #: ../src/settings.c:11911 msgid "_Create Subfolder" msgstr "Sataisäț apakšmapi" #: ../src/settings.c:11916 msgid "_Write Access" msgstr "Atļauț raksteišonu" #: ../src/settings.c:11921 msgid "Archive _Handlers" msgstr "Arhivu apstrōdȧ" #: ../src/settings.c:11945 msgid "Fol_der" msgstr "Mapȧ" #: ../src/settings.c:11953 msgctxt "New|" msgid "_Bookmark" msgstr "Grōmotzeimȧ" #: ../src/settings.c:11957 msgid "_Archive" msgstr "_Arhivs" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11964 msgctxt "New|" msgid "_Tab" msgstr "_TABs" #: ../src/settings.c:11966 msgid "Tab _Here" msgstr "TABs itȧ" #: ../src/settings.c:11969 msgid "_Desktop Application" msgstr "Dorbgolda programa" #: ../src/settings.c:11975 msgid "_Go" msgstr "Īț iz" #: ../src/settings.c:11980 msgid "_Back" msgstr "Atpakaļ" #: ../src/settings.c:11982 msgid "_Forward" msgstr "Iz prīšku" #: ../src/settings.c:11984 msgid "_Up" msgstr "Iz augšu" #: ../src/settings.c:11986 msgid "_Home" msgstr "Sātys mapȧ" #: ../src/settings.c:11991 msgid "_Set Default" msgstr "Nūklu_seitīs" #: ../src/settings.c:11994 msgid "Re_al Path" msgstr "Eistīs ceļš" #: ../src/settings.c:11996 msgid "Fo_cus" msgstr "Fokuss" #: ../src/settings.c:12000 msgid "_Path Bar" msgstr "Ceļa īroksts" #: ../src/settings.c:12002 msgid "_File List" msgstr "_Failu saroksts" #: ../src/settings.c:12004 msgid "_Tree" msgstr "Kūks" #: ../src/settings.c:12011 msgctxt "Go|" msgid "_Tab" msgstr "Iz _TABu" #: ../src/settings.c:12017 msgid "_Close" msgstr "Aiztaisäț" #: ../src/settings.c:12034 msgid "Styl_e" msgstr "Stils" #: ../src/settings.c:12037 msgid "C_olumns" msgstr "Kolonnys" #: ../src/settings.c:12040 msgid "_Reorder" msgstr "Pō_rkōrtōț" #: ../src/settings.c:12042 msgid "_Rubberband Select" msgstr "Atlaseišona" #: ../src/settings.c:12055 msgid "_Sort" msgstr "_Sortäț" #. visible #. position #: ../src/settings.c:12061 ../src/settings.c:12479 msgid "_Size" msgstr "Izmār_s" #: ../src/settings.c:12063 ../src/settings.c:12486 msgid "_Type" msgstr "_Tips" #: ../src/settings.c:12065 ../src/settings.c:12492 msgid "_Permission" msgstr "Tīseibys" #: ../src/settings.c:12067 ../src/settings.c:12329 ../src/settings.c:12498 msgid "_Owner" msgstr "Īpašnīks" #: ../src/settings.c:12069 ../src/settings.c:12504 msgid "_Modified" msgstr "Iz_maineits" #: ../src/settings.c:12073 msgid "_Descending" msgstr "_Dylstūšīs" #: ../src/settings.c:12076 msgid "Nat_ural" msgstr "Nat_urals" #: ../src/settings.c:12078 msgid "_Case Sensitive" msgstr "Īvārōț burtu lelumu" #: ../src/settings.c:12080 msgid "Folders Fi_rst" msgstr "Mapis sōkumā" #: ../src/settings.c:12082 msgid "F_iles First" msgstr "Fa_ily sōkumā" #: ../src/settings.c:12084 msgid "Mi_xed" msgstr "Jauktīs" #: ../src/settings.c:12086 msgid "_Hidden First" msgstr "Slāptī faily sōkumā" #: ../src/settings.c:12088 msgid "Hidden _Last" msgstr "Slāptī faily beigōs" #: ../src/settings.c:12091 msgid "Re_fresh" msgstr "Atsvaidzynōț" #: ../src/settings.c:12094 msgid "Auto See_k" msgstr "Auto-vaicōšona" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12105 msgid "Path Bar _Help" msgstr "Īroksta ryndys paleigs" #: ../src/settings.c:12118 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "Pō_rsaukț" #: ../src/settings.c:12122 ../src/settings.c:12252 msgid "_Delete" msgstr "_Dzäsț" #: ../src/settings.c:12134 msgid "_Actions" msgstr "D_arbeiba" #: ../src/settings.c:12145 msgid "Copy Pa_rent" msgstr "Kopäț augšejū" #: ../src/settings.c:12148 msgid "Paste _Link" msgstr "Īlikț nūrōdi" #: ../src/settings.c:12151 msgid "Paste _Target" msgstr "Īlikț iz kureini" #: ../src/settings.c:12154 msgid "Paste _As" msgstr "Īlikț kei" #: ../src/settings.c:12160 ../src/settings.c:12250 msgid "_Copy To" msgstr "Kopäț iz" #: ../src/settings.c:12164 msgid "L_ocation" msgstr "Vīta" #: ../src/settings.c:12165 ../src/settings.c:12204 msgid "L_ast Location" msgstr "Pādejō vīta" #: ../src/settings.c:12168 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_TABu" #: ../src/settings.c:12185 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Paneli" #: ../src/settings.c:12199 msgid "_Move To" msgstr "Pōrlikț iz" #: ../src/settings.c:12203 msgid "_Location" msgstr "Vīta" #: ../src/settings.c:12206 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_TABu" #: ../src/settings.c:12223 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Paneli" #: ../src/settings.c:12236 msgid "_Select All" msgstr "Atla_säț vysu" #: ../src/settings.c:12239 msgid "_Unselect All" msgstr "Nījimț atlaseišon_u" #: ../src/settings.c:12241 msgid "_Invert Selection" msgstr "Apma_inäț atlaseišonu" #: ../src/settings.c:12243 msgid "S_elect By Pattern" msgstr "Atlasäț p_ec parauga" #: ../src/settings.c:12245 msgid "R_oot" msgstr "Nu r_oot" #: ../src/settings.c:12251 msgid "Move _To" msgstr "Pōrlikț iz" #. Properties #: ../src/settings.c:12256 msgid "Propert_ies" msgstr "Īpaše_ibys" #: ../src/settings.c:12267 msgid "_Quick" msgstr "_Dreiži" #: ../src/settings.c:12289 ../src/settings.c:12319 ../src/settings.c:12345 msgid "_Recursive" msgstr "_Rekursivi" #: ../src/settings.c:12367 msgid "_Toolbar" msgstr "Reikjūsla" #: ../src/settings.c:12379 msgid "T_ree" msgstr "Kūks" #: ../src/settings.c:12391 msgid "_Side Toolbar" msgstr "_Sōnejō reikjūsla" #: ../src/settings.c:12397 msgid "_Detailed" msgstr "_Detalis" #: ../src/settings.c:12403 msgid "_Icons" msgstr "_Ikonys" #: ../src/settings.c:12408 msgid "_Compact" msgstr "Pamata" #: ../src/settings.c:12413 msgid "_Large Icons" msgstr "Lelys ikonys" #: ../src/settings.c:12418 msgid "_Hidden Files" msgstr "Slāptī faily" #: ../src/settings.c:12426 #, c-format msgid "File List Font (Panel %d)" msgstr "Failu saroksta fonts (Panelș %d)" #: ../src/settings.c:12427 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Pīmārs 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12432 #, c-format msgid "Devices Font (Panel %d)" msgstr "Īkōrtu fonts (Panelș %d)" #: ../src/settings.c:12433 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [nav diska] :PĪMĀRS" #: ../src/settings.c:12439 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Grōmotzeimju fonts (Panelș %d)" #: ../src/settings.c:12440 msgid "Example Bookmark Name" msgstr "Pīmārs grōmotzeimis nūsaukumam" #: ../src/settings.c:12446 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Ceļa īraksteišonys fonts (Panelș %d)" #: ../src/settings.c:12447 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12453 #, c-format msgid "Tab Font (Panel %d)" msgstr "TABu fonts (Panelș %d)" #: ../src/settings.c:12463 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Statusa jūslys fonts (Panelș %d)" #: ../src/settings.c:12464 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12516 msgid "Follow _Dir" msgstr "Atsaceräț mapi" #. speed #: ../src/settings.c:12525 ../src/settings.c:12534 msgid "_New Tab" msgstr "Jauns TABs" #: ../src/settings.c:12529 ../src/settings.c:12539 msgid "_Single Click" msgstr "Klikškis" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "Taidys mapis nav\n\n%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "Navar attaisäț %s\n\n%s" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Atlasäț pec šablona" #: ../src/ptk/ptk-file-browser.c:3017 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "Īrokstit šablonu, pec kura tikș atlaseiti faily i mapis:\n\nAtlosūt tikș īvārots burtu lelums, ka šablonā bȳș lelȳ burti.\n\nPīmārs: *sp*e?m*\n\nPadūms: Var rakstäț šablonu '%% PATTERN' ryndā, kur rokstōs ceļš." #: ../src/ptk/ptk-file-browser.c:5600 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3266 msgid "Choose Location" msgstr "Izavielejit vītu" #: ../src/ptk/ptk-file-browser.c:5633 ../src/ptk/ptk-file-browser.c:5667 #: ../src/desktop/desktop-window.c:3299 ../src/desktop/desktop-window.c:3330 msgid "Invalid Destination" msgstr "Napareizs ceļš nu kureinis" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3300 msgid "Destination same as source" msgstr "Celi nu kureinis i iz kureini sakreit" #: ../src/ptk/ptk-file-browser.c:5668 ../src/desktop/desktop-window.c:3331 msgid "Invalid destination" msgstr "Napareizs ceļš nu kureinis" #: ../src/ptk/ptk-file-browser.c:5675 msgid "Hide File" msgstr "Narōdäț failu" #: ../src/ptk/ptk-file-browser.c:5677 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "Atlaseitūs faily nūsaukumi tikș daraksteiti failā '.hidden', kas satur naradzamūs deļ SpaceFM failu nūsaukumus. Vajag atsvaidzynōț SpaceFM ci restartäț tū lai īraudzātu failus.\n\nLai radzäț failus var teksta redaktorā attaisäț failu .hidden i poddzäsț tūs failu nūsaukumus, kuri jōraḑz; jōatsvaidzynoj SpaceFM." #: ../src/ptk/ptk-file-browser.c:5692 msgid "Error hiding files" msgstr "Kļūda faila sliepšonā" #: ../src/ptk/ptk-file-browser.c:5700 msgid "No files are selected" msgstr "Faily nav atlaseiti" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Nasaīt pīmontäț īkōrtu" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Nasaīt nūmontäț īkōrtu" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Nasaīt izstumț īkōrtu" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "udev nav sakonfigureits" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Teikla resursu monteišonai vajdzeigs udev, t.i., (--disable-hal) kompilejūt SpaceFM." #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "napareizs URL" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "Īraksteitīs URL napareizs." #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "Apstrōdȧ nav atrosta" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "Apstrōdȧ deļ itō URL nav sakonfigureita, a ci nav monteišonys komandys. Jōdalīk apstrōdȧ Īkōrtys|Īstatiejumi|Protokala apstrōdȧ." #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "Attaisäț URL %s" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "pīmontäț" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "nūmontäț" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "Apstrōdȧ deļ itōs īkōrtys nav sakonfigureita, a ci nav %s komandys. Jōdalīk apstrōdȧ Īkōrtys|Īstatiejumi|Protokala apstrōdȧ." #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "Montäț %s" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "%s ir pīmonteita. Pyrms failu sistemys pōrbaudeišonys ir jōnūmontej." #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "Īkōrta pīmonteita" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Īrokstit failu sistemys pōrbaudeišonys kommandu:\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\nBREIDYNŌJUMS Itei komanda tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "Pōrbaudäț nu root" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "PŌRBAUDÄȚ NU ROOT" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "Pōrbaudäț %s nu root" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Īrokstit monteišonys komandu:\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\t%%%%o\tmonteišonys opcejis\n\t\t( %s )\n\nPīzeimȧ: fstab pōrroksta opcejis\n\nBREIDYNŌJUMS Itei komanda tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "Montäț nu root" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "MOŅTÄȚ NU ROOT" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "Montäț %s nu root" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Īrokstit nūmonteišonys komandu:\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\nBREIDYNŌJUMS Itei komanda tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "Nūmontäț nu root" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "NŪMOŅTÄȚ NU ROOT" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "Nūmontäț %s nu root" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "\n\nBREIDYNŌJUMS: %s pīmonteits. Pyrms pōrsauksōnys tys bȳtu jōnūmontej." #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "Īrokstit sadalis nūsaukumu %s:%s" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "Pōrsaukț sadali" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Īrokstit komandu sadalis nusaukuma dziešonai deļ failu sistemys '%s':\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\t%%%%l\tjauns nūsaukums ( \"%s\" )\n\nBREIDYNŌJUMS Komanda deļ %s tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Īrokstit komandu sadalis nusaukuma maineišonai deļ failu sistemys '%s':\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\t%%%%l\tjauns nūsaukums ( \"%s\" )\n\nBREIDYNŌJUMS Komanda deļ %s tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "Nūmainäț nūsaukumu nu root" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "NŪSAUKUMS NU ROOT" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "Nūsaukums deļ %s nu root" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "Nūmontäț %s" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "Izjimț %s" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "Pōrmontäț %s" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "Pōrkrauț %s" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "Sinhronizäț" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "%s ir nūmonteits. Pyrms formateišonys tys jōpīmoontej." #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr " ( VYSAI ĪKŌRTAI )" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Jiuș taisotäș dzäsț %s %s- IZADZÄȘ VYSI DATI. Esit pacīteigs - komanda dd narōda darbeibys procesu.\n\nĪrokstit komandu pōrraksteišonai ai datim nu īkōrtys /dev/%s:\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\nBREIDYNŌJUMS Komanda tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Jiuș taisotäș formatäț %s %s- IZADZÄȘ VYSI DATI.\n\nĪrokstit komandu %s formateišonai:\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\nBREIDYNŌJUMS Komanda tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "Formatäț" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "BREIDYNŌJUMS PAR DATU DZIESŠONU" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "Formatäț %s" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s ir pīmonteits. Pyrms atjaunōšonys tys ir jōnūmontej." #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "Izevielejit rezervie kopeji, nu kurōs jōatjaunoj" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "Jiuș taisotäș pōrrakstäț MBR boot code īkōrtai %s lītojūt %s.\n\nItōs izmainis var samaitōț sistemys īzalōdeisōnu. Vysum svareigūm datus nu itōs īkōrtys vajdzātu saglobōț rezervis kopejī.\n\nApstyprynōț? (Ka nūspīssit Da, Jiusim bȳș väļ vīna īspieja atsasacät diska modificeišonys.)" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "Atjaunōț MBR" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "Nazynoms tips" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "Atlaseitīs fails nav rezervis kopeja.\n\nFSArchiver failu nūsaukumā ir 'fsarchiver' ci tī beidzās ai '.fsa'. Partimage failu nūsaukumā ir 'partimage' ci tī beidzās ai '.000'. MBR failu nūsaukums beidzās ai '.mbr', '.mbr.bin', ci '-MBR-back' i tūs izmars ir 512 baiti. Ka asot pōrlīcynōti par rezervis kopejis faila pareizeibu, tys ir jōpōrsauc." #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Tikș atjaunōts %s %slītojūt %s - IZADZÄȘ VYSI DATI.\n\nĪrokstit %s atjaunōšonys komandu:\n\nLītōț:\n\t%%%%v\tīkōrtys fails ( %s )\n\t%%%%s\trezervis kopejis fails ( %s )\n\nBREIDYNŌJUMS Komanda tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "Atjaunōț" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "%s Atjaunōț %s" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "Mapis nav" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "Mapȧ /etc/udevil nav atrosta. Programa udevil instaleita?" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "Izavielejit rezervis kopeji deļ informacejis" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "MBR fails" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "Sprīžūt pec nūsaukuma atlaseitīs fails ir MBR rezervis kopeja. Cytys informacejis par itū rezervis kopejis tipu nav." #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "Atjaunōț informaceji" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "\n\nBREIDYNŌJUMS: %s ir pīmonteits Pec nūklusiejuma FSArchiver taisa rezervis kopeji viņ laseišonys režimā pīmonteitōm īkōrtom. Lai sataiseitu rezervis kopeji i raksteišonys režimā, komandai jōdaroksta atslāga --allow-rw-mounted." #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "%s ir pīmonteits. Pyrms rezervis kopeišonys ai Partimage tys ir jōnūmontej." #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "Saglobōț rezrvis kopeji %s" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "Pōrrakstäț?" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "Taida rezervis kopeja jau ir. Pōrrakstäț?" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Īrokstit %s rezervis kopeišonys kommandu:\n\nLītōț:\n\t%%%%v\tīkōrtys fauils ( %s )\n\t%%%%s\trezervis kopejis fails ( %s )%s\n\nBREIDYNŌJUMS Komanda tikș izpiļdeita nu root" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "Rezervis kopeja" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "%s rezervis kopeja %s" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "%s īpašeibys" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sAtlaseitō īkōrta: %s\nĪkōrtys nūsaukums: %s\nĪkōrtys ID: %s" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "Izjimț" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Aiztaisäț nu cyta" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "Rynda" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Turpynäț" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Apturäț nu cyta" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Turpynäț nu cyta" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Pōrlikț: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopäț: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Iz karzini:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Dzäsț: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Nūrōdȧ: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Izmainäț:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Palaizț:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Pōrzavalk..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopejās..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Syutōs iz karzini..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Dziešās..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Nūrōdȧ taisōs..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Izamaina..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Dorbojās..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Nu:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Iz:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Statuss: " #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pītureits" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "Ryndā" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Pōrprasäț" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Pōrrakstäț vysu" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Izlaisț vysu" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Auto-pōrsaukšona" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Apturäț pi pyrmōs kļūdys" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Apturäț pi sȧvkurys kļūdys" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Turpynōț" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Aptureits" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Kļūdys" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Pabeigts" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s atlyka" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Kļūda ( apturäț pi pyrmōs )" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Kļūda ( apturäț pi sȧvkurys )" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Aptureits pi %d kļūdys" msgstr[1] "Aptureits pi %d kļūdom" msgstr[2] "Aptureits pi %d kļūdom" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Pabeigts ai %d kļūdu" msgstr[1] "Pabeigts ai %d kļūdom" msgstr[2] "Pabeigts ai %d kļūdom" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Pabeigts ai kļūdu ( statusa kods %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Pabeigts ai kļūdu" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Aptureits ( pid %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Aptureits ( statusa kods %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "Ryndā ( pid %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "Ryndā ( statusa kods %d )" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Dorbojās ai %d kļūdu" msgstr[1] "Dorbojās ai %d kļūdom" msgstr[2] "Dorbojās ai %d kļūdom" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Dorbojās... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Dorbojās... ( statusa kods %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "apzaturā" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[ SNIP - cytys kļūdys izjimtys nu itō saroksta ]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Pōrzalīk nu mapis:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Taisōs nūrōdȧ iz mapi:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Kopejās iz mapi:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Taida mapȧ ir" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Taida mapȧ jau ir. Jōīroksta cyts mapis nūsaukums ci cyta darbeiba." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( nūrōdȧ )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! samainäț failu iz nūrōdi !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( tyspaț izmārs )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu baiti )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "lelōks" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "mozōks" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( tyspaț laiks )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "jaunōks" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "vacōks" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Faila nūsaukums jau ir" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "Taids fails jau ir. Jōīroksta cyts faila nūsaukums ci cyta darbeiba" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Vajdzeiga pōrsaukšona" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "Mapī:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "Pōrrakstäț" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Pōrrakstäț vysus" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pīturäț" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "Izlai_sț" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "Izlaisț vysus" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Iz mapi:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Mapis nūsaukums:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "Pō_rsaukț" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "_Auto-pōrsaukšona" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Auto-pōrsaukšona deļ vysim" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "Kļūda īlōdejūt apstrōdi" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "Sataisäț arhivu" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "Konf_iguräț" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "Saspīšonys komandys:" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "Arhivu apstrōdȧ - sataisäț arhivu" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "Nav sakonfigureita arhivu apstrōdȧ. Pyrms arhiva taiseišonys jōnūrōda ai kū tūs apstrōdōț." #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "_Arhiva formats:" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "Arhiva taiseišonys komandys vītā ir tukšums. Īrokstit komandu." #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "Arhiva taiseišonys komandai jōnūrōda maineigī:\n\nVīnu nu zemļōk saraksteitōm:\n\n%%%%n: Pyrmīs atlaseitīs fails/mapȧ iz arhivu\n%%%%N: Vysi atlaseitī faily/mapis iz arhivu\n\ni väļ vīnu nu zemļōk saraksteitōm:\n\n%%%%o: Vīns arhivs\n%%%%O: Arhivs kotram failam/mapȧi (izaver %%%%n/%%%%N)\n" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "Kļūda saglobojūt apstrōdi" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "Arhivs" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "Atpakōț" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "Sataisäț apakšmapi(s)" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "Atļauț lītōtōjam mainäț saturu" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "Arhiva apstrōdȧ/komanda nav atrosta:" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2307 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "kopeja" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "Atpakōț %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nIzdareits!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Komanda:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Failu sistema" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "( nav apakšmapis )" #: ../src/ptk/ptk-file-menu.c:1862 msgid "Remove Text Type Association" msgstr "Nūjimț teksta faila tipa atpazeižonu" #: ../src/ptk/ptk-file-menu.c:1862 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "PĪZEIMȦ: SpaceFM deļ attaiseišonys menu teksta failym pgogramys jem nu saisteitīm MIME tipim (pīm. text/html) i nu programom, kurys saisteitys ai tipu text/plain. Ka jiuș izjemot ai text/html saisteitū programu, ai tipu text/plain saisteitōs programys taipaț palīk.Deļ tō, var gadätīs, ka izjemūt keidu programu tei palīk, cikam natikș izjimta ai tipu text/plain saisteitō prgrama" #: ../src/ptk/ptk-file-menu.c:1878 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1881 msgid "Copy Desktop File" msgstr "Kopäț dorbgolda dailu" #: ../src/ptk/ptk-file-menu.c:1979 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1981 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1984 msgid "Create New XML" msgstr "Jauns XML fails" #. Set Default #: ../src/ptk/ptk-file-menu.c:2276 msgid "_Set As Default" msgstr "Pec nūklu_siejuma" #. Add #: ../src/ptk/ptk-file-menu.c:2286 msgid "_Add..." msgstr "D_alikț..." #: ../src/ptk/ptk-file-menu.c:2349 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "jauns" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Dzäsț %d atlaseitū objektu?" msgstr[1] "Dzäsț %d atlaseitūs objektus?" msgstr[2] "Dzäsț %d atlaseitūs objektus?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Apstyprȳnōț" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "Ceļš: исходный" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Nūsaukums: sōkuma" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "_Faila nūsaukums: sōkuma" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "Augšejō ma_pȧ: sōkuma" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "Ceļš: ir taida mapȧ" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Nūsaukums: ir taida mapȧ" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "_Faila nūsaukums: ir taida mapȧ" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "Augšejō ma_pȧ:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "Ceļš: ir taids fails" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Nūsaukums: ir taids fails" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "_Faila nūsaukums: ir taids fails" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "Ceļš: * pōrrakstäț asūšū failu" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Nūsaukums: * pōrrakstäț asūšū failu" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "_Faila nūsaukums: * pōrrakstäț asūšū failu" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "Ceļš: augšejō mapȧ ir kei fails" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "_Nūsaukums:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "_Faila nūsaukums:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "Augšejō ma_pȧ: augšejō mapȧ ir kei fails" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "Ceļš: * sataisäț augšejū mapi" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "Augšejō ma_pȧ: * sataisäț augšejū mapi<" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "Ceļš:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "Pōrnȧsț" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Deļ kō nūrōdȧ" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Šablona fails" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Šablonu mapȧ" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Värtīs" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Faila nūsaukums" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "Augšejō mapȧ" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Īlikț kei" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "Sataisäț" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Sataisäț jaunu" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "failu" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "mapi" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "nūrōdi" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Pōrnäsț" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "K_opäț" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Kopäț" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Sataisäț nūrōdi deļ" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "nūrōda iz" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "iz kō" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr " Nu root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Nūrōdȧ" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "Nu faila" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "Opcej_is" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Atgrīzț" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "i attaisäț" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Nūrōdȧ-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Nūrōdȧ-> %s (naeksistej)" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "Nūrōdȧ:" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "Šablons:" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Tukšs fails" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Tukša mapȧ" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "Paplašynōjums:" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "Pōrnȧsț" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "Kopäț" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "Nūrōdȧ" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "Iz kō nūrōdȧ" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "Nu root" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "ails" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "mapȧ" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "nūrōdȧ" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "Jauns" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "Caļa pīrokstā ir tukšumi" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "Sataisäț augšejū mapi" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "Nav augšejōs mapis. Sataisäț?" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Kļūda augšejōs mapis taiseišonā\n\n%s" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "Kļūda mapis taiseišonā" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "Pōrrakstäț asūšu failu" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "BREIDYNŌJUMS PAR PŌRRAKSTEIŠONU" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "Fails nūrōdeitijā ceļā jau ir. Pōrrakstäț?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "Sataisäț nūrōdi%s" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "Šablona nav" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "Nūrōdeitīs šablons naeksistej" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "Sataisäț jaunu failu%s" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "Sataisäț jaunu mapi%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "Kopäț%s" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "Kļūda kopeišonā" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "Kļūda nūrōdī" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "Ошибка цели ссылки" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "Pōrlikț%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "Kļūda faila pōrsaukšonā\n\n%s" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Kļūda pōrsaukšonā" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Jauna mapȧ" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "Mapis nūsaukums:" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Jauns fails" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "Jauns faila nūsaukums:" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "Tauds nūsaukums jau ir.\n\nĪrokstit cytu:" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "Naizadȧvȧ sataisäț jaunu failu" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "Nūrōdī īraksteitōs vītys nav ci nav tīseibu tū värtīs:\n%s\n\nTarget: %s" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "Napareiza nūrōdȧ" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Dzäsț %d atlaseitū objektu nu root?" msgstr[1] "Dzäsț %d atlaseitūs objektus nu root?" msgstr[2] "Dzäsț %d atlaseitūs objektus nu root?" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "Apstyprynojit dziešonu nu root" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "DZÄSȚ NU ROOT" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "Dzäsț nu root" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "Pōrlikț nu root" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "Kopäț nu root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu baiti )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d mapȧ" msgstr[1] "%d mapis" msgstr[2] "%d mapis" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d fails, %s" msgstr[1] "%d faily, %s" msgstr[2] "%d faily, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d fails" msgstr[1] "%d faily" msgstr[2] "%d faily" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( nazcik failu )" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "( nazcik tipu )" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "Izavieläț..." #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "Mapis _nūsaukums:" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu baiti )" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 fails" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "Nūrōdis nūsaukums:" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "( napareiza nūrōdȧ )" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "( kļūda nūlosūt nūrōdi )" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Riekinōšona..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "Izmainäț faila datumu" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Napareizs lītōtōjs" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Napareiza grupa" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "Ceļa raksteišonys ryndā var bȳț naviņ ceļš da faila, a i komanda. Prīškā var likț:\n\t$\tpalaizț kei uzdavumu\n\t&\tpalaizț i aizmiersț\n\t+\ttpalaizț terminalā\n\t!\ttpalaizț nu root\nUse:\n\t%%F\tatlaseitūs failus ci %%f pyrmū nu atlaseitīm failym\n\t%%N\tatlaseitūs failu nūsaukumus ci %%n pyrmū nu atlaseitīm failu nūsaukumim\n\t%%d\tmapi, kurijā atsarūnom\n\t%%v\tatlaseitū īkōrtu (pīm. /dev/sda1)\n\t%%m\tīkōrtys monteišonys vīta (pīm. /media/dvd); %%l īkōrtys nūsaukums\n\t%%b\tatlaseitū grōmotzeimi\n\t%%t\tatlaseitū uzdavuma mapi; %%p uzdavuma pid\n\t%%a\tmenu sadali\n\t$fm_panel, $fm_tab, $fm_command, etc\n\nPīmārs: $ echo \"Current Directory: %%d\"\nPīmārs: +! umount %%v" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "Arhivu apstrōdȧ" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "Īkōrtu apstrōdȧ" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "Protokolu apstrōdȧ" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "Failu apstrōdȧ" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "Arhivu apstrōdȧ" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "Īkōrtu apstrōdȧ" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "Protokolu apstrōdȧ" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "Failu apstrōdȧ" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "Kļūda: naizadȧvȧ īlōdäț komandu (īkšdejō kļūda)" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "Kļūda: naizadȧvȧ saglobōț komandu (mož napareizs ceļš da skripta?)" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "Faila laseišonys kļūda" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "Kļūda: naizadȧvȧ saglobōț komandu (īkšdejō kļūda)" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "Faila raksteišonys kļūda" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "(īsaceits)" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "(atslāgts)" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "Nūjimț itū apstrōdi" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "Apstyprynōț" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "Pōrmainäț itū apstrōdi" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "Nūkluseitō apstrōdȧ" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "Īrokstit apstrōdis nūsaukumu" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "Īrokstit MIME tipu ci ceļu." #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "Vyss nūkluseitīs" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "Nūkluseitīs" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "_Dalikț" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "Apst_yprynōț" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "Iz augšu" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "Iz ļaji" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "Attaisäț ai nūkluseitū" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "Nūkluseitō apstrōdȧ" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "_Nūsaukums:" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "MIM_E tips" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "Boltīs saroksts:" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "Ceļš:" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "M_alnīs saroksts" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "_Ikona:" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "Saspīsț:" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "Attaisäț ai:" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "Pī_montäț:" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "Izviļkț:" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "Nūmontäț:" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "_Saroksts:" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "Īpašeiby_s:" #: ../src/ptk/ptk-handler.c:2873 ../src/ptk/ptk-handler.c:2877 #: ../src/ptk/ptk-handler.c:2879 ../src/item-prop.c:2151 msgid "Run In Terminal" msgstr "Palaizț terminalā" #: ../src/ptk/ptk-handler.c:2876 ../src/item-prop.c:2131 msgid "Run As Task" msgstr "Palaizț kei uzdavumu" #: ../src/ptk/ptk-handler.c:2895 ../src/ptk/ptk-handler.c:2901 #: ../src/ptk/ptk-handler.c:2907 msgid "Edit" msgstr "Lobōț" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Izaveilejit programu:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "MIME tipam ir sova apstrōdȧ" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "Pīzeimȧ: MIME tips '%s' tān atsataisäs ai arhivu apstrōdi '%s', a na ai pīsaisteitū MIME programu.\n\nLai fails atsataiseitu ai pīsaisteitū MIME programu, vajag atslägt apstrōdi. Tū var izdaräț menu Attaisäț|Arhivs... deļ itō faila tipa ci menu Nūkluseits|Attaisäț ai" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Komanda nav atrosta" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Vīta iz kureini «%1$s» sakreit ai vītu nu kureinis «%2$s»" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "Tīseibu pīškieršona" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Izjimšona" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Mapis taiseišona" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Nūrōdis taiseišona" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Raksteišona" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Taiseišona" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Pōrsaukšona" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "Lai palelynōtu drūšeibu nu root jōdainstalej komanda sha256sum\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Jōnūkonfigurej Terminal SU komandu, jōīt iz menu Skots|Īstatiejumi|Papyldus" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminal SU komanda nav nūkonfigureita" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "Jōnūkonfigurej Graphical SU komandu, jōīt iz menu Skots|Īstatiejumi|Papyldus" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Graphical SU komanda nav nūkonfigureita" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Navar sataisäț pagaidu mapi" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Jōnūkonfigurej terminal komandu, jōīt iz menu Skots|Īstatiejumi|Papyldus" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "spacefm-auth naatsarūn nūkluseitijā vītā - tys samozynoj drūšeibu" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "'%s' palaizšonys kļūda\nIzvadȧ, palaižūt spacefm terminalā, parōdäș seikōku informaceji" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "Raksteišonys kļūda pagaidu failā" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "Cīž ilgi nūteik izmāra riekinōšona\n" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nKļūda: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s sadaļa" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "disketȧ" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Ōrejīs %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM disks" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Tukšs CD-R disks" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R disks" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Tukšs CD-RW disks" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW disks" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM disks" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Tukšs DVD-RAM disks" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM disks" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Tukšs DVD-R disks" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R disks" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tukšs DVD-RW disks" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW disks" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tukšs DVD+R disks" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R disks" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tukšs DVD+RW disks" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW disks" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio disks" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s izjemamīs disks" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Sadaļa" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Navar dazaslägt pi HAL demona: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Īkōrta '%s' nav ni sadaļa ni disks" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Īkōrta \"%s\" nav atrosta failu sistemu tabulā" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Nav tīseibu sadalis \"%s\" pīmonteišonai" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Nav tīseibu sadalis \"%s\" nūmonteišonai" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Nav tīseibu datu nesieja '%s' izjimšonai" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Napareiza sadalis '%s' monteišonys opceja" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Iz sadalis \"%s\" ir failu sistema %s, kurū nasaprūt jiusu sistema" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Programa naļaun nūmontäț sadali '%s'" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Sadaļa '%s' nav pīmonteita" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Kļūda %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Sadaļa '%s' vysdreižōk beja pīmonteita nu komandryndys" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Tukšū disku navar pīmontäț, jōīroksta keidi dati ai CD raksteišonys programu" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "Audio CD navar pīmontäț, tū var klausätīs ai specialū programu" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr ":disketȧ" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr ":optiskīs" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "[tukšs]" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "[audio]" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "[nav diska]" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "Izvieleitō īkōrtu apstrōdȧ" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "Izvieleitō protokolu apstrōdȧ" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "( nav udev īkōrta )" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "\nAuto-palaizšona: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "\nAutomatiski attaisäț TABu deļ %s īkš %s\n" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "\nAuto-nūmonteišona: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "\nAuto-nūmonteišona: kļūda: nav nūmonteišonys komandys\n" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "\nAuto-monteišona: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "\nAuto-monteišona: kļūda: nav monteišonys komandys\n" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Nūmontäț-ka-pīmonteits: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "Nav tīseibu faila %s satura redigeišonai\n\nVar nūkopäț tū iz dorbgolda ci sataisäț nūrōdi iz tō kopeji mapī ~/.local/share/applications/" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Navar pōrsaukt" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "Īrokstit jaunō dorbgolda elementa nūsaukumu:\n\nLai nūmaineitu jaunō ellementa radzamū nūsaukumu jōredigej faila %s saturs" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Pōrsaukț dorbgolda elementu" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Kļūda pōrsaucūt itū dorbgolda elementu." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Attaisäț mapi" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Atlasäț mapi" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Värtīs..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Lokālōs sadalis" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Padejū raizi izmaineits" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Īrokstit programu ci bash komandu(ys):\n\nLītōț:\n\t%%F\tatzeimeitūs failus ci %%f pyrmū atzeimeitū failu\n\t%%N\tatzeimeitūs failu nūsaukumus ci %%n pyrmō atzeimeitō faila nūsaukumu\n\t%%d\tmapi, kurymā atsarūnom\n\t%%v\tatzeimeitū īkōrtu (pīm. /dev/sda1)\n\t%%m\tīkōrtys monteišonys vītu (pīm. /media/dvd); %%l īkōrtys nūsaukums\n\t%%b\tatzeimeitōs grōmotzeimis\n\t%%t\tatzeimeitū uzdavumu mapi; %%p task pid\n\t%%a\tmenu īrokstu\n\t$fm_panel, $fm_tab, $fm_command, etc" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME tips" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Faila nūsaukums" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Mapȧ" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Raksteišonys tīseibys mapī" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Fails ir teksta fails" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Fails ir mapȧ" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Fails ir nūrōdȧ" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Lītōtōjs ir root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Atlasiets nazcik failu" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Clipboardā ir faily" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Clipboardā ir teksts" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Tānejīs panelș" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Paneļa numerș" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Tānejīs TABs" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "TABa numerș" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Grōmotzeimȧ" #: ../src/item-prop.c:122 msgid "Device" msgstr "Īkōrta" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Īkōrtys monteišonys vīta" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Īkōrtys nūsaukums" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Īkōrtys failu sistemma" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "Īkōrtys UDI" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Īkōrtys īpašeibys" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Uzdavuma numerș" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Uzdavuma mapȧ" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Uzdavuma tips" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Uzdavuma nūsaukums" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Paneļa 1 mapȧ" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Paneļa 2 mapȧ" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Paneļa 3 mapȧ" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Paneļa 4 mapȧ" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Panelī 1 ir atlaseitī" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Panelī 2 ir atlaseitī" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Panelī 3 ir atlaseitī" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Panelī 4 ir atlaseitī" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Paneļa 1 īkōrta" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Paneļa 2 īkōrta" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Paneļa 3 īkōrta" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Paneļa 4 īkōrta" #: ../src/item-prop.c:205 msgid "equals" msgstr "vīnaids" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "nav vīnaids" #: ../src/item-prop.c:207 msgid "contains" msgstr "satur" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "nasatur" #: ../src/item-prop.c:209 msgid "begins with" msgstr "sōcās ai" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "nazasōc ai" #: ../src/item-prop.c:211 msgid "ends with" msgstr "beidzās ai" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "nazabeidz ai" #: ../src/item-prop.c:213 msgid "is less than" msgstr "mozōks par" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "lelōks par" #: ../src/item-prop.c:215 msgid "matches" msgstr "podīt" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "napodīt" #: ../src/item-prop.c:222 msgid "Application" msgstr "Programa" #: ../src/item-prop.c:223 msgid "Command" msgstr "Komanda" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Tānejīs: rōdäț" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Tānejīs: narōdäț" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Tānejīs: iztslägț" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "Tānejīs: īslägț" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Saglobōț izmaineitū skriptu?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Saglobōț izmaineitū komandys skriptu?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Pōrrakstäț skriptu?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "Komandys skripts iz diska ir izmaineits.\n\nPōrrakstäț tū?" #: ../src/item-prop.c:902 ../src/item-prop.c:2244 msgid "Command Dir" msgstr "Komandys mapȧ" #: ../src/item-prop.c:903 ../src/item-prop.c:2245 ../src/item-prop.c:2254 msgid "(no files)" msgstr "(nav failu)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "Komanda nazasōc nu teksta faila (skripta) attaiseišonys, ci skripts nav atrosts $PATH." #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Iz kureini: (ceļu ci URLu, kurus rozdala ai simbolu ;, saroksts)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Iz kureini: (dodbgolda ci palaižamīs fails" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Izavieläț palaižamū failu" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "Komandrynda ir par garu" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "Komanryndā ir vaira par 2000 simbolym, pādejī simboly var nadazarakstäț tūs saglobojūt. Lobōk komandryndys vītā lītōț Komandu TABu. " #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Reikjūslys elementa īpašeibys" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Menu elementa īpašeibys" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Reikjūslys elemen_ts" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "_Menu elements" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Tips:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Имя:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Tausteņš:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Ikona:" #: ../src/item-prop.c:1765 msgid "Con_text" msgstr "Kon_teksts" #: ../src/item-prop.c:1812 msgid "A_pply" msgstr "Pīlītōț" #: ../src/item-prop.c:1844 msgid "matches any rule:" msgstr "sakreit sȧvkurs nūteikums::" #: ../src/item-prop.c:1846 msgid "matches all rules:" msgstr "sakreit vysi nūteikumi:" #: ../src/item-prop.c:1848 msgid "doesn't match any rule:" msgstr "nasakreit nivīns nūteikums:" #: ../src/item-prop.c:1850 msgid "doesn't match all rules:" msgstr "nasakreit vysi nūteikumi:" #: ../src/item-prop.c:1857 msgid "Show" msgstr "Rōdäț" #: ../src/item-prop.c:1859 msgid "Enable" msgstr "Īslägț" #: ../src/item-prop.c:1861 msgid "Hide" msgstr "Narōdäț" #: ../src/item-prop.c:1863 msgid "Disable" msgstr "Izsläģt" #: ../src/item-prop.c:1893 msgid "item if context" msgstr "konteksta elements" #: ../src/item-prop.c:1921 msgid "Edit Rule" msgstr "Lobōț nūteikumu" #: ../src/item-prop.c:1938 msgid "Value:" msgstr "Vierteiba:" #: ../src/item-prop.c:1951 msgid "If enabled, use as handler for:" msgstr "Ka īslāgt, tūraiz lītōț kei apstrōdi deļ:" #: ../src/item-prop.c:1956 msgid "none" msgstr "nikō" #: ../src/item-prop.c:1958 msgid "files" msgstr "faily" #: ../src/item-prop.c:1960 msgid "devices" msgstr "īkōrtys" #: ../src/item-prop.c:1968 msgid "_Ignore Context / Show All (global setting)" msgstr "Nazavärț kontekstu / Rōdäț vysu (kūpejī īsatirjumi)" #: ../src/item-prop.c:2063 msgid "Comm_and" msgstr "Kom_anda" #: ../src/item-prop.c:2067 msgid "Command _Line" msgstr "Komandryndda" #: ../src/item-prop.c:2069 msgid "_Script" msgstr "Skrypts" #: ../src/item-prop.c:2074 msgid "Open In _Editor" msgstr "Attaisäț redaktorā" #: ../src/item-prop.c:2080 msgid "_Root Editor" msgstr "root redaktors" #: ../src/item-prop.c:2120 msgid "Optio_ns" msgstr "Opcejis" #: ../src/item-prop.c:2122 msgid "Run Options" msgstr "Palaizšonys opcejis" #: ../src/item-prop.c:2135 msgid "Popup Task" msgstr "Rōdäț uzdavumu" #: ../src/item-prop.c:2136 msgid "Popup Error" msgstr "Rōdäț kļūdu" #: ../src/item-prop.c:2137 msgid "Popup Output" msgstr "Rōdäț izvadi" #: ../src/item-prop.c:2138 msgid "Scroll Output" msgstr "Rytynōț izvadi" #: ../src/item-prop.c:2152 msgid "Keep Terminal Open" msgstr "Paturäț terminalu attaiseitu" #: ../src/item-prop.c:2161 msgid "Run As User:" msgstr "Palaizț nu lītōtōja:" #: ../src/item-prop.c:2168 msgid "( leave blank for current user )" msgstr "( tukšums deļ tānejō lītōtōja )" #: ../src/item-prop.c:2175 msgid "Style" msgstr "Stils" #: ../src/item-prop.c:2186 msgid "Normal" msgstr "Normāls" #: ../src/item-prop.c:2189 msgid "Checkbox" msgstr "Kekseits" #: ../src/item-prop.c:2192 msgid "Confirmation" msgstr "Apstyprynōjums" #: ../src/item-prop.c:2195 msgid "Input" msgstr "Īvadȧ" #: ../src/item-prop.c:2209 msgid "Confirmation/Input Message:" msgstr "Apstyprynōjums/Īvadis paziņōjums" #: ../src/item-prop.c:2231 msgid "Open In Browser:" msgstr "Attaisäț pōrlūkā" #: ../src/item-prop.c:2253 msgid "Data Dir" msgstr "Datu mapȧ" #: ../src/item-prop.c:2262 msgid "Plugin Dir" msgstr "Spraudņu mapȧ" #: ../src/item-prop.c:2281 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2284 msgid "Submenu" msgstr "Apakšmenu" #: ../src/item-prop.c:2286 msgid "Separator" msgstr "Atdaleitōjs" #. built-in #: ../src/item-prop.c:2290 msgid "Built-In Command" msgstr "Īkšdejō komanda" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:141 #: ../src/exo/exo-cell-renderer-icon.c:155 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:142 #: ../src/exo/exo-cell-renderer-icon.c:156 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:177 msgid "Icon" msgstr "Ikona" #: ../src/exo/exo-cell-renderer-icon.c:178 msgid "The icon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:196 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:197 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:218 msgid "size" msgstr "izmārs" #: ../src/exo/exo-cell-renderer-icon.c:219 msgid "The size of the icon to render in pixels." msgstr "" #: ../src/exo/exo-gdk-pixbuf-extensions.c:778 #, c-format msgid "Failed to open file \"%s\": %s" msgstr "" #: ../src/exo/exo-gdk-pixbuf-extensions.c:837 #, c-format msgid "Failed to read file \"%s\": %s" msgstr "Navar attaisäț failu \"%s\": %s" #: ../src/exo/exo-gdk-pixbuf-extensions.c:875 #, c-format msgid "Failed to load image \"%s\": Unknown reason, probably a corrupt image file" msgstr "" #: ../src/exo/exo-gtk-extensions.c:235 #, c-format msgid "Failed to open \"%s\"." msgstr "Navar attaisäț \"%s\"." #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:123 msgid "Action Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Animations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Application Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Menu Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Device Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Emblems" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emoticons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "International Denominations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "File Type Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "Location Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Status Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Uncategorized Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:149 msgid "All Icons" msgstr "Vysys ikonys" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:153 #: ../src/exo/exo-icon-chooser-dialog.c:296 msgid "Image Files" msgstr "" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:221 msgid "Select _icon from:" msgstr "" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:236 msgid "_Search icon:" msgstr "" #: ../src/exo/exo-icon-chooser-dialog.c:247 msgid "Clear search field" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:136 msgid "Preview" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:152 #: ../src/exo/exo-thumbnail-preview.c:295 msgid "No file selected" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:313 msgid "Block Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:318 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:328 msgid "FIFO" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:333 msgid "Socket" msgstr "" spacefm-1.0.5/po/ml.po000066400000000000000000004731141264770501700145440ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Malayalam (http://www.transifex.com/projects/p/spacefm/" "language/ml/)\n" "Language: ml\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/ms.po000066400000000000000000005013701264770501700145470ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Payne Samad Loh , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Malay (http://www.transifex.com/projects/p/spacefm/language/" "ms/)\n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "罗森炳 Payne Samad Loh \n" "Phyz \n" "Umarzuki Bin Mochlis Moktar " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Layari" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Dibuka di Terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Ciri-ciri Fail" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Pemilik:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Kumpulan:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Pemilik:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Kumpulan:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Baca" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Tulis" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Laksanakan" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Set UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Set GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Melekit" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Kebenaran-kebenaran" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Cari Fail-fail" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Kes Sensitif" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Fail Video (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Fail Audio (mp3, ogg....)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Fail Imej (jpg, png....)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Fail Teks Biasa" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Semua Fail-fail dan Folder-folder" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Jenis Fail untuk Dicari" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Tempat untuk Dicari" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Am" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Fail Mengandungi:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Gunakan Ungkapan Biasa" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Kandungan Fail" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Kandungan" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Lebih Besar Daripada:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Lebih Kecil Daripada:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Saiz Fail" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Modifikasi Terakhir" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Saiz & Tarikh" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Hasil Pencarian:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Cari Sekali Lagi" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Pergi ke folder" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Kegemaran" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Tandabuku:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Am" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Sentiasa menampilkan bar tab" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "A_ntaramuka" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Kertas dinding:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Sila pilih satu fail imej" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Mod:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Laterbelakang:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Teks:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Bayang-bayang:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Desktop" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Pengurusan Bahana" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Majuan" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Fail tidak wujud" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Ralat" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Ralat: Tidak mampu untuk menubuh pautan FAM.\n" "\n" "Adakah anda mempunyai \"FAM\" atau \"Gamin\" dipasangkan dan berjalanan?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Tidak tahu bagaimana untuk membuka fail itu" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Tidak mampu untuk membuka fail:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fail" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Lihat" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Bantuan" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Folder" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nama" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Saiz" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Jenis" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Kebenaran" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Ke Belakang" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Ke Hadapan" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Menyegarkan" #: ../src/settings.c:160 msgid "New Tab" msgstr "Tab Baru" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Folder" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Tandabuku" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Ciri-Ciri" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Sunting" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Buka" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Tingkap_Baru" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Alatan" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "L_aksanakan" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Semua Fail-fail dan Folder-folder" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Ekstrak _Kepada" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Tandabuku" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Pergi" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Menamakan Semula" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Padamkan" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Songsangkan Pilihan" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikon-Ikon" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Tidak mampu untuk mount peranti" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Tidak mampu untuk unmount peranti" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Tidak mampu untuk memancutkan peranti" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Memancut" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Pindah:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Salin:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Padam:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Hubungan:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Pindahkan..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Salinkan..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Padamkan..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Hubungikan..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Kepada:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Tulis ganti Semua" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Langkau Semua" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Lengkap!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Arahan:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Fail Sistem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Folder" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Folder Baru" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Fail Baru" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Menghitungkan..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Pengguna Tidak Sah" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Kumpulan Tidak Sah" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Semua Fail-fail dan Folder-folder" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Arahan tidak dijumpai" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Destinasi direktori \"%1$s\" mengandungi dalam sumber \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Volume" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Pemacu" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Pemacu" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Pemacu Cakera Liut" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Pemacu Kilat Mampat" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Pemacu Kayu Ingatan" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Pemacu Media Pintar" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Pemacu SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Pemacu Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Pemacu Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pemacu Pen" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Pemain Muzik" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Kamera Digital" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Pemacu" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Luaran %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Cakera CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Cakera CD-R Kosong" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Cakera CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Cakera CD-RW Kosong" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Cakera CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Cakera DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Cakera DVD-RAM Kosong" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Cakera DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Cakera DVD-R Kosong" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Cakera DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Cakera DVD-RW Kosong" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Cakera DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Cakera DVD+R Kosong" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Cakera DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Cakera DVD+RW Kosong" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Cakera DVD+RW " #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Cakera Audio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Volume Boleh Ditanggal" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volume" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Gagal untuk menyambungkan ke daemon HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Peranti diberi \"%s\" bukanlah satu volume atau pemacu" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Peranti \"%s\" tidak dijumpai dalam fail sistem meja peranti" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Anda tiada hak untuk mount volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Anda tiada hak untuk unmount volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Anda tiada hak untuk memancutkan volume \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Opsyen tak betul bila percubaan untuk mount volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Volume \"%s\" mengunakan %s fail sistem dimana ia tidak disokong oleh " "sistem anda" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Satu aplikasi mencegah volume \"%s\" daripada di unmount kan" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Volume \"%s\" tidak di mount kan" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Ralat %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Volume \"%s\" kemungkinan di mount kan secara manual pada arahan baris" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Disk kosong tak dapat di mount kan, gunakan satu aplikasi perakam CD untk " "merakam audio atau data pada disk" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "CD-CD audio tak dapat di mount kan, guna pemain-pemain muzik untuk memainkan " "trek audio" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Buka Kandungan _Folder" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Pilih satu folder" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Layari..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Modifikasian Terakhir" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Arahan tidak dijumpai" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/nb.po000066400000000000000000004774521264770501700145440ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # vidarjb , 2008 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/spacefm/" "language/nb/)\n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Vidar Jon Bauge " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Bla gjennom" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Åpnes i Terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Fil Egenskaper" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Les" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Skriv" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Kjør" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Sett UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Sett GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sticky" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "Rettigheter" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Bokmerker" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Generelt" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Skrivebords-bakgrunn:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Velg en billedfil" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Skrivebor_d" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Filen finnes ikke" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Feil" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Feil: Kan ikke oprette forbindelse til FAM.\n" "\n" "Er FAM eller Gamin installeret og kører?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Vet ikke hvordan filen skal åpnes" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Kan ikke åpne filen:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fil" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Vis" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Hjelp" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Navn" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Størrelse" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Type" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Rettighet" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Tilbake" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Frem" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Oppdater" #: ../src/settings.c:160 msgid "New Tab" msgstr "Ny Tab" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "Mappe" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Bokmerke" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "Egenska_per" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "R_ediger" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "Åpne" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nytt Vindu" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "Verk_tøy" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "Kjør" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Pakk Ut _Til" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Bokmerke" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Gå" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "Gi Nytt Navn" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "Slett" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Inverter Utvalg" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Kan ikke montere enheten" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Kan ikke avmontere enheten" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Kan ikke skubbe enheten ut" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "Skubb ut" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Flytt: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopier: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Slett: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Lenke: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Flytter..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopierer..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Sletter..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Lenker..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Til:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Skriv Over Alle" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Hopp Over Alle" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Ferdig!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Kommando:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Filsystem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Ny Mappe" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Ny Fil" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Beregner..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Ugyldig Bruker" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Ugyldig Gruppe" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Kommando ikke funnet" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Målmappen \"%1$s\" finnes i kildemappen \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Enhed" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Drev" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Drev" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Diskettedrev" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash Drev" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "USB lagringsenhet" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media Drev" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC Drev" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip Drev" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz Drev" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen Drev" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Musiikk avspiller" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Digitalkamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Drev" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Ekstern %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM Disk" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Blank CD-R Disk" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R Disk" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Blank CD-RW Disk" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW Disk" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM Disk" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Blank DVD-RAM Disk" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM Disk" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Blank DVD-R Disk" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R Disk" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tom DVD-RW Disk" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW Disk" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tom DVD+R Disk" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R Disk" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tom DVD+RW Disk" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW Disk" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio Disk" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s fjernbar enhet" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Enhet" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Kunne ikke forbinde til HAL prosessen: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Enheten \"%s\" er ikke egyldig drev eller medie" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Enheten \"%s\" ikke fundet i systemets enhetstabell" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Du har ikke rettigheter til å montere enheten \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Du har ikke rettigheter til å avmontere enheten \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Du har ikke rettigheter til å skubbe enheten ut \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Ugyldig valg ved montering av enheten \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Enheten \"%s\" bruker %s filsystemet, som i ikke er understøttet av " "dette system" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "En applikasjon forhindrer denne enheten \"%s\" fra å bli avmontert" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Enheten \"%s\" er ikke montert" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Feil %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Enheten \"%s\" er sannsynligvis montert manuelt fra kommandolinjen" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Tomme disker kan ikke monteres. Bruk et program til CD brenning for å skrive " "audio eller data til disken" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Lyd CDer kan ikke monteres. Bruk en musik avspiller til å spille lydsporene" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Kommando ikke funnet" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/nl.po000066400000000000000000005401021264770501700145350ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # yves claeys , 2013 # tct1501 , 2012 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/spacefm/language/" "nl/)\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM Open map" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Open map" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM Bestand zoeken" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Zoeken naar mappen en bestanden" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Bestandsbeheerder" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Door bestandssysteem bladeren" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "door IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Vertalers" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Kies programma" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Kies een programma of gebruik de commandoregel" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Bestandstype" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Geassocieerde programma's" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "A_lle programma's" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Commando:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Bladeren" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Geopend in terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Bestandseigenschappen" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Type:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Openen _Met:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Totale grootte :" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Grootte op harddisk:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Geteld:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "_Info" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Eigenaar:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Groep:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Eigenaar:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Groep:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Anderen:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lezen" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Schrijven" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Uitvoeren" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "UID instellen" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "GID instellen" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Plakkerig" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Rechten" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Binnen een dag" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Binnen een week" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Binnen een maand" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Binnen een jaar" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Binnen aangegeven data" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Vind bestanden" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Bestandsnaam" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Hoofdlettergevoelig" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Videobestanden (.avi, .mpg etc.)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Audiobestanden (.mp3, .ogg etc.)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Afbeeldingsbestanden (.jpg, .png etc.)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Normale tekstbestanden" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Alle mappen en bestanden" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Te vinden bestandstypes" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Zoeken in submappen" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Verborgen bestanden zoeken" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Plaatsen waar te zoeken" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Algemeen" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Bestandsnaam bevat" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Gebruik reguliere expressie" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Bestandsinhoud" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Inhoud" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Groter dan:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Kleiner dan:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Bestandsgrootte" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Laatst gewijzigd" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Grootte en datum" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Zoekresultaten:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Opnieuw zoeken" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ga naar map" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Openen in huidig tabblad" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Openen in nieuw tabblad" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Uitstrekken" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Vullend" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centreren" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automatisch" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Voorkeuren" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Kleine iconen:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Grote iconen:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Gereedschapsbalkpictogrammen" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Enkele muisklik opent bestanden" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Bladwijzers:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Miniatuurweergave" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Maximale miniatuurgrootte:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Algemeen" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Altijd tabblad weergeven" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Verberg \"Sluit tab\"-knoppen" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Bevestig verwijderen" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Aanklikken voert toepassingen uit" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Standaard sleepactie:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterface" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Bureaubladachtergrond:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Selecteer een afbeeldingsbestand" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modus:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Achtergrond" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekst:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Shaduw:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Bureaublad" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Schijfbeheer" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Grafische SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Encodering bestandsnaam:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Editor uitvoeren in terminal" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Editor systeembeheerder:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Systeembeheerders editor uitvoeren in terminal" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Datumweergave:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(verplicht herstarten)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Datumweergave" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Geavanceerd" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Teveel kolommen (>%d) in %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "fout tijdens lezen bestand %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "bestandsinhoud van '%s' is niet in geldige UTF-8-opmaak" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Kan missend element '%s' niet instellen" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "bestand '%s' is geen normaal bestand" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "Dynamisch veranderen van grootte vereist een breedte en hoogte > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "interne commando %s vereist een parameter" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "onderdeel '%s' bestaat niet" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "interne commando (niets) selecteren is ongeldig voor %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "fout tijdens schrijven van bestand %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' is geen intern commando" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "fout tijdens creëren bestand %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "pipe '%s' data is in ongeldige UTF-8-opmaak" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ SNIP - extra output hierboven is weggelaten uit deze log ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( bestandsinhoud is in ongeldige UTF-8-opmaak )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "voorvoegsel '%s' is geen geldige variabelenaam" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Pauze" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" "SpaceFM Dialog creëert een GTK-dialoogvenster aan de hand van GUI-elementen\n" "die je met de opdrachtregel specificeert. Je kunt met in- en externe " "commando's\n" "elementen wijzigen en er wordt evalueerbare/analyseerbare uitvoer gegeven.\n" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Gebruik:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ELEMENT [OPTIES] [ARGUMENTEN...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Voorbeeld:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Een bericht\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "ELEMENT: OPTIES & ARGUMENTEN:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "De volgende argumenten zoals hierboven staan, mogen worden gebruikt:\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " PICTOGRAM Een pictogramnaam, bijv.: gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" " @BESTAND Een tekstbestand om een waarde uit te lezen. In sommige " "gevallen wordt dit\n" " bestand herhaaldelijk gelezen. Een nieuwe waarde wegschrijven " "naar het bestand zal\n" " het element updaten. In andere gevallen geeft het bestand een " "beginwaarde aan.\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" " LABEL De volgende escape sequences in LABEL worden letterlijk " "genomen:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " Pango-opmaak mag alleen gebruikt worden in elementen van --" "label, \n" " als het eerste teken in LABEL een tilde (~) is.\n" " Bijvoorbeeld:\n" " --label '~Dit is normale tekst. Dit vetgedrukt.'\n" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "INTERNE COMMANDO'S:\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" "\n" "VOORBEELD MET COMMANDO'S:\n" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" " spacefm -g --label \"Schrijf een tekst en druk op enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "VOORBEELDSCRIPT:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "Voor de volledige documentatie en voorbeelden zie SpaceFM's " "gebruikshandleiding:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: argument is geen geldige UTF-8-opmaak\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "Foute vensteroptie" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Instellen venstertitel" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Instellen vensterpictogram" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Toevoegen tekstlabel" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Een BULKdialoogknop of LABELknop met PICTOGRAM toevoegen" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Een BULKdialoogknop of LABELknop met PICTOGRAM waar dan ook toevoegen" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Voeg tekst toe " #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Voeg veel tekst toe" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Voeg wachtwoord toe" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Voeg een bestand of pipe viewer toe" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Voeg een multi-line tekst editor toe" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Voeg selectievakje toe" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Voeg radioknop toe" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Voeg pictogram toe" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Voeg afbeelding toe" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Voeg voortgangsbalk toe" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Voeg horizontale verdeellijn toe" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Voeg verticale verdeellijn toe" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Sluit venster automatisch na DELAY seconden" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Voeg dropdownmenu toe. COMMANDO wordt uitgevoerd bij aanklikken." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Voeg combolijst toe. Druk op enter om COMMAND uit te voeren" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Voeg keuzelijst toe. COMMANDO wordt uitgevoerd bij aanklikken." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Voeg keuzelijst toe met meerdere selectiemogelijkheden" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Definieer naam basisvariabele (Standaard: \"dialoog\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Instellen minimale wijdte, hoogte, vulling (-1 = niet veranderen)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Voer COMMANDO uit wanneer een toetscombinatie is gebruikt" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Lees commando's van BESTAND of PIPE, COMMANDO voor init" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "Geen werking - evalueert alleen argumenten" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "Sluit het venster" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "Druk de " #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "Stel element NAAM in naar WAARDE" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Selecteer item WAARDE (of eerste/alle) in element NAAM" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Deselecteer item WAARDE(N) in element NAAM" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "Verberg element NAAM" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "Geef element NAAM weer als deze eerder verborgen was" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "Element NAME uitschakelen" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "Inschakelen element NAAM als deze eerder uitgeschakeld was" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "Bestanden opslaan en output van bron wegschrijven naar BESTAND" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Open mappen in nieuw tabblad van laatste venster (standaard)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Open map in huidig tabblad van het laatst gebruikte venster" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Opgeslagen tabbladen niet laden" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Open mappen in nieuw venster" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Open mappen in paneel 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Start daemon van desktopmanager" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Bureaubladinstellingen" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Voorkeuren ('N' is het tabbladnummer van voorkeur)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Uitvoeren als daemon" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Gebruik PAD als configuratiemap" #: ../src/main.c:138 msgid "Show File Search" msgstr "Zoek bestanden" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Stel BESTAND in als bureaubladachtergrond" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Geef aangepaste dialoog weer (Zie -g voor meer)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Geen functie - alleen voor compatibiliteit" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[PAD | BESTAND | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Optie --config-dir wordt genegeerd: er draait al een applicatie" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Optie --config-dir bevat ongeldige tekens: kan niet starten" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" "spacefm: Fout: Kan sessie niet opslaan\n" " %s\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Bestand bestaat niet" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Fout" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" "Fout: Kan inotify bestandsmonitor niet starten.\n" "\n" "Is de kernel juist geconfigureerd?" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Fout: Kan niet verbinden met FAM.\n" "\n" "Is \"FAM\" of \"Gamin\" geïnstalleerd en opgestart?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "--dialog moet de eerste optie zijn" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Weet niet hoe het bestand moet worden geopend" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Kan bestand niet openen:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Kies pluginbestand" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Invoeren plugin-URL" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" "Invoeren SpaceFM Plugin-URL:\n" "\n" "(wget wordt gebruikt om de plugin te downloaden)" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" "De bestandsnaam van de plugin is onjuist. Hernoem het met alpha-numerieke " "ASCII-tekens en probeer het nogmaals." #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Ongeldige bestandsnaam plugin" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" "Er is al een plugin geïnstalleerd met de naam '%s'. Overschrijven?\n" "\n" "Tip: Je kunt het pluginbestand hernoemen. Zo kun je de plugin installeren " "onder een andere naam." #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Plugin overschrijven?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Fout tijdens maken tijdelijke map" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Kan tijdelijke map niet maken" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "Fout: Kan sessiebestand niet opslaan\n" "\n" "( %s )" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Fout tijdens opslaan sessie" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Open rootvenster" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal onbeschikbaar" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" "Stel a.u.b. de voorkeursterminal in (Weergave | Voorkeuren | Geavanceerd)" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Open terminal" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Ontwerpmodushulp" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 #, fuzzy msgid "Panel" msgstr "Paneel _1" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Nieuw _Commando" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Paneel %d weergeven" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Bestand" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Weergave" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "_Bladwijzers" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "_Plugins" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "_Gereedschap" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Help" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" "Fout: Kan sessiebestand niet opslaan. Wil je afsluiten zonder op te slaan?\n" "\n" "( %s )" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "SpaceFMfout" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "Alle lopende taken in venster stoppen?" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "Afbreken taken..." #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr " %s vrije ruimte / %s " #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr " Link → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr " Link → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Link → %s/ (ontbreekt)" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr " Link → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr " !Link → %s (ontbreekt)" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr " !Link → ( fout tijdens lezen doel )" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "verborgen" msgstr[1] "verborgen" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d zichtbaar (%s) %s" msgstr[1] "%s%d zichtbaar (%s) %s" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d onderdeel %s" msgstr[1] "%s%d onderdelen %s" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Device manager sneltoetsen zijn uitgeschakeld in HAL-modus" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "Status" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Map" #: ../src/main-window.c:4156 msgid "Item" msgstr "Onderdeel" #: ../src/main-window.c:4157 msgid "To" msgstr "Naar" #: ../src/main-window.c:4157 msgid "Progress" msgstr "Voortgang" #: ../src/main-window.c:4157 msgid "Total" msgstr "Totaal" #: ../src/main-window.c:4158 msgid "Started" msgstr "Gestart" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "Verstreken" #: ../src/main-window.c:4158 msgid "Current" msgstr "Huidige" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "COvergebleven" #: ../src/main-window.c:4159 msgid "Average" msgstr "Gemiddelde" #: ../src/main-window.c:4159 msgid "Remain" msgstr "Overblijven" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "\"Opnieuw kolommen orderen\" help" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Om de volgorde van de kolommen te veranderen, sleep de " #: ../src/main-window.c:5745 msgid "moving" msgstr "verplaatsen" #: ../src/main-window.c:5746 msgid "copying" msgstr "kopiëren" #: ../src/main-window.c:5747 msgid "trashing" msgstr "verplaatsen naar prullenbak" #: ../src/main-window.c:5748 msgid "deleting" msgstr "verwijderen" #: ../src/main-window.c:5749 msgid "linking" msgstr "linken" #: ../src/main-window.c:5750 msgid "changing" msgstr "veranderen" #: ../src/main-window.c:5751 msgid "running" msgstr "wordt uitgevoerd" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "gepauzeerd" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "in de wachtrij" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Naam" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Grootte" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Standaard" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "Opslaan voorkeuren van root" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" "Jouw rootwachtwoord wordt nu gevraagd om de huidige gebruikersvoorkeuren op " "te slaan in een bestand in /etc/spacefm. Het opgeven van het wachtwoord in " "het volgende venster wordt aangeraden. SpaceFM voert sommige programma's uit " "als root, via su. Deze instellingen zijn het veiligst wanneer opgeslagen als " "root." #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" "Geef programma of Bash-commandoregel op:\n" "\n" "Gebruik:\n" "\t%%F\tgeselecteerde bestanden of %%f het eerste geselecteerde bestand\n" "\t%%N\tgeselecteerde bestandsnamen of %%n de eerst geselecteerde " "bestandsnaam\n" "\t%%d\thuidige map\n" "\t%%v\tsgeselecteerde apparaat (bijv. /dev/sda1)\n" "\t%%m\taankoppelingspunt van apparaat (bijv. /media/dvd); %%l " "apparaatlabel\n" "\t%%b\tgeselecteerde bladwijzer\n" "\t%%t\tgeselecteerde takenmap; %%p taak pid\n" "\t%%a\twaarde menuitem\n" "\t$fm_panel, $fm_tab, $fm_command, etc." #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Home" #: ../src/settings.c:154 msgid "Up" msgstr "Naar boven" #: ../src/settings.c:155 msgid "Back" msgstr "Terug" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Vooruit" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Vernieuwen" #: ../src/settings.c:160 msgid "New Tab" msgstr "Nieuw tabblad" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Hier nieuw tabblad" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "Grote iconen:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "aangepaste tmp_dir bevat ongeldige tekens: valt terug op /tmp" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "aangepaste tmp_dir bestaat niet: valt terug op /tmp" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "Negeer _Verbergbeleid" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "Negeer _Geen beleid" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "_Stop" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "Weergeven _Manager" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "Automatisch Manager _verbergen" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "F_outen" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "Restge_middelde" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Map" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "_Gedetailleerde statistieken" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Fout tijdens wegschrijven bestand" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "SpaceFMfout: Kan sessie niet automatisch opslaan ( %s )\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" "Fout tijdens het lezen van root's voorkeuren in /etc/spacefm. Commando's " "uitgevoerd door root kunnen een beveiligingsrisico met zich meebrengen." #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" "Geen rootvoorkeuren gevonden in /etc/spacefm. Commando's uitgevoerd door " "root kunnen nu een beveiligingsrisico met zich meebrengen. Het instellen van " "een rooteditor in Voorkeuren verhelpt deze waarschuwing tijdens het " "opstarten. " #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Hulp niet beschikbaar" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Deze plugin heeft geen README-bestand." #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Aanmaken mislukt." #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" "Een fout deed zich voor tijdens het aanmaken van een README-bestand voor dit " "commando." #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "Kopieercommandofout" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "Fout tijdens lezen pluginbestand %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" "De geïmporteerde pluginmap bevat geen geldige plugin.\n" "\n" "(%s/)" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" "De '%s'plugin is gekopieerd naar het ontwerpklembord. Gebruik Weergave|" "Ontwerpmodus om het in het menu te plakken.\n" "\n" "Omdat het niet geïnstalleerd is, zal deze plugin niet in het pluginmenu " "worden weergegeven." #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" "De '%s'plugin is gekopieerd naar het ontwerpklembord. Gebruik Weergave|" "Ontwerpmodus om het in het menu te plakken.\n" "\n" "Omdat het niet geïnstalleerd is, zal deze plugin niet in het pluginmenu " "worden weergegeven. De plugininhoud is niet beschermd door root (eenmaal " "geplakt zal het worden opgeslagen onder normaal eigenaarschap).\n" "\n" "Als deze plugin su-commando's bevat of uitgevoerd zal worden als root, dan " "wordt aangeraden de plugin te installeren in én uit te voeren vanaf het " "pluginmenu. Dit bevordert de veiligheid van de computersysteem." #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" "Installatie '%s'plugin ongedaan maken?\n" "\n" "( %s )" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "Installatie plugin ongedaan maken" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "Plugin installeren" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "Opslaan als pluginbestand" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "Exporteer plugin" #: ../src/settings.c:5495 msgid "Export Error" msgstr "Exportfout" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "Kan tijdelijke bestanden niet aanmaken" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "Verander menunaam" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "Editor niet opgegeven" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Geef de editor op in Weergave|Voorkeuren|Geavanceerd" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "Rooteditor niet opgegeven" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Geef de editor van root op in Weergave|Voorkeuren|Geavanceerd" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "Bewerken %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Gebruiksaanwijzing niet gevonden" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" "Gebruiksaanwijzing online lezen?\n" "\n" "De SpaceFM-handleiding kon niet op de computer gevonden worden. Kies \"ja\" " "om het online te lezen, of kies \"nee\" en stel de juiste locatie in op Help|" "Opties|Locatie handleiding" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Gebruiksaanwijzing geopend?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" "De SpaceFM-handleiding zou geopend moeten zijn in je browser. Als het niet " "geopend is, of als je een andere browser wilt instellen, geef deze dan op in " "Help|Opties|Browser.\n" "\n" "Deze boodschap is eenmalig." #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Annuleren" #: ../src/settings.c:6703 msgid "Unset" msgstr "Afschaffen" #: ../src/settings.c:6716 msgid "Set" msgstr "Instellen" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Stel toets in" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "Stel pictogram in" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Bewerk commandoregel" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "Kies aangepaste toepassing" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Uitvoeren als gebruiker" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" "Voer dit commando uit als gebruiker:\n" "\n" "(Niets invullen voor huidige gebruiker)" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" "Je voegt een aangepast commando toe aan het standaardmenuitem. Dit item " "heeft automatisch een pre-context: het verschijnt alleen als het MIME-type " "van het eerste geselecteerde bestand overeenkomt met het huidige type '%s'.\n" "\n" "Voeg hier commando's of menu's toe die alleen voor dit specifieke MIME-type " "moeten verschijnen." #: ../src/settings.c:6927 msgid "New Context Command" msgstr "Nieuw contextcommando" #: ../src/settings.c:6938 #, fuzzy msgid "Set Item Name" msgstr "Stel menunaam in" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" "Je voegt een aangepast submenu toe aan het standaardmenuitem. Dit item heeft " "automatisch een pre-context: het verschijnt alleen als het MIME-type van het " "eerste geselecteerde bestand overeenkomt met het huidige type '%s'.\n" "\n" "Voeg hier commando's of menu's toe die alleen voor dit specifieke MIME-type " "moeten verschijnen." #: ../src/settings.c:7017 msgid "(none)" msgstr "(geen)" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "Stel submenunaam in" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" "Geef submenu een naam:\n" "\n" "Laat een leesteken voorafgaan door een laag streepje (_) om dat teken te " "onderstrepen en als sneltoets te definiëren." #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Nieuw _submenu" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "(naamloos)" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "Bevestig verwijderen" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Weet u dit zeker?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "Dialoogtekst" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" "Geef de tekst op die in het dialoogvenster moet worden weergegeven:\n" "\n" "Gebruik:\n" "\t\\n\twitregel\n" "\t\\t\ttabblad" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "Knippe_n" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "_Kopiëren" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "_Plakken" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "_Verwijderen" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "E_xporteren" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "_Nieuw" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Bladwijzer" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Sub_menu" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "S_cheidingslijn" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "_Toevoegen" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "B_ewerken als root" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Eigenschappen" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "Verander pictogram" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Bewerken" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "Stel vensterpictogram in" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "_Standaard" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "De invoer is ongeldig omdat het regelopschuivingen (line feeds) bevat" #: ../src/settings.c:9214 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9351 msgid "_Unset" msgstr "_Afschaffen" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "_Ontkoppelen" #: ../src/settings.c:10498 msgid "Re_load" msgstr "Her_laden" #: ../src/settings.c:10502 msgid "_Sync" msgstr "_Synchroniseren" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Openen" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "_Aankoppelen" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "(Opnie_w) aankoppelen" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "_Root" #: ../src/settings.c:10551 msgid "_Label" msgstr "_Label" #: ../src/settings.c:10601 msgid "_Check" msgstr "_Controleren" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "_Bewerk fstab" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "Bewerk u_devil.conf" #: ../src/settings.c:10613 msgid "_Format" msgstr "_Formatteren" #: ../src/settings.c:10673 msgid "_Backup" msgstr "_Backup" #: ../src/settings.c:10695 msgid "_Restore" msgstr "_Herstellen" #: ../src/settings.c:10700 msgid "_From File" msgstr "_Van bestand" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "_Bestandsinformatie" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "Instelli_ngen" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "W_eergeven" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "_Interne apparaten" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "_Lege stations" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "_Partitietabellen" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "Aangekoppelde _Netwerken" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "Volume" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "Weergeven/verbergen gegevensdragers" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "_Weergavenaam" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "Pictogram" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "Audio-cd" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "Optisch apparaat aangekoppeld" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "Optisch apparaat bevat media" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "Optisch apparaat bevat geen media" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "Floppy aangekoppeld" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "Floppy ontkoppeld" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "Verwijderbare media aangekoppeld" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "Verwijderbare media ontkoppeld" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "Intern apparaat aangekoppeld" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "Intern apparaat ontkoppeld" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "Netwerk aangekoppeld" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "_Instellingen" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "_Naam" #: ../src/settings.c:11037 msgid "_Parent" msgstr "_Ouder" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "P_ad" #: ../src/settings.c:11056 msgid "_Option" msgstr "_Optie" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Link" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "Kopieer _doel" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "Lin_k doel" #: ../src/settings.c:11074 msgid "_As Root" msgstr "_Als root" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "_Lettertype" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "Lettertype verplaatsenvenster" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "/home/gebruiker/Voorbeeldbestandsnaam.ext" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "_Bevestig aanmaken" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "_Middelste muisknop" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "Kopieer _naam" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "Kopieer _pad" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "_Verberg paneel" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nieuw _venster" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "R_ootvenster" #: ../src/settings.c:11141 msgid "_File Search" msgstr "_Bestanden zoeken" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "_Rootterminal" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "Tabbladen opslaan" #: ../src/settings.c:11162 msgid "E_xit" msgstr "A_fsluiten" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "Paneel _1" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "Paneel _2" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "Paneel _3" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "Paneel _4" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "Paneelgereedschapsbalk" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "_Vorige" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "_Volgende" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "_Verbergen" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Nieuw" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Sluiten" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "Ve_nstertitel" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "Stel opmaak venstertitel in" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" "Stel opmaak venstertitel in:\n" "\n" "Gebruik:\n" "\t%%n\thuidige mapnaam (bijv. bin)\n" "\t%%d\thuidige maplocatie (bijv. /usr/bin)\n" "\t%%p\thuidig paneelnummer (1-4)\n" "\t%%t\thuidige tabbladnummer\n" "\t%%P\ttotaal aantal panelen zichtbaar\n" "\t%%T\ttotaal aantal tabbladen in huidige paneel\n" "\t*\tasteriskweergave wanneer taken in venster worden uitgevoerd" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "_Vensterpictogram" #: ../src/settings.c:11366 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" "Geef pictogramnaam, -pad of stockitemnaam op:\n" "\n" "Om verschillende redenen kunnen sommige niet werken.\n" "\n" "Meegeleverde alternatieve SpaceFM-pictogrammen:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "Bijvoorbeeld: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "_Schermvullend" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "_Ontwerpmodus" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "_Voorkeuren" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Gereedschap" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "_Installeren" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "_Uitgebreid" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "Geïn_cludeerd" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "_Handleiding" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "_Homepage" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "SpaceFM_nieuws" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "_Plugins verkrijgen" #: ../src/settings.c:11452 msgid "_Options" msgstr "_Opties" #: ../src/settings.c:11457 msgid "_Browser" msgstr "_Browser" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "Kies HTML-browser" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" "Geef browser of commando om html-bestanden en URL's weer te geven:\n" "\n" "Gebruik:\n" "\t%%u\turl\n" "\n" "(Niets invullen voor automatisch detectie van browser)" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "_Locatie handleiding" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "Kies locatie handleiding" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" "Geef bestandspad of URL op voor de SpaceFM-handleiding:\n" "\n" "(Niets invullen voor standaardpad)\n" #: ../src/settings.c:11469 msgid "_About" msgstr "_Over" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "_Status" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "_Hoeveelheid" #: ../src/settings.c:11519 msgid "_Item" msgstr "_Item" #: ../src/settings.c:11525 msgid "_To" msgstr "_Naar" #: ../src/settings.c:11531 msgid "_Progress" msgstr "_Voortgang" #: ../src/settings.c:11538 msgid "T_otal" msgstr "T_otaal" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "Gesta_rt" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "_Verstreken" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "H_uidige snelheid" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "_Gemiddelde snelheid" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "Opnieuw or_denen" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pa_uze" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "_Wachtrij" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "_Hervatten" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "_Alle taken" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "Lettertype taakbeheer" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "kopiëren Bestand 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11635 msgid "_Columns" msgstr "_Kolommen" #: ../src/settings.c:11640 msgid "_Popups" msgstr "_Popups" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "Popup _Alle taken" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "Lettertype popupvenster taken (geldt voor nieuwe taken)" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "Voorbeelduitvoer 0123456789" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "Stoppen als _eerst" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "Stoppen bij _elke" #: ../src/settings.c:11703 msgid "_Continue" msgstr "_Doorgaan" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "Wacht_rij" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "_Wachtrij nieuwe taken" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "_Slimme wachtrij" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "_Oplopend" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "A_pparaten" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "Voorbeeldinvoer 0123456789" #: ../src/settings.c:11810 msgid "Input Font" msgstr "Lettertype input" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "U_itvoeren" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "Be_werken" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "Bewerken als _root" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "_Kiezen..." #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Alle mappen en bestanden" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "In _tabblad" #: ../src/settings.c:11839 msgid "N_ew" msgstr "Ni_euw" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "Tabblad _1" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "Tabblad _2" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "Tabblad _3" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "Tabblad _4" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "Tabblad _5" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "Tabblad _6" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "Tabblad _7" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "Tabblad _8" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "Tabblad _9" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "Tabblad 1_0" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "In _Paneel" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "_Uitpakken" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Uitpakken _naar" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "_Inhoud weergeven" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "_Openen met programma" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "_Submap aanmaken" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "_Schrijftoegang" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "Map" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Bladwijzer" #: ../src/settings.c:11950 msgid "_Archive" msgstr "_Archief" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "Tabblad _hier" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Ga" #: ../src/settings.c:11973 msgid "_Back" msgstr "_Terug" #: ../src/settings.c:11975 msgid "_Forward" msgstr "_Vooruit" #: ../src/settings.c:11977 msgid "_Up" msgstr "_Omhoog" #: ../src/settings.c:11979 msgid "_Home" msgstr "_Home" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "_Stel in als standaard" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "W_erkelijke pad" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "Fo_cus" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "_Locatiebalk" #: ../src/settings.c:11995 msgid "_File List" msgstr "_Bestandslijst" #: ../src/settings.c:11997 msgid "_Tree" msgstr "_Boom" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "_Sluiten" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "St_ijl" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "_Opnieuw orderen" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "Sorteren" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "_Grootte" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "_Type" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "_Permissie" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "_Eigenaar" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "_Gewijzigd" #: ../src/settings.c:12066 msgid "_Descending" msgstr "_Aflopend" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "Nat_uurlijk" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "_Hoofdlettergevoelig" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "Mappen ee_rst" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "Bestan_den eerst" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "Gemixt" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "_Verborgen eerst" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "Verborgen _laatst" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "Ver_versen" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Hernoemen" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "_Zijkantgereedschapsbalk" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [geen media] :VOORBEELD" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "$ cat /home/gebruiker/voorbeeld" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Status: " #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Gestopt" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "uitgesteld" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Map" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Linken" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Verplaatsen" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Kopiëren" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr " Als Root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Linken" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& _Open" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Link-> %s (ontbreekt)" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "Map" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "_Link" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "Apparaatlabel" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Bestandsbeheerder" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" "spacefm-auth niet gevonden in pad - dit gaat ten koste van de veiligheid" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Selecteer een map" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Lokale volumes" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Laatst gewijzigd" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME-type" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Bestandsnaam" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Pad" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Bestand is tekst" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Bestand is een map" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Bestand is een link" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Gebruiker is root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Meerdere geselecteerd" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Klembord bevat bestanden" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Klembord bevat tekst" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Huidig paneel" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Aantal panelen" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Huidige tab" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Aantal tabbladen" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Bladwijzer" #: ../src/item-prop.c:122 msgid "Device" msgstr "Apparaat" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Aankoppelingspunt apparaat" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Apparaatlabel" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "FSType van apparaat" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI van apparaat" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Eigenschappen van apparaat" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Aantal taken" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Takenmap" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Taaktype" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Taaknaam" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Paneel 1 map" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Paneel 2 map" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Paneel 3 map" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Paneel 4 map" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Paneel 1 is geselecteerd" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Paneel 2 is geselecteerd" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Paneel 3 is geselecteerd" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Paneel 4 is geselecteerd" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Paneel 1 apparaat" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Paneel 2 apparaat" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Paneel 3 apparaat" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Paneel 4 apparaat" #: ../src/item-prop.c:205 msgid "equals" msgstr "komt overeen" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "kom niet overeen" #: ../src/item-prop.c:207 msgid "contains" msgstr "bevat" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "bevat geen" #: ../src/item-prop.c:209 msgid "begins with" msgstr "begint met" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "begint niet met" #: ../src/item-prop.c:211 msgid "ends with" msgstr "eindigt met" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "eindigt niet met" #: ../src/item-prop.c:213 msgid "is less than" msgstr "is kleiner dan" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "is groter dan" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Huidige: Weergeven" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Huidige: Weglaten" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Huidige: Uitschakelen" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "Huidige: Uitschakelen" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Bewerk commandoregel" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Con_text" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "Toe_passen" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "komt overeen met welke voorwaarde dan ook" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "komt overeen met alle voorwaardes" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "komt niet overeen met welke voorwaarde dan ook" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "komt niet overeen met alle voorwaardes" #: ../src/item-prop.c:1861 msgid "Show" msgstr "Weergeven" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "Weglaten" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "Bewerk voorwaarde" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "Waarde:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "_Script" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/nn.po000066400000000000000000005011021264770501700145340ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Karl Ove Hufthammer , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Norwegian Nynorsk (http://www.transifex.com/projects/p/" "spacefm/language/nn/)\n" "Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Karl Ove Hufthammer" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Bla gjennom" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Opna i terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Fileigenskapar" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Eigar:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Gruppe:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Eigar:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Gruppe:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Lesbar" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Skrivbar" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Køyrbar" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Set UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Set GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Klistra" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Løyve" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Finn filer" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Skil mellom store og små bokstavar" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Filmfiler (avi, mpg, …)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Lydfiler (MP3, Ogg Vorbis, …)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Biletfiler (jpg, png, …)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Reintekst-filer" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Alle filer og mapper" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Filtypar å søkja etter" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Stader å søkja i" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Generelt" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Fila inneheld:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Bruk regulært uttrykk" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Filinnhald" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Innhald" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Større enn:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Mindre enn:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Filstorleik" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Sist endra" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Storleik og dato" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Søkjeresultat:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Søk på nytt" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Gå til mappe" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Innstillingar" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Bokmerke:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Generelt" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Vis alltid fanelinja" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "_Grensesnitt" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Bakgrunnsbilete:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Vel ei biletfil" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modus:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Bakgrunn:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekst:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Skugge:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Skrivebord" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Handtering av dataområde" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avansert" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Fila finst ikkje" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Feil" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Feil: Klarte ikkje starta tilkoplina til FAM.\n" "\n" "Er «FAM» eller «Gamin» installerte, og køyrer?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Kan ikkje opna fila" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Kan ikkje opna fila:\n" "«%s»\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fil" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Vis" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Hjelp" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Mappe" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Namn" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Storleik" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Type" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Løyve" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Tilbake" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Fram" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Oppdater" #: ../src/settings.c:160 msgid "New Tab" msgstr "Ny fane" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Mappe" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Bokmerke" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Eigenskapar" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Rediger" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Opna" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nytt _vindauge" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "V_erktøy" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_Køyr" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Alle filer og mapper" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Pakk ut _til" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Bokmerke" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Gå til" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Endra namn" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Slett" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Omvendt utval" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikon" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Klarte ikkje montera eininga" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Klarte ikkje avmontera eininga" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Klarte ikkje løysa ut eininga" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Løys ut" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Flytt: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopier: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Slett: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Lenkje: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Flyttar …" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopierer …" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Slettar …" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Lag lenkje …" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Til:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Skriver over alle" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Hopp over alle" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Ferdig!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Kommando:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Filsystem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Mappe" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Ny mappe" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Ny fil" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Reknar ut …" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Ugyldig brukar" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Ugyldig gruppe" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Alle filer og mapper" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Fann ikkje kommandoen" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Målmappa «%1$s» er med i kjelda «%2$s»" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s-dataområde" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s-stasjon" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s-stasjon" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Diskettstasjon" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash-stasjon" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Minnepinne" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart-stasjon" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC-stasjon" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip-stasjon" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz-stasjon" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Penn-stasjon" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s musikkspelar" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s digitalkamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Stasjon" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Ekstern %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM-plate" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Tom CD-R-plate" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R-plate" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Tom CD-RW-plate" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW-plate" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM-plate" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Tom DVD-RAM-plate" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM-plate" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Tom DVD-R-plate" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R-plate" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tom DVD-RW-plate" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW-plate" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tom DVD+R-plate" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R-plate" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tom DVD+RW-plate" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW-plate" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Lydplate" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s flyttbart dataområde" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Dataområde" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Klarte ikkje kopla til HAL-tenetsa: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Eininga «%s» er ikkje eit dataområde eller ein stasjon" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Fann ikkje eininga «%s» i filsystemeingstabellen" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Du har ikkje løyve til å kunna montera dataområdet «%s»" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Du har ikkje løyve til å kunna avmontera dataområdet «%s»" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Du har ikkje løyve til å kunna løysa ut dataområdet «%s»" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Ugyldige monteringsval til montering av dataområdet «%s»" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Dataområdet «%s» brukar filsystemet %s, som ikkje er støtta på dette " "systemet" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Eit program hindrar dataområdet «%s» frå avmontering" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Dataområdet «%s» er ikkje montert" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Feil %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Dataområdet «%s» vart truleg montert manuelt frå kommandolinja" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Du kan ikkje montera tomme plater. Bruk eit brenneprogram til å brenna lyd " "eller datafiler på plata først." #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Du kan ikkje montera lyd-CD-ar. Bruk heller ein musikkspelar til å spela av " "lyden." #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Opna _overmappa" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Vel mappe" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Bla gjennom …" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Sist endra" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Fann ikkje kommandoen" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/pl.po000066400000000000000000005514631264770501700145530ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Dawid , 2013 # Mateusz Łukasik , 2015 # Mateusz Łukasik , 2013 # mazdac , 2009 # megamann, 2014 # Mikhail Morfikov , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Polish (http://www.transifex.com/projects/p/spacefm/language/" "pl/)\n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM Otwórz Katalog" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Otwórz katalog" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM Wyszukaj pliki " #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Szukaj plików i folderów" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Menadżer plików " #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Przeglądaj system plików" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "przez IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Copyright (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Artur Kruszewski " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Wybierz Aplikację" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" "Proszę wybrać aplikację z listy lub wprowadzić ją ręcznie w linii poleceń" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Typ Pliku:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "W_szystkie Programy" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Polecenie:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "Przeglądaj" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Otwórz w konsoli" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Właściwości:" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Typ:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Otwórz _przez:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Całkowity Rozmiar:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Rozmiar Na Dysku:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Grupa:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "_Informacje" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Właściciel:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupa:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Właściciel:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupa:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Inne:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Odczyt" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Zapis" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Wykonanie" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Ustaw UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Ustaw GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Przyklejony" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "Uprawnienia" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bajty" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Każdy" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "W Ciągu Ostatniego Dnia" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "W ciągu ostatniego tygodnia" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "W ciągu ostatniego miesiąca" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "W ciągu ostatniego roku" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "W wyznaczonym okresie czasu" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Znajdź pliki" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Nazwa pliku:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Rozróżniaj wielkość liter" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Pliki wideo (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Pliki audio (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Pliki obrazów (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Pliki tekstowe" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Wszystkie pliki i foldery" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Typy plików do wyszukania" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Szukaj w podkatalogach" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Szukaj w ukrytych plikach" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Ścieżki do przeszukania" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Ogólne" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Plik zawiera:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Użyj wyrażeń regularnych" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Zawartość pliku" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Zawartość" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Większe niż:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Mniejsze niż:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Rozmiar pliku" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Ostatnio zmodyfikowany" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Rozmiar i data" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Wyniki wyszukiwania:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Przeszukaj jeszcze raz" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Idź do katalogu" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Otwórz w aktualnej karcie" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Otwórz w nowej karcie" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Rozciągnij" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Dopasuj" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Powiększ" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automatyczne" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopiuj (Ctrl+Przeciągnij)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Przesuń (Shift+Przeciągnij)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Odnośnik (Ctrl + Shift + Przeciągnij)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Preferencje" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Małe ikony:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Duże Ikony:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Ikony Paska Narzędzi:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Ikony" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Pojedyncze kliknięcie otwiera pliki" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Zakładki:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Pokaż Miniaturki" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Maksymalny Rozmiar Obrazu Miniaturki" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Lista plików" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "Ogólne" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Zawsze wyświetlaj panel kart" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Ukryj przyciski \"Zamknij Kartę\"" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Potwierdzanie usunięcia" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Kliknięcie uruchamia pliki wykonywalne" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Rozmiary plików w układzie SI (1K = 1000) (wymagany restart)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterfejs" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Tapeta:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Proszę wybrać plik obrazu" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Tryb:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Tło:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekst:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Cień:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Czcionka:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Góra:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Lewo:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Prawo:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Dół:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Marginesy" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Pulpit" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Zarządzanie wolumenami" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Graficzne SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Edytor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Uruchom edytor w terminalu" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Edytor Administratora:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Uruchom edytor administratora w terminalu" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Format daty:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(wymagane przeładowanie)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Zaawansowane" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Zbyt wiele kolumn (>%d) w %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "Błąd odczytu pliku% s:% s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "Plik \"% s\" nie jest zawarty w UTF-8" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Nie można przydzielić brakującego elementu '% s'" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "Plik '% s' nie jest zwykłym plikiem" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "Dynamiczna zmiana rozmiaru wymaga szerokości i wysokości> 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "wewnętrzne polecenie %s musi mieć argument" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "element '%s' nie istnieje" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "wewnętrzne polecenie naciśnij jest nieprawidłowe dla non-button %s" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "wewnętrzne polecenie un / select jest nieprawidłowe dla% s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "Błąd podczas zapisywania pliku %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' nie jest wewnętrznym poleceniem" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "błąd podczas tworzenia pliku %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "Potok '%s' zawiera nieprawidłowe dane UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" "[Ciach - wyjście dodatkowe powyżej zostały przycięte z tego dziennika]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "(Zawartość pliku nie jest zgodna z UTF-8)" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "przedrostek '%s' nie jest prawidłową nazwą zmiennej" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Wstrzymaj" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "plik '%s' nie jest zwykłym plikiem lub potokiem" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" "Okno dialogowe SpaceFM tworzy okno GTK oparte na niestandardowych " "elementach \n" "graficznych, ty podajesz w linii poleceń, funkcje czasu wykonywania \n" "poleceń wewnętrznych/zewnętrznych, którym można modyfikować elementy\n" "i wyjściowe wyniki evaluatable/parsable.\n" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" "Użycie:\n" "\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "spacefm --dialog|-g {ELEMENT [OPCJE] [ARGUMENTY...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" "Przykład:\n" "\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "spacefm -g --label \"Wiadomość\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "ELEMENT: OPCJE & ARGUMENTY:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "Następujące argumenty mogą być wykorzystywane jak pokazano powyżej:\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "SERIA %s\n" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "IKONA Nazwa ikony, np.: gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" "@ FILE Plik tekstowy, z którego można odczytać wartość.\n" "W niektórych przypadkach plik ten jest monitorowany, więc\n" "pisząc nową wartość do pliku aktualizuje element.\n" "W innych przypadkach, plik określa wartość początkową.\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "SAVEFILE Zawartość podglądu lub edytora są zapisywane do tego pliku.\n" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "WEWNĘTRZNE KOMENDY:\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" "\n" "PRZYKŁAD Z KOMENDAMI:\n" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "PRZYKŁAD SKRYPTU:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "Po pełną dokumentację i przykłady patrz instrukcję obsługi SpaceFM:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: argument zawiera nieprawidłowe dane UTF-8\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "niepoprawna opcja okna" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Ustaw tytuł okna" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Ustaw ikonę okna" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Dodaj ikonę" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Dodaj obrazek" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Dodaj pasek postępu" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "Zamknij okno dialogowe" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Otwórz katalogi w nowej karcie ostatnio używanego okna (domyślne)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Otwórz katalog w aktualnej karcie ostatnio używanego okna " #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Nie wczytuj zapisanych kart" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Otwórz katalogi w nowym oknie" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Otwórz katalogi w panelu 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Pokaż Ustawienia Pulpitu" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Uruchom jako deamon" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "Zobacz informacje o wersji" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd wymaga argumentu\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: nie można utworzyć gniazda\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" "spacefm: błędna odpowiedź z gniazda\n" "\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Użycie: " #: ../src/main.c:679 msgid "Example:" msgstr "Przykład:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" "METODY\n" "-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Ustawia właściwość" #: ../src/main.c:687 msgid "Gets a property" msgstr "Pobiera właściwość" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Ustawia właściwość zadania" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Pobiera właściwość zadania" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Uruchamia nowe zadanie" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Aktywuje pozycję menu przez emitowanie jego skrótu klawiszowego" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "Pokazuje niestandardowe podmenu o nazwie NAZWAMENU w menu kontekstowym" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Pokaż tą pomoc. (Zobacz także instrukcje w linku poniżej)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" "OPCJE\n" "--------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Określ okno. np:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Określ panel 1-4.np:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Określ kartę 1-... np:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" "WŁAŚCIWOŚCI\n" "----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "np. '1024x768' (tylko do odczytu)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "np. '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr " np. \"Obecny status: Przykład\"" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "KATALOG np '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[Wzór] np. '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" "WŁAŚCIWOŚCI ZADANIA\n" "----------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "np. 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "tekst do pokazania w kolumnie zliczeń zadań" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "tekst do pokazania w kolumnie zadań folderów" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "tekst do pokazania w całkowitej kolumnie zadań" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Rekursywnie kasuj PLIK(i) lub KATALOG(i)" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" "ZDARZENIA\n" "-------" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "Instancja startu %e" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "Instancja wyjście %e" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "Nowe okno %e %w %p %t" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Panel pokaż/ukryj %e %w %p %t %f %v" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "Nowa karta %e %w %p %t" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "Zamknij kartę %e %w %p %t" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "ID okna" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "numer panelu (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "numer karty (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "kod klawisza (np. 0x63)" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" "modyfikator klawisza (np. 0x4 użyty przy klikaniu i wciskaniu klawiszy)" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "Przykłady" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "Te pliki zostały już skopiowane do schowka " #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Dla pełnej dokumentacji i przykładów zobacz SpaceFM User's Manual:" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" "spacefm:Błąd: Nie można zapisać sesji\n" " %s\n" "\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Plik nie istnieje!" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Błąd" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Błąd: Nie można nawiązać połączenia z FAM.\n" "\n" "Czy \"FAM\" lub \"Gamin\" jest zainstalowany i działa?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "-- dialog musi być pierwszą opcją" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "--socket-cmd musi być pierwszą opcją" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Nie wiem jak otworzyć plik" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Nie można otworzyć pliku:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Wybierz Plik Wtyczki" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Wprowadź URL Wtyczki" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" "Podaj URL wtyczki SpaceFM\n" "\n" "(zostanie wykorzystany wget by pobrać plik wtyczki)" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" "Nazwa pliku tej wtyczki jest nieprawidłowa. Proszę zmień ją używając alfa-" "numerycznych znaków ASCII i spróbuj ponownie." #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Nieprawidłowa Nazwa Wtyczki" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" "Istnieje już wtyczka zainstalowana jako '%s'. Nadpisać?\n" "\n" "Wskazówka: Możesz także zmienić nazwę tej wtyczki by zainstalować ją pod " "inną nazwą." #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Nadpisać Wtyczkę ?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Błąd przy tworzeniu katalogu tymczasowego" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Nie można utworzyć katalogu tymczasowego" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "Błąd: Nie można zapisać pliku sesji\n" "\n" " (%s)" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Błąd Zapisu Sesji" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Otwórz okno administratora" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal Niedostępny" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" "Proszę ustawić program do obsługi terminalu w Widok|Preferencje|Zaawansowane" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Otwórz Terminal" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Pomoc Trybu Projektowania Wyglądu" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 #, fuzzy msgid "Panel" msgstr "_Panel" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Nowe_Polecenie" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Pokaż Panel %d" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Plik" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Widok" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "_Urządzenia" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "_Zakładki" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "_Wtyczki" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "_Narzędzia" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Pomoc" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" "Błąd: Nie można zapisać pliku sesji.Czy chcesz zakończyć bez zapisywania?\n" "\n" "( %s )" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "Błąd SpaceFM" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "Zatrzymać wszystkie działające zadania w tym oknie?" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "Przerywam zadania..." #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "%s wolne / %s" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "Dowiązanie → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "Dowiązanie → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "!Dowiązanie → %s/ (brakujące)" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "Dowiązanie → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "!Dowiązanie → %s (brakujące)" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "!Dowiązanie → (błąd podczas odczytywania celu)" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "ukryty" msgstr[1] "ukryte" msgstr[2] "ukryty" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Skróty klawiszowe Menedżera urządzeń są wyłączone w trybie HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "Status" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Katalog" #: ../src/main-window.c:4156 msgid "Item" msgstr "Element" #: ../src/main-window.c:4157 msgid "To" msgstr "Do" #: ../src/main-window.c:4157 msgid "Progress" msgstr "Postęp" #: ../src/main-window.c:4157 msgid "Total" msgstr "Wszystko" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "Pomoc zmiany kolejność kolumn" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" "Aby zmienić kolejność kolumn, przeciągnij nagłówek kolumny do wybranej " "lokalizacji." #: ../src/main-window.c:5745 msgid "moving" msgstr "przesuwanie" #: ../src/main-window.c:5746 msgid "copying" msgstr "kopiowanie" #: ../src/main-window.c:5747 msgid "trashing" msgstr "zaśmiecanie" #: ../src/main-window.c:5748 msgid "deleting" msgstr "usuwanie" #: ../src/main-window.c:5749 msgid "linking" msgstr "linkowanie" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "wstrzymany" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "w kolejce" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nazwa" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Rozmiar" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Typ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Uprawnienia" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "Właściciel" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "Zmodyfikowany" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "spacefm: błędne polecenie gniazda\n" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: błędna opcja '%s'\n" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: opcja %s wymaga argumentu\n" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "spacefm: błędne okno\n" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: błędne okno %s\n" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: błędny panel %d\n" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: panel %d nie jest widoczny\n" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: błędna karta %d\n" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: komenda wymaga argumentu\n" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: Nieprawidłowa wartość %s\n" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "spacefm: nieprawidłowa wartość suwaka\n" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "spacefm: błędny numer panelu\n" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "spacefm: błędny numer karty\n" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" "spacefm: błędna właściwość %s\n" "\n" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" "spacefm: błędna szerokość kolumny \n" "\n" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: błędna nazwa kolumny '%s'\n" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: tekst zawiera nieprawidłowe dane UTF-8\n" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s wymaga podania ścieżki do pliku\n" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: Błąd odczytu pliku '%s'\n" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: plik '%s' nie zawiera poprawnego tekstu UTF-8\n" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s wymaga ścieżkę do katalogu\n" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: katalog '%s' nie istnieje\n" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: polecenie %s wymaga argumentu\n" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s wymaga dwóch argumentów\n" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: nieprawidłowe żądanie '%s'\n" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: wewnętrzne żądanie %s jest tylko do odczytu\n" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: Cecha żądania '%s' jest tylko do odczytu\n" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: Nieprawidłowy stan kolejki '%s'\n" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: Nieprawidłowa cecha żądania '%s'\n" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: nie ma takiego katalogu '%s'\n" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: nie ma takiego pliku '%s'\n" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: nieprawidłowy kod dostępu '%s'\n" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "spacefm: własne podmenu '%s' nie znalezione\n" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: obsługa zdarzeń nie znaleziona\n" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Domyślne" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "Wybierz Czcionkę Pulpitu" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "Zapisz Ustawienia Administratora" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" "Zostaniesz teraz poproszony o hasło administratora by zapisać ustawienia dla " "tego użytkownika w pliku /etc/spacefm/ . Wpisanie tego hasła w nasŧepnym " "oknie jest zalecane ponieważ SpaceFM uruchamia kilka poleceń jako " "administrator przy pomocy su Te ustawienia są najlepiej chronione przez " "administratora." #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Katalog Domowy" #: ../src/settings.c:154 msgid "Up" msgstr "Do góry " #: ../src/settings.c:155 msgid "Back" msgstr "Wstecz" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Do przodu" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Odśwież" #: ../src/settings.c:160 msgid "New Tab" msgstr "Nowa karta" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Nowa Karta Tutaj" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "Duże Ikony:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "_Zatrzymaj" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "Pokaż _Menadżera" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "Automatycznie- _Ukryj Menadżera" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "Błęd_y" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Katalog" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "_Szczegółowe Statystyki" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "Us_uń/Wysuń" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "Ty_p" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "Ce_l" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "Pr_zykład" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" "# SpaceFM Plik Sesji\n" "\n" "TEN PLIK NIE JEST PRZEZNACZONY DO EDYCJI - będzie czytany i NADPISYWANY\n" "\n" "# Jeśli skasujesz wszystkie pliki session* , SpaceFM zostanie zresetowany do " "ustawień fabrycznych.\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Błąd podczas zapisu pliku" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "Błąd SpaceFM: Nie można automatycznie zapisać pliku sesji (%s)\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" "Błąd podczas odczytu ustawień z /etc/spacefm/ . Polecenia uruchamiane jako " "root mogą stanowić zagrożenie bezpieczeństwa." #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" "Nie znaleziono ustawień w /etc/spacefm/ . Ustawianie edytora dla " "administratora w Preferencjach powinno usunąć to ostrzeżenie przy starcie. W " "przeciwnym razie polecenia uruchamiane jako root mogą stanowić zagrożenie " "bezpieczeństwa." #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Pomoc Niedostępna" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Wtyczka nie zawiera pliku README." #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Nieudane utworzenie" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "Skopiuj błąd polecenia" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "Błąd podczas odczytu pliku wtyczki %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" "Zaimportowany katalog nie zawiera poprawnej wtyczki.\n" "\n" "(%s/)" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" "Plugin '%s' został skopiowany do schowka. Przejdź do Widok|Tryb " "Projektowania Wyglądu by wkleić go do menu.\n" "\n" "Ponieważ nie został on zainstalowany, ten plugin nie pojawi się w menu " "Wtyczek." #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" "Plugin '%s' został skopiowany do schowka. Przejdź do Widok|Tryb " "Projektowania Wyglądu by wkleić go do menu.\n" "\n" "Ponieważ nie został on zainstalowany, ten plugin nie pojawi się w menu " "Wtyczek i jego zawartość nie będzie chroniona przez administratora (po " "wklejeniu zostanie on zapisany ze zwykłymi prawami dostępu).\n" "\n" "Jeśli ten plugin zawiera polecenia su albo będzie uruchamiany jako " "administrator, instaluj i uruchamiaj go tylko przez menu Wtyczki. Jest to " "zalecane i poprawia bezpieczeństwo twojego systemu." #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" "Odinstalować '%s' wtyczkę?\n" "\n" "(%s)" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "Odinstaluj Wtyczkę" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "Zainstaluj Wtyczkę" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "Zapisz Jako Plik Wtyczki" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "Eksportuj Wtyczkę" #: ../src/settings.c:5495 msgid "Export Error" msgstr "Błąd wyeksportowania" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "Nie można utworzyć plików tymczasowych" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "Zmień Nazwę Menu" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "Nie Wybrano Edytora" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Proszę ustaw swój edytor w Widok|Preferencje|Zaawansowane" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "Edytora Administratora nie jest ustawiony" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Proszę ustaw edytor administratora w Widok|Preferencje|Zaawansowane" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "Edytuj %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Nie Znaleziono Podręcznika Użytkownika" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Manualne otwarcie?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "( puste )" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Anuluj" #: ../src/settings.c:6703 msgid "Unset" msgstr "Usuń " #: ../src/settings.c:6716 msgid "Set" msgstr "Ustaw" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Ustaw klawisz" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "Ustaw Ikonę" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Edycja wiersza poleceń" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "Wybierz Własny Program" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Uruchom jako Użytkownik" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" "Uruchom tą komendę jako użytkownik:\n" "\n" "(Pozostaw puste dla aktualnego użytkownika)" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 #, fuzzy msgid "Set Item Name" msgstr "Ustaw Nazwę Menu" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Wybierz Katalog" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "(puste)" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "Ustaw Nazwę Podmenu" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Nowe _Podmenu" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "( bez nazwy )" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr " Potwierdź Usunięcie" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Jesteś pewien?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "Wytni_j" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "_Kopiuj" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "_Wklej" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "_Usuń" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "E_ksportuj" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "_Nowy" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Zakładka" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "_Aplikacja" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "_Komenda" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Pod_menu" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "S_eparator" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "_Dodaj" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "_Skrót Klawiszowy" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "E_dytuj Jako Administrator" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "_Edytuj polecenie" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "Właściwości" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "Wybierz lokalizacje" #: ../src/settings.c:8993 msgid "_Edit" msgstr "Edytuj" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "Ustaw Ikonę Okna" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "_Domyślne" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9351 msgid "_Unset" msgstr "_Usuń" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "_Odmontuj" #: ../src/settings.c:10498 msgid "Re_load" msgstr "Prze_ładuj" #: ../src/settings.c:10502 msgid "_Sync" msgstr "_Synchronizuj" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Otwórz" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "_Zamontuj" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "Prze_/montuj" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "_Administrator" #: ../src/settings.c:10551 msgid "_Label" msgstr "_Etykieta" #: ../src/settings.c:10601 msgid "_Check" msgstr "_Sprawdź " #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "_Edytuj fstab" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "Edytuj u_devil.conf" #: ../src/settings.c:10613 msgid "_Format" msgstr "_Formatuj" #: ../src/settings.c:10673 msgid "_Backup" msgstr "_Kopia Zapasowa" #: ../src/settings.c:10695 msgid "_Restore" msgstr "_Przywróć " #: ../src/settings.c:10700 msgid "_From File" msgstr "_Z Pliku" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "Ustawie_nia" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "P_okaż" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "_Wewnętrzne Dyski" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "_Puste Dyski" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "_Tablice Partycji" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "_Zasoby..." #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "Pokaż/Ukryj Zasoby" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "_Zamontuj Automatycznie" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "Zamontuj _Czytnik Płyt" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "_Zamontuj Dysk Wymienny" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "Otwórz _Kartę" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "_Odmontuj przy wyjściu" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr " _Uruchom Automatycznie" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "Przy _Zamontowaniu" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "Uruchom Automatycznie Przy Zamontowaniu" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "Po Włożeniu _Dysku Audio" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "Uruchom Automatycznie Po Włożeniu Dysku Audio" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "Po Włożeniu Dysku _Wideo DVD" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "Uruchom Automatycznie Po Włożeniu Dysku Wideo DVD" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "Po włoże_niu " #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "Uruchom Automatycznie Po Włożeniu " #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "Przy _Odmontowaniu" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "Uruchom Automatycznie Przy Odmontowaniu" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "Przy _Usuwaniu" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "Uruchom Automatycznie Przy Usuwaniu" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "Zamontuj _Zasoby..." #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "Automatycznie Zamontuj Zasoby" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "_Opcje Montowania" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "Domyślne Opcje Montowania" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "Prze/montuj Z Opcjami" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "_Ikona" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "Dysk audio" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "Czytnik Płyt Zamontowany" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "Posiada nośniki optyczne" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "Brak nośników optycznych" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "Stacja Dyskietek Zamontowana" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "Stacja Dyskietek Odmontowana" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "Dysk Wymienny Zamontowany" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "Dysk Wymienny Odmontowany" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "Zamontowana sieć" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "_Ustawienia" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "_Nazwa" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "Śc_ieżka" #: ../src/settings.c:11056 msgid "_Option" msgstr "_Opcja" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Link" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "_Jako Administrator" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "_Czcionka" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "/home/user/Przykład Nazwapliku.rozszerzenie" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "Wyróżnienie _Paska" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "Kolor Wyróżnienia Paska Statusu" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "Wyróżnienie _Tekstu" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "Kolor Wyróżnienia Tekstu Paska Statusu" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "_Środkowy przycisk" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "Kopiuj _Nazwę" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "Kopiuj _Ścieżkę" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "_Ukryj Panel" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nowe _Okno" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "_Szukaj Pliku" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "_Terminal Administratora" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "Zapisz Ka_rty" #: ../src/settings.c:11162 msgid "E_xit" msgstr "O_puść" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "Panel _1" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "Panel _2" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "Panel _3" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "Panel _4" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "Pasek _Panelu" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "_Poprzedni" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "_Następny" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "_Ukryj" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "_Zakończ" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "_Okno" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Nowy" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "_Przesuń/Zmień Rozmiar" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "_Klik" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "Ustaw komendę Klik" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "_Przytrzymanie" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "Ustaw Komendę Przytrzymania Okna" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "Za_mknij" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Pokaż" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "Z_aznacz" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "_Karta" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Zamknij" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "Ustaw Polecenia Zamknięcia Karty" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "_Urządzenie" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "Tytuł Ok_na" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "Ustaw Format Tytułu Okna" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "_Ikona Okna" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "_Pełny ekran" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "_Tryb Projektowania Wyglądu" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "_Preferencje" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Narzędzia" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "_Instaluj" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "_Podręcznik Użytkownika" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "_Strona Domowa" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "SpaceFM _Wiadomości" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "_Pobierz Wtyczki" #: ../src/settings.c:11452 msgid "_Options" msgstr "_Opcje" #: ../src/settings.c:11457 msgid "_Browser" msgstr "_Przeglądarka" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "Wybierz Przeglądarkę HTML" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "_O Programie" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "_Status" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "_Liczba" #: ../src/settings.c:11519 msgid "_Item" msgstr "_Element" #: ../src/settings.c:11525 msgid "_To" msgstr "_Do" #: ../src/settings.c:11531 msgid "_Progress" msgstr "_Postęp" #: ../src/settings.c:11538 msgid "T_otal" msgstr "C_ałkowity" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "_Pozostały" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "A_ktualna Prędkość" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "_Średnia Prędkość" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Ws_trzymaj" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "_Kolejka" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "_Wznów" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "_Wszystkie Zadania" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "Czcionka Menadżera Zadań" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "kopiowanie Pliku 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11635 msgid "_Columns" msgstr "_Kolumny" #: ../src/settings.c:11640 msgid "_Popups" msgstr "_Powiadomienia" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "Pozostań Na _Wierzchu" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "Każdy _Obszar Roboczy" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "_Nadpisz Opcję" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "Czcionka Powiadomień Zadań (dotyczy nowych zadań)" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "Przykład wyjścia 0123456789" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "_Kontynuuj" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "Kole_jka" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "Sprytna Kolejka" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "Po _Nazwie" #: ../src/settings.c:11741 msgid "By _Type" msgstr "Według _Typu" #: ../src/settings.c:11744 msgid "By _Date" msgstr "Po _Dacie" #: ../src/settings.c:11747 msgid "By _Size" msgstr "Według _Rozmairu" #: ../src/settings.c:11750 msgid "_Custom" msgstr "_Własne" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "_Rosnąco" #: ../src/settings.c:11756 msgid "D_escending" msgstr "M_alejąco" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "Ustawienia _Pulpitu" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "Urząd_zenia" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "_Katalog Pulpitu" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "Edytor Czcionki" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "Przykład wejścia 0123456789" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "W_ykonaj" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "Edyt_uj" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "Edytuj Jako _Administrator" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "_Wybierz..." #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Wszystkie pliki i foldery" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "W _Karcie" #: ../src/settings.c:11839 msgid "N_ew" msgstr "N_owy" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "Karta _1" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "Karta _2" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "Karta _3" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "Karta _4" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "Karta _5" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "Karta _6" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "Karta _7" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "Karta _8" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "Karta _9" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "Karta 1_0" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "W _Panelu" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "_Rozpakuj" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Wypakuj do..." #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "_Pokaż Zawartość" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "_Utwórz Podkatalog" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "_Prawo Zapisu" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "Kat_alog" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Zakładka" #: ../src/settings.c:11950 msgid "_Archive" msgstr "_Archiwum" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "_Karta" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "Karta _Tutaj" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "Idź" #: ../src/settings.c:11973 msgid "_Back" msgstr "_Wstecz" #: ../src/settings.c:11975 msgid "_Forward" msgstr "_Na Przód" #: ../src/settings.c:11977 msgid "_Up" msgstr "_Góra" #: ../src/settings.c:11979 msgid "_Home" msgstr "_Katalog Domowy" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "_Ustaw domyślne" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "_Lista plików" #: ../src/settings.c:11997 msgid "_Tree" msgstr "_Drzewo" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "Do _Karty" #: ../src/settings.c:12010 msgid "_Close" msgstr "_Zamknij" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "Sty_l" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "K_olumny" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "_Przegrupuj" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "_Sortuj" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "_Rozmiar" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "_Typ" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "_Uprawnienia" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "_Właściciel" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "_Zmodyfikowano" #: ../src/settings.c:12066 msgid "_Descending" msgstr "_Malejąco" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "_Rozróżniaj wielkość liter" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "Najpierw Ka_talogi" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "Najpierw P_liki" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "Mi_eszany" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "_Najpierw Ukryte" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "Ukryte Na _Końcu" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "Odś_wież" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Zmień nazwę" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Usuń" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "Wklej _Link" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "Wklej _Cel" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "Wklej _Jako" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "_Kopiuj Do" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "L_okalizacja" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "O_statnia lokalizacja" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Karty" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12192 msgid "_Move To" msgstr "_Przenieś Do" #: ../src/settings.c:12196 msgid "_Location" msgstr "_Lokalizacja" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Karty" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12229 msgid "_Select All" msgstr "_Zaznacz Wszystko" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "_Odznacz Wszystko" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "Odwróć zaznaczenie" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "A_dministrator" #: ../src/settings.c:12244 msgid "Move _To" msgstr "Przenieś _Do" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "Właściwoś_ci" #: ../src/settings.c:12260 msgid "_Quick" msgstr "_Szybko" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "_Rekursywnie" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "_Pasek Narzędzi" #: ../src/settings.c:12372 msgid "T_ree" msgstr "D_rzewo" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "_Boczny Pasek Narzędzi" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "_Szczegółowy" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikony" #: ../src/settings.c:12401 msgid "_Compact" msgstr "_Kompaktowy" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "_Ukryte Pliki" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Przykład 1.1 M plik -rwxr--r-- użytkownik:grupa 2011-01-01 01:11" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [brak dysku] : PRZYKŁAD" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "Przykład nazwy zakładki" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/przykład" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "12 G wolne / 200 G 52 elementy" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "_Nowa Karta" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "_Pojedyncze kliknięcie" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" "Katalog nie istnieje\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" "Niemożliwy dostęp %s\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Wybierz przez wzorzec" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "Wybierz lokalizacje" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "Nieprawidłowy Cel" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "Cel taki sam jak źródło" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "Nieprawidłowe przeznaczenie" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "Ukryj Plik" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "Błąd ukrycia plików" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "Nie wybrano plików" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Nie można zamontować urządzenia" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Nie można odmontować urządzenia" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Nie można wysunąć" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "Nieskonfigurowany udev" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" "Zamontowanie zasobów sieciowych wymaga SpaceFM skompilowanego z obsługą " "udev'a (--disabel-hal)." #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "Zamontuj %s" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" "%s jest aktualnie zamontowany.Zanim go sprawdzisz musisz go odmontować." #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "Urządzenie Jest Zamontowane" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "Sprawdź Jako Administrator" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "SPRAWDŹ JAKO ADMINISTRATOR" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "Sprawdź Jako Administrator %s" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "Zamontuj Jako Administrator" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "ZAMONTUJ JAKO ADMINISTRATOR" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "Zamontuj Jako Administrator %s" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "Odmontuj Jako Administrator" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "ODMONTUJ JAKO ADMINISTRATOR" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "Odmontuj Jako Administrator %s" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "Zmień Etykietę Zasobu" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "Zmień Etykietę Jako Administrator" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "Odmontuj %s" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "Usuń %s" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "Przemontuj %s" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "Przeładuj %s" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "Synchronizuj" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" "%s jest aktualnie zamontowany.Zanim go sformatujesz musisz go odmontować." #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "(CAŁE URZĄDZENIE)" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "Formatuj" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "Formatuj %s" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" "%s jest aktualnie zamontowany.Zanim go sprawdzisz musisz go przywrócić." #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "Wybierz Kopie Zapasową do Przywrócenia" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "Przywróć MBR" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "Nieznany Typ" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "Przywróć" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "%s Przywróć %s" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "Nie znaleziono katalogu /etc/udevil. Czy udevil jest zainstalowany?" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "Plik MBR" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "Zapisz backup %s" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "Nadpisać?" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "Wybrany backup istnieje. Nadpisać?" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "Kopia Zapasowa" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "%s Kopia Zapasowa %s" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "Właściwości %s" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "Wysuń" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "K_olejka" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Wz_nów " #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Przenieś: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopiuj: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Kosz:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Usuń: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Dowiąż: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Zmień:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Uruchom:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Przenoszenie..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopiowanie..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Usuwanie..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Usuwanie..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Dowiązywanie..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Uruchamianie..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Z:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Do :" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Postęp:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Status:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Wstrzymany" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "W kolejce" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Zapytaj" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Nadpisz Wszystkie" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Pomiń Wszystkie" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Kontynuuj" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Zatrzymany" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Błędy" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Zakończone" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s pozostało" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Zakończono z błędami" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Wstrzymane (pid %d)" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Przenoszenie z katalogu:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Kopiowanie z katalogu:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Katalog Istnieje" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" "Katalog o podanej nazwie już istnieje. Proszę zmienić nazwę lub " "wybrać opcję." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "»! nadpisz plik dowiązaniem !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "większy " #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "mniejszy" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "nowszy" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "starszy" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" "Plik o podanej nazwie już istnieje. Proszę zmienić nazwę lub wybrać " "opcję." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Wymagana Zmiana Nazwy" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "W katalogu:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "_Nadpisz" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Nadpisz _Wszystkie" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Wstrzymaj" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Pomiń" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "Po_miń Wszystkie" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Do katalogu:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Nazwa Katalogu:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Zmień nazwę" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "Zm_ień nazwę automatycznie" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Zmi_eń wszystkie nazwy automatycznie" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "Archiwum" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "Wypakuj Do" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "kopiuj" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "Wypakuj %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Zakończono!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Polecenie:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "System plików" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "( brak podfolderów )" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "_Ustaw Jako Domyślne" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "_Dodaj..." #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "nowy" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Potwierdź Skasowanie " #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "_Nazwa:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "_Nazwa pliku:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Przenieś" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Wybierz przykładowy plik" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Wybierz przykładowy folder" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Przeglądaj" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Naz_wa pliku" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Wstaw jako" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "U_twórz " #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Utwórz nowy" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Plik" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Katalog" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Dowiązanie" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Przenieś" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "K_opiuj" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Kopiuj" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Utwórz Dowiązanie Do" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Cel Dowiązania" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Cel" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "Jako Administrator" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Dowiązanie" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "Plik" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "Opc_je" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "&_Otwórz" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Dowiązanie -> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Dowiązanie -> %s (nie istnieje)" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "_Cel:" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "_Szablon" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Pusty Plik" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Pusty Katalog" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "R_ozszerzenie:" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "Przeni_eś" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "Kopiu_j" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "Dowiąza_nie" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "Ce_l Dowiązania" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "J_ako Administrator" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "Pli_k" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "Kat_alog" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "_Link" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "Nowy" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "Utwórz folder nadrzędny" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "Błąd Mkdir" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "Nadpisz Istniejący Plik" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "OSTRZEŻENIE NADPISANIA" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "Utwórz Dowiązanie%s" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "Brakujący szablon" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "Określony szablon nie istnieje" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "Utwórz Nowy Plik%s" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "Utwórz Nowy Katalog%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "Kopiuj%s" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "Przenieś%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Błąd zmiany nazwy" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Nowy folder" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "Nazwa nowego katalogu:" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Nowy plik" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "Nowa nazwa pliku:" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "Nowy plik nie może zostać utworzony" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "Potwierdź Skasowanie Jako Administrator" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "SKASUJ JAKO ADMINISTRATOR" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "Skasuj Jako Administrator" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "Przenieś Jako Administrator" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "Kopiuj Jako Administrator" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d katalog" msgstr[1] "%d katalogi" msgstr[2] "%d katalogi" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d plik, %s" msgstr[1] "%d pliki, %s" msgstr[2] "%d pliki, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d pliki" msgstr[1] "%d pliki" msgstr[2] "%d pliki" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "Wybierz..." #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "Nazwa _Katalogu:" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 plik" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Obliczanie..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Niewłaściwy użytkownik" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Niewłaściwa grupa" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 #, fuzzy msgid "Archive Handlers" msgstr "Archiwum" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "Etykieta Urządzenia" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Menadżer plików " #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "Uruchom w terminalu" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Proszę wybrać aplikacje:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Polecenie nieznalezione" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Katalog docelowy \"%1$s\" jest zawarty w ścieżce źródłowej \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "Dostęp" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Usuwam" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Tworzenie katalogu" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Tworzenie dowiązania" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Zapisywanie" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Tworzenie" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Zmiana nazwy" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" "Proszę zainstalować /usr/bin/sha256sum tak bym mógł poprawić twoje " "bezpieczeństwo podczas wykonywania poleceń administratora\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminal SU niedostępny" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Graficzny SU niedostępny" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Nie można utworzyć katalogu tymczasowego" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "Błąd zapisu pliku tymczasowego" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" "\n" "%s %s\n" "Błąd: %s\n" "\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Wolumin" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s napęd" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s napęd" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Napęd dyskietek" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Karta pamięci Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Karta pamięci Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Karta pamięci Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Karta pamięci SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Napęd Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Napęd Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pendrive" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Odtwarzacz muzyczny" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Aparat cyfrowy" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Napęd" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Zewnętrzny %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Dysk CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Pusty dysk CD-R" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Dysk CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Pusty dysk CD-RW" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Dysk CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Dysk DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Pusty dysk DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Dysk DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Pusty dysk DVD-R" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Dysk DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Pusty dysk DVD-RW" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Dysk DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Pusty dysk DVD+R" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Dysk DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Pusty dysk DVD+RW" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Dysk DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Dysk audio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s wolumin przenośny" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Wolumin" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Podłączanie do demona HAL nie powiodło się: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Podane urządzenie \"%s\" nie jest woluminem ani napędem." #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" "Urządzenie \"%s\" nie zostało znalezione w systemowym pliku tabeli urządzeń" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Nie masz uprawnień aby zamontować wolumin \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Nie masz uprawnień aby odmontować wolumin \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Nie masz uprawnień aby wysunąć wolumin \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Niewłaściwa opcja montowania przy próbie montowania woluminu \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Wolumin \"%s\" używa systemu plików %s który nie jest obsługiwany " "przez twój system." #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Aplikacja blokuje wolumin \"%s\" przed odmontowaniem." #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Wolumin \"%s\" nie jest zamontowany" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Błąd %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" "Wolumin \"%s\" prawdopodobnie został zamontowany ręcznie z linii poleceń" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Puste dyski nie mogą zostać zamontowane, użyj programu do nagrywania aby " "nagrać dane na dysk." #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Dysk CD Audio nie może zostać zamontowany, użyj odtwarzacza muzyki aby " "odtworzyć ścieżki audio." #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr ":stacja dyskietek" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr ":czytnik płyt" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" "\n" "Automatycznie Odmontuj: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" "\n" "Automatyczne montowanie: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Nie można zmienić nazwy" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Zmień nazwę skrótu na pulpicie" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Wystąpił błąd zmiany nazwy tego elementu pulpitu" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Otwórz _Katalog Zawierający" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Zaznacz katalog" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Przeglądaj..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Lokalne Zasoby" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Ostatnio zmodyfikowany" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "Typ MIME" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Nazwa pliku" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Folder" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Plik jest tekstem" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Plik jest katalogiem" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Plik jest dowiązaniem" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Użytkownik jest Rootem" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Wielokrotne zaznaczenie" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Aktualna Karta" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Zakładka" #: ../src/item-prop.c:122 msgid "Device" msgstr "Urządzenie" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Miejsce Zamontowania Urządzenia" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Etykieta Urządzenia" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "Urządzenie UDI" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Właściwości Urządzenia" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Rodzaj Zadania" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Nazwa Zadania" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "zawiera" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "nie zawiera" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "jest większe niż" #: ../src/item-prop.c:215 msgid "matches" msgstr "pasujące" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "nie pasuje" #: ../src/item-prop.c:222 msgid "Application" msgstr "Aplikacja" #: ../src/item-prop.c:223 msgid "Command" msgstr "Polecenie" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Aktualnie: Pokazane" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Aktualnie: Ukryte" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Aktualnie: Wyłączone" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "Aktualnie: Wyłączone" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Zapisać zmodyfikowany skrypt?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Zapisz zmiany w skrypcie polecenia?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Nadpisać skrypt?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "(brak plików)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Wybierz Program" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Polecenie nieznalezione" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Preferencje elementów menu" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "_Element menu" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Typ:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Nazwa:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Klawisz:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Ikona:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "Z_astosuj" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "dopasowuje dowolny zasadę:" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "dopasowuje wszystkie reguły:" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "Pokaż" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "Włącz" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "Ukryj" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "Wyłącz" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "Edytuj Regułę" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "Wartość:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "nic" #: ../src/item-prop.c:1962 msgid "files" msgstr "pliki" #: ../src/item-prop.c:1964 msgid "devices" msgstr "urządzenia" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "_Skrypt" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "Otwórz w _Edytorze" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "Uruchom opcje" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "Pozostaw terminal otwarty" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "Uruchom jako użytkownik:" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "Styl" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "Normalny" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "Pole wyboru" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "Wejście" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "Otwórz w przeglądarce:" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "Separator" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" #~ msgid "Change Icon" #~ msgstr "Zmień Ikonę" spacefm-1.0.5/po/ps.po000066400000000000000000004731111264770501700145530ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Pushto (http://www.transifex.com/projects/p/spacefm/language/" "ps/)\n" "Language: ps\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/pt.po000066400000000000000000005325641264770501700145640ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Sérgio Marques , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/spacefm/" "language/pt/)\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Abrir pasta" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Procura de ficheiros SpaceFM" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Procurar ficheiros e diretórios" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Gestor de ficheiros" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Explorar sistema de ficheiros" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "de IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "Nuno Miguel \\n\n" "Sérgio Marques " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Escolha a aplicação" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Escolha uma aplicação ou introduza o comando:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Tipo de ficheiro:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Aplicações associadas" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "Todas as ap_licações" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Comando:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "P_rocurar" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Abrir no terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Propriedades do ficheiro" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Tipo:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Aber_to com:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Tamanho total:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Tamanho em disco:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Contagem:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "_Informações" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "D_ono:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupo:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Dono:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupo:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Outra:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Leitura" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Escrita" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Execução" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Mudar UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Mudar GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Fixo" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Permissões" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Qualquer" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Em 1 dia" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Em 1 semana" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Em 1 mês" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Em 1 ano" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "No intervalo selecionado" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Localizar ficheiros" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Sensível à capitalização" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Ficheiros vídeo (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Ficheiros áudio (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Imagens (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Ficheiros de texto" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Todos os ficheiros e pastas" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Tipos de ficheiro a procurar" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Procurar em subdiretórios" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Procurar ficheiros ocultos" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Locais a procurar" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Geral" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Ficheiro contém:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Utilizar expressão regular" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Conteúdo do ficheiro" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Conteúdo " #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Maior que:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Menor que:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Tamanho do ficheiro" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Última modificação" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Tamanho e data" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Resultado da procura:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Procurar novamente" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ir para pasta" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Abrir no separador atual" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Abrir em novo separador" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Esticar" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Ajustar" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centrar" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Lado a lado" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Ampliação" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automático" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Copiar (Ctrl+arrasto)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Mover (Shift+arrasto)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Ligação (Ctrl+Shift+arrasto)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Preferências" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Ícones pequenos:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Ícones grandes:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Ícones da barra:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Um clique para abrir ficheiros" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Marcadores:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Mostrar miniaturas" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Tamanho máximo da miniatura:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Geral" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Mostrar sempre a barra de separadores" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Ocultar \"Fechar separador\"" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Confirmação ao eliminar ou remover" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterface" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Papel de parede:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Por favor selecione uma imagem" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modo:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Fundo:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Texto:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Sombra:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Área _de trabalho" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Gestor de _volumes" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal: " #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "SU gráfico:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Formato de data:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(tem que recarregar)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Exibição de data" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avançado" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Demasiadas colunas (>%d) em %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "erro ao ler o ficheiro %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "o ficheiro %s possui contéudo não UTF-8" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Elemento em falta %s não pode ser definido" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "o ficheiro %s não é um ficheiro regular" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "O redimensionamento dinamico requer largura e altura > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "o comando interno %s requer um argumento" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "o elemento %s não existe" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "erro ao escrever o ficheiro %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "%s não é um comando interno" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "erro ao criar o ficheiro %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "os dados do canal %s não são UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" "[ SNIP - os detalhes acima foram resumidos neste registo]\n" "\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "(conteúdo do ficheiro não é UTF-8)" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "o prefixo %s não é um nome de variável válido" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Pausa" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "%s não é um canal ou ficheiro regular" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Utilização:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ELEMENTO [OPÇÕES] [ARGUMENTOS...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Exemplo:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Mensagem\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "ELEMENTO: OPÇÕES E ARGUMENTOS:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "Estes argumentos podem ser utilizados como mostrados acima:\n" "\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "STOCK %s\n" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "ICON O nome do ícone, ex.: gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" "@FILE O ficheiro a partir do qual o valor deve ser lido. Em " "alguns casos, o ficheiro poderá ser monitorizado e a escrita " "de um novo valor irá atualizar o elemento. Nos restantes casos, o ficheiro " "especifica o valor inicial.\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "SAVEFILE O conteúdo do visualizador ou editor é gravado no ficheiro.\n" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "Comandos internos:\n" "\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" "\n" "Exemplo com comandos:\n" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" " spacefm -g --label \"O texto que me apetecer e premir Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "Script de exemplo:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "Para mais documentação e exemplos, consulte o manual de utilizador:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: argumento não é UTF-8\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "opção inválida" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Definir título da janela" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Definir ícone da janela" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Adicionar campo de texto" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Executar como serviço" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "Mostrar procura de ficheiros" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Utilização:" #: ../src/main.c:679 msgid "Example:" msgstr "Exemplo:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" "MÉTODOS\n" "-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Define uma propriedade" #: ../src/main.c:687 msgid "Gets a property" msgstr "Obter uma propriedade" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Definir a propriedade da tarefa" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Obter propriedade de uma tarefa" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" "OPÇÕES\n" "-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" "Adicione as opções depois do MÉTODO para especificar uma janela, painel ou " "separador." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" "Se não o fizer, o atual separador do atual painel da última janela será " "utilizado." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Especifique a janela. Ex.:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Especifique o painel 1-4. Ex.:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Especifique o separador 1-... Ex.:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" "PROPRIEDADES\n" "----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" "EVENTOS\n" "------" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "ID de janela" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "número de painel (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "número de separador (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "código (ex.: 0x63)" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "tecla modificadora ex.: 0x4 utilizada com cliques e pressão de tecla)" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "O ficheiro não existe!" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Erro" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Erro. Não foi possível estabelecer ligação com FAM.\n" "\n" "Tem o \"FAM\" ou o \"Gamin\" instalado e em execução?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Não foi possível abrir o ficheiro" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Não foi possível abrir o ficheiro:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Escolha o ficheiro do extra" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Introduza o URL do extra" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" "Introduza o URL do extra SpaceFM:\n" "\n" "(será utilizado o wget para transferir o ficheiro)" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" "O nome de ficheiro deste extra é inválido. Mude o nome do ficheiro para " "valores alfannuméricos ASCII e tente novamente." #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Nome de ficheiro inválido" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" "Já existe um extra %s instalado. Substituir?\n" "\n" "Também pode mudar o nome do ficheiro e instalar o extra com outro nome." #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Substituir?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Erro ao criar o diretório temporário" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Ocorreu um erro ao criar o diretório temporário" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "Erro. Não foi possível gravar o ficheiro de sessão\n" "\n" "(%s)" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Erro ao gravar sessão" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Abrir janela de root" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal não disponível" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Tem que definir o programa de terminal em Ver->Preferências->Avançado" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Abrir terminal" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Ajuda do modo de desenho" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 #, fuzzy msgid "Panel" msgstr "_Painel" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Novo _comando" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Mostrar o painel %d" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Ficheiro" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Ver" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "_Dispositivos" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "_Marcadores" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "E_xtras" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "Ferramen_tas" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "Aj_uda" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" "Erro. Não foi possível gravar o ficheiro da sessão, Quer sair da sessão sem " "a gravar?\n" "\n" "(%s)" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "Erro SpaceFM" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "Parar todas as tarefas desta janela?" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "A abortar tarefas..." #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr " %s disponível/%s " #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "Atalho → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "Atalho → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "!Atalho→ %s/ (em falta)" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "Atalho → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "!Atalho → %s (em falta)" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "oculto" msgstr[1] "ocultos" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d itens %s" msgstr[1] "%s%d items %s" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" "OS atalhos de teclado do gestor de dispositivos estão inativos no modo HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "Estado" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Pasta" #: ../src/main-window.c:4156 msgid "Item" msgstr "Item" #: ../src/main-window.c:4157 msgid "To" msgstr "Para" #: ../src/main-window.c:4157 msgid "Progress" msgstr "Evolução" #: ../src/main-window.c:4157 msgid "Total" msgstr "Total" #: ../src/main-window.c:4158 msgid "Started" msgstr "Iniciado" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "Decorrido" #: ../src/main-window.c:4158 msgid "Current" msgstr "Atual" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "Restante" #: ../src/main-window.c:4159 msgid "Average" msgstr "Média" #: ../src/main-window.c:4159 msgid "Remain" msgstr "Restante" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "Ajuda para organizar colunas" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" "Para mudar a ordem das colunas, arraste o seu cabeçalho para o local " "escolhido." #: ../src/main-window.c:5745 msgid "moving" msgstr "movimentação" #: ../src/main-window.c:5746 msgid "copying" msgstr "cópia" #: ../src/main-window.c:5747 msgid "trashing" msgstr "destruição" #: ../src/main-window.c:5748 msgid "deleting" msgstr "eliminação" #: ../src/main-window.c:5749 msgid "linking" msgstr "ligação" #: ../src/main-window.c:5750 msgid "changing" msgstr "alteração" #: ../src/main-window.c:5751 msgid "running" msgstr "execução" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "pausa" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "na fila" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Nome" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Tamanho" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipo" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Permissão" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "Dono" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "Modificado" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" "spacefm: comando socket inválido\n" "\n" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: opção inválida %s\n" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" "spacefm: opção %s requer um argumento\n" "\n" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "spacefm: janela inválida\n" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: janela inválida %s\n" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" "spacefm: painel inválido %d\n" "\n" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: painel %d não visível\n" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: separador inválido %d\n" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" "spacefm: o comando definido requer um argumento\n" "\n" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: valor %s inválido\n" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" "spacefm: valor inválido\n" "\n" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "spacefm: valor de painel inválido\n" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "spacefm: número de separador inválido\n" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: propriedade %s inválida\n" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" "spacefm: largura de coluna inválida\n" "\n" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: nome de coluna inválido %s\n" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" "spacefm: texto não é UTF-8 válido\n" "\n" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" "spacefm: %s requer um caminho de ficheiro\n" "\n" "\n" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" "spacefm: erro ao ler o ficheiro %s\n" "\n" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" "spacefm: o ficheiro %s não contém texto UTF-8 válido\n" "\n" "\n" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" "spacefm: %s requer um caminho de diretório\n" "\n" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" "spacefm: diretório %s não existe\n" "\n" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" "spacefm: comando %s requer um argumento\n" "\n" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" "spacefm: %s requer 2 argumentos\n" "\n" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" "spacefm: tarefa inválida %s\n" "\n" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" "spacefm: a tarefa %s é de leitura\n" "\n" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" "spacefm: a propriedade %s é de leitura\n" "\n" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: queue_state %s inválido\n" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: propriedade de tarefa inválida %s\n" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" "spacefm: código inválido %s\n" "\n" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" "spacefm: submenu %s não encontrado\n" "\n" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "spacefm: menu %s oculto ou inativo\n" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" "spacefm: gestor de evento não encontrado\n" "\n" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Pré-definido" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Pasta pessoal" #: ../src/settings.c:154 msgid "Up" msgstr "Subir" #: ../src/settings.c:155 msgid "Back" msgstr "Recuar" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Avançar" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Atualizar" #: ../src/settings.c:160 msgid "New Tab" msgstr "Novo separador" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Novo separador aqui" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "Ícones grandes:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "_Parar" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "_Mostrar gestor" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "_Ocultar gestor" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "Err_os" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Pasta" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "Remo_ver/Ejetar" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" "# Ficheiro da sessão SpaceFM\n" "\n" "# ESTE FICHEIRO NÃO DEVE SER EDITADO - será lido e ALTERADO\n" "\n" "# Se eliminar todos os ficheiros da sessão, o SpaceFM reiniciará com as " "definições originais.\n" "\n" "\n" "\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Erro ao gravar ficheiro" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "Erro SpaceFM. Não foi possível gravar o ficheiro de sessão (%s)\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Ajuda não disponível" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Este extra não inclui um ficheiro README." #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Falha na criação" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "Ocorreu um erro ao criar o ficheiro README com este comando." #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "Editar %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Manual de utilizador não encontrado" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" "Que ler o manual na Internet?\n" "\n" "A cópia local do manual de utilizador não foi encontrada. Clique Sim para " "ler na web ou Não para definir a localização do manual em Ajuda -> Opções -> " "Localização do manual." #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Manual aberto?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" "O manual de utilizador do SpaceFM deve ser aberto no navegador web. Se o " "manual não foi aberto ou se quiser utilizar outro navegador, defina o " "navegador em Ajuda -> Opções -> Navegador.\n" "\n" "Esta mensagem não será exibida novamente." #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Cancelar" #: ../src/settings.c:6703 msgid "Unset" msgstr "Não definido" #: ../src/settings.c:6716 msgid "Set" msgstr "Definido" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Definir chave" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "Definir ícone" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Editar linha de comandos" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Executar como utilizador" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" "Executar este comando como utilizador:\n" "\n" "(Deixe em branco para utilizar o atual)" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Novo _submenu" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "(sem nome)" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "Confirmação de remoção" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Tem a certeza?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "Mensagem" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" "Introduza a mensagem a exibir neste diálogo:\n" "\n" "Utilize:\n" "⇥\\n⇥newline⏎\n" "⇥\\t⇥tab" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "Cor_tar" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "_Copiar" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "Co_lar" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "_Remover" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "E_xportar" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "_Novo" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Marcador" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Sub-_menu" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "S_eparador" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "_Adicionar" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Propriedades" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "Escolha a localização" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Editar" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "Pré-defini_do" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "D_esmontar" #: ../src/settings.c:10498 msgid "Re_load" msgstr "Re_carregar" #: ../src/settings.c:10502 msgid "_Sync" msgstr "_Sincronizar" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Abrir" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "_Montar" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "Montar _novamente" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "_Root" #: ../src/settings.c:10551 msgid "_Label" msgstr "Eti_queta" #: ../src/settings.c:10601 msgid "_Check" msgstr "Verifi_car" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "_Editar fstab" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "Editar u_devil.conf" #: ../src/settings.c:10613 msgid "_Format" msgstr "_Formatar" #: ../src/settings.c:10673 msgid "_Backup" msgstr "_Backup" #: ../src/settings.c:10695 msgid "_Restore" msgstr "_Restaurar" #: ../src/settings.c:10700 msgid "_From File" msgstr "Do _ficheiro" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "_Informações do ficheiro" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "Defi_nições" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "Mo_strar" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "Un_idades internas" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "Unidad_es vazias" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "Tabela de _partições" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "Redes mo_ntadas" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "_Volumes..." #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "Mostrar/ocultar volumes" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "Mont_ar automaticamente" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "M_ontar óticas" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "_Montar amovíveis" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "Abrir _separador" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "Desmontar ao _sair" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "Executa_r automaticamente" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "Ao _montar" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "Executar ao montar" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Introduza o programa ou linha de comandos a executar ao inserir uma unidade " "amovível ou disco de dados:\n" "\n" "Utilização:\n" "\t%%v\t dispositivo (ex. /dev/sda1)\n" "\t%%l\tetiqueta do dispositivo\n" "\t%%m ponto de montagem do dispositivo (ex. /media/disk)" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "Í_cone" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "Definiçõe_s" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "_Nome" #: ../src/settings.c:11037 msgid "_Parent" msgstr "Su_perior" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "C_aminho" #: ../src/settings.c:11056 msgid "_Option" msgstr "_Opção" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Ligação" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "Copiar des_tino" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "Destino da li_gação" #: ../src/settings.c:11074 msgid "_As Root" msgstr "_Como root" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "_Tipo de letra" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "_Confirmação" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "Destacar _barra" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "Cor de destaque da barra de estado" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "Destacar _texto" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "Cor de destaque do texto da barra de estado" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "Copiar _nome" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "Co_piar caminho" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "_Ocultar painel" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nova _janela" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "Janela de r_oot" #: ../src/settings.c:11141 msgid "_File Search" msgstr "Procura de _ficheiros" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "Terminal _root" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "Gravar se_paradores" #: ../src/settings.c:11162 msgid "E_xit" msgstr "S_air" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "Painel _1" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "Painel _2" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "Painel _3" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "Painel _4" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "_Barra de painel" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "_Anterior" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "Segui_nte" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "_Ocultar" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "_Instância" #: ../src/settings.c:11248 msgid "_Startup" msgstr "Arranq_ue" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "Definir comando de arranque de instância" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Novo" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "_Clique" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "Defina o comando" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "_Painel" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "Mo_strar" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "Defina o comando para mostrar o painel" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "S_elecionar" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "Defina o comando de seleção do painel" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "_Separador" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "_Preferências" #: ../src/settings.c:11378 msgid "_Tool" msgstr "Ferramen_ta" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "_Instalar" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "_Detalhado" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "Manual de _utilizador" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "Página _web" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "_Novidades SpaceFM" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "Obter e_xtras" #: ../src/settings.c:11452 msgid "_Options" msgstr "_Opções" #: ../src/settings.c:11457 msgid "_Browser" msgstr "_Navegador" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "Escolha o navegador HTML" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "_Sobre" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "E_stado" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "_Contagem" #: ../src/settings.c:11519 msgid "_Item" msgstr "_Item" #: ../src/settings.c:11525 msgid "_To" msgstr "_Para" #: ../src/settings.c:11531 msgid "_Progress" msgstr "_Progresso" #: ../src/settings.c:11538 msgid "T_otal" msgstr "T_otal" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "I_niciado" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "D_ecorrido" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "Velocidade at_ual" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "Velocid_ade média" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pa_usa" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "_Fila" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "_Retomar" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "Mo_strar resultado" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "Tod_as as tarefas" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "Tipo de letra do gestor de tarefas" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "a copiar ficheiro 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11635 msgid "_Columns" msgstr "_Colunas" #: ../src/settings.c:11640 msgid "_Popups" msgstr "_Alertas" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "_Ascendente" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "Dispositi_vos" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "E_xecutar" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "Edi_tar" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "Editar como _root" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "E_colher..." #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Todos os ficheiros e pastas" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "No _separador" #: ../src/settings.c:11839 msgid "N_ew" msgstr "N_ovo" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "Separador _1" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "Separador _2" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "Separador _3" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "Separador _4" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "Separador _5" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "Separador _6" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "Separador _7" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "Separador _8" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "Separador _9" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "Separador 1_0" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "No _painel" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "_Extrair" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Extrair _para" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Marcador" #: ../src/settings.c:11950 msgid "_Archive" msgstr "_Arquivo" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "_Separador" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "Separador _aqui" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Ir" #: ../src/settings.c:11973 msgid "_Back" msgstr "_Recuar" #: ../src/settings.c:11975 msgid "_Forward" msgstr "_Avançar" #: ../src/settings.c:11977 msgid "_Up" msgstr "_Cima" #: ../src/settings.c:11979 msgid "_Home" msgstr "_Pasta pessoal" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "Fo_co" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "Barra de camin_ho" #: ../src/settings.c:11995 msgid "_File List" msgstr "Lista de _ficheiros" #: ../src/settings.c:11997 msgid "_Tree" msgstr "Á_rvore" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "_Separador" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "_Estilo" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "C_olunas" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "_Reorganizar" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "_Tamanho" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "_Tipo" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "_Permissões" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "D_ono" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "_Modificado" #: ../src/settings.c:12066 msgid "_Descending" msgstr "_Descendente" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "Nat_ural" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "Muda_r nome" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "E_liminar" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "_Copiar para" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "L_ocalização" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "Últim_a localização" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Separador" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Painel" #: ../src/settings.c:12192 msgid "_Move To" msgstr "_Mover para" #: ../src/settings.c:12196 msgid "_Location" msgstr "_Localização" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Separador" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Painel" #: ../src/settings.c:12229 msgid "_Select All" msgstr "_Selecionar tudo" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "Desmarcar t_udo" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Inverter seleção" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "S_elecionar por padrão" #: ../src/settings.c:12238 msgid "R_oot" msgstr "R_oot" #: ../src/settings.c:12244 msgid "Move _To" msgstr "Mover _para" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "Propr_iedades" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "Á_rvore" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "_Barra lateral" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "_Detalhado" #: ../src/settings.c:12396 msgid "_Icons" msgstr "Í_cones" #: ../src/settings.c:12401 msgid "_Compact" msgstr "_Compacto" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "Fic_heiros ocultos" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/exemplo" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "12 G livre / 200 G 52 itens" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "_Novo separador" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "_Um clique" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "Escolha a localização" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "Destino inválido" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "O destino é o mesmo que a origem" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "Destino inválido" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Não foi possível montar o dispositivo" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Não foi possível desmontar o dispositivo" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Não foi possível ejetar o dispositivo" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "Dispositivo montado" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "Desmontar %s" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "Remover %s" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "Montar %s" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "Recarregar %s" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "Sincronizar" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "%s ainda está montado. Tem que o desmontar para o poder formatar." #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "(DISPOSITIVO COMPLETO)" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "Formatar %s" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s ainda está montado. Tem que o desmontar para o poder restaurar." #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "Restaurar MBR" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "Tipo desconhecido" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "Restauro" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "%s Restauro %s" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "Diretório inexistente" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "Ficheiro MBR" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Ejetar" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Mover:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Copiar:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Lixo:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Eliminar:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Atalho:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Alterar:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Executar:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "A mover..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "A copiar..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "A destruir..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "A eliminar..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "A criar atalho..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "A alterar..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Execução..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "De:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Para: " #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Evolução:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Estado:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pausa" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "Na fila" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Perguntar" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Substituir tudo" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Ignorar tudo" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Mudar nome automaticamente" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Parar ao encontrar erros" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Parar em todos os erros" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Continuar" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Parado" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Erros" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Terminado" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s em falta" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "No diretório:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "Arquivo" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "Extrair para" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "Cri_ar subpasta(s)" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "copiar" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "Extrair %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Terminado!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Comando: " #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Sistema de ficheiros" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "_Adicionar..." #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "novo" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Confirmação" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Mover" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "C_riar" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Criar novo" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Ficheiro" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Pasta" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Ligação" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Mover" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "C_opiar" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Copiar" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Criar ligação a" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Destino da ligação" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Destino" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "Como root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Ligação" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "Ficheiro" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "Op_ções" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Re_verter" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "_Abrir" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Ligação -> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Ligação -> %s (em falta)" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "Des_tino:" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "_Modelo:" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Ficheiro vazio" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Diretório vazio" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "E_xtensão:" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "Mov_er" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "Cop_iar" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "Li_gação" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "Destino da li_gação" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "Co_mo root" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "_Ligação" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "Novo" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "Copiar %s" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "Mover %s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Nova pasta" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Novo ficheiro" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "Ligação danificada" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d diretório" msgstr[1] "%d diretórios" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d ficheiro, %s" msgstr[1] "%d ficheiros, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d ficheiro" msgstr[1] "%d ficheiros" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "(vários ficheiros)" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "(vários tipos)" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "Escolha..." #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 ficheiro" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "A calcular..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Utilizador inválido" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Grupo inválido" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 #, fuzzy msgid "Archive Handlers" msgstr "Arquivo" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "Etiqueta do dispositivo" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Gestor de ficheiros" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Comando não encontrado" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "O diretório de destino \"%1$s\" pertence à origem \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "Acesso" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Remoção" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Criação de diretório" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Criação de ligação" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Escrita" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Criação" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Mudança de nome" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Volume %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Unidade %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Unidade %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Unidade de disquete" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Unidade compact flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Unidade Smart Memory" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Unidade Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Unidade SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Unidade Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Unidade Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Unidade USB" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Reprodutor de música %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Máquina digital %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Unidade" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s externo" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disco CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Disco CD-R vazio" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disco CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Disco CD-RW vazio" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disco CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disco CVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Disco DVD-RAM vazio" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disco DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Disco DVD-R vazio" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disco DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Disco DVD-RW vazio" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disco DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Disco DVD+R vazio" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disco DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Disco DVD+RW vazio" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disco DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Disco áudio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Volume amovível %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volume" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Ocorreu um erro na ligação ao serviço HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "O dispositivo \"%s\" não é um volume ou unidade" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" "O dispositivo \"%s\" não foi encontrado na tabela de dispositivos do sistema " "de ficheiros" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Não tem privilégios para montar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Não tem privilégios para desmontar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Não tem privilégios para ejetar o volume \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Opção de montagem inválida ao tentar montar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "O volume \"%s\" utiliza o sistema de ficheiros %s que não é suportado " "pelo seu sistema" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Uma aplicação está a impedir que o volume \"%s\" seja desmontado" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "O volume \"%s\" não está montado" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Erro %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" "É bastante provável que o volume \"%s\" tenha sido montado na linha de " "comandos" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Os discos vazios não podem ser montados. Utilize uma aplicação de gravação " "para gravar áudio ou dados no disco" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Os discos áudio não podem ser montados. Utilize os leitores de música para " "reproduzir as faixas" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Abrir a pa_sta respetiva" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Selecionar uma pasta" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Procurar..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Volumes locais" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Última modificação" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "Tipo MIME" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Nome de ficheiro" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Diretório" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Marcador" #: ../src/item-prop.c:122 msgid "Device" msgstr "Dispositivo" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Ponto de montagem do dispositivo" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Etiqueta do dispositivo" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Sistema de ficheiros" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Propriedades do dispositivo" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Contagem de tarefas" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Diretório de tarefas" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Tipo de tarefa" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Nome de tarefa" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Diretório do painel 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Diretório do painel 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Diretório do painel 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Diretório do painel 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Atual: Mostrar" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Atual: Ocultar" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Atual: Inativo" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "Atual: Inativo" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Comando não encontrado" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Con_texto" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "A_plicar" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "coincidente com alguma das regras:" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "coincidente com todas as regras:" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "não coincidente com alguma das regras:" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "não coincidente com todas as regras:" #: ../src/item-prop.c:1861 msgid "Show" msgstr "Mostrar" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "Ativar" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "Ocultar" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "Desativar" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "Editar regra" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "Valor:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "_Script" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" #~ msgid "Change Icon" #~ msgstr "Mudar ícone" spacefm-1.0.5/po/pt_BR.po000066400000000000000000007214051264770501700151410ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Carlos Alberto Soares , 2015 # Fábio Antunes , 2008 # Flávio Costa , 2006 # Henrique P. Machado , 2009 # Kauana Gomes , 2015 # wandows , 2015 # wandows , 2013,2015 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-13 13:46+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/ignorantguru/spacefm/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM abrir pasta" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Abrir pasta" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM pesquisar no computador" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Localizar arquivos e pastas" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Gerenciador de arquivos" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Localizar o sistema de arquivos" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "por IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Direitos Autorais (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "SpaceFM - Direitos Autorais (C) 2015 GPL3+\n\nEste é um programa software livre; você pode modificá-lo e/ou redistribuí-lo sob os termos da GNU General Public License conforme publicada pela Free Software Foundation; tanto a versão 3 da licença, ou (a seu critério) qualquer versão posterior.\n\nUSE-O POR SUA CONTA E RISCO. Este programa é distribuído na esperança de que lhe venha ser útil, mas SEM QUALQUER GARANTIA; inclusive, sem garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a Licença Pública Geral GNU para obter mais detalhes.\n\nAs bibliotecas 'exo' tem código fonte utilizado por este software e está licenciado sob a GNU General Public License e da GNU Lesser General Public License versão 3 (LGPL3).\n\nVocê deve ter recebido uma cópia da Licença Pública Geral GNU e da Licença Pública Geral Menor GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, EUA." #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "IgnorantGuru \n\nContribuidores:\n BwackNinja \n OmegaPhil \n\nTrabalhos de arte:\n Ícones e logotipo do SpaceFM por Goran Simovic\n\nObrigado aos usuários do SpaceFM pelos valiosos comentários, e também aos tradutores e\nempacotadores do SpaceFM!\n\nAgradecimentos especial para:\n Jean-Philippe Fleury\n Vladimir Kudrya\n VastOne\n Hasufell\n\nSpaceFM é desenvolvido em geany, gcc, e git, com uma pequena ajuda de gdb.\n\nCódigo fonte retirado de outros projetos:\n * pcmanfm-mod: IgnorantGuru\n * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n * libmd5-rfc: Aladdin Enterprises\n * Detectação da área de trabalho: Gary Kramlich\n * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n * Redenrizador de texto e ícone usa código de Jonathan Blandford\n * Ícones da área de trabalho usa código de Brian Tarricone\n * Suporte HAL (obsoleto): gnome-vfs, thunar-vfs, libexo, gnome-mount" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "Ícones e logo do SpaceFM desenvolvido por Goran Simovic\n\nÍcones adicionais foram retirados do Projeto Tango Desktop conjunto de ícones" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Fábio Antunes \nFlávio Costa \nOg Maciel \nHenrique P. Machado \nNivaldo G. da Silva (Wando - JP) , 2013." #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Escolha a aplicação" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Por favor, escolha um aplicativo ou digite um comando:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Tipo de arquivo: " #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Aplicativos relacionados" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "T_odos aplicativos" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Comando:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Navegar" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Aberto no terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "_Definir como aplicativo padrão para este tipo de arquivo." #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Propriedades do arquivo" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Nome do arquivo:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Localização:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Link _alvo:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Tipo:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Abrir _com:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Tamanho total:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Tamanho em disco:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Conteúdo:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Modificado:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "_Acessado:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Informações" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Proprietário" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupo:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Proprietário:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupo:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Outros:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Leitura" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Escrita" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Execução" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Definir UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Definir GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Destacado" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Recursivo (aplicar alterações a pastas e seus conteúdos)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "_Permissões" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Qualquer" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Dentro de um dia" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Dentro de uma semana" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Dentro de um mês" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Dentro de um ano" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Dentro de um intervalo de datas selecionado" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Localizar arquivos" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Nome do arquivo:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Diferenciar maiúsculas de minúsculas" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Arquivos de vídeo (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Arquivos de áudio (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Arquivos de imagem (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Arquivo de texto simples" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Todos os arquivos e pastas" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Tipos de arquivo para pesquisar" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Localizar em subpastas" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Localizar arquivos ocultos" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Local de pesquisa" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Geral" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "O arquivo contém:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Usar expressão regular" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Conteúdo do arquivo" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Conteúdo" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Maior que:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Menor que:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Tamanho do arquivo" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Última modificação" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Tamanho e data" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Resultado da pesquisa:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Pesquisar novamente" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Ir para pasta" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Abrir na aba atual" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Abrir em nova Aba" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Esticar" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Ajustar" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centro" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Lado a lado" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Zoom" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Transparente" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automático" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Copiar (Ctrl+Arrastar)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Mover (Shift+Arrastar)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Link (Ctrl+Shift+Arrastar)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Preferências" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Ícones pequenos:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Ícones grandes:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "ícones da barra de ferramentas:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Ícones" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Único clique abre arquivos" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Selecionar foco" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Marcadores:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Exibir miniaturas" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Tamanho máximo do pic para Miniatura:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Lista de arquivos" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Geral" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Sempre exibir a barra de abas" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Ocultar 'Fechar aba' botões" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Confirmar deletar/remover" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Clique executa executáveis" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Tamanho de Arquivo SI (1K = 1000) (necessário reiniciar)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Mostrar cor diferenciada para o usuário administrador" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Ação de arrastar padrão:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterface" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Papel de parede:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Por favor, selecione um arquivo de imagem" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Modo: " #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Plano de fundo:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Texto:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Sombra:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Fonte:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Superior:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Esquerda:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Direita:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Inferior:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Preencher:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Margens" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Botão direito do mouse exibe menu na área de trabalho" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Abrir pastas usando aplicativo de MIME associado" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Área _de trabalho" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Gerenciamento de _volume" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal do administrador:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Gráfico do administrador:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Nome do arquivo codificado" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Executar editor no terminal" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Editor do administrador:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Executar editor do administrador no terminal" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Formato de data:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(necessário reiniciar)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Exibição de Data" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avançado" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Várias colunas (>%d) em %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "erro ao ler arquivo %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "o conteúdo do arquivo '%s' não é UTF-8 válido" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "Impossível definir o elemento ausente '%s'" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "O arquivo '%s' não é um arquivo regular" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "Redimensionamento dinâmico requer largura e altura maior que 0 (zero)" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "o comando interno %s requer um argumento" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "o elemento '%s' não existe" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "o comando interno só é válido para pressionar os botões %s" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "o comando interno des/selecione é inválido para %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "erro ao gravar o arquivo %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' não é um comando interno" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "erro ao criar o arquivo %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "dados de pipe '%s' não é UTF-8 válido" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ SNIP - saída adicional acima foi cortada a partir deste log ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( o conteúdo UTF-8 do arquivo não é válido )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "o prefixo '%s' não é um nome de variável válida" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Pausa" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "o arquivo '%s' não é um arquivo regular ou um pipe" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "SpaceFM Diálogo cria uma caixa de diálogo personalizada GTK com base nos elementos de GUI,\nespecificados em linha de comando, comandos internos/externos que em tempo\nde execução de recurso podem modificar elementos e apresentar resultados avaliáveis​​/analisáveis.\n" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "Em uso:\n" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ELEMENTO [OPÇÕES] [ARGUMENTOS...]} ...\n" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Exemplo:\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Uma messagem\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "\nELEMENTO: OPÇÕES & ARGUMENTOS:\n" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nOs argumentos a seguir podem ser utilizadas como indicado acima:\n" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr " STOCK %s\n" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ICON O nome de um ícone, ex: gtk-open\n" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr " @FILE Um arquivo de texto do qual se lê um valor. Em alguns casos este arquivo\n é monitorado. Assim que escreve-se um novo valor para o arquivo irá atualizar o\n elemento. Em outros casos, o arquivo especifica um valor inicial.\n" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr " SAVEFILE Um visualizador ou editor de conteúdo são guardados neste arquivo.\n" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr " COMANDO Um comando interno ou executável seguido por argumentos. Separado\n vários comandos com um -- argumento.\n As substituições que se seguem podem ser utilizados ​​em comandos:\n %%n Nome do elemento atual\n %%v Valor do elemento atual\n %%NOME Valor do elemento chamado NOME (ex: %%input1)\n %%(comando) saída padrão de uma linha de comando bash\n %%%% %%\n" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr " RÓTULO As seqüências de escape a seguir são RÓTULO desescapadas:\n \\n nova linha\n \\t aba\n \\\" \"\n \\\\ \\\n Apenas elementos em --label, Se o primeiro caractere no RÓTULO for um\n til (~), pode ser utilizado marcação pango. Por exemplo:\n --label '~Este é simples. Este é negrito.'\n" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "\nAlém das OPÇÕES listadas acima, --compact ou --expand as opções podem ser adicionadas\na qualquer elemento. Além disso, a opção --font e tamanho da fonte pode ser utilizada com a\nmaioria dos tipos dos elementos para alterar a fonte do elemento. Exemplo:\n --input --font \"Times New Roman 16\" \"Default Text\"\n" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "\nCOMANDOS INTERNOS:\n" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "\nEXEMPLO DE COMANDOS:\n" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr " spacefm -g --label \"Digite algum texto e pressione Enter:\" \\\n --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n --label \\\n --button ok\n" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "\nEXEMPLO DE SCRIPT:\n" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr " #!%s\n # Este script mostra um Sim/Não no diálogo\n # Use a função eval CITADA para ler a saída das variáveis do diálogo do SpaceFM:\n eval \"`spacefm -g --label \"Você tem certeza?\" --button sim --button não`\"\n if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n echo \"Usuário pressionou Sim - executar alguma ação\"\n else\n echo \"Usuário não pressionou Sim - cancelar\"\n fi\n" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nPara obter a documentação completa e exemplos, consulte o manual do usuário do SpaceFM:\n" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: argumento UTF-8 não é válido\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "opção de diálogo inválida" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Definir título da janela" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Definir ícone da janela" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Adicione um rótulo de texto" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Adicionar botão de diálogo PRÉ-EXISTENTE, ou botão de RÓTULO com ícone" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Adicionar botão PRÉ-EXISTENTE, ou botão de RÓTULO de qualquer lugar" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Adicionar uma entrada de texto" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Adicionar uma grande entrada de texto" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Adicionar uma entrada de senha" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Adicionar um visualizador de arquivos ou canal" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Adicionar o editor de texto de várias linhas" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Adicionar uma opção de caixa de seleção" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Adiciona opção para alternar" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Adicionar ícone" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Adicionar uma imagem" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Adicionar uma barra de progresso" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Adicionar um separador de linha horizontal" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Adicionar um separador de linha vertical" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Janela se fecha automaticamente após alguns segundos" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Adicionar uma lista na caixa suspensa. Quando clicado executa COMANDO." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Adicione uma lista de combinação. COMANDO executado quando a tecla ENTER foi pressionada." #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Adicione uma caixa de listagem. COMANDO executado quando houve duplo clique." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Adicionar uma caixa de listagem com várias seleções" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Opções: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Definir nome da variável base (Padrão: \"dialog\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Definir largura mínima, altura, preenchimento mínimo (-1 = sem alteração)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Adicionar widgets na sequência de uma caixa horizontal" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Adicionar widgets a seguir para uma caixa vertical" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Feche a caixa atual de widgets" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Executar comando quando uma combinação de tecla é pressionada" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "Executar o comando quando um elemento é clicado ou focalizado" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "Execute o comando na tentativa de fechar janela" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Comandos de leitura de arquivo ou PIPE. COMANDO para o init." #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "Nenhuma operação - não faz nada, mas avalia argumentos" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "Fechar o diálogo" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "Pressione o botão chamado NOME-DO-BOTÃO" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "Defina nome do elemento para o valor" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Selecione VALOR do item (ou primeiro/todos) em NOME do elemento" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Desselecionar valor do item (ou todos) em NOME do elemento" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "Focar o elemento NOME, ou aumentar a janela de diálogo" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "Ocultar NOME do elemento" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "Mostrar o elemento NOME se anteriormente oculto" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "Desabilitar o elemento NOME" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "Habilitar o elemento NOME se anteriormente desabilitado" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "Salvar arquivos e gravar a saída fontes para ARQUIVO" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Abrir pastas na nova guia da última janela (padrão)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Abrir pasta na guia atual da última janela utilizada" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Não ler as abas salvas" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Abrir pastas em nova janela" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Abrir pastas no painel 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Iniciar gerenciador da área de trabalho daemon" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Exibir configurações de área de trabalho" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Mostrar Preferências ('N' é o número da guia preferida)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Executar como um daemon" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Use DIR como diretório de configuração" #: ../src/main.c:138 msgid "Show File Search" msgstr "Mostra pesquisar no computador" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Definir papel de parede para ARQUIVO" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Mostrar um diálogo personalizado (Ver -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Enviar um comando de socket (Ver -s help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Sem função - apenas para compatibilidade" #: ../src/main.c:151 msgid "Show version information" msgstr "Mostra informações sobre a versão" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | ARQUIVO | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Opções --config-dir ignorados - uma instância está em execução" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Opções --config-dir contém caracteres inválidos - impossível iniciar" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd requer um argumento\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: impossível criar soquete\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm: não pôde se conectar ao socket (não está executando? ou EXIBIÇÃO não definida?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: resposta inválida do soquete\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "Comandos de soquete do SpaceFM permite a execução de processos externos (tais como scripts de comando)\npara ler, definir valores de propriedade de GUI e executar métodos dentro da janela da SpaceFM.\nPara manipular eventos consulte o menu: Ver|Eventos na barra de menu principal." #: ../src/main.c:677 msgid "Usage:" msgstr "Uso:" #: ../src/main.c:679 msgid "Example:" msgstr "Exemplo:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "MÉTHODOS\n-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Defina uma propriedade" #: ../src/main.c:687 msgid "Gets a property" msgstr "Obter uma propriedade" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Define uma propriedade de tarefa" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Obtenha uma propriedade de tarefa" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Iniciar uma nova tarefa" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Ativa um item de menu, emitindo a tecla de atalho" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "Executa comando personalizado ou exibe um submenu chamado pelo NOME" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Adicionar COMANDO manipulador assíncrono para EVENTO" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Adicionar COMANDO manipulador assíncrono para EVENTO, substituindo manipulador padrão" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Remover COMANDO manipulador de EVENTO" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Mostra referência de ajuda. (Veja também logo abaixo o link do manual.)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "OPÇÕES\n-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Adicionar opções após especificar o método para uma específica janela, painel, e/ou aba." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Caso contrário, a guia atual do painel atual na última janela será utilizada." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Especificar janela ex:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Especificar painel ex:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Especificar aba 1-... ex:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "PROPRIEDADES\n----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Estabelecer propriedades com o método 'set', ou obter valor com o 'get'." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "ex: '800x600'" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "ex: '100x50'" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "ex: '1024x768' (somente leitura)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "ex: '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Abrir DIRETÓRIO ou padrão em uma nova aba?" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "ex: 'Estado atual: Exemplo'" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR ex: '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[NOME DO ARQUIVO...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[PADRÃO] ex: '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "ex: 'alguns\\números_de_lines\\no_texto'" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "ex: '~/copia-do-arquivo-com-conteúdo-para-clipboard.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "ARQUIVO... Arquivos copiado para a área de transferência" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "ARQUIVO... Arquivos recortado para a área de transferência" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "PROPRIEDADES DA TAREFA\n---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "Estado da tarefa conteúdo da coluna (somente de leitura)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "ex: 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "texto a ser exibido na coluna de tarefa cálculo" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "texto a ser exibido na coluna de tarefa Pasta" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "texto a ser exibido na coluna de tarefa Item" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "texto a ser exibido na coluna de tarefa" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "progresso em porcentagem (1..100) ou '' para pulsar" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "texto a ser exibido na coluna de tarefa Total" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "texto a ser exibido na coluna de tarefa Atual" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "texto para mostrar na coluna de tarefa Atual" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "texto a ser exibido na coluna de tarefa Média" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "texto a ser exibido na coluna de tarefa Restante" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "conteúdo da coluna de tarefa Decorrido (somente de leitura)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "conteúdo da coluna de tarefas Iniciado (somente de leitura)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "COMANDO comando para mostrar uma tarefa na caixa de diálogo\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "TIPOS DE TAREFA\n----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Executar COMANDO no diretório" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Copiar|Mover|Link ARQUIVO(s) ou DIRETÓRIO(s) para atingir diretório" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Deletar recursivamente ARQUIVO(s) OU DIRETÓRIO(s)" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "Abrir arquivo do usuário ou editor de texto do administrador" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "Abrir URL no navegador do usuário" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "Montar URL ou dispositivo" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "Desmontar DISPOSITIVO ou DIRETÓRIO do ponto de montagem" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "EVENTOS\n------" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "Início da instância %e" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "Sair da instância %e" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "Nova janela %e %w %p %t" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "Janela em foco %e %w %p %t" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "Mover/Redimensionar Janela %e %w %p %t" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Clique do mouse %e %w %p %t %b %m %f" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "Janela tecla pressionada %e %w %p %t %k %m" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "Fechar janela %e %w %p %t" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "Painel em foco %e %w %p %t" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Mostrar/Ocultar painel %e %w %p %t %f %v" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "Seleção alterada %e %w %p %t" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "Nova aba %e %w %p %t" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "Alterar guia diretório %e %w %p %t %d" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "Aba em foco %e %w %p %t" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "Fechar aba %e %w %p %t" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "Mudar Dispositivo %e %f %v" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "Variáveis de substituição do COMANDO de evento:" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "tipo de evento (evt_start|evt_exit|...)" #: ../src/main.c:828 msgid "window ID" msgstr "ID da Janela" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "Número do painel (1-4)" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "Número da aba (1-...)" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "diretório citado ('/etc')" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "botão do mouse (0=duplo 1=esquerdo 2=meio 3=direito ...)" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "código da tecla (ex: 0x63)" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "tecla modificadora (ex: 0x4 utilizado com cliques e teclas pressionadas)" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "elemento em foco (panelN|filelist|devices|bookmarks|dirtree|pathbar)" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "o elemento em foco está visível (0 ou 1, ou mudança de estado do dispositivo)" #: ../src/main.c:838 msgid "Examples" msgstr "Exemplos" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "Esses arquivos foram copiados para a área de transferência" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Para a documentação completa e exemplos, consulte o manual do usuário do SpaceFM" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "Essa compilação do SpaceFM tem integração com a área de trabalho desativada" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Erro: Não foi possível salvar sessão\n %s\n" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "arquivo não existe!" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Erro" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "Erro: Não foi possível inicializar inotify monitor de alteração de arquivo.\n\nVocê tem um kernel compatível com inotify?" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Erro: Impossível estabelecer conexão com FAM.\n\n\"FAM\" ou \"Gamin\" estão instalados e em execução?" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "--dialog deve ser a primeira opção" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "--socket-cmd deve ser a primeira opção" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "SpaceFM requer bash instalado, outros shells não são equivalentes, pois SpaceFM usa recursos encontrados apenas no genuíno bash (v4+)\n\nO programa %s não foi encontrado. Instale o bash ou use a opção --with-bash-path para especificar uma localização customizada durante a compilação." #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Não sei como abrir o arquivo" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Impossível abrir o arquivo:\n\"%s\"\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Escolha o arquivo plugin" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Digite a URL do plugin" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Digite a URL do plugin SpaceFM:\n\n(wget será utilizado para baixar o arquivo plugin)" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "O nome deste plugin é inválido. Por favor, mude o nome usando caracteres ASCII alfanuméricos e tente novamente." #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "Nome de arquivo inválido do plugin" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "Já existe um plugin instalado como '%s'. Deseja sobrescrever ?\n\nDica: Você também pode renomear este arquivo plugin para instalá-lo com um nome diferente." #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "Substituir plugin ?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Erro ao criar diretório temporário" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "Não foi possível criar diretório temporário" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Erro: Não foi possível salvar arquivo de sessão\n\n( %s )" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Erro ao salvar sessão" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Abrir janel como administrador" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal não disponível" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Por favor, defina o seu programa de terminal no menu: Exibir|Preferências|Avançado" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Abrir no terminal" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "Ajuda modo desenho" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "Modo de desenho permite que você altere o nome, tecla de atalho e ícone do menu da barra de ferramentas e itens dos favoritos, mostra ajuda para um item, e adiciona seus próprios comandos e aplicativos personalizados.\n\nPara abrir o projeto de menu, basta clicar com o botão direito do mouse em um item de menu, marcador, ou item da barra de ferramentas. Para abrir o Menu de Desenho para um submenu, primeiro fechar o submenu (clicando nele).\n\nPara mais informações, clique no botão Ajuda abaixo." #: ../src/main-window.c:1903 msgid "Panel" msgstr "Painel" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Novo _comando" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "Mostrar painel %d" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Arquivo" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "E_xibir" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Dispositivos" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "_Marcadores" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Plugins" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "Ferramen_tas" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "Aj_uda" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Erro: Não é possível salvar o arquivo de sessão. Deseja sair sem salvar?\n\n( %s )" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "SpaceFM erro" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "Finalizar todas as tarefas em execução nesta janela?" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "Abortando todas as tarefas..." #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr " %s livre / %s " #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "%sLeitura %s ..." #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr " Link → %s" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr " Link → %s/" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Link → %s/ (perdido)" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr " Link → %s (%s)" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr " !Link → %s (perdido)" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr " !Link → ( Erro de leitura alvo )" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "Oculto" msgstr[1] "Ocultos" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d visível (%s) %s" msgstr[1] "%s%d visíveis (%s) %s" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d item %s" msgstr[1] "%s%d itens %s" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Teclas de atalho do Administrador de dispositivos estão desabilitadas em modo HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "Estado" #: ../src/main-window.c:4302 msgid "#" msgstr "Quantidade" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Pasta" #: ../src/main-window.c:4302 msgid "Item" msgstr "Item" #: ../src/main-window.c:4303 msgid "To" msgstr "Destino" #: ../src/main-window.c:4303 msgid "Progress" msgstr "Progresso" #: ../src/main-window.c:4303 msgid "Total" msgstr "Tamanho" #: ../src/main-window.c:4304 msgid "Started" msgstr "Iniciado" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "Decorrido" #: ../src/main-window.c:4304 msgid "Current" msgstr "Estado" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "Restando" #: ../src/main-window.c:4305 msgid "Average" msgstr "Velocidade" #: ../src/main-window.c:4305 msgid "Remain" msgstr "Restante" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "Ajuda para reordenar colunas" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Para alterar a ordem das colunas, arraste o cabeçalho da coluna para o local desejado." #: ../src/main-window.c:5913 msgid "moving" msgstr "Movendo" #: ../src/main-window.c:5914 msgid "copying" msgstr "copiando" #: ../src/main-window.c:5915 msgid "trashing" msgstr "lixeira" #: ../src/main-window.c:5916 msgid "deleting" msgstr "deletando" #: ../src/main-window.c:5917 msgid "linking" msgstr "criando link" #: ../src/main-window.c:5918 msgid "changing" msgstr "alterando" #: ../src/main-window.c:5919 msgid "running" msgstr "executando" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "%d erro %s" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "%d erros %s" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "parado" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "Na fila" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Nome" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Tamanho" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Tipo" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Permissão" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "Proprietário" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "Modificado" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "spacefm: comando de soquete inválido\n" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: opção inválida '%s'\n" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: opção %s requer um argumento\n" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "spacefm: janela inválida\n" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: janela inválida %s\n" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: painel inválido %d\n" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: painel %d não esta visível\n" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: aba inválida %d\n" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: conjunto de comando requer um argumento\n" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: o valor %s é inválido\n" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "spacefm: valor deslizante inválido\n" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "spacefm: número inválido do painel\n" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "spacefm: número inválido da aba\n" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: propriedade inválida %s\n" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "spacefm: largura da coluna inválida\n" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: nome de coluna inválido '%s'\n" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: texto UTF-8 não é válido\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s requer um caminho de arquivo\n" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: erro ao ler arquivo '%s'\n" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: arquivo '%s' não contém texto UTF-8 válido\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s requer um caminho de diretório\n" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: diretório '%s' não existe\n" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: comando %s requer um argumento\n" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s requer dois argumentos\n" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: a tarefa '%s' é inválida\n" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: a tarefa interna %s é somente de leitura\n" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: o tipo de tarefa '%s' é somente de leitura\n" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: o estado da fila '%s' é inválido\n" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: a propriedade da tarefa '%s' é inválida\n" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: não existe o diretório '%s'\n" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: inválida %s opção de tarefa '%s'\n" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: não existe o arquivo '%s'\n" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "spacefm: este tipo de tarefa %s exige compilação udev\n" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "spacefm: este tipo de tarefa %s exige argumento ALVO\n" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "spacefm: o alvo '%s' é inválido\n" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: caminho relativo '%s' requer %s opção --dir DIR\n" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: tipo de tarefa %s requer argumento(s) do(s) ARQUIVO(s)\n" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: o tipo de tarefa '%s' é inválida\n" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: o código da tecla '%s' é inválido\n" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "spacefm: o comando personalizado ou submenu '%s' não existe\n" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "spacefm: o item '%s' é um contexto oculto ou desabilitado\n" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr " spacefm: '%s' é um tipo de evento inválido ⏎\n" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: manipulador de evento não encontrado\n" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: o método de soquete '%s' é inválido\n" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "Padrão" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "Selecionar fonte da área de trabalho" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "Exemplo de item 0123456789" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "Requisitos de transparência" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "Nota Geral: Para transparência da área de trabalho funcionar, você deve estar rondando um gerenciador de janelas com suporte a composição ou usar um compositor externo como compton ou xcompmgr. Você pode usar nitrogen ou xwinwrap para configurar o papel de parede no plano de fundo.\n\nEsta mensagem se repetirá." #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "Emulador de terminal selecionado limitado" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "Agora será solicitado a sua senha root para salvar as configurações raiz para o usuário em um arquivo em %s/spacefm/. Fornecer a senha na próxima janela é recomendado. Porque SpaceFM executa alguns comandos como root via su, e estas definições são melhores protegidos pela raiz." #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "Salvar configurações de administrador" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Digite o programa ou linha de comando bash.\n\nUse:\n\t%%F\tarquivos selecionados ou %%f arquivo selecionado em primeiro lugar\n\t%%N\tnomes selecionados ou %%n nome de arquivo selecionado primeiro\n\t%%d\tdiretório atual\n\t%%v\tdispositivo selecionado (ex: /dev/sda1)\n\t%%m\tponto de dispositivo de montagem (ex: /media/dvd); %%l rótulo do dispositivo\n\t%%b\tmarcador selecionado\n\t%%t\tdiretório da tarefa selecionada; %%p tarefa pid\n\t%%a\tvalor do item de menu\n\t$fm_painel, $fm_tab, $fm_command, etc..." #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "Digite o nome do ícone, o caminho do arquivo ícone ou o nome do item arquivado:\n\nOu clique em Selecionar um ícone. Nem todos os ícones podem funcionar corretamente devido a várias questões." #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Digite o nome do novo item:\n\nPreceder o caracter com um sublinhado (_) para destacá-lo como uma tecla de atalho, se desejar." #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "Digite o nome do novo item:\n\nPreceder o caracter com um sublinhado (_) para destacá-lo como uma tecla de atalho, se desejar.\n\nDICA: Para alterar este item posteriormente, clique com o botão direito do mouse sobre o item para abrir o Menu de Desenho." #: ../src/settings.c:156 msgid "Show Devices" msgstr "Mostrar dispositivos" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "Mostrar marcadores" #: ../src/settings.c:158 msgid "Show Tree" msgstr "Mostrar árvore" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "Início" #: ../src/settings.c:161 msgid "Up" msgstr "Acima" #: ../src/settings.c:162 msgid "Back" msgstr "Voltar" #: ../src/settings.c:163 msgid "Back History" msgstr "Voltar histórico" #: ../src/settings.c:164 msgid "Forward" msgstr "Avançar" #: ../src/settings.c:165 msgid "Forward History" msgstr "Avançar histórico" #: ../src/settings.c:166 msgid "Refresh" msgstr "Atualizar" #: ../src/settings.c:167 msgid "New Tab" msgstr "Nova aba" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Nova aba aqui" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "Ocultar histórico" #: ../src/settings.c:171 msgid "Large Icons" msgstr "Ícones grande" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "%s: %s ignorado - contém caracteres inválido" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "%s: tmp_dir '%s' não existe - revertendo para %s" #: ../src/settings.c:462 msgid "file not found" msgstr "arquivo não encontrado" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "Ocu_ltar ignorar política" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "_Não ignorar política" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "Perguntas _frequentes" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "Pa_rar" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "_Mostrar o gerenciador de tarefas" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "Ocultar automaticamente o gerenc_iador de tarefas" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "Err_os" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "Restante at_ual" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "Média res_tante" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "Orig_em" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "Estatísticas _detalhada" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "Remo_ver / ejetar" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "_Importar" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "Gerenciador de _tarefas" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "Nome do _arquivo" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "Tip_o" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "Al_vo" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "_Modelo" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "Abrir _URL" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# SpaceFM arquivo de sessão\n\n# ESTE ARQUIVO NÃO FOI FEITO PARA SER EDITADO - ele será lido e SOBREPOSTO\n\n# Se você apagar todos os arquivos sessão*, SpaceFM será redefinido para a configuração PADRÃO.\n\n" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "Erro ao salvar arquivo" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "SpaceFM Erro: Impossível salvar automaticamente o arquivo de sessão ( %s )\n" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "\nItem de menu selecionado '%s' como manipulador\n" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "Erro de leitura nas configurações de root em %s/spacefm/ Executar comandos como root pode apresentar um risco de segurança" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "Não há configurações de raiz encontrados em %s/spacefm/. Definir um editor de raiz em Preferências deve remover esse aviso no arranque. Caso contrário, os comandos executados como root podem apresentar um risco de segurança." #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "Ajuda não disponível" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "Este plugin não inclui um arquivo README." #: ../src/settings.c:4346 msgid "Create README" msgstr "Criar LEIAME" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "Não existe nenhum arquivo LEIAME para este comando..\n\nCriar um arquivo padrão LEIAME para que você preencha??" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "Falha na criação" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "Erro ao criar um arquivo README para este comando." #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Um erro ao copiar arquivos de comando\n\n%s" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "Erro de comando para copiar" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Ocorreu um erro ao copiar arquivos de dados de comando\n\n%s" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "Erro de leitura ao ler o arquivo plugin %s" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "A pasta do plugin importado não contém um plugin válido.\n\n(%s/)" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "Plugin inválido" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "O plugin '%s' foi copiado para a área de transferência. Use o menu: Exibir|Modo Desenho para colá-lo em um menu.\n\nSe ele não foi instalado, provavelmente este plugin não aparecerá no menu Plugins." #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "O plugin '%s' foi copiado para a área de transferência de desenho. Use o menu: Exibir|Modo de Desenho para colá-lo em um menu.\n\nSe não foi instalado, provavelmente o plugin não aparecerá no menu Plugins, e seu conteúdo não está protegido pelo administrador (Uma vez colado será salva à propriedade normal).\n\nEste plugin contém comandos 'su' que só será executado como administrador, deve-se instalá-lo e executá-lo somente a partir do Menu Plugins, que é recomendado para aumentar a segurança do sistema." #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "Desinstalar o plugin '%s'?\n\n( %s )" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Desinstalar plugin" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Instalar plugin" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "Salvar plugin como arquivo" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Exportar plugin" #: ../src/settings.c:5601 msgid "Export Error" msgstr "Erro ao exportar" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "Não é possível criar arquivos temporários" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "O marcador alvo '%s' está ausente ou é inválido." #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "Marcador alvo inválido" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "Mudança de nome do item" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "Editor não definido" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Por favor, defina o seu editor no menu: Exibir|Preferências|Avançado" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "Editor do administrador não definido" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Por favor, defina o editor de arquivo do administrador no menu: Exibir|Preferências|Avançado" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "Editar %s" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "Manual do usuário não existe" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "Ler o manual do usuário online?\n\nA cópia do manual do usuário SpaceFM não foi encontrado no local. Clique em Sim para lê-lo on-line, ou clique em não, e em seguida para definir o local correto clique no menu: Ajuda|Opções|Localização do manual." #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "Manual Aberto?" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "O manual do usuário SpaceFM deve ser aberto em seu navegador padrão. Se não abrir, ou caso queira usar um navegador diferente, deve-se definí-lo no menu: Ajuda|Opções|Navegador.\n\nEsta mensagem não será exibida novamente." #: ../src/settings.c:6627 msgid "( none )" msgstr "( nenhum )" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tcódigo da tecla: %#4x Modificadora: %#x\n\n%s já está atribuído para '%s'.\n\nPressione uma tecla diferente ou clique em definir para substituir a atual atribuição da tecla." #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "⇥%s\n⇥Código da tecla: %#4x [%#4x] Modificar: %#x\n\n%s já está atribuído para '%s'.\n\nPressione uma tecla diferente ou clique em Definir para substituir a atribuição da tecla atual." #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "\t%s\n\tCódigo da tecla: %#4x Modificadora: %#x" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "Pressione a combinação de teclas para o item '%s', e em seguida clique em definir. Para remover a atribuição da chaves atual, clique em desativar." #: ../src/settings.c:6820 msgid "Cancel" msgstr "Cancelar" #: ../src/settings.c:6826 msgid "Unset" msgstr "Não atribuir" #: ../src/settings.c:6839 msgid "Set" msgstr "Atribuir" #: ../src/settings.c:6853 msgid "Set Key" msgstr "Atribuir Tecla" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "Definir ícone" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "Editar linha de comando" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "Escolha de executável personalizado" #: ../src/settings.c:7041 msgid "Run As User" msgstr "Executar como usuário" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Executar este comando como nome de usuário:\n\n( Deixe em branco para o usuário atual )" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Você está adicionando um comando personalizado para o item de menu padrão. Este item terá automaticamente um pré-contexto - ele só vai aparecer quando o tipo MIME do primeiro arquivo selecionado corresponde ao tipo de corrente '%s'.\n\nAdicionar comandos ou menus aqui que você só quer apareça um para este tipo MIME." #: ../src/settings.c:7050 msgid "New Context Command" msgstr "Novo contexto de comando" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "Definir nome do item" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Escolha a pasta" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Você está adicionando um comando personalizado para o item de menu padrão. Este item terá automaticamente um pré-contexto - ele só vai aparecer quando o tipo MIME do primeiro arquivo selecionado corresponde ao tipo de corrente '%s'.\n\nAdicionar comandos ou menus aqui que você só quer apareça um para este tipo MIME." #: ../src/settings.c:7140 msgid "(none)" msgstr "(vazio)" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "Definir nome do submenu" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Digite o nome do submenu:\n\nSe desejar, pode anteceder o caracter com um sublinhado (_) para destacá-lo e difiní-lo como uma tecla de atalho." #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "Novo _submenu" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "Marcadores GTK (%s) será importado para o submenu atual ou selecionado. Note que a importação de um grande número de marcadores (ex: mais de 500) podem afetar o desempenho." #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "Importar marcadores GTK" #: ../src/settings.c:7346 msgid "( no name )" msgstr "( nenhum nome )" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "Remover permanentemente '%s' SUB-MENU E TODOS OS ITENS RELACIONADOS A ELE?\n\nThis action will delete all settings and files associated with these items." #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "Remover permanentemente o item '%s'?\n\nEsta ação irá apagar todas as configurações e arquivos associados a este item." #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "Confirmar remover" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Você tem certeza?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "Mensagem de diálogo" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Insira a mensagem a ser exibida neste diálogo:\n\nUse:\n\t\\n\tnova linha\n\t\\t\taba" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "Recor_tar" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "_Copiar" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "C_olar" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "_Remover" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "E_xportar" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "_Novo" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Marcador" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "_Aplicação" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "_Comando" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "Sub_menu" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "S_eparador" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "Marcadores GTK" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "_Adicionar" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "Dicas de ferramentas" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "Tecla de atal_ho" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "_Editar script" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "E_ditar como administrador" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "_Editar comando" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "_Propriedades" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "Escolha Ícone" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Editar" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "Definir ícone da janela" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "SelecIionar" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "Padrã_o" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "Sua entrada é inválida porque contém intervaldo entre linhas" #: ../src/settings.c:9372 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9509 msgid "_Unset" msgstr "_Não atribuir" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "De_smontar" #: ../src/settings.c:10640 msgid "Re_load" msgstr "Reca_rregar" #: ../src/settings.c:10644 msgid "_Sync" msgstr "_Sincronizar" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Abrir" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "Abrir numa _Aba" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "_Montar" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "Re_/montar" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "_Administrador" #: ../src/settings.c:10693 msgid "_Label" msgstr "Rótu_lo" #: ../src/settings.c:10743 msgid "_Check" msgstr "V_erificar" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "_Editar fstab" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "Editar u_devil.conf" #: ../src/settings.c:10755 msgid "_Format" msgstr "_Formatar" #: ../src/settings.c:10815 msgid "_Backup" msgstr "_Backup" #: ../src/settings.c:10837 msgid "_Restore" msgstr "Restaurar" #: ../src/settings.c:10842 msgid "_From File" msgstr "_Do arquivo" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "_Informação do arquivo" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "Preferê_ncias" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "E_xibir" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "Unidades _internas" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "Unidad_es vazias" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "Tabela de _partição" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "Redes _montadas" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "_Outro montado" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "_Volumes..." #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "Mostrar/Ocultar volumes" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Para forçar mostrar ou ocultar alguns volumes, substituindo outras configurações, você pode especificar dispositivos, rótulos de volumes ou IDs de dispositivos na lista separados por espaço.\n\nExemplo: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nIsto faria com que o dispositivo /dev/sdd1 e o dispositivo OCZ sejam mostrados, e o volume com o rótulo \"Label With Space\" seja ocultado.\n\nSempre deve haver um espaço entre as entradas e um sinal de mais ou menos antes de cada item diretamente. Esta lista é sensível a caracteres maiúsculos e minúsculos.\n\n" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "M_ostrar nome" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "Nome do dispositivo" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "Digite o formato de nome de exibição do dispositivo:\n\nUse:\n\t%%v\tnome do arquivo dispositivo (ex. sdd1)\n\t%%s\ttamanho total (ex. 800G)\n\t%%t\tsistema de arquivo (ex. ext4)\n\t%%l\trótulo do volume (ex. Rótulo ou [no media])\n\t%%m\tponto de montagem se montado, ou ---\n\t%%i\tID do dispositivo\n\t%%n\tmaior:números de dispositivos menores (ex. 15:3)\n" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "Montagem _automática" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "Montar dispositivo _ópticos" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "_Montar dispositivo removível" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "Montar _volumes..." #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "Montagem automática de volumes" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Para forçar ou impedir a montagem automática de alguns volumes, substituindo outras configurações, você pode especificar dispositivos, rótulos de volumes ou IDs de dispositivos na lista separados por espaços.\n\nExemplo: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nIsto faria com que o dispositivo /dev/sdd1 e o dispositivo OCZ sejam montados automaticamente quando detectado, e o volume com o rótulo \"Label With Space\" seja ignorado.\n\nSempre deve haver um espaço entre as entradas e um sinal de mais ou menos antes de cada item diretamente. Esta lista é sensível a caracteres maiúsculos e minúsculos.\n\n" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "Montar _Diretórios..." #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "Ponto de montagem automática de diretórios" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "Abrir _aba" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "Desmontar ao _sair" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "Execução automática" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "Ao _montar" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "Execução automática ao montar" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Digite o programa ou linha de comando bash a ser executado automaticamente após uma unidade removível ou disco de dados ser montado automaticamente.\n\nUse:\n\t%%v\tdispositivo (ex: /dev/sda1)\n\t%%l\trótulo do dispositivo\n\t%%m\tponto de montagem do dispositivo (ex: /media/disco)" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "Ao inserir CD de _aúdio" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "Execução automática de CD de áudio" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente quando um CD de áudio for inserido.\n\nUse:\n\t%%v\tdispositivo (ex: /dev/sda1)\n\t%%l\trótulo do dispositivo\n\t%%m\tponto de montagem do dispositivo (ex: /media/disco)" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "Ao inserir DVD de _vídeo" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "Execução automática de DVD vídeo" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente quando um DVD de vídeo for inserido.\n\nUse:\n\t%%v\tdispositivo (ex: /dev/sda1)\n\t%%l\trótulo do dispositivo\n\t%%m\tponto de montagem do dispositivo (ex: /media/disco)" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "Ao _inserir" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "Execução automática ao inserir" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente quando um dispositivo for inserido.\n\nUse:\n\t%%v\tdispositivo adicionado (ex: /dev/sda1)\n\t%%l\trótulo do dispositivo\n\t%%m\tponto de montagem do dispositivo (ex: /media/disco)" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "Ao desmonta_r" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "Execução automática ao desmontar" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente após um dispositivo ser desmontado.\n\nUse:\n\t%%v\tdispositivo desmontado (ex: /dev/sda1)\n\t%%l\trótulo do dispositivo\n\t%%m\tponto de montagem do dispositivo (ex: /media/disco)" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "Ao r_emover" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "Execução automática ao remover" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente quando um dispositivo for removido (não se aplica a ejeção de mídia).\n\nUse:\n\t%%v\tdispositivo removido (ex: /dev/sda1)\n\t%%l\trótulo do dispositivo\n\t%%m\tponto de montagem do dispositivo (ex: /media/disco)" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "Opções de _montagem" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "Opções de montagem padrão" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "Re/Montar com opções" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "O dispositivo será (re)montado usando as opções abaixo.\n\nAlém das opções regulares, você também pode especificar as opções a serem adicionadas ou removidas para um tipo específico de sistema de arquivos, através do formato OPÇÃO+FSTYPE ou OPÇÃO-FSTYPE.\n\nExemplo: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nIsto irá adicionar nosuid e noatime para todos os tipos de sistemas de arquivos, adicionar sincronização apenas para vfat e ntfs, e remover noatime para ext4.\n\nNota: Algumas opções, como nosuid, podem ser adicionadas pelo programa de montagem, mesmo se você não incluí-los. Nas opções do fstab a preferência é maior. 'pmount' ignora opções definidas aqui." #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "Dete_ctando mudança" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "Digite sua lista separando por vírgula ou espaço os sistemas de arquivo que não devem ser monitorado para mudança. Essa configuração só afeta dispositivos não-bloco (tal como: NFS ou fuse), e é normalmente utilizado para prevenir SpaceFM tornando-se inútil com sistemas de arquivos de rede. O carregamento de imagens em miniatura também vai ser desativado." #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "Alteração na detecção da lista negra" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "Manipulador de _dispositivo" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "Manipulador de _protocolo" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "_Ícone" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "CD de aúdio" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "Óptico montado" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "Mídia óptica presente" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "Mídia óptica ausente" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "Disquete montado" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "Disquete desmontado" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "Removível montado" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "Removível desmontado" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "Interno montado" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "Interno desmontado" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "Rede montada" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "Outro montado" #: ../src/settings.c:11148 msgid "_Settings" msgstr "Configuraçõe_s" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "_Ícone do marcador" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "Ícone do sub_menu" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "_Exibir marcadores" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "Novo _marcador" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "_Nome" #: ../src/settings.c:11185 msgid "_Parent" msgstr "Diretório _principal" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "C_aminho" #: ../src/settings.c:11204 msgid "_Option" msgstr "_Opção" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Link" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "Des_tino da cópia" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "Lin_k destino" #: ../src/settings.c:11222 msgid "_As Root" msgstr "Como _administrador" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "_Fonte" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "Fonte do diálogo" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "/home/usuário/Exemplo: Nome_do_Arquivo.txt" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "_Confirmar criar" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "_Cor de destaque da barra de status" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "Cor de destaque da barra de status" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "Cor de destaque do _texto da barra de status" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "Cor de destaque do texto da barra de status" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "Botão do meio do mouse" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "Copiar _nome" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "Co_piar caminho" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "Ocu_ltar painel" #: ../src/settings.c:11283 msgid "New _Window" msgstr "Nova _janela" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "Abrir janela como administrad_or" #: ../src/settings.c:11289 msgid "_File Search" msgstr "P_esquisar no computador" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "Abrir te_rminal como administrador" #: ../src/settings.c:11302 msgid "Open URL" msgstr "Abrir URL" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "Digite o formato da URL:\n\tPROTOCOLO://NOME-DE-USUARIO:SENHA@HOST:PORT/SHARE\n\nExemplos:\n\tftp://mirrors.kernel.org\n\tsmb://usuário:pass@10.0.0.1:50/docs\n\tssh://usuario@sys.dominio\n\nIncluindo uma senha não é seguro. Para marcar uma URL, clique com o botão direito na rede montada em Dispositivos e escolha o Marcador.\n" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "Salvar a_bas" #: ../src/settings.c:11310 msgid "E_xit" msgstr "S_air" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "Painel _1" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "Painel _2" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "Painel _3" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "Painel _4" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "Painéis na _barra de menus" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "F_oco" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "_Anterior" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "Próxi_mo" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "Oc_ultar" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "Gerenciador de _eventos" #: ../src/settings.c:11391 msgid "_Instance" msgstr "_Instância" #: ../src/settings.c:11396 msgid "_Startup" msgstr "Iniciali_zação" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "Executar quando iniciar instância" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente quando for iniciada uma instância do SpaceFM.\n\nUse:\n\t%%e\ttipo de evento (evt_start)\n" #: ../src/settings.c:11402 msgid "_Exit" msgstr "_Sair" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "Executar quando finalizar instância" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente quando finalizar uma instância do SpaceFM.\n\nUse:\n\t%%e\ttipo de evento (evt_exit)\n" #: ../src/settings.c:11408 msgid "_Window" msgstr "_janela" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Novo" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "Executar quando nova janela for aberta" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma nova janela do SpaceFM for aberta.\n\nUse:\n\t%%e\ttipo de evento (evt_win_new)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando." #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "_Foco" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "Executar quando a janela receber foco" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma janela do SpaceFM receber foco.\n\nUse:\n\t%%e\ttipo de evento (evt_win_focus)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis ​​exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando." #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "_Mover/Redimensionar" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "Executar quando mover/redimensionar janela" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma janela SpaceFM for movida ou redimensionada.\n\nUse:\n\t%%e\ttipo de evento (evt_win_move)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando.\n\nNota: Este comando pode ser executado várias vezes durante o redimensionamento." #: ../src/settings.c:11431 msgid "_Click" msgstr "_Clicar" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "Executar quando houver clique do mouse" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que houver clique do mouse.\n\nUse:\n\t%%e\ttipo de evento (evt_win_click)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\t%%b\tbutão (mouse button pressed)\n\t%%m\tmodificar (teclas a modificar)\n\t%%f\tfoco (elemento que recebeu o clique)\n\nVariáveis exportadas ​​de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando quando nenhum prefixo asterisco for utilizado.\n\nPrefixar o comando com um asterisco (*) e condicionalmente retornar o estado de saída 0 para inibir o manipulador padrão. Por exemplo:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nBotão do meio do mouse foi pressionado em %%f\" --button ok &" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "Tecla press_ionada" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "Executar quando uma tecla for pressionada" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma tecla for pressionada.\n\nUse:\n\t%%e\ttipo de evento (evt_win_key)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\t%%k\tcódigo da tecla (tecla pressionada)\n\t%%m\tmodificar (teclas a modificar)\n\nVariáveis exportadas ​​de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando quando nenhum prefixo asterisco for utilizado.\n\nPrefixar o comando com um asterisco (*) e condicionalmente retornar o status de saída 0 para inibir o manipulador padrão. Por exemplo:\n*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nA tecla F8 foi pressionada.\" --button ok &" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "Fec_har" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "Executar quando a janela for fechada" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma janela do SpaceFM for fechada.\n\nUse:\n\t%%e\ttipo de evento (evt_win_close)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis ​​exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando." #: ../src/settings.c:11449 msgid "_Panel" msgstr "_Painel" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "Executar quando o painel receber foco" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que um painel receber foco.\n\nUse:\n\t%%e\ttipo de evento (evt_pnl_focus)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis ​exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando." #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Exibir" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "Executar quando mostrar/ocultar painel" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que um painel ou elemento do painel for exibido ou ocultado.\n\nUse:\n\t%%e\ttipo de evento (evt_pnl_show)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\t%%f\tfoco (element shown or hidden)\n\t%%v\tvisível (1 ou 0)\n\nVariáveis exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando." #: ../src/settings.c:11466 msgid "S_elect" msgstr "S_elecionar" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "Executar quando houver seleção de arquivos" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que houver alteração na seleção de arquivos.\n\nUse:\n\t%%e\ttipo de evento (evt_pnl_sel)\n\t%%w\tdi da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando.\n\nPrefixar o comando com um asterisco (*) e condicionalmente retornar o status de saída 0 para inibir o manipulador padrão." #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "_Aba" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "Executar quando abrir aba" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma nova aba for aberta.\n\nUse:\n\t%%e\ttipo de evento (evt_tab_new)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis exportadas de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando." #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "Definir Comando tabulação Alterar Diretório" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "Executar quando a aba receber foco" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma aba receber foco.\n\nUse:\n\t%%e\ttipo de evento (evt_tab_focus)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba\n\nVariáveis exportadas ​​de bash (ex: $fm_pwd, etc...) podem ser utilizadas ​​neste comando." #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "Fe_char" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "Executar quando fechar aba" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que uma aba for fechada.\n\nUse:\n\t%%e\ttipo de evento (evt_tab_close)\n\t%%w\tid da janela (ver spacefm -s help)\n\t%%p\tpainel\n\t%%t\taba fechada" #: ../src/settings.c:11501 msgid "_Device" msgstr "_Dispositivo" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "Mudança de estado do dispositivo" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "Digite o programa ou linha de comando bash para ser executado automaticamente sempre que houver mudança de estado dos dispositivos.\n\nUse:\n\t%%e\ttipo de evento (evt_device)\n\t%%f\tarquivo de dispositivo\n\t%%v\talterar (added|removed|changed)\n" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "Título da ja_nela" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "Definir formato do título da janela" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Definir formato do título da janela:\n\nUse:\n\t%%n\tnome da pasta atual (ex: bin)\n\t%%d\tcaminho da pasta atual (ex: /usr/bin)\n\t%%p\tnúmero painel atual (1-4)\n\t%%t\tnúmero da guia decorrente\n\t%%P\tnúmero total de painéis visíveis\n\t%%T\tnúmero total de guias no painel atual\n\t*\tasterisco mostra se há tarefas em execução na janela" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "_Ícone da janela" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "Digite o nome do ícone, o caminho do arquivo ícone ou o nome do item arquivado:\n\nOu clique em Escolher para selecionar um ícone. Nem todos os ícones podem funcionar corretamente devido a várias questões.\n\nAlternativas de ícones fornecida pelo SpaceFM:\n\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n\tspacefm-48-folder-[blue|red]\n\nPor exemplo: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "Tela cheia" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "Modo _desenho" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "_Preferências" #: ../src/settings.c:11532 msgid "_Tool" msgstr "Ferramen_tas" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "Minia_turas (global)" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "_Instalar" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "Detalhado" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "In_cluído" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "Manual do _usuário" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "Pá_gina inicial" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "SpaceFM _novidades" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "Obter plu_gins" #: ../src/settings.c:11606 msgid "_Options" msgstr "_Opções" #: ../src/settings.c:11611 msgid "_Browser" msgstr "_Navegador" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "Escolha o navegador HTML" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "Digite o nome do navegador ou linha de comando bash que será utilizada para exibir arquivo HTML e URLs:\n\nUse:\n\t%%u\turl\n\n(Deixe em branco para detecção automática do navegador)" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "Localização do _manual" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "Escolha a localização do manual do usuário" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "Digite o caminho do arquivo local ou remoto da URL para Localizar o manual do usuário do SpaceFM:\n\n(Deixe em branco para padrão.)\n" #: ../src/settings.c:11623 msgid "_About" msgstr "S_obre" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "Exibir di_spositivos" #: ../src/settings.c:11656 msgid "_Status" msgstr "E_stado" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "_Quantidade" #: ../src/settings.c:11673 msgid "_Item" msgstr "_Item" #: ../src/settings.c:11679 msgid "_To" msgstr "Des_tino" #: ../src/settings.c:11685 msgid "_Progress" msgstr "_Progresso" #: ../src/settings.c:11692 msgid "T_otal" msgstr "Tamanh_o" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "I_niciado" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "D_ecorrido" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "Velocidade at_ual" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "Velocid_ade média" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "Reor_denar" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pa_usa" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "Fila" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "_Reiniciar" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "Mostrar saída" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "Tod_as as tarefas" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "Fonte do gerenciador de tarefas" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "copiando arquivo 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11789 msgid "_Columns" msgstr "_Colunas" #: ../src/settings.c:11794 msgid "_Popups" msgstr "_Notificações" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "Sempre mostr_ar a saída" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "Se_mpre no topo" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "Em prim_eiro plano" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "Todas as áreas de _trabalho" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "_Opção de substituição" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "Opçã_o de erro" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "Fonte do gerenciador de tarefas (afetara as novas tarefas)" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "Exemplo de saída 0123456789" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "_Parar no primeiro" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "Parar em _qualquer" #: ../src/settings.c:11857 msgid "_Continue" msgstr "_Continuar" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "_Fila" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "Novas _tarefas na fila" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "Fila intelige_nte" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "Pau_sa no erro" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "Organizar _ícones" #: ../src/settings.c:11892 msgid "By _Name" msgstr "Por _nome" #: ../src/settings.c:11895 msgid "By _Type" msgstr "Por _tipo" #: ../src/settings.c:11898 msgid "By _Date" msgstr "Por _data" #: ../src/settings.c:11901 msgid "By _Size" msgstr "Por ta_manho" #: ../src/settings.c:11904 msgid "_Custom" msgstr "_Personalizado" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "_Ascedente" #: ../src/settings.c:11910 msgid "D_escending" msgstr "D_escedente" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "Configuraçõe_s da área de trabalho" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "Dispositi_vos" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "Pasta área _de trabalho" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "Fonte do editor" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "Exemplo de Entrada 0123456789" #: ../src/settings.c:11964 msgid "Input Font" msgstr "Fonte de entrada" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "E_xecutar" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "Edi_tar" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Editar como _administrador" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "Es_colher" #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "Manipuladores de arquivo..." #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "Abrir no _Padrão" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "Na _aba" #: ../src/settings.c:11993 msgid "N_ew" msgstr "No_vo" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "Aba _1" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "Aba _2" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "Aba _3" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "Aba _4" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "Aba _5" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "Aba _6" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "Aba _7" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "Aba _8" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "Aba _9" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "Aba 1_0" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "No _painel" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "_Extrair aqui" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Extrair _para" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "_Listar conteúdo" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "_Arquivo padrão" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "Abrir c_om aplicativo" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "_Criar subpasta" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "Ac_esso a escrita" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "_Manipuladores de arquivos" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "Pa_sta" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Marcador" #: ../src/settings.c:12104 msgid "_Archive" msgstr "_Arquivo" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "_Aba" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "Aba a_qui" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "Apli_cativo na área de trabalho" #: ../src/settings.c:12122 msgid "_Go" msgstr "_Ir" #: ../src/settings.c:12127 msgid "_Back" msgstr "_Voltar" #: ../src/settings.c:12129 msgid "_Forward" msgstr "S_eguir" #: ../src/settings.c:12131 msgid "_Up" msgstr "Aci_ma" #: ../src/settings.c:12133 msgid "_Home" msgstr "Pas_ta pessoal" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "_Definir como padrão" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "Caminho rea_l" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "Fo_co" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "_Barra de endereço" #: ../src/settings.c:12149 msgid "_File List" msgstr "_Lista de arquivos" #: ../src/settings.c:12151 msgid "_Tree" msgstr "_Árvore" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "_Aba" #: ../src/settings.c:12164 msgid "_Close" msgstr "Fe_char" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "_Estilo" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "C_olunas" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "_Reordenar" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "_Seleção elástica" #: ../src/settings.c:12202 msgid "_Sort" msgstr "O_rganizar itens" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "Ta_manho" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "_Tipo" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "_Permissão" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "Pr_oprietário" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "_Modificado" #: ../src/settings.c:12220 msgid "_Descending" msgstr "_Descendente" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "Nat_ural" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "Diferen_ciar maiúsculas de minúsculas" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "P_rimeira pasta" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "Pr_imeiro arquivo" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "Mi_sto" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "Ocu_ltar primeiro" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "Oc_ultar último" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "Atua_lizar" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "Busca automá_tica" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "Ajuda da barra de localização" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Renomear" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "Excl_uir" #: ../src/settings.c:12281 msgid "_Actions" msgstr "_Ação" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "Copiar o_rigem" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "Colar _link" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "Colar obje_to" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "Colar c_omo" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "_Copiar para" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "L_ocalização" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "L_ocalização anterior" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Aba" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Painel" #: ../src/settings.c:12346 msgid "_Move To" msgstr "_Mover para" #: ../src/settings.c:12350 msgid "_Location" msgstr "_Localização" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Aba" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Painel" #: ../src/settings.c:12383 msgid "_Select All" msgstr "_Selecionar tudo" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "_Desselecionar tudo" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Inverter seleção" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "S_elecionar itens coincidentes" #: ../src/settings.c:12392 msgid "R_oot" msgstr "Administrad_or" #: ../src/settings.c:12398 msgid "Move _To" msgstr "Mover _para" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "Propr_iedades" #: ../src/settings.c:12414 msgid "_Quick" msgstr "_Rápido" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "_Recursivo" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "Barra de ferramen_tas" #: ../src/settings.c:12526 msgid "T_ree" msgstr "Á_rvore" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "Barra _lateral" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "_Detalhado" #: ../src/settings.c:12550 msgid "_Icons" msgstr "_Ícones" #: ../src/settings.c:12555 msgid "_Compact" msgstr "_Compacta" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "Ícones grande" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "Arq_uivos ocultos" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "Fonte da lista de arquivo (Painel %d)" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Exemplo: 1.1 M arquivo -rwxr--r-- user:group 01/01/2013 01:11" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "Fonte dos dispositivos (Painel %d)" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [mídia ausente] :EXEMPLO" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Fonte dos marcadores (Painel %d)" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "Nome exemplo do marcador" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Fonte da barra de localização (Painel %d)" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/exemplo" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "Fonte da aba (Painel %d)" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Fonte da barra de status (Painel %d)" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "12 G free / 200 G 52 itens" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "Seguir _diretório" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "_Nova aba" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "Clique simple_s" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "Diretório não existe\n\n%s" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "Não é possível acessar %s\n\n%s" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Selecionar itens coincidentes" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "Digite o padrão para selecionar arquivos e pastas:\n\nSe o seu padrão contém os caracteres em letras maiúsculas, a adequação vai ser sensível a maiúsculas e minúsculas.\n\nExemplo: *sp*e?m*\n\nDICA: Você também pode digitar '%% OCORRÊNCIA' na barra de localização." #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "Escolha o local" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "Destino inválido" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "Destino e origem são os mesmos" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "Destino inválido" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "Ocultar arquivo" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "O nome dos arquivos selecionados serão adicionados ao arquivo '.Hidden (oculto)' localizado nesta pasta, que irá escondê-los da vista do SpaceFM. Talvez seja necessário atualizar a exibição ou reiniciar SpaceFM para que os arquivos fiquem ocultos.\n\nPara reexibir o arquivo, abra o arquivo '.Hidden (oculto)' em seu editor de texto, remova o nome do arquivo e atualize." #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "Erro ao ocultar Arquivos" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "Nenhum arquivo será selecionado" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Não foi possível montar o dispositivo" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Não foi possível desmontar o dispositivo" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Não foi possível ejetar o dispositivo" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "UDEV não Configurado" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "A montagem de um compartilhamento de rede requer udev (--disable-hal) compilação do SpaceFM." #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "URL inválida" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "A URL digitada não é válida" #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "Manipulador não encontrado" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "Nenhum manipulador de rede está configurado para esta URL, ou o comando mount está definido. Adicione um manipulador em: Dispositivos|Configurações|Manipuladores de protocolo." #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "Abri URL %s" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "montar" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "desmontar" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "Nenhum manipulador está configurado para este tipo de dispositivo, ou o comando %s não está definido. Adicioneum manipulador em: Configurações|Manipuladores de Dispositivos ou Manipuladores de Protocolo." #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "Montar %s" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "Atualmente %s está montado. Deve-se desmontá-lo antes para que possa verificá-lo" #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "Dispositivo está montado" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Digite o comando de verificação do sistema de arquivos:\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\nEDITE COM CUIDADO! Este comando é executado como administrador." #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "Verificar como administrador" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "VERIFICAR COMO ADMINISTRADOR" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "Verifica como administrador %s" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Digite o comando para montagem:\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\t%%%%o\topções de montagem de um volume específico\n\t\t( %s )\n\nNota: fstab substitui algumas opções\n\nEDITE COM CUIDADO! Este comando é executado como administrador." #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "Montar como administrador" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "MONTAR COMO ADMINISTRADOR" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "Montar como administrador %s" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Digite o comando de desmonstagem:\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\nEDITE COM CUIDADO! Este comando é executado como administrador." #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "Desmontado como administrador" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "DESMONTADO COMO ADMINISTRADOR" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "Desmontado como administrador %s" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "\n\nAVISO: %s está montado. Você pode desejar ou precisar desmontá-lo antes de mudar o rótulo." #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "Digite o rótulo do volume para o dispositivo %s:%s" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "Alterar rótulo do volume" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Digite o comando remover o rótulo de fstype '%s':\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\t%%%%l\tnovo rótulo ( \"%s\" )\n\nEDITE COM CUIDADO! Este comando é executado como administrador%s" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Digite o comando e rótulo que será aplicado no sistema de arquivo '%s':\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\t%%%%l\tnovo rótulo ( \"%s\" )\n\nEDITE COM CUIDADO! Este comando é executado como administrador%s" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "Alterar rótulo como administrador" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "RÓTULO COMO ADMINISTRADOR" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "Rótulo como administrador %s" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "Desmontando %s" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "Removendo %s" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "Remontar %s" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "Recarregar %s" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "Sincronizar" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "o dispositivo %s está montado. É necessário desmontá-lo para poder formatar." #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "( UM DISPOSITIVO INTEIRO )" #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Você está prestes a apagar os dados do dispositivo %s %s - TODOS OS DADOS SERÃO PERDIDOS. Seja paciente - isso pode levar algum tempo pois o programa dd não dá retorno (estimativa).\n\nDigite o comando para substituir o volume inteiro com /dev/%s:\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\nEDITE COM CUIDADO! Este comando é executado como administrador." #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Você está prestes a formatar o dispositivo %s %s - TODOS OS DADOS SERÃO PERDIDOS.\n\nDigite o comando %s para formatar:\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\nEDITE COM CUIDADO! Este comando é executado como administrador." #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "Formatar" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "AVISO DE PERDA DE DADOS" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "Formatar %s" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "O dispositivo %s está montado. É necessário desmontá-lo para ser restaurado." #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "Escolha o backup para restauração" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "Você está prestes a substituir o código de inicialização MBR %s usando %s.\n\nEsta alteração pode impedir o computador de inicializar corretamente. Antes todos os dados importantes do dispositivo deve ser feito backup.\n\nContinuar? (Se pressionar Sim, você ainda terá mais uma oportunidade de cancelar antes do disco ser modificado.)" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "Restaurar MBR" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "Tipo desconhecido" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "O arquivo selecionado não é um arquivo de backup reconhecido.\n\nNome de arquivo do FSArchiver contém 'fsarchiver' e ou na extremidade '.fsa'. \nNome de arquivo do Partimage contém 'partimage' e ou na extremidade '.000'. \nNome de arquivo do MBR contém no fim do nome dos arquivos '.mbr', '.mbr.bin', ou '-MBR-back' e são 512 bytes de tamanho. \nSe você está certo de que este é um arquivo de backup válido, deve-se renomeá-lo para evitar esse erro." #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Você está prestes a restaurar %s %s usando %s - TODOS OS DADOS SERÃO PERDIDOS.\n\nDigite %s comando para restaurar:\n\nUse:\n\t%%%%v\tarquivo de dispositivo ( %s )\n\t%%%%s\tarquivo de backup ( %s )\n\nEDITE COM CUIDADO! Este comando é executado como administrador." #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "Restaurar" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "%s Restaurar %s" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "O diretório %s não foi encontrado. Udevil está instalado?" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "Faltando diretório" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "Escolha o backup para informações" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "Arquivo MBR" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "Baseado no nome, o arquivo selecionado não parece ser um arquivo de backup MBR. Outras informações está disponível para este tipo de backup." #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "Restaurar informações" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "\n\nAVISO: O dispotivo %s está montado. Por padrão, FSArchiver só faz backup de volume montado como somente para leitura. Para fazer backup de um volume montado como leitura e gravação, é necessário adicionar --allow-rw-mounted para o comando. ver 'man fsarchiver' para maiores detalhes." #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "%s está montado atualmente. É necessário desmontá-lo antes para que possa criar o backup usando Partimage." #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "Salvar backup %s" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "Substituir?" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "O backup selecionado já existe. Deseja substituir?" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Digite o comando %s para o backup.\n\nUse:\n\t%%%%v\tarquivo do dispositivo ( %s )\n\t%%%%s\tarquivo de backup ( %s )%s\n\nEDITE COM CUIDADO! Este comando é executado como administrador." #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "Backup" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "%s Backup %s" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "Propriedades %s" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sAtual dispositivo selecionado: %s\nRótulo do volume: %s\nID do dispositivo: %s" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "_Ejetar" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Matar como outro" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "Na _fila" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Reiniciar" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Parar como outro" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Continuar como outro" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Movendo: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Copiando:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Lixeira: " #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Excluir:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Atalho" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Alterar: " #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Executar: " #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Movendo..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Copiando..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Deletando..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Excluindo..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Criando atalho..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Alterando..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Executando..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "De:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Para:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Estimativa: " #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Estado: " #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pausado" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "Na fila" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Perguntar" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Sobrescrever todos" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Ignorar todos" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Renomear automaticamente" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Parar no primeiro erro" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Parar em qualquer erro" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Continuar" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Parado" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Erro" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Concluído" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s restante" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Erro ( Parar no primeiro )" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Erro ( Parada aleatória )" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Parado com %d erro" msgstr[1] "Parado com %d erros" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Finalizado com %d erro" msgstr[1] "Finalizado com %d erros" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Finalizado com erro ( estado da saída %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Finalizado com erro" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Pausado ( pid %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Pausado ( estado da saída %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "Na fila ( pid %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "Na fila ( estado da saída %d )" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Executando com %d erro" msgstr[1] "Executando com %d erros" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Executando... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Executando... ( %d estado de saída )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "paralisada" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[ SNIP - erros adicionais acima foram cortados a partir deste registro ]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Movendo de pasta" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Ligação da pasta:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Copiar da pasta:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Pasta já existe" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Pasta já existe. Por favor, renomear ou selecionar uma opção." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( link )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! substituir arquivo com link !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( mesmo tamanho )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu bytes )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "maior" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "menor" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( mesmo tempo )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "mais novo" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "mais antigo" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Nome do arquivo já existe" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "Nome do arquivo já existe. Por favor, renomear ou selecionar uma opção." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Renomear é obrigatório" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "Na pasta" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "S_ubstituir" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "S_ubstituir todos " #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pausa" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Ignorar" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "I_gnorar Todos" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Para a pasta:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Nome da pasta:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr " _Renomear " #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr " Re_nomear automaticamente " #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr " Re_nomear todos automaticamente " #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "Erro ao carregar manipulador" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "Criar arquivo" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "Conf_igurar" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "Co_mandos de compactação" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "Manipulador de arquivo - Criar Arquivo" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "Nenhum manipulador de arquivo configurado. Você deve adicionar um manipulador antes de criar um arquivo." #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "Formato de _Arquivo" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "O comando de criação de arquivo está vazio. Insira um comando." #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "As seguintes variáveis devem estar no comando de criação de arquivo:\n\nUm dos seguintes:\n\n%%%%n: Primeiro arquivo/diretório selecionado para arquivamento\n%%%%N: Todos arquivos/diretório selecionados para arquivamento\n\nE um dos seguintes:\n%%%%o: Arquivo resultante único\n%%%%O: Arquivo resultante por arquivo/diretório origem (veja %%%%n/%%%%N)\n\n" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "Erro ao salvar manipulador" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "copiar" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "Arquivo" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "Extrair para" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "Cri_ar subpasta(s)" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "Tornar o conteúdo do usuário gravável" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "Não há arquivo manipulador/comando localizado para arquivo:" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "Extraindo %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nCompleto!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Comando:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Sistema de arquivos" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "( subpasta não existe )" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "Remover associação de tipo de texto" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "NOTA: Ao compilar a lista de aplicativos para aparecer no submenu Abrir para um arquivo de texto, SpaceFM irá incluir aplicativos associados à MIME (ex: text/html) com o tipo e aplicativos associados texto/simples. Se você selecionar Remover um aplicativo, será removido como um aplicativo associado à MIME para o tipo (ex: text/html), mas não será removido como um aplicativo associado para text/plain (a menos que à MIME seja do tipo text/plain). Assim, usando Remover não poderá remover o aplicativo do submenu aberto para este tipo, a menos que você também queira remover texto/simples." #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "O arquivo '%s' não existe.\n\nCopiando '%s' para '%s' e editando-o, você poderá ajustá-lo com o o comportamento e a aparência desta aplicação para o usuário atual.\n\nCriar cópia agora?" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "Cópia de Arquivo da Área de Trabalho" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "O arquivo '%s' não existe.\n\nCopiando '%s' para '%s' e editando-o, você poderá ajustá-lo como tipo MIME '%s', sendo que os arquivos são reconhecidos para o usuário atual.\n\nCriar cópia agora?" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "O arquivo '%s' não existe.\n\nAo criar o novo arquivo '%s' e editá-lo, você poderá defini-lo como tipo MIME '%s', sendo que os arquivos são reconhecidos para o usuário atual.\n\nCriar este arquivo agora?" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "Criar novo arquivo XML" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "_Definir como padrão" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "_Adicionar" #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "novo" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Deseja realmente excluir %d item selecionado?" msgstr[1] "Deseja realmente excluir %d itens selecionados?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Confirmar exclusão" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "C_aminho: inicial" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Nome: inicial" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "No_me do arquivo/pasta: inicial" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "Diretório _principal: inicial" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "C_aminho: existe como pasta" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Nome: existe como pasta" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "Nome do _arquivo: existe como pasta" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "Diretório _principal:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "C_aminho: existe como arquivo" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Nome: existe como arquivo" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "Nome do _arquivo: existe como arquivo" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "C_aminho: * substituir arquivo existente" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Nome: * substituir arquivo existente" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "_Nome do arquivo: * substituir arquivo existente" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "C_aminho: diretório principal existe como arquivo" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "_Nome:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "_Nome do arquivo:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "Diretório _principal: diretório principal existe como arquivo" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "C_aminho: * criar diretório principal" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "Diretório _principal: * criar diretório principal" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "C_aminho:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Mover" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Selecione o destino do link" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Selecione arquivo modelo" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Selecione pasta modelo" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Navegar" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Nom_e do arquivo" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "O_rigem" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Inserir como" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "C_riar" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Criar novo(a)" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Arquivo" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "pasta" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "link" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Renomear" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "C_opiar" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Copiar" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Criar link para" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Link alvo" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Alvo" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr " Como administrador" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Link" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "Arquivo" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "O_pções" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Re_verter" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& _Abrir" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Link-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Link-> %s (ausente)" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "_Alvo:" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "_Modelo:" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "Arquivo vazio" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "Pasta vazia" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "E_xtensão:" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "Mov_er" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "Cop_iar" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "Lin_k" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "Link al_vo" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "C_omo administrador" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "_Arquivo" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "Pa_sta" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "_Link" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Novo" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "O caminho contém novas linhas" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "Criar diretório principal" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "O diretório principal não existe. Deseja criá-lo?" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Erro na criação do diretório principal\n\n%s" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "Mkdir erro" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "Substituir arquivo existente" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "AVISO DE SUBSTITUIÇÃO" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "O caminho do arquivo existe. Deseja realmente substituir o arquivo existente?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "Criar link%s" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "Modelo ausente" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "O modelo especificado não existe" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "Criar novo arquivo%s" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "Criar nova pasta%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "Copiar%s" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "Erro ao copiar destino" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "Erro ao determinar o destino do link" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "Erro na ligação do link" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "Mover%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "Erro ao renomear arquivo\n\n%s" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Erro ao renomear" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Nova pasta" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "Nome da nova pasta:" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Novo arquivo" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "Nome do novo arquivo" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "Nome já existe.\n\nPor favor, insira um novo:" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "O novo arquivo não pode ser criado" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr " O link simbólico alvo está faltando, ou você não tem permissão para acessá-lo:\n%s\n\nAlvo: %s" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "Link danificado" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Deseja realmente excluir o item %d selecionado como administrador ?" msgstr[1] "Deseja realmente excluir os itens %d selecionados como administrador ?" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "Confirmar deletar como administrador" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "DELETAR COMO ADMINISTRADOR" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "Deletar como administrador" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "Mover como administrador" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "Copiar como administrador" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytes )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d pasta" msgstr[1] "%d pastas" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d arquivo, %s" msgstr[1] "%d arquivos, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d arquivo" msgstr[1] "%d arquivos" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( vários arquivos )" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "( vários tipos)" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "Selecionar..." #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "_Nome da pasta:" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytes )" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "1 arquivo" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "_Nome do link:" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "( Link quebrado )" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "Erro na leitura do link" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Calculando..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "Mudança na data do arquivo" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Usuário inválido" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Grupo inválido" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "Além de um caminho de pasta ou arquivo, os comandos podem ser inseridos na barra de localização. Prefixos:\n\t$\texecutar como tarefa\n\t&\texecutar e esquecer\n\t+\texecutar no terminal\n\t!\texecutar como administrador\nUse:\n\t%%F\tarquivos selecionados ou %%f primeiro arquivo selecionado\n\t%%N\tnome dos arquivos selecionados ou %%n primeiro nome de arquivo selecionado\n\t%%d\tdiretório atual\n\t%%v\tdispositivo selecionado (ex: /dev/sda1)\n\t%%m\tponto de montagem do dispositivo (ex: /media/dvd); %%l rótulo do dispositivo\n\t%%b\tselecione marcador\n\t%%t\tdiretório da tarefa selecionada; %%p task pid\n\t%%a\tvalor do item de menu\n\t$fm_panel, $fm_tab, $fm_command, etc...\n\nExemplo: $ echo \"Diretório atual: %%d\"\nExemplo: +! umount %%v" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "Manipuladores de arquivo" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "Manipuladores de dispositivo" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "Manipuladores de protocolo" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "Manipuladores de Arquivo" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "Manipu_ladores de arquivo" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "Manipu_ladores de dispositivo" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "Manipu_ladores de protocolo" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "Manipuladores de arquivo" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "Erro: Não foi possível carregar o comando (erro interno)" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "Erro: Não foi possível salvar o comando (não pôde obter o caminho do script)" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "Erro na leitura do arquivo" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "Erro: Não foi possível salvar o comando (erro interno)" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "Erro de escrita no arquivo" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "Dispositivo" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "Protocolo" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "O arquivo manipulador %s selecionado foi importado para a lista manipuladores %s." #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "Importar manipulador" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "(opcional)" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "(desabilitado)" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "Remover permanentemente o manipulador selecionado?" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "Aplicar Alterações?" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "Remover permanentemente o manipulador selecionado?" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "Restaurar manipuladores padrão" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "Por falta de manipuladores será restaurado o modo padrão.\n\nSUBSTITUIR também TODOS os manipuladores padrão existente?" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "Por favor, indique um nome válido para o manipulador." #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "Por favor, indique um tipo MIME válido ou o nome do caminho predefinido." #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "As seguintes variáveis de substituição provavelmente devem estar no comando compressão:\n\nUm dos seguintes:\n\n%%n: Primeiro arquivo selecionado/diretório para arquivar\n%%N: Todos os arquivos selecionados/diretórios para arquivar\n\ne um dos seguintes procedimentos:\n\n%%o: Resultando um único arquivo\n%%O: Resultando arquivo por arquivo de origem/diretório" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "As seguintes variáveis provavelmente devem ser do comando de extração:\n\n%%x: Arquivo para extrair" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "As seguintes variáveis provavelmente devem estar no comando lista:\n\n%%x: Arquivo para a lista" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "Selecione o plugin manipulador de arquivo" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "Digite o plugin manipulador de URL" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "Digite a URL do plugin manipulador do SpaceFM:\n\n\n(wget será utilizado para baixar o arquivo plugin manipulador)" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "_Exportar" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "Importar _Arquivo" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "Importar _URL" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "Restaurar manipuladores pa_drão" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "Pad_rão" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "A_dicionar" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "Apl_icar" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "Aci_ma" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "Abai_xo" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "Ha_bilitar como abridor padrão" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "At_ivar manipulador" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "_Nome:" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "Tipo MIM_E:" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "Lista de p_ermissões:" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "Nome do c_aminho:" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "List_a negra:" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "_Ícone:" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "Co_mpactar:" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "Executar co_mando:" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "_Montar:" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "Ex_trair:" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "Desmon_tar:" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "Li_sta:" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "Propriedade_s:" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Executar no terminal" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "Executar como tarefa" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "Editar" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Por favor, escolha uma aplicação" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "Nota: O tipo MIME '%s' atualmente está configurado para abrir com o manipulador de arquivo '%s', ao invés de abrir com à aplicação MIME associado.\n\nVocê também pode ter que desativar este manipulador em: Open|Manipuladores de arquivo para este tipo poder ser aberto com o aplicativo associado por padrão." #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "Tipo MIME possui manipulador" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "Nota: O tipo MIME '%s' atualmente está configurado para abrir com '%s' manipulador de arquivo, ao invés de abrir com à aplicação MIME associado.\n\nVocê também pode ter que desativar este manipulador em: Open|Arquivo padrão|Arquivos manipuladores, ou selecionar a opção global Abrir|Arquivo padrão|Abrir com aplicativo, para este tipo poder ser aberto com o aplicativo associado por padrão." #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Comando não encontrado" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Diretório destino \"%1$s\" existe na fonte \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "Acessando" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Removendo" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Criando diretório" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Criando link" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Gravando" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Criando" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Renomeando" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "Por favor, instale /usr/bin/sha256sum para que eu possa melhorar a sua segurança, e execute os comandos como administrador\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Por favor, configure um comando de Terminal SU válido no menu: Exibir|Preferências|Avançado" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminal SU não disponível" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "Por favor, configure um comando SU válido no menu gráfico: Exibir|Preferências|Avançado" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Gráfico SU não disponível" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Não foi possível criar diretório temporário" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Por favor, defina um programa de terminal válido no menu: Exibir|Preferências|Avançado" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "spacefm-auth não foi encontrado no caminho - o que reduz a sua segurança" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "Erro na execução '%s'\nVeja a saída padrão (execute spacefm no terminal) para obter informações de depuração" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "Erro ao escrever arquivo temporário" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "Tempo limite esgotado calculando tamanho total\n" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nErro: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Volume %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "Unidade %s/%s" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "Unidade %s" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Unidade de disquete" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Unicade compact flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Drive Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Unidade de midía smart" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Drive SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip driver" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz driver" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pendrive" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Reprodutor de Música %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Câmera digital %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Unidade" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "%s externo" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disco CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Disco CD-R vazio" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disco CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Disco CD-RW vazio" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disco CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disco DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Disco DVD-RAM vazio" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disco DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Disco DVD-R vazio" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disco DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Disco DVD-RW vazio" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disco DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Disco DVD+R vazio" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disco DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Disco DVD+RW vazio" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disco DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Disco de áudio" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Volume removível %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volume" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Falha ao conectar ao daemon HAL: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "O dispositivo \"%s\" não é um volume ou unidade" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "O Dispositivo \"%s\" não foi encontrado na tabela de dispositivos do sistema" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Você não tem previlégios de administrador para montar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Você não tem previlégios para desmontar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Você não tem previlégios de administrador para ejetar o volume \"%s\"" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Opção de montagem inválida ao tentar montar o volume \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "O volume \"%s\" utiliza o sistema de arquivos %s que não é suportado pelo sistema" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Um aplicativo está impedindo que o volume \"%s\" seja desmontado" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "O volume \"%s\" não está montado" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Erro %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "O volume \"%s\" provavelmente foi montado manualmente em linha de comando" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Discos vazio não podem ser montados, utilize um aplicativo de gravação para gravar áudio ou dados no disco" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "CDs de áudio não podem ser montados, utilize reprodutores de música para reproduzir as faixas de áudio" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr ":disquete" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr "óptico" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "[em branco]" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "[aúdio]" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "[mídia ausente]" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "Manipulador de arquivo selecionado" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "Manipulador de protocolo selecionado" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "( nenhum dispositivo udev )" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "\nExecução automática: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "\nAbrir automaticamente a aba %s em %s\n" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "\nDesmontagem automática: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "\nDesmontagem-automática: erro: nenhum comando de desmontagem disponível\n" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "\nMontagem automática: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "\nMontagem-automática: erro: nenhum comando de montagem disponível\n" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Desmontar se montado: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "Você não tem permissão para alterar o conteúdo de arquivo %s\n\nConsidere copiar o arquivo para a área de trabalho ou conectar-se a uma cópia colocada em: ~/.local/share/applications/" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Impossível renomear" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "Digite o nome do novo item da área de trabalho:\n\nMudar o nome deste item na área de trabalho, requer modificar o conteúdo da área de trabalho %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Mudar nome do item na área de trabalho" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Ocorreu um erro ao renomear este item na área de trabalho." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Abrir _pasta que contém o arquivo" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Selecionar uma pasta" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Navegar..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Volumes local" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Última modificação" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Digite o programa ou linha(s) de comando bash.\n\nUso:\n\t%F\tarquivos selecionados ou %f primeiro arquivo selecionado\n\t%N\tnome de arquivos selecionados ou %n primeiro nome do arquivo selecionado\n\t%d\tdiretório atual\n\t%v\tdispositivo selecionado (ex: /dev/sda1)\n\t%m\tponto de montagem do dispositivo (ex: /media/dvd); %l rótulo do dispositivo\n\t%b\tmarcador selecionado\n\t%t\tdiretório da tarefa selecionada; %p pid da tarefa\n\t%a\tvalor do item de menu\n\t$fm_panel, $fm_tab, $fm_command, etc" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "Tipo MIME" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Nome do arquivo" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Diretório" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Acesso a escrita do diretório" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "O arquivo é texto" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "O arquivo é um diretório" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "O arquivo é um link" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "O usuário é administrador" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Vários selecionados" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "A área de transferência contém arquivos" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "A área de transferência contém texto" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Painel atual" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Painel de contagem" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Aba atual" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Aba de contagem" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Marcadores" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Ponto de Montagem do dispositivo" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Rótulo do dispositivo" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Tipo de sistema de arquivos do dispositivo" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI do dispositivo" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Propriedades do dispositivo" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Contagem de tarefas" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Diretório de tarefas" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Tipo de tarefa" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Nome da tarefa" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Diretório do painel 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Diretório do painel 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Diretório do painel 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Diretório do painel 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Marcar no painel 1" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Marcar no painel 2" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Marcar no painel 3" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Marcar no painel 4" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Dispositivo do painel 1" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Dispositivo do painel 2" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Dispositivo do painel 3" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Dispositivo do painel 4" #: ../src/item-prop.c:205 msgid "equals" msgstr "é igual" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "não é igual" #: ../src/item-prop.c:207 msgid "contains" msgstr "contém" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "não contém" #: ../src/item-prop.c:209 msgid "begins with" msgstr "inicia-se com" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "não começa com" #: ../src/item-prop.c:211 msgid "ends with" msgstr "termina com" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "não termina com" #: ../src/item-prop.c:213 msgid "is less than" msgstr "é inferior a" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "é maior do que" #: ../src/item-prop.c:215 msgid "matches" msgstr "coincide" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "não coincide" #: ../src/item-prop.c:222 msgid "Application" msgstr "Aplicação" #: ../src/item-prop.c:223 msgid "Command" msgstr "Comando" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Atual: mostrar" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Atual: ocultar" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Atual: desabilitar" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "Atual: Habilitar" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Salvar as alterações do script modificado?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Salvar as alterações para o script de comando?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Substituir script?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "O script de comando foi modificado no disco.\n\nDeseja realmente substituí-lo?" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "Comando do diretório" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "(nenhum arquivo)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "A linha de comando não começa com um arquivo de texto (script) para ser aberto, ou o script não foi encontrado no diretório: $PATH." #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Alvos: (uma lista de caminhos separada por vírgula ou URLs)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Alvos: (um arquivo .desktop ou arquivo executável)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Selecione o executável" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "Linha de comando muito longa" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "Sua linha de comando é superior a 2.000 caracteres e podem ser truncados quando salvo. Considere a possibilidade de usar um script de comando em vez de selecionar um Script no separador de comando." #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Propriedades do item da barra de ferramentas" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Propriedades do item de menu" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Item da barra de ferramentas" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Item de _menu" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Tipo:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Nome" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Tecla:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Ícone:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Con_texto" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "A_plicar" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "corresponde a qualquer regra:" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "corresponde a todas as regras:" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "não corresponde a nenhuma regra:" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "não corresponde a todas as regras:" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Mostrar" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Habilitar" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Ocultar" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Desabilitar" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "item se contexto" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "Editar regra" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Valor:" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "Se ativado, use-o como manipulador para:" #: ../src/item-prop.c:1962 msgid "none" msgstr "nenhum" #: ../src/item-prop.c:1964 msgid "files" msgstr "arquivos" #: ../src/item-prop.c:1966 msgid "devices" msgstr "dispositivos" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "_Ignorar Contexto / Mostrar todos (definição global)" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "Com_ando" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "_Linha de comando" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Script" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Abrir no _editor" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "Edito_r do administrador" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "O_pções" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "Executar opções" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "Exibir mensagens" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "Mostrar erros" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "Mostrar saída" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "Percorrer a saída" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "Manter o terminal aberto" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "Executar como usuário:" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "( Deixe em branco para o usuário atual )" #: ../src/item-prop.c:2184 msgid "Style" msgstr "Estilo" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "Normal" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "Caixa de seleção" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "Confirmação" #: ../src/item-prop.c:2204 msgid "Input" msgstr "Entrada" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "Mensagem de confirmação/entrada:" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Abrir no Navegador:" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "Dados do diretório" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "Diretório do plugin" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "Adicionar item nna barra de ferramentas" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Submenu" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "Separador" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "Comando interno" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "Acompanhar estado" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "Renderização de forma diferente dependendo do estado da seleção." #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "Ícone" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "O ícone para renderizar." #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "tamanho" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "O tamanho do ícone para processar em pixels." #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Animações" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Ícones de aplicativos" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Ícones de menu" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Ícones do dispositivo" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "Emblemas" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "Ícones expressivos" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "Denominações internacionais" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "Ícones do tipo de arquivo " #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "Localização dos ícones" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "Estado dos ícones" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "Sem categoria dos ícones" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Todos os ícones" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "Arquivos de imagem" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "Selecionar _ícon em:" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "Pe_squisar ícone:" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "Limpar campo de pesquisa" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Visualização" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "Nenhum arquivo selecionado" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "Dispositivo de bloco" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "Caracter do dispositivo" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "Soquete" spacefm-1.0.5/po/ru.po000066400000000000000000010561601264770501700145610ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # akdengi , 2009 # Anton Dobkin , 2008 # irk.translator , 2012 # Roxana Kolosova , 2006 # Vladimir Kudrya , 2013 # Vladimir Kudrya , 2013,2015 # irk.translator , 2012 # Vladimir Lomov , 2015 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-13 13:50+0000\n" "Last-Translator: Vladimir Kudrya \n" "Language-Team: Russian (http://www.transifex.com/ignorantguru/spacefm/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Открыть каталог в SpaceFM" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Открыть каталог" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Поиск файлов SpaceFM" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Поиск файлов и каталогов" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Файловый менеджер SpaceFM" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Просмотр файловой системы" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "by IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Copyright (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "SpaceFM - Copyright (C) 2015 GPL3+\n\nThis 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 3 of the License, or (at your option) any later version. (Это свободная программа: вы можете распространять ее и/или изменять ее на условиях Стандартной общественной лицензии GNU в том виде, в каком она была опубликована Фондом свободного программного обеспечения; либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.)\n\nUSE AT YOUR OWN RISK. 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. (ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК. Эта программа распространяется в надежде, что она будет полезной, но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной общественной лицензии GNU.)\n\nThe 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3). (Библиотеки 'exo' и их исходный код, использующиеся в данной программе распространяются под Стандартной общественной лицензией GNU и под Меньшей Стандартной общественной лицензией GNU версии 3 (LGPL3).)\n\nYou should have received a copy of the GNU General Public License and the GNU Lesser 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. (Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если это не так, напишите в Фонд Свободного Программного Обеспечения см. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.)" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "IgnorantGuru \n\nУчастники проекта:\nBwackNinja \nOmegaPhil \n\nДизайн: Значки и логотип SpaceFM созданы Goran Simovic\n\nСпасибо пользователям SpaceFM за ценные сведения, а также переводчикам и создателям пакетов!\n\nОтдельное спасибо: \nJean-Philippe Fleury\nVladimir Kudrya\nVastOne\nHasufell\n\nSpaceFM разрабатывается с помощью geany, gcc, and git, и с небольшой помощью gdb.\n\nКод, взятый из других проектов:\n* pcmanfm-mod: IgnorantGuru\n* pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n* libmd5-rfc: Aladdin Enterprises\n* Обнаружение рабочей зоны: Gary Kramlich\n* ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n* В рендерере текста и значков используется код Jonathan Blandford\n* Для значков рабочего стола используется код Brian Tarricone\n* поддержка HAL (устаревшее): gnome-vfs, thunar-vfs, libexo, gnome-mount" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "Значки и логотип SpaceFM были созданы Goran Simovic\n\n\nДругие значки были взяты из набора Tango Desktop Project" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Vladimir Kudrya \nRoxana Kolosova \nLebed Dmitrij \nAnton Dobkin \nTim Marinin \nAlexander Kazancev \nVladimir Lomov " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Выбор приложения" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Выберите приложение из списка или введите команду:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Тип:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "Свя_занные приложения" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "_Все приложения" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Команда:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Обзор" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Открыто в терминале" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Выставить по _умолчанию для этого типа файлов" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Свойства" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "_Имя файла:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Расположение:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "_Ссылка на:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Тип объекта:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Открывается _в:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Общий размер:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Размер на диске:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Количество:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "Время и_зменения:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "Время _доступа:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Информация" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Владелец" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Группа:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Владелец" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Группа:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Остальные:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Чтение" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Запись" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Выполнение" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Установить UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Установить GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Липкий (Sticky bit)" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Рекурсивно (применить к подкаталогами и их содержимому)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "_Права доступа" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Байт" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "КБ" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "МБ" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "ГБ" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Любое" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "За день" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "За неделю" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "За месяц" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "За год" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "В указанном промежутке времени" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Поиск файлов" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Имя файла:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Учитывать регистр" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Видео файлы (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Аудио файлы (mp3, ogg, ...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Файлы изображений (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Текстовые файлы" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Все файлы и каталоги" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Типы файлов для поиска" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Искать во вложенных каталогах" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Искать скрытые файлы" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Места для поиска" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Основное" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Файл содержит:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Использовать регулярные выражения" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Содержимое файла:" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Содержимое" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Больше чем:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Меньше чем:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Размер файла:" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Время изменения" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Размер и дата" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Результаты поиска:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Искать снова" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Перейти в каталог" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Открыть в текущей вкладке" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Открыть в новой вкладке" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Растянуть" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Уместить" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "По центру" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Замостить" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Масштабировать" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Прозрачный" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Автоматически" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Копировать (Ctrl+Перетаскивание)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Переместить (Shift+Перетаскивание)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Создать ссылку (Ctrl+Shift+Перетаскивание)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Настройки" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Маленькие значки:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Большие значки:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Значки панели:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Значки" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Открывать одним щелчком" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Выделение наведением" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Закладки:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Показывать миниатюры" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Отключить миниатюры для изображений больше:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Список файлов" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Основные" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Всегда показывать панель вкладок" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Скрывать кнопку закрытия вкладки" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Подтверждать удаление" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Запускать исполняемые файлы по щелчку" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "Размеры в СИ (1K = 1000) (требует перезапуска)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Выделять цветом окно пользователя root" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Действие по умолчанию для перетаскивания:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "И_нтерфейс" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Фон рабочего стола:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Выберите файл изображения" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Режим:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Фон:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Текст:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Тень:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Шрифт:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Сверху:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Слева:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Справа:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Снизу:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Между:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Отступы" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Меню диспетчера окон по правому щелчку" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Открывать каталоги в связанном по MIME приложении" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Рабочий стол" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Управление разделами" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Терминал:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Терминальный SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Графический SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Кодировка имени файла:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Редактор:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Открывать редактор в терминале" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Редактор пользователя root:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Открывать редактор пользователя root в терминале" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Формат даты:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(требует перезапуска)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Отображение даты" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Продвинутые" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Слишком много колонок (>%d) в %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "ошибка чтения файла %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "содержимое файла «%s» не является корректным UTF-8" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "Элемент «%s» отсутствует, невозможно выполнить set" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "файл «%s» не является обычным файлом" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "Для динамического изменения размера ширина и высота должны быть > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "внутренней команде %s требуется аргумент" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "Элемент «%s» не существует" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "внутренняя команда «нажать» не доступна для %s (не кнопка)" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "внутренняя команда «выделить/снять выделение» недоступна для %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "ошибка при записи файла %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "«%s» не является внутренней командой" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "ошибка создания файла %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "данные из потока «%s» не являются корректным UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ ---8<--- прочие строки выше были убраны из этого журнала ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( содержимое файла не является корректным UTF-8 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "префикс «%s» не является корректным именем переменной" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Приостановить" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "файл «%s» не является обычным файлом или потоком (pipe)" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "Диалог SpaceFM создаёт пользовательский GTK-диалог, содержащий элементы\nзадаваемые в командной строке. Он может включать встроенные и сторонние\nкоманды, влияющие на элементы интерфейса или выводящие различные данные.\n" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "Использование:\n" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ЭЛЕМЕНТ [ОПЦИИ] [АРГУМЕНТЫ...]} ...\n" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Пример:\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Сообщение\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "\nЭЛЕМЕНТ: ОПЦИИ и АРГУМЕНТЫ:\n" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nСледующие аргументы могут быть использованы как показано выше:\n" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr " ШАБЛОН %s\n" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " ЗНАЧОК Имя значка, например: gtk-open\n" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr " @ФАЙЛ текстовый файл, из которого считывается значение.\n В некоторых случаях изменения в файле отслеживаются.\n В других случаях берётся только исходное значение.\n" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr " СОХРАНИТЬ_В_ФАЙЛ Сохранить содержимое редактора или просмотрщика в этот файл.\n" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr " КОМАНДА внутренняя или сторонняя команда с последующими аргументами.\n Отдельные команды разделяются при помощи «--».\n При вводе КОМАНД можно использовать следующие подстановки:\n %%n Имя текущего элемента\n %%v Значение текущего элемента\n %%ИМЯ Значение элемента с именем ИМЯ (пример: %%input1)\n %%(command) вывод командной строки на bash\n %%%% %%\n" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr " МЕТКА следующие escape-последовательности в МЕТКЕ интерпретируются:\n \\n новая строка\n \\t табуляция\n \\\" \"\n \\\\ \\\n Только в элементах --label: если первый символ МЕТКИ — тильда\n (~), можно использовать разметку pango. Например:\n --label '~Обычный текст. Полужирный текст.'\n" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "\nВ дополнение к вышеперечисленным ОПЦИЯМ, к любому элементу можно добавить\n--compact или --expand. Также для большинства элементов можно изменить\nшрифт/размер с помощью --font. Например:\n --input --font \"Times New Roman 16\" \"Обычный текст\"\n" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "\nВНУТРЕННИЕ КОМАНДЫ:\n" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "\nПРИМЕР С КОМАНДАМИ:\n" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr " spacefm -g --label \"Введите текст и нажмите Enter:\" \\\n --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n --label \\\n --button ok\n" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "\nПРИМЕР СЦЕНАРИЯ:\n" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr " #!%s\n # Этот сценарий показывает диалог Да/Нет\n # Чтобы прочитать значения переменных в диалоге, используйте eval с кавычками:\n eval \"`spacefm -g --label \"Вы уверены?\" --button yes --button no`\"\n if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n echo \"Пользователь выбрал Да - Совершаем действие\"\n else\n echo \"Пользователь выбрал Нет - Отмена\"\n fi\n" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nСмотрите полное описание и примеры в Руководстве пользователя SpaceFM:\n" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: аргумент не является корректным UTF-8\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "некорректная опция диалога" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Задать заголовок окна" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Задать значок окна" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Добавить текстовую метку" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Добавить ШАБЛОННУЮ кнопку диалога или кнопку с МЕТКОЙ и ЗНАЧКОМ" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Добавить ШАБЛОННУЮ кнопку или кнопку с МЕТКОЙ и ЗНАЧКОМ где угодно" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Добавить текстовое поле" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Добавить большое текстовое поле" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Добавить поле для пароля" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Добавить просмотрщик файла или потока данных (pipe)" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Добавить многострочный текстовый редактор" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Добавить опцию-флажок" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Добавить опцию-переключатель" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Добавить значок" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Добавить изображение" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Добавить индикатор выполнения" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Добавить горизонтальную линию" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Добавить вертикальную линию" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Автоматически закрывать окно после ЗАДЕРЖКИ в секундах" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Добавить выпадающий список. КОМАНДА выполняется при выборе." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Добавить редактируемый выпадающий список. КОМАНДА выполняется при нажатии Enter." #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Добавить список. КОМАНДА выполняется при двойном щелчке." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Добавить список с множественным выбором." #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Опции: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Задать основу имени переменной (По умолчанию: «dialog»)" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Задать минимальные ширину, высоту, отступ (-1 = не изменять)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Добавить следующие виджеты в горизонтальный контейнер" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Добавить следующие виджеты в вертикальный контейнер" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Закрыть текущий контейнер виджетов" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Выполнить КОМАНДУ при нажатии сочетания клавиш" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "Выполнить КОМАНДУ когда на элемент приходит фокус или клик" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "Выполнить КОМАНДУ при попытке закрытия окна" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Считать команды из ФАЙЛА или ПОТОКА_ДАННЫХ. КОМАНДА для инициализации." #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "Без действия — ничего не делать, только интерпретировать аргументы" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "Закрыть диалог" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "Нажать кнопку с именем ИМЯ_КНОПКИ" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "Выставить ЗНАЧЕНИЕ для элемента ИМЯ_ЭЛЕМЕНТА" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Выделить ЗНАЧЕНИЕ (или первое/все) в ЭЛЕМЕНТЕ" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Снять выделение со ЗНАЧЕНИЯ (или всех) в ЭЛЕМЕНТЕ" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "Фокус на ЭЛЕМЕНТ или поднять окно диалога" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "Скрыть ЭЛЕМЕНТ" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "Показать ЭЛЕМЕНТ если он был скрыт" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "Выключить ЭЛЕМЕНТ" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "Включить ЭЛЕМЕНТА, если он был выключен" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "Сохранить файлы и записать вывод в ФАЙЛ" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Открывать каталоги в новой вкладке последнего открытого окна (по умолчанию)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Открывать каталог в текущей вкладке последнего использованного окна" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Не загружать сохраненные вкладки" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Открывать каталоги в новых окнах" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Открыть каталоги в панели 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Запустить демон управления рабочим столом" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Настройки рабочего стола" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Показать настройки ('N' — номер вкладки настроек)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Запустить в качестве демона" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Использовать КАТАЛОГ как каталог конфигурации" #: ../src/main.c:138 msgid "Show File Search" msgstr "Показать поиск по файлам" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Установить ФАЙЛ в качестве фона рабочего стола" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Показать пользовательский диалог (см. -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Отправить команду в сокет (см. -s help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Без функции — только для совместимости" #: ../src/main.c:151 msgid "Show version information" msgstr "Вывести информацию о версии" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[КАТАЛОГ | ФАЙЛ | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Опция --config-dir проигнорирована — программа уже запущена" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Опция --config-dir содержит некорректные символы — запуск невозможен" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: опции --socket-cmd нужен аргумент\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: невозможно создать сокет\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm: невозможно подключиться к сокету (не запущен? не выставлен DISPLAY?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: некорректный ответ из сокета\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "Команды для сокета SpaceFM позволяют внешним процессам (командам и скриптам)\nчитать и выставлять значения свойств, выполнять методы внутри запущенных окон SpaceFM.\nОбработка событий осуществляется через меню Вид|События в главной строке меню." #: ../src/main.c:677 msgid "Usage:" msgstr "Использование:" #: ../src/main.c:679 msgid "Example:" msgstr "Пример:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "МЕТОДЫ\n------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Устанавливает свойство" #: ../src/main.c:687 msgid "Gets a property" msgstr "Выводит значение свойства" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Устанавливает свойство задачи" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Выводит значение свойства задачи" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Начинает новую задачу" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Активирует пункт меню имитируя нажатие клавиатурного сочетания" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "Выполняет заданную команду или показывает подменю ИМЯ" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Добавить асинхронный обработчик КОМАНДА для СОБЫТИЯ" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Добавить асинхронный обработчик КОМАНДА для СОБЫТИЯ, заменив стандартный" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Убрать обработчик КОМАНДА для СОБЫТИЯ" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Показывает эту справку. (Также см. ссылку ниже)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "ОПЦИИ\n-----" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Добавьте опции после МЕТОДА чтобы указать на определенное окно, панель и/или вкладку." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Иначе будет выбрана текущая вкладка в текущей панели последнего использованного окна." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Укажите окно. Например:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Укажите панель 1-4. Например:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Укажите вкладку 1-... Например:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "СВОЙСТВА\n--------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Свойства устанавливаются МЕТОДОМ «set», считываются при помощи «get»." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "например, «800x600»" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "например, «100x50»" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "например, «1024x768» (только чтение)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "например, «100»" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Открыть КАТАЛОГ или путь по умолчанию в новой вкладке" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "например: «Текущий статус: Пример»" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "КАТАЛОГ например «/etc»" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[ИМЯ_ФАЙЛА...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[ШАБЛОН] например «*.jpg»" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "например «Пара\\nстрок\\nтекста»" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "например «~/copy-file-contents-to-clipboard.txt»" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "ФАЙЛ... Файлы скопированы в буфер обмена" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "ФАЙЛ... Файлы вырезаны в буфер обмена" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "СВОЙСТВА ЗАДАЧ\n--------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "содержимое столбца «Состояние» (только чтение)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "например «gtk-open»" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "текст, который нужно показать в столбце «Номер»" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "текст, который нужно показать в столбце «Каталог»" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "текст, который нужно показать в столбце «Элемент»" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "текст, который нужно показать в столбце «Назначение»" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "процент выполнения (1..100) или '' для пульсирования" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "текст, который нужно показать в столбце «Всего»" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "текст, который нужно показать в столбце «Скорость (тек.)»" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "текст, который нужно показать в столбце «Осталось (тек.)»" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "текст, который нужно показать в столбце «Скорость (ср.)»" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "текст, который нужно показать в столбце «Осталось»" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "содержимое столбца «Прошло» (только чтение)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "содержимое столбца «Начато» (только чтение)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "КОМАНДА команда для вывода пользовательского диалога задачи\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "ТИПЫ ЗАДАЧ\n----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Выполнить КОМАНДУ в КАТАЛОГЕ" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Копировать|Переместить|Слинковать ФАЙЛ(ы) или КАТАЛОГ(и) в КАТАЛОГ_НАЗНАЧЕНИЯ" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Рекурсивно удалить ФАЙЛ(ы) или КАТАЛОГ(и)" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "Обновить вкладку или выбранны(е) КАТАЛОГ(и)" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "Открыть ФАЙЛ в редакторе от имени пользователя или root" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "Открыть URL в веб-браузере" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "Монтировать УСТРОЙСТВО или URL" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "Размонтировать УСТРОЙСТВО или КАТАЛОГ - точку монтирования" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "СОБЫТИЯ\n-------" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "Запуск процесса %e" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "Завершение процесса %e" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "Новое окно %e %w %p %t" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "Фокус на окне %e %w %p %t" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "Размер/положение окна %e %w %p %t" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Щелчок мыши %e %w %p %t %b %m %f" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "Нажатие клавиши %e %w %p %t %k %m" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "Закрытие окна %e %w %p %t" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "Фокус на панели %e %w %p %t" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Показ/скрытие панели %e %w %p %t %f %v" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "Изменение выделения %e %w %p %t" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "Новая вкладка %e %w %p %t" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "Смена каталога во вкладке " #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "Фокус на вкладке %e %w %p %t" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "Закрытие вкладки %e %w %p %t" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "Изменение устройства %e %f %v" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "Подстановочные переменные для КОМАНДЫ события:" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "тип события (evt_start|evt_exit|...)" #: ../src/main.c:828 msgid "window ID" msgstr "ID окна" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "номер панели (1-4)" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "номер вкладки (1-...)" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "каталог в кавычках ('/etc')" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "клавиша мыши (0=двойной 1=левая 2=средняя 3=правая ...)" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "код клавиши (например, 0x63)" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "клавиша-модификатор (например, 0x4, используется со щелчками и нажатиями клавиш)" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "фокус на элементе (panelN|filelist|devices|bookmarks|dirtree|pathbar)" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "элемент в фокусе видим (0 или 1, или изменение состояния устройства)" #: ../src/main.c:838 msgid "Examples" msgstr "Примеры" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "Эти файлы были скопированы в буфер обмена" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Смотрите полное описание и примеры в Руководстве пользователя SpaceFM:" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "В этой сборке SpaceFM отключена интеграция в рабочее окружение" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Ошибка: невозможно сохранить сессию\n %s\n" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "Файл не существует" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Ошибка" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "Ошибка: невозможно инициализировать монитор изменений файлов inotify.\n\nВключена ли в ядре поддержка inotify?" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Ошибка: невозможно установить соединение с FAM.\n\nУ Вас установлен и запущен «FAM» или «Gamin»?" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "--dialog должен быть первой опцией" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "--socket-cmd должен быть первой опцией" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "Для работы SpaceFM требуется установленный bash. Другие оболочки не эквивалентны, так как SpaceFM использует специфические возможности bash версии 4+.\n\nПрограмма %s не найдена. Установите bash или используйте при сборке опцию --with-bash-path чтобы указать особое расположение bash." #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Неизвестный тип файла" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Невозможно открыть файл:\n«%s»\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Выбрать файл плагина" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Ввести URL плагина" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Введите URL плагина SpaceFM:\n\n(для загрузки будет использован wget)" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "Некорректное имя файла плагина. Переименуйте его используя только цифро-буквенные символы ASCII и попробуйте снова." #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "Некорректное имя файла плагина" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "Плагин под именем «%s» уже установлен. Перезаписать?\n\nПодсказка: вы можете переименовать файл плагина, чтобы установить его под другим именем." #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "Перезаписать плагин?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Ошибка создания временного каталога" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "Невозможно создать временный каталог" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Ошибка: невозможно сохранить файл сессии\n\n( %s )" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Ошибка сохранения сессии" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Открыть окно от имени root" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Терминал недоступен" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Выберите программу терминала в Вид|Настройки|Продвинутые" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Открыть терминал" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "Справка по режиму дизайна" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "Режим дизайна позволяет менять имя, клавиатурное сочетание и значок для элементов меню, панелей инструментов и закладок, показывать справку по ним и добавлять собственные команды и приложения.\n\nЧтобы войти в режим дизайна, просто щёлкните правой кнопкой на пункт меню, закладку или панель инструментов. Чтобы открыть подменю в режиме дизайна, сначала закройте подменю (нажав на него).\n\nДальнейшая информация доступна через пункт Справка ниже." #: ../src/main-window.c:1903 msgid "Panel" msgstr "Панель" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Новая _команда" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "Показать панель %d" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Файл" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "_Вид" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Устройства" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "_Закладки" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Плагины" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "_Инструменты" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "_Справка" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Ошибка: невозможно сохранить файл сессии. Выйти без сохранения?\n\n( %s )" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "Ошибка SpaceFM" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "Остановить все задачи в этом окне?" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "Прерывание задач..." #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr " %s свободно / %s " #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "%sЧтение %s ..." #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr " Ссылка → %s" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr " Ссылка → %s/" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Ссылка → %s/ (отсутствует)" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr " Ссылка → %s (%s)" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr " !Ссылка → %s (отсутствует)" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr " !Ссылка → ( ошибка чтения цели )" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "скрытый" msgstr[1] "скрытых" msgstr[2] "скрытых" msgstr[3] "скрытых" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d видимых (%s) %s" msgstr[1] "%s%d видимых (%s) %s" msgstr[2] "%s%d видимых (%s) %s" msgstr[3] "%s%d видимых (%s) %s" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d объектов %s" msgstr[1] "%s%d объекта %s" msgstr[2] "%s%d объектов %s" msgstr[3] "%s%d объектов %s" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Клавиатурные сочетания диспетчера устройств отключены в режиме HAL" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "Состояние" #: ../src/main-window.c:4302 msgid "#" msgstr "№" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Каталог" #: ../src/main-window.c:4302 msgid "Item" msgstr "Элемент" #: ../src/main-window.c:4303 msgid "To" msgstr "Назначение" #: ../src/main-window.c:4303 msgid "Progress" msgstr "Прогресс" #: ../src/main-window.c:4303 msgid "Total" msgstr "Всего" #: ../src/main-window.c:4304 msgid "Started" msgstr "Начато" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "Прошло" #: ../src/main-window.c:4304 msgid "Current" msgstr "Скорость (тек.)" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "Осталось (тек.)" #: ../src/main-window.c:4305 msgid "Average" msgstr "Скорость (ср.)" #: ../src/main-window.c:4305 msgid "Remain" msgstr "Осталось" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "Справка по перестановке колонок" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "Чтобы изменить порядок столбцов, перетащите заголовок столбца в требуемое место." #: ../src/main-window.c:5913 msgid "moving" msgstr "перемещение..." #: ../src/main-window.c:5914 msgid "copying" msgstr "копирование..." #: ../src/main-window.c:5915 msgid "trashing" msgstr "удаление..." #: ../src/main-window.c:5916 msgid "deleting" msgstr "удаление..." #: ../src/main-window.c:5917 msgid "linking" msgstr "создание ссылок..." #: ../src/main-window.c:5918 msgid "changing" msgstr "изменение..." #: ../src/main-window.c:5919 msgid "running" msgstr "выполнение..." #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "%d ошибка %s" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "%d ошибок %s" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "приостановлено" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "в очереди" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Имя" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Размер" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Тип" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Права доступа" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "Владелец" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "Время изменения" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "spacefm: некорректная команда сокета\n" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: некорректная опция «%s»\n" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: опции %s нужен аргумент\n" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "spacefm: некорректное окно\n" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: некорректное окно %s\n" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: некорректная панель %d\n" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: панель %d скрыта\n" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: некорректная вкладка %d\n" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: команде «set» нужен аргумент\n" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: некорректное значение %s\n" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "spacefm: некорректное значение ползунка\n" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "spacefm: некорректный номер панели\n" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "spacefm: некорректный номер вкладки\n" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: некорректное свойство %s\n" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "spacefm: некорректная ширина столбца\n" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: некорректное имя столбца «%s»\n" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: текст не является корректным UTF-8\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s требует путь файла\n" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: ошибка чтения файла «%s»\n" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: файл «%s» не содержит корректный текст UTF-8\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s требует путь каталога\n" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: каталог «%s» не существует\n" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: команде %s нужен аргумент\n" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: команде %s нужно два аргумента\n" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: некорректная задача «%s»\n" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: внутренняя задача %s только для чтения\n" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: свойство задачи «%s» только для чтения\n" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: некорректное состояние очереди «%s»\n" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: некорректное свойство задачи «%s»\n" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: нет такого каталога «%s»\n" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: некорректная опция задачи %s «%s»\n" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: нет такого файла «%s»\n" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "spacefm: для задачи %s требуется сборка udev\n" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "spacefm: для задачи %s требуется аргумент ЦЕЛЬ\n" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "spacefm: некорректная ЦЕЛЬ '%s'\n" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: для относительного пути «%s» требуется опция %s --dir КАТАЛОГ\n" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: для типа задачи %s требуется аргумент(ы) ФАЙЛ\n" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: некорректный тип задачи «%s»\n" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: некорректный код клавиши «%s»\n" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "spacefm: заданная команда или подменю '%s' не найдены\n" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "spacefm: контекст элемента '%s' скрыт или выключен\n" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm: некорректный тип события «%s»\n" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: обработчик события не найден\n" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: некорректный метод сокета «%s»\n" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "По умолчанию" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "Выбрать шрифт Рабочего стола" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "Пример элемента 0123456789" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "Требования для прозрачности" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "Общая заметка: Для работы прозрачности требуется использование композитного оконного менеджера, или отдельного композитного менеджера, например compton или xcompmgr. При работающей прозрачности можно использовать сторонние инструменты для управления фоном рабочего стола, например nitrogen или xwinwrap.\n\nЭто сообщение больше выводиться не будет" #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "Выбран эмулятор терминала с ограниченными возможностями" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "Из-за ограничений в gnome-terminal, konsole, lxterminal и urxvtc, использование этих терминалов в SpaceFM может помешать выполнению команды если для них включены обе опции: \"Выполнять как задачу\" и \"Выполнять в терминале\". Например, при успешном монтировании обработчиком протокола точка монтирования может не открыться автоматически. Для полноценного использования возможностей SpaceFM рекомендуется выбрать другой терминал." #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "Сейчас будет запрошен пароль пользователя root для сохранения системных настроек для текущего пользователя в %s/spacefm/. Ввести пароль крайне рекомендуется, так как SpaceFM выполняет некоторые команды от имени root через su, и эти настройки должны быть защищены правами пользователя root." #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "Сохранить настройки пользователя root" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Введите программу или строку команд на bash:\n\nПодстановки:\n\t%%F\tвыбранные файлы или %%f первый из выбранных файлов\n\t%%N\tвыбранные имена файлов или %%n имя первого выбранного файла\n\t%%d\tтекущий каталог\n\t%%v\tвыбранное устройство (например, /dev/sda1)\n\t%%m\tточка монтированя (например, /media/dvd); %%l метка раздела\n\t%%b\tвыбранная закладка\n\t%%t\tкаталог выбранной задачи; %%p pid задачи\n\t%%a\tзначение пункта меню\n\t$fm_panel, $fm_tab, $fm_command, и т.д." #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "Введите имя значка, путь к файлу значка или глобальное имя значка:\n\nИли нажмите \"Выбрать значок\" чтобы выбрать значок. Некоторые значки могут не работать корректно по различным причинам." #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Введите имя элемента:\n\nПоставьте нижнюю черту (_) перед буквой, чтобы сделать ее клавиатурным сочетанием." #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "Введите новое имя элемента:\n\nПоставьте нижнюю черту (_) перед буквой, чтобы сделать ее клавиатурным сочетанием.\n\nСовет: Чтобы позднее изменить этот элемент, нажмите правой кнопкой на него чтобы открыть Меню Дизайна." #: ../src/settings.c:156 msgid "Show Devices" msgstr "Показать устройства" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "Показать закладки" #: ../src/settings.c:158 msgid "Show Tree" msgstr "Показать дерево" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "Домашний каталог" #: ../src/settings.c:161 msgid "Up" msgstr "Вверх" #: ../src/settings.c:162 msgid "Back" msgstr "Назад" #: ../src/settings.c:163 msgid "Back History" msgstr "История назад" #: ../src/settings.c:164 msgid "Forward" msgstr "Вперед" #: ../src/settings.c:165 msgid "Forward History" msgstr "История вперед" #: ../src/settings.c:166 msgid "Refresh" msgstr "Обновить" #: ../src/settings.c:167 msgid "New Tab" msgstr "Новая вкладка" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Новая вкладка здесь" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "Показать скрытые" #: ../src/settings.c:171 msgid "Large Icons" msgstr "Большие значки" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "%s: %s содержит некорректные символы - проигнорировано" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "%s: tmp_dir '%s' не существует - возвращено к %s" #: ../src/settings.c:462 msgid "file not found" msgstr "файл не найден" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "Игнорировать флаг «_Скрытый»" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "Игнорировать флаг «_Не а/м»" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "О_становить" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "Показать _диспетчер" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "_Автоскрытие диспетчера" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "О_шибки" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "Осталос_ь" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "О_сталось (ср.)" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Каталог" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "Подро_бное состояние" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "_Извлечь" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "_Импорт" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "Диспетчер _задач" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "Имя _файла" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "_Тип" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "_Цель" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "_Шаблон" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "Открыть _URL" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# Файл сессии SpaceFM\n\n# ЭТОТ ФАЙЛ НЕ ПРЕДНАЗНАЧЕН ДЛЯ РЕДАКТИРОВАНИЯ, он будет прочитан и ПЕРЕЗАПИСАН.\n\n# Если вы удалите все файлы session*, настройки SpaceFM будут сброшены по умолчанию.\n\n" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "Ошибка сохранения файла" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "Ошибка SpaceFM: невозможно сохранить файл сессии ( %s )\n" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "\nВыбрать элемент меню \"%s\" как обработчик\n" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "Ошибка чтения настроек пользователя root из%s/spacefm/. Команды, выполняемые от имени root могут представлять угрозу безопасности" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "Не найдены настройки пользователя root в %s/spacefm/. Это сообщение можно убрать, задав редактор пользователя root в Настройках. Иначе команды, выполняемые от имени root могут представлять угрозу безопасности." #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "Руководство недоступно" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "Этот плагин не содержит файла README." #: ../src/settings.c:4346 msgid "Create README" msgstr "Создать справку" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "Для этой команды нет файла справки.\n\nНачать заполнять файл справки?" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "Создание не удалось" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "Произошла ошибка при создании файла README для этой команды" #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Произошла ошибка при копировании файлов команды\n\n%s" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "Ошибка команды копирования" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Произошла ошибка при копировании файлов данных для команды\n\n%s" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "Ошибка чтения файла плагина %s" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "Импортированный каталог плагина не содержит корректного плагина.\n\n(%s/)" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "Некорректный плагин" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "Плагин «%s» был скопирован в буфер обмена для режима дизайна. Используйте Вид|Режим Дизайна чтобы вставить его в меню.\n\nТак как этот плагин не был установлен, он не появится в меню Плагины." #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "Плагин «%s» был скопирован в буфер обмена для режима дизайна. Используйте Вид|Режим Дизайна чтобы вставить его в меню.\n\nТак как этот плагин не был установлен, он не появится в меню Плагины. Его содержимое не защищено правами пользователя root (будучи вставленным, он будет принадлежать пользователю).\n\nЕсли этот плагин содержит команды su или будет выполняться от имени root, рекомендуется устанавливать и запускать его только через меню Плагины, для повышения безопасности системы." #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "Удалить плагин «%s»?\n\n( %s )" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Удалить плагин" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Установить плагин" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "Сохранить как файл плагина" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Экспортировать плагин" #: ../src/settings.c:5601 msgid "Export Error" msgstr "Ошибка экспорта" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "Невозможно создать временные файлы" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "Цель закладки \"%s\" не существует или некорректна." #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "Некорректная цель закладки" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "Изменить имя элемента" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "Редактор не задан" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Выберите редактор в Вид|Настройки|Продвинутые" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "Редактор пользователя root не задан" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Выберите редактор пользователя root в Вид|Настройки|Продвинутые" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "Правка %s" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "Руководство пользователя не найдено" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "Прочитать Руководство пользователя в сети?\n\nЛокальная копия Руководства пользователя не найдена. Нажмите «Да» чтобы прочитать его в сети или укажите корректное локальное расположение руководства в Справка|Опции|Местоположение Руководства." #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "Руководство открыто ?" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "Руководство пользователя SpaceFM должно было открыться в браузере. Если оно не открылось или если вы хотите открывать его в другом браузере, настройки можно изменить в Справка|Опции|Браузер.\n\nЭто сообщение больше не повторится." #: ../src/settings.c:6627 msgid "( none )" msgstr "( нет )" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tКод клавиши: %#4x Модификатор: %#x\n\n%s уже назначен для «%s».\n\nВыберите другую клавишу или нажмите «Задать», чтобы заменить текущее назначение." #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tКод клавиши: %#4x [%#4x] Модификатор: %#x\n\n%s уже назначен для '%s'.\n\nНажмите другую клавишу или нажмите \"Задать\" чтобы заменить существующее назначение." #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "\t%s\n\tКод клавиши: %#4x Модификатор: %#x" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "Задайте клавиатурное сочетание для элемента «%s», затем нажмите «Задать». Чтобы удалить текущее назначение, нажмите «Убрать»." #: ../src/settings.c:6820 msgid "Cancel" msgstr "Отмена" #: ../src/settings.c:6826 msgid "Unset" msgstr "Убрать" #: ../src/settings.c:6839 msgid "Set" msgstr "Задать" #: ../src/settings.c:6853 msgid "Set Key" msgstr "Задать клавишу" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "Задать значок" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "Редактировать команду" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "Ручной выбор исполняемого файла" #: ../src/settings.c:7041 msgid "Run As User" msgstr "Запустить от пользователя" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Запустить эту команду от пользователя:\n\n( Оставьте пустым для текущего пользователя )" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Вы добавляете пользовательскую команду в пункт меню «По умолчанию». Этому пункту будет автоматически присвоен контекст — он появится только если тип MIME первого выбранного файла совпадёт с текущим типом «%s».\n\nКоманды или меню добавленные здесь будут появляться только для этого типа MIME." #: ../src/settings.c:7050 msgid "New Context Command" msgstr "Новая контекстная команда" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "Задать имя элемента" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Выбрать каталог" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Вы добавляете пользовательскую команду в пункт меню «По умолчанию». Этому пункту будет автоматически присвоен контекст — он появится только если тип MIME первого выбранного файла совпадёт с текущим типом «%s».\n\nКоманды или меню добавленные здесь будут появляться только для этого типа MIME." #: ../src/settings.c:7140 msgid "(none)" msgstr "(нет)" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "Задать название подменю" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Введите название подменю:\n\nМожно поставить нижнюю черту (_) перед буквой, чтобы сделать из нее клавиатурное сочетание." #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "Новое подменю" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "Закладки GTK (%s) будут импортированы в выбранное в данный момент подменю. Импорт большого количества закладок (например более 500) может отразиться на производительности." #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "Импорт закладок GTK" #: ../src/settings.c:7346 msgid "( no name )" msgstr "( без имени )" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "Удалить безвозвратно подменю «%s» и все элементы в нем?\nБудут также удалены все настройки и файлы связанные с этими элементами." #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "Удалить безвозвратно элемент «%s»?\nБудут также удалены все настройки и файлы связанные с этим элементом." #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "Подтверждение удаления" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Вы уверены?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "Сообщение в диалоге" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Введите сообщение для отображения в диалоге:\n\nПодстановки:\n\t\\n\tновая строка\n\t\\t\tтабуляция" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "Выр_езать" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "_Копировать" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "Вс_тавить" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "_Удалить" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "_Экспортировать" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "_Новая" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Закладку" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "_Приложение" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "_Команду" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "Подменю" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "Разделитель" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "Закладки _GTK" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "Доба_вить" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "_Подсказки" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "_Клавиатурное сочетание" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "_Редактировать сценарий" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "Редактировать от _имени root" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "_Редактировать команду" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "Сво_йства" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "Выбрать значок" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Изменить" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "Задать значок окна" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "_Выбрать" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "По умолчанию" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "Ввод некорректен, так как содержит разрывы строк" #: ../src/settings.c:9372 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9509 msgid "_Unset" msgstr "_Убрать" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "_Размонтировать" #: ../src/settings.c:10640 msgid "Re_load" msgstr "Пере_загрузить" #: ../src/settings.c:10644 msgid "_Sync" msgstr "_Синхронизировать" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Открыть" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "Открыть во в_кладке" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "_Монтировать" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "Перемонти_ровать" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "От _имени root" #: ../src/settings.c:10693 msgid "_Label" msgstr "Ме_тка" #: ../src/settings.c:10743 msgid "_Check" msgstr "Про_верить" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "_Редактировать fstab" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "Редактировать _udevil.conf" #: ../src/settings.c:10755 msgid "_Format" msgstr "_Форматировать" #: ../src/settings.c:10815 msgid "_Backup" msgstr "_Резервное копирование" #: ../src/settings.c:10837 msgid "_Restore" msgstr "_Восстановить" #: ../src/settings.c:10842 msgid "_From File" msgstr "_Из файла" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "Информация о фай_ле" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "_Настройки" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "П_оказать" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "В_нутренние устройства" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "_Пустые устройства" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "_Таблицы разделов" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "Смонтированные се_тевые ресурсы" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "_Прочие смонтированные ФС" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "_Разделы..." #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "Показать/скрыть разделы" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Чтобы принудительно скрыть или показать определённые разделы, вы можете указать устройства, метки разделов или ID устройств через пробел в списке ниже.\n\nНапример: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nЭта строка включит отображение /dev/sdd1 и устройств с ID OCZ, но скроет устройство с меткой «Label With Space».\n\nМежду пунктами должны быть пробелы, перед пунктами символы «+» и «-». Список чувствителен к регистру.\n\n" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "_Отображаемое имя" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "Задать формат отображаемого имени" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "Введите формат отображения устройств:\n\nПодстановка:\n\t%%v\tимя устройства (пример: sdd1)\n\t%%s\tобщий размер (пример: 800G)\n\t%%t\tтип ФС (пример: ext4)\n\t%%l\tметка тома (пример: Метка_тома или [нет носителя])\n\t%%m\tточка монтирования (если смонтировано), или ---\n\t%%i\tID устройства\n\t%%n\tномера major:minor для устройства (eg 15:3)\n" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "_Автомонтирование" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "Монтировать _оптические" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "Монтировать с_ъёмные" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "Монтирование разделов..." #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "Автомонтирование разделов..." #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Чтобы принудительно включить или выключить автомонтирование для определённых устройств, можно указать устройства, метки или ID в разделённом пробелами списке.\n\nНапример: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nЭта строка включит автомонтирование /dev/sdd1 и устройств с ID OCZ, но предотвратит автомонтирование устройства с меткой «Label With Space».\n\nМежду пунктами должны быть пробелы, перед пунктами символы «+» и «-». Список чувствителен к регистру.\n\n" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "_Каталоги для монтирования..." #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "Каталог автоматических точек монтирования" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "Введите каталог, в котором SpaceFM должен автоматически создавать точки монтирования для FUSE и подобных файловых систем (%%a в командах обработчиков). Этот каталог должен существовать и иметь права записи для пользователя (не используйте \"/media\"). Пустые подкаталоги будут удалены. По умолчанию используется ~/.cache/spacefm/ (или $XDG_CACHE_HOME/spacefm/).\n\nИмейте в виду, что некоторые обработчики могут игнорировать этот параметр.\n" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "Открыть в_кладку" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "_Размонтировать при выходе" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "Автозап_уск" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "При _монтировании" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "Автозапуск при монтировании" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Введите программу или строку команд на bash, которая будет выполнена при автомонтировании съёмного устройства:\n\nПодстановки:\n\t%%v\tустройство (например, /dev/sda1)\n\t%%l\tметка раздела\n\t%%m\tточка монтирования устройства (например, /media/disk)" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "Для аудио-СD" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "Автозапуск для аудио-CD" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Введите программу или строку команд на bash, которая будет выполнена при автомонтировании аудио-CD:\n\nПодстановки:\n\t%%v\tустройство (например, /dev/sda1)\n\t%%l\tметка раздела\n\t%%m\tточка монтирования устройства (например, /media/disk)" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "Для видео-DVD" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "Автозапуск для видео-DVD" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Введите программу или строку команд на bash, которая будет выполнена при автомонтировании видео-DVD:\n\nПодстановки:\n\t%%v\tустройство (например, /dev/sda1)\n\t%%l\tметка раздела\n\t%%m\tточка монтирования устройства (например, /media/disk)" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "При _подключении" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "Автозапуск при подключении" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Введите программу или строку команд на bash, которая будет выполнена при подключении любого устройства:\n\nПодстановки:\n\t%%v\tустройство (например, /dev/sda1)\n\t%%l\tметка раздела\n\t%%m\tточка монтирования устройства (например, /media/disk)" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "При _размонтировании" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "Автозапуск при размонтировании" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Введите программу или строку команд на bash, которая будет выполнена при размонтировании устройства любым способом:\n\nПодстановки:\n\t%%v\tустройство (например, /dev/sda1)\n\t%%l\tметка раздела\n\t%%m\tточка монтирования устройства (например, /media/disk)" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "При отклю_чении" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "Автозапуск при отключении" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Введите программу или строку команд на bash, которая будет выполнена при отключении устройства (выброс извлекаемого устройства игнорируется):\n\nПодстановки:\n\t%%v\tустройство (например, /dev/sda1)\n\t%%l\tметка раздела\n\t%%m\tточка монтирования устройства (например, /media/disk)" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "Опции _монтирования" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "Введите список опций монтирования по умолчанию, разделённый запятыми или пробелами (%%o в обработчиках).\n\nДополнительно можно указать какие опции включать или отключать для определённых файловых систем по принципу: OPTION+FSTYPE или OPTION-FSTYPE.\n\nНапример: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nЭта строка добавит опции nosuid и noatime для всех файловых систем, sync только для vfat и ntfs, и выключит noatime для ext4.\n\nЗаметка: некоторые опции могут быть установлены программой монтирования даже если они здесь не заданы. Опции в fstab имеют приоритет. pmount игнорирует прописанные здесь опции." #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "Опции монтирования по умолчанию" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "Перемонтировать с опциями..." #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "Устройство будет (пере)монтировано с указанными ниже опциями.\n\nДополнительно можно указать какие опции включать или отключать для определённых файловых систем по принципу: OPTION+FSTYPE or OPTION-FSTYPE.\n\nНапример: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nЭта строка добавит опции nosuid и noatime для всех файловых систем, sync только для vfat и ntfs, и выключит noatime для ext4.\n\nЗаметка: Некоторые опции могут быть установлены программой монтирования даже если они здесь не заданы. Опции в fstab имеют приоритет. pmount игнорирует прописанные здесь опции." #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "Обнаружение _изменений" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "Введите разделённый запятыми или пробелами список файловых систем, которые будут исключены из мониторинга изменений. Эта настройка применима к неблочным устройствам (nfs, fuse) и используется для предотвращения подвисаний SpaceFM при работе с сетевыми ФС. Загрузка миниатюр также отключается." #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "Черный список обнаружения изменений" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "Обработчики _устройств" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "Обработчики _протоколов" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "_Значки" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "Аудио-CD" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "Смонтирован оптический носитель" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "В оптическом приводе есть носитель" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "В оптическом приводе нет носителя" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "Дискета смонтирована" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "Дискета размонтирована" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "Съёмное устройство смонтировано" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "Съёмное устройство размонтировано" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "Внутреннее устройство смонтировано" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "Внутреннее устройство размонтировано" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "Сетевой ресурс смонтирован" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "Прочие смонтированные ФС" #: ../src/settings.c:11148 msgid "_Settings" msgstr "_Настройки" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "_Значок закладки" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "Значок _подменю" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "По_казать закладки" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "_Новая закладка" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "_Имя" #: ../src/settings.c:11185 msgid "_Parent" msgstr "_Родительский каталог" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "_Путь" #: ../src/settings.c:11204 msgid "_Option" msgstr "Оп_ция" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Ссылку" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "Скопировать с_юда" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "Создать здесь _ссылку" #: ../src/settings.c:11222 msgid "_As Root" msgstr "От _имени root" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "_Шрифт" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "Шрифт диалога перемещения" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "/home/пользователь/Пример Файла.ext" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "Подтверждение со_здания" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "Цвет _фона" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "Цвет фона строки состояния" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "Цвет _текста" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "Цвет текста в строке состояния" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "_Средний щелчок" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "Копировать _имя" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "Копировать _путь" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "_Скрыть панель" #: ../src/settings.c:11283 msgid "New _Window" msgstr "_Новое окно" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "Окно от _имени root" #: ../src/settings.c:11289 msgid "_File Search" msgstr "_Поиск файлов" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "_Терминал" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "Терминал от _имени root" #: ../src/settings.c:11302 msgid "Open URL" msgstr "Открыть URL" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "Введите URL в формате:\n\tПРОТОКОЛ://ЛОГИН:ПАРОЛЬ@ХОСТ:ПОРТ/РЕСУРС\n\nПримеры:\n\tftp://mirrors.kernel.org\n\tsmb://user:pass@10.0.0.1:50/docs\n\tssh://user@sys.domain\n\nУказывать пароль в URL небезопасно. Чтобы добавить URL в закладки, выберите пункт \"В закладки\" по правому щелчку на смонтированном сетевом устройстве.\n" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "Сохранить _вкладки" #: ../src/settings.c:11310 msgid "E_xit" msgstr "В_ыход" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "Панель _1" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "Панель _2" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "Панель _3" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "Панель _4" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "Полоса управления панелями" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "_Фокус" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "_Предыдущий" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "_Следующий" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "Ск_рыть" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "Диспетчер _событий" #: ../src/settings.c:11391 msgid "_Instance" msgstr "Про_цесс SpaceFM" #: ../src/settings.c:11396 msgid "_Startup" msgstr "_Запуск" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "Задать команду при запуске процесса SpaceFM" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "Введите программу или строку команд на bash, которая будет выполняться при запуске процесса SpaceFM:\n\nПодстановка:\n\t%%e\tтип события (evt_start)\n" #: ../src/settings.c:11402 msgid "_Exit" msgstr "З_авершение" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "Задать команду при завершении SpaceFM" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "Введите программу или строку команд на bash, которая будет выполняться при завершении процесса SpaceFM:\n\nПодстановка:\n\t%%e\tтип события (evt_exit)\n" #: ../src/settings.c:11408 msgid "_Window" msgstr "_Окно" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Новое" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "Задать команду при открытии нового окна" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполняться при открытии нового окна SpaceFM:\n\nПодстановки:\n\t%%e\tтип события (evt_win_new)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "_Фокус" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "Задать команду при фокусе окна" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполняться когда окно SpaceFM попадает в фокус:\n\nПодстановки:\n\t%%e\tтип события (evt_win_focus)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "_Перемещение/Изменение размера" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "Задать команду при перемещении/изменении размера окна" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "Введите команду или строку на bash, которая будет выполняться при перемещении или изменении размера окна SpaceFM:\n\nПодстановки:\n\t%%e\tтип события (evt_win_move)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.).\n\nЗаметка: эта команда может быть выполнена несколько раз при изменении размера." #: ../src/settings.c:11431 msgid "_Click" msgstr "_Щелчок мыши" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "Задать команду при щелчке мышью" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Введите программу или строку команд на bash, которая будет выполняться при щелчке мышью:\n\nПодстановки:\n\t%%e\tтип события (evt_win_click)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\t%%b\tкнопка (нажатая кнопка мыши)\n\t%%m\tмодификатор (зажатые клавиши-модификаторы)\n\t%%f\tфокус (элемент, на котором был сделан щелчок)\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.) в случае если перед командой нет префикса «*».\n\nПоставьте символ звёздочка (*) перед командой и возвратите код выхода 0 при помощи условия, чтобы переопределить обработчик по умолчанию. Например:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nВы щёлкнули средней кнопкой мыши на элементе %%f\" --button ok &" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "Нажатие _клавиши" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "Задать команду при нажатии клавиши" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "Введите программу или строку команд на bash, которая будет выполняться при нажатии клавиши:\n\nПодстановки:\n\t%%e\tтип события (evt_win_key)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\t%%k\tкод клавиши (нажатой клавиши)\n\t%%m\tмодификатор (зажатые клавиши-модификаторы)\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.).\n\nПоставьте символ звёздочка (*) перед командой и возвратите код выхода 0 при помощи условия, чтобы переопределить обработчик по умолчанию. Например:\n*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nБыла нажата клавиша F8.\" --button ok &" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "За_крытие" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "Задать команду при закрытии окна" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполняться при закрытии окна SpaceFM:\n\nПодстановки:\n\t%%e\tтип события (evt_win_close)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11449 msgid "_Panel" msgstr "_Панель" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "Задать команду при фокусе на панели" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполняться когда панель получает фокус:\n\nПодстановки:\n\t%%e\tтип события (evt_pnl_focus)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Показ" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "Задать команду при показе панели" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполняться при показе или скрытии панели или ее элемента:\n\nПодстановки:\n\t%%e\tтип события (evt_pnl_show)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\t%%f\tфокус (элемент видим или скрыт)\n\t%%v\tвидимость (1 или 0)\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11466 msgid "S_elect" msgstr "_Выделение" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "Задать команду при выборе панели" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "Введите программу или строку команд на bash, которая будет выполняться при изменении выделения файлов:\n\nПодстановки:\n\t%%e\tтип события (evt_pnl_sel)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.).\n\nПоставьте символ звёздочка (*) перед командой и возвратите код выхода 0 при помощи условия, чтобы переопределить обработчик по умолчанию." #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "_Вкладка" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "Задать команду при открытии новой вкладки" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполнена при открытии новой вкладки:\n\nПодстановки:\n\t%%e\tтип события (evt_tab_new)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "_Смена каталога" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "Задать команду при смене каталога во вкладке" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполняться когда во вкладке сменяется каталог:\n\nПодстановки:\n\t%%e\tтип события (evt_tab_focus)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\t\tвкладка\n\t%%d\tновый каталог\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "Задать команду при фокусе на вкладке" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Введите программу или строку команд на bash, которая будет выполняться когда вкладка получает фокус:\n\nПодстановки:\n\t%%e\tтип события (evt_tab_focus)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tвкладка\n\nВ этой команде могут быть использованы экспортируемые переменные bash ($fm_pwd, и т.п.)." #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Закрытие" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "Задать команду при закрытии вкладки" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "Введите программу или строку команд на bash, которая будет выполняться при закрытии вкладки:\n\nПодстановки:\n\t%%e\tтип события (evt_tab_close)\n\t%%w\tid окна (см. spacefm -s help)\n\t%%p\tпанель\n\t%%t\tзакрытая вкладка" #: ../src/settings.c:11501 msgid "_Device" msgstr "_Устройство" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "Установить команду для событий с устройствами" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "Введите программу или строку команд на bash, которая будет выполнена при изменении состояния устройства:\n\nПодстановки:\n\t%%e\tтип события (evt_device)\n\t%%f\tфайл устройства\n\t%%v\tизменение (added|removed|changed)\n" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "Заголовок _окна" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "Задать формат заголовка окна" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Задать формат заголовка окна:\n\nПодстановки:\n\t%%n\tимя текущего каталога (например, bin)\n\t%%d\tпуть текущего каталога (например, /usr/bin)\n\t%%p\tномер текущей панели (1-4)\n\t%%t\tномер текущей вкладки\n\t%%P\tколичество видимых панелей\n\t%%T\tколичество вкладок на текущей панели\n\t*\tотображение звездочки если в окне выполняются задачи" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "_Значок окна" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "Введите имя значка, путь к файлу значка или глобальное имя значка:\n\nИли нажмите \"Выбрать значок\" чтобы выбрать значок. Некоторые значки могут не работать корректно по различным причинам.\n\nАльтернативне значки SpaceFM:\n\\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n\\tspacefm-48-folder-[blue|red]\n\nНапример: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "На полный _экран" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "Режим _дизайна" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "_Настройки" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Инструменты" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "_Миниатюры (глобально)" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "_Установить" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "По_дробно" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "Вкл_ючено" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "_Руководство пользователя" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "_Домашняя страница" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "_Новости SpaceFM" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "_Получить плагины" #: ../src/settings.c:11606 msgid "_Options" msgstr "_Опции" #: ../src/settings.c:11611 msgid "_Browser" msgstr "_Браузер" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "Выбрать HTML-браузер" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "Введите команду запуска браузера или строку команд на bash для открытия файлов HTML и адресов URL:\n\nПодстановка:\n\t%%u\tадрес\n\n(Оставьте пустым для автоматического определения браузера)" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "_Размещение руководства" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "Выбрать расположение Руководства пользователя" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "Введите локальный или удалённый путь размещения Руководства пользователя SpaceFM:\n\n(Оставьте пустым для пути по умолчанию)\n" #: ../src/settings.c:11623 msgid "_About" msgstr "_О программе" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "Показать _устройства" #: ../src/settings.c:11656 msgid "_Status" msgstr "_Состояние" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "_Номер" #: ../src/settings.c:11673 msgid "_Item" msgstr "_Элемент" #: ../src/settings.c:11679 msgid "_To" msgstr "На_значение" #: ../src/settings.c:11685 msgid "_Progress" msgstr "_Прогресс" #: ../src/settings.c:11692 msgid "T_otal" msgstr "Все_го" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "Запу_щено" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "П_рошло" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "_Скорость (тек.)" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "С_корость (ср.)" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "Переупоря_дочить" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Прио_становить" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "В о_чередь" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "_Возобновить" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "Показывать _вывод" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "Все _задачи" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "Шрифт для диспетчера задач" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "копирование Файл 1:15 65,2 М 30,2 М/с" #: ../src/settings.c:11789 msgid "_Columns" msgstr "_Столбцы" #: ../src/settings.c:11794 msgid "_Popups" msgstr "_Уведомления" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "_Всегда отображать вывод" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "Всегда повер_х" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "На _переднем плане" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "На всех _рабочих местах" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "Опции пере_записи" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "Опции для о_шибок" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "Шрифт уведомлений (только для новых задач)" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "Пример вывода 0123456789" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "Прервать при ошибке в _начале" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "Прервать при _любой ошибке" #: ../src/settings.c:11857 msgid "_Continue" msgstr "_Продолжить" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "О_чередь" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "_Новые задачи в очередь" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "_Умная очередь" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "_Приостановить при ошибке" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "Выстроить _значки" #: ../src/settings.c:11892 msgid "By _Name" msgstr "По _имени" #: ../src/settings.c:11895 msgid "By _Type" msgstr "По _типу" #: ../src/settings.c:11898 msgid "By _Date" msgstr "По _дате" #: ../src/settings.c:11901 msgid "By _Size" msgstr "По _размеру" #: ../src/settings.c:11904 msgid "_Custom" msgstr "_Вручную" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "По в_озрастанию" #: ../src/settings.c:11910 msgid "D_escending" msgstr "По _убыванию" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "Настройки ра_бочего стола" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "_Устройства" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "Каталог _Рабочего стола" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "Шрифт редактора" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "Пример ввода 012345678" #: ../src/settings.c:11964 msgid "Input Font" msgstr "Шрифт ввода" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "_Выполнить" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "Из_менить" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Изменить от _имени root" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "Выбрать..." #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "Обработчики _файлов..." #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "Открыть по _умолчанию" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "Во вкладке" #: ../src/settings.c:11993 msgid "N_ew" msgstr "_Создать" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "Вкладка _1" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "Вкладка _2" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "Вкладка _3" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "Вкладка _4" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "Вкладка _5" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "Вкладка _6" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "Вкладка _7" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "Вкладка _8" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "Вкладка _9" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "Вкладка 1_0" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "В _панели" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "_Распаковать" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Распаковать _в" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "Показать содержимое" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "По умолчанию для _архива" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "Открыть с помощью" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "_Создать подкаталог" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "Доступ на _запись" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "Обработчи_ки архивов" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "_Каталог" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Закладку" #: ../src/settings.c:12104 msgid "_Archive" msgstr "_Архив" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "Новую _вкладку" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "Новую вкладку _здесь" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "Запуск прило_жения" #: ../src/settings.c:12122 msgid "_Go" msgstr "_Перейти" #: ../src/settings.c:12127 msgid "_Back" msgstr "_Назад" #: ../src/settings.c:12129 msgid "_Forward" msgstr "_Вперед" #: ../src/settings.c:12131 msgid "_Up" msgstr "Ввер_х" #: ../src/settings.c:12133 msgid "_Home" msgstr "_Домашний каталог" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "Задать по _умолчанию" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "_Реальный путь" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "_Фокус" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "Строка _пути" #: ../src/settings.c:12149 msgid "_File List" msgstr "_Список файлов" #: ../src/settings.c:12151 msgid "_Tree" msgstr "_Дерево" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "На _вкладку" #: ../src/settings.c:12164 msgid "_Close" msgstr "_Закрыть" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "Сти_ль" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "_Столбцы" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "Пере_упорядочить" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "Выделение растя_жением" #: ../src/settings.c:12202 msgid "_Sort" msgstr "_Сортировка" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "_Размер" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "_Тип" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "_Права доступа" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "_Владелец" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "Время и_зменения" #: ../src/settings.c:12220 msgid "_Descending" msgstr "По _убыванию" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "_Натуральная" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "Учитывать ре_гистр" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "Катало_ги в начале" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "_Файлы в начале" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "Сме_шанная" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "_Скрытые файлы в начале" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "Скрытые файлы в _конце" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "О_бновить" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "Автопоис_к" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "Справка по строке пути" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Переименовать" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Удалить" #: ../src/settings.c:12281 msgid "_Actions" msgstr "_Действия" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "Копировать родительский" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "Вставить _ссылку" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "Вставить ц_ель" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "Вставить _как..." #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "_Копировать в" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "Ра_змещение" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "По_следние размещение" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Вкладку" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Панель" #: ../src/settings.c:12346 msgid "_Move To" msgstr "Пе_реместить в" #: ../src/settings.c:12350 msgid "_Location" msgstr "_Размещение" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Вкладку" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Панель" #: ../src/settings.c:12383 msgid "_Select All" msgstr "Выделить _все" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "_Снять выделение" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Инвертировать выделение" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "Выбрать по шаблон_у" #: ../src/settings.c:12392 msgid "R_oot" msgstr "От _имени root" #: ../src/settings.c:12398 msgid "Move _To" msgstr "Переместить _в" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "_Свойства" #: ../src/settings.c:12414 msgid "_Quick" msgstr "_Права..." #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "_Рекурсивно" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "_Инструменты" #: ../src/settings.c:12526 msgid "T_ree" msgstr "_Дерево" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "Бо_ковая панель инструментов" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "Подро_бно" #: ../src/settings.c:12550 msgid "_Icons" msgstr "_Значки" #: ../src/settings.c:12555 msgid "_Compact" msgstr "_Компактно" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "_Крупные значки" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "_Скрытые файлы" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "Шрифт списка файлов (Панель %d)" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Пример 1,1 МБ файл -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "Шрифт для устройств (Панель %d)" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [нет носителя] :ПРИМЕР" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Шрифт для закладок (Панель %d)" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "Пример названия закладки" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Шрифт для строки пути (Панель %d)" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/пример" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "Шрифт для вкладок (Панель %d)" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Шрифт для строки состояния (Панель %d)" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "12 ГБ свободно / 200 ГБ 52 объект(а)" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "Отсле_живать каталог" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "Но_вая вкладка" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "_Одиночный щелчок" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "Каталог не существует\n\n%s" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "Невозможно открыть %s\n\n%s" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Выбрать по шаблону" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "Введите шаблон для выбора файлов и каталогов:\n\nЕсли шаблон содержит прописные буквы, сопоставление будет чувствительно к регистру.\n\nПример: *sp*e?m*\n\nПодсказка: можно также ввести «%% ШАБЛОН» в строке пути." #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "Выбрать размещение" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "Некорректное назначение" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "Назначение и источник совпадают" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "Некорректное назначение" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "Скрыть файл" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "Имена выбранных файлов будут записаны в файл «.hidden» в текущем каталоге. Файлы, внесённые в этот список не будут отображаться в SpaceFM. Возможно потребуется обновление каталога или перезапуск SpaceFM\n\nЧтобы снова показать файл, откройте список «.hidden» в текстовом редакторе и удалите соответствующую строку." #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "Ошибка при скрытии файлов" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "Файлы не выделены" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Невозможно смонтировать устройство" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Невозможно размонтировать устройство" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Невозможно извлечь устройство" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "udev не настроен" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Для монтирования сетевых ресурсов нужно собрать SpaceFM с поддержкой udev (ключ --disable-hal)." #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "Некорректный URL" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "Введенный URL некорректен." #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "Обработчик не найден" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "Не задан бработчик для этого сетевого URL, или не назначена команда монтирования. Добавьте обработчик через меню Устройства|Настройки|Обработчики протоколов." #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "Открыть URL %s" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "монтировать" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "размонтировать" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "Обработчик для этого типа устройств не найден, или не назначена команда %s. Добавьте обработчик через меню Настройки|Обработчики протоколов." #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "Монтировать %s" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "%s сейчас смонтирован. Чтобы проверить файловую систему, нужно размонтировать раздел." #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "Устройство смонтировано" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Введите команду для проверки файловой системы:\n\nПодстановка:\n\t%%%%v\tфайл устройства ( %s )\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root" #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "Проверить от имени root" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "ПРОВЕРИТЬ ОТ ИМЕНИ ROOT" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "Проверить %s от имени root" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Введите команду монтирования:\n\nПодстановки:\n\t%%%%v\tфайл устройства ( %s )\n\t%%%%o\tособые опции монтирования раздела\n\t\t( %s )\n\nЗаметка: опции в fstab имеют приоритет\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root" #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "Монтировать от имени root" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "МОНТИРОВАТЬ ОТ ИМЕНИ ROOT" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "Монтировать %s от имени root" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Введите команду размонтирования:\n\nПодстановка:\n\t%%%%v\tфайл устройства ( %s )\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root" #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "Размонтировать от имени root" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "РАЗМОНТИРОВАТЬ ОТ ИМЕНИ ROOT" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "Размонтировать %s от имени root" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "\n\nВНИМАНИЕ: раздел %s смонтирован. Рекомендуется размонтировать его перед сменой метки." #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "Введите метку для %s:%s" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "Сменить метку раздела" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Введите команду очистки метки для файловых систем «%s»:\n\nПодстановки:\n\t%%%%v\tфайл устройства ( %s )\n\t%%%%l\tновая метка ( «%s» )\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root%s" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Введите команду изменения метки для файловых систем «%s»:\n\nПодстановки:\n\t%%%%v\tфайл устройства ( %s )\n\t%%%%l\tновая метка ( «%s» )\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root%s" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "Сменить метку от имени root" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "УСТАНОВИТЬ МЕТКУ ОТ ИМЕНИ ROOT" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "Установить метку для %s от имени root" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "Размонтировать %s" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "Убрать %s" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "Перемонтировать %s" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "Перезагрузить %s" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "Синхронизация" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "%s сейчас смонтирован. Его нужно размонтировать, чтобы отформатировать." #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr " ( ВСЁ УСТРОЙСТВО ЦЕЛИКОМ )" #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Вы собираетесь затереть %s %s- ВСЕ ДАННЫЕ БУДУТ ПОТЕРЯНЫ. Проявите терпение: процесс может затянуться, а dd не отображает ход выполнения.\n\nВведите команду для перезаписи раздела содержимым /dev/%s:\n\nПодстановка:\n\t%%%%v\tфайл устройства ( %s )\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root" #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Вы собираетесь отформатировать %s %s- ВСЕ ДАННЫЕ БУДУТ ПОТЕРЯНЫ.\n\nВведите команду для форматирования %s:\n\nПодстановка:\n\t%%%%v\tфайл устройства ( %s )\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root" #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "Форматировать" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "ПРЕДУПРЕЖДЕНИЕ О ПОТЕРЕ ДАННЫХ" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "Форматировать %s" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "Раздел %s смонтирован. Перед восстановлением его необходимо размонтировать." #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "Выберите резервную копию для восстановления" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "Вы собираетесь перезаписать MBR раздела %s, используя %s.\n\nЭто изменение может помешать загрузке системы. Убедитесь в наличии резервных копий для важных данных на всем устройстве.\n\nПродолжить? (Впереди есть ещё одна возможность прервать процесс)" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "Восстановить MBR" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "Неизвестный тип" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "Выбранный файл не распознан как корректная резервная копия.\n\nИмена файлов для FSArchiver содержат «fsarchiver» или оканчиваются на «.fsa». Имена файлов для Partimage содержат «partimage» или оканчиваются на «.000». Файлы MBR оканчиваются на «.mbr», «.mbr.bin» или «-MBR-back» и имеют размер в 512 байт. Если вы УВЕРЕНЫ в том что данный файл корректен, переименуйте его соответствующим образом." #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Сейчас будет восстановлен %s %sс помощью %s — ВСЕ ДАННЫЕ БУДУТ ПОТЕРЯНЫ.\n\nВведите команду восстановления %s:\n\nПодстановки:\n\t%%%%v\tфайл устройства ( %s )\n\t%%%%s\tфайл резервной копии ( %s )\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root" #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "Восстановить" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "%s Восстановить %s" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "Каталог %s не найден. Установлен ли udevil?" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "Каталог отсутствует" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "Выберите резервную копию для вывода сведений" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "Файл MBR" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "Судя по имени, выбранный файл является копией MBR. Другой информации для этого типа нет." #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "Восстановить сведения" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "\n\nВНИМАНИЕ: %s смонтирован. По умолчанию FSArchiver делает копии только с разделов смонтированных только для чтения. Чтобы скопировать раздел, смонтированный на чтение и запись, необходимо добавить опцию --allow-rw-mounted к команде. См. подробности в руководстве fsarchiver (man fsarchiver)." #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "%s сейчас смонтирован. Необходимо размонтировать его перед копированием с помощью Partimage." #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "Сохранить резервную копию %s" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "Перезаписать?" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "Выбранная резервная копия уже существует. Перезаписать?" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Введите команду резервного копирования для %s:\n\nПодстановки:\n\t%%%%v\tфайл устройства ( %s )\n\t%%%%s\tфайл резервной копии ( %s )%s\n\nСОБЛЮДАЙТЕ ОСТОРОЖНОСТЬ! Эта команда будет выполнена от имени root" #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "Резервная копия" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "%s Резервная копия %s" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "Свойства %s" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sВыбранное устройство: %s\nМетка раздела: %s\nID устройства: %s" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "_Извлечь" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Убить от пользователя..." #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "О_чередь" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Возо_бновить" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Остановить от пользователя..." #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Продолжить от пользователя..." #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Переместить: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Копировать: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "В корзину:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Удалить: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Ссылка: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Изменить:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Запустить:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Перемещение..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Копирование..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Удаление..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Удаление..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Создание ссылок..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Изменение..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Выполнение..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Из:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "В: " #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Прогресс:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Состояние:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Приостановлено" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "В очереди" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Спросить" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Перезаписать _всё" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "П_ропустить всё" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Автопереименование" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Прервать при ошибке в начале" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Прервать при любой ошибке" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Продолжить" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Остановлено" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Ошибки" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Выполнено" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s остаётся" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Ошибка ( на первом действии )" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Ошибка ( на любом действии )" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Остановлено с %d ошибкой" msgstr[1] "Остановлено с %d ошибками" msgstr[2] "Остановлено с %d ошибками" msgstr[3] "Остановлено с %d ошибками" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Завершено с %d ошибкой" msgstr[1] "Завершено с %d ошибками" msgstr[2] "Завершено с %d ошибками" msgstr[3] "Завершено с %d ошибками" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Завершено с ошибкой ( код возврата %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Завершено с ошибкой" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Приостановлено ( pid %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Приостановлено ( код возврата %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "В очереди ( pid %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "В очереди ( код возврата %d )" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Выполняется с %d ошибкой" msgstr[1] "Выполняется с %d ошибками" msgstr[2] "Выполняется с %d ошибками" msgstr[3] "Выполняется с %d ошибками" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Выполняется... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Выполняется... ( код возврата %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "застопорилось" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[ ---8<--- прочие ошибки выше были убраны из этого журнала ]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Перемещение из каталога:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Создание ссылки из каталога:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Копирование из каталога:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Каталог существует" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Каталог уже существует. Задайте другое имя или выберите действие." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( ссылка )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! перезаписать файл ссылкой !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( тот же размер )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu байт )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "больше" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "меньше" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( то же время )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "новее" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "старше" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Файл уже существует" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "Файл уже существует. Задайте другое имя или выберите действие." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Требуется переименование" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "В каталоге:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "Пере_записать" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Перезаписать _все" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Приостановить" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Пропустить" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "П_ропустить всё" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "В каталог:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Имя каталога:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Переименовать" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "_Автопереименование" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Автопереименование (всё)" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "Ошибка загрузки обработчика" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "Создать архив" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "Настро_ить" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "Команды с_жатия:" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "Обработчики архивов - Создать архив" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "Не настроены обработчики архивов. Нужно добавить обработчик перед созданием архива." #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "Формат _архива:" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "Команда создания архива пуста. Введите команду." #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "В команде создания архива необходимо использовать следующие переменные:\n\nОдну из:\n\n%%%%n: Первый выбранный файл/каталог для архивации\n%%%%N: Все выбранные файлы/каталоги для архивации\n\nИ одну из:\n\n%%%%o: Получаемый архив\n%%%%O: Получаемый архив для каждого исходного файла/каталога (см. %%%%n/%%%%N)\n" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "Ошибка при сохранении обработчика" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "копия" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "Архив" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "Распаковать в" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "Создать _подкаталог(и)" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "Разрешить пользователю запись в содержимое" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "Не найден обработчик архива или команда для файла:" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "Извлечь %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nЗавершено!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Команда:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Файловая система" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "( нет подкаталога )" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "Убрать ассоциацию для текстовых файлов" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "Заметка: при составлении списка приложений в меню «Открыть» для текстовых файлов, SpaceFM будет использовать приложения, ассоциированные с конкретным типом MIME (например, text/html), А ТАКЖЕ приложения, ассоциированные с типом text/plain. Если вы используете функцию «Убрать» в этом списке, то приложение будет убрано из ассоциаций для конкретного типа MIME (например, text/html), но будет ОСТАВЛЕНО как ассоциация для text/plain (кроме случаев, когда тип MIME файла и есть text/plain). Таким образом, использование пункта «Убрать» может не привести к изъятию приложения из подменю «Открыть», если оно также не будет убрано из ассоциаций к типу MIME text/plain." #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "Файл \"%s\" не существует.\n\nИзменить отображение и поведение этого приложения для текущего пользователя можно, скопировав \"%s\" в \"%s\".\n\nСкопировать сейчас?" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "Скопировать файл приложения" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "Файл \"%s\" не существует.\n\nСкопировав \"%s\" в \"%s\", можно изменить распознавание типа MIME \"%s\" для текущего пользователя.\n\nСкопировать сейчас?" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "Файл \"%s\" не существует.\n\nСоздав и отредактировав файл \"%s\", можно задать распознавание типа MIME \"%s\" для текущего пользователя.\n\nСоздать файл сейчас?" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "Создать новый XML" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "Принять за _умолчание" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "_Добавить..." #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "новый" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Удалить %d выбранных объект?" msgstr[1] "Удалить %d выбранных объектов?" msgstr[2] "Удалить %d выбранных объектов?" msgstr[3] "Удалить %d выбранных объектов?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Подтвердить удаление" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "_Путь: исходный" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Имя: исходное" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "Имя _файла: исходное" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "_Родительский каталог: исходный" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "_Путь: существует как каталог" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Имя: существует как каталог" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "Имя _файла: существует как каталог" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "_Родительский каталог:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "_Путь: существует как файл" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Имя: существует как файл" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "Имя _файла: существует как файл" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "_Путь: * перезаписать существующий файл" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Имя: * перезаписать существующий файл" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "Имя _файла: * перезаписать существующий файл" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "_Путь: родитель существует как файл" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "_Имя:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "_Имя файла:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "_Родительский каталог: родитель существует как файл" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "_Путь: * создать родительский каталог" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "_Родительский каталог: * создать родительский каталог" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "Путь:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "Пере_местить" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Выбрать цель ссылки" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Выбрать файл как шаблон" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Выбрать каталог как шаблон" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "_Обзор" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Имя фа_йла" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "_Родительский каталог" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Вставить как" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "_Создать" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Создать" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "файл" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "каталог" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "ссылку" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Переместить" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "_Копировать" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Копировать" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Создать ссылку для" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Вставить ссылку" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Цель" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr " От имени root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Создать ссылку" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "Файл" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "_Настройки" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "_Вернуть" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "и _открыть" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Ссылка-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Ссылка-> %s (отсутствует)" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "_Цель:" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "_Шаблон:" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "Пустой файл" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "Пустой каталог" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "Расширение:" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "Пере_местить" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "_Копировать" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "Создать _ссылку" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "Вставить _ссылку" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "От _имени root" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "_файл" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "_каталог" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "_ссылку" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Создать" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "Путь содержит разрывы строк" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "Создать родительский каталог" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "Родительский каталог не существует. Создать?" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Ошибка создания родительского каталога\n\n%s" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "Ошибка создания каталога" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "Перезаписать существующий файл" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "ПРЕДУПРЕЖДЕНИЕ О ПЕРЕЗАПИСИ" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "Файл по указанному пути существует. Перезаписать?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "Создать ссылку%s" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "Шаблон отсутствует" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "Указанный шаблон не существует" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "Создать новый файл%s" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "Создать новый каталог%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "Копировать%s" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "Ошибка копирования цели" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "Ошибка определения цели ссылки" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "Ошибка цели ссылки" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "Переместить%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "Ошибка переименования файла\n\n%s" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Ошибка переименования" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Новый каталог" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "Имя каталога:" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Новый файл" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "Имя файла:" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "Такое имя уже существует.\n\nВведите другое:" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "Невозможно создать новый файл" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "Цель символьной ссылки отсутствует или у вас нет к ней доступа:\n%s\n\nЦель: %s" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "Битая ссылка" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Удалить %d выбранных объектов от имени root?" msgstr[1] "Удалить %d выбранных объекта от имени root?" msgstr[2] "Удалить %d выбранных объектов от имени root?" msgstr[3] "Удалить %d выбранных объектов от имени root?" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "Подтвердите удаление от имени root" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "УДАЛИТЬ ОТ ИМЕНИ ROOT" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "Удалить от имени root" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "Переместить от имени root" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "Копировать от имени root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu байт )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d каталог" msgstr[1] "%d каталога" msgstr[2] "%d каталогов" msgstr[3] "%d каталогов" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d файл, %s" msgstr[1] "%d файла, %s" msgstr[2] "%d файлов, %s" msgstr[3] "%d файлов, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d файл" msgstr[1] "%d файла" msgstr[2] "%d файлов" msgstr[3] "%d файлов" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( несколько файлов )" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "( несколько типов )" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "Выбрать..." #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "Имя _каталога:" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu байт )" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "1 файл" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "Имя _ссылки:" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "( битая ссылка )" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "( ошибка чтения ссылки )" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Подсчет..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "Сменить дату файла" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Указан несуществующий пользователь" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Указана несуществующая группа" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "Помимо путей файлов или каталогов, в строке пути можно вводить команды. Префиксы:\n\t$\tвыполнить как задачу\n\t&\tзапустить и забыть\n\t+\tзапустить в терминале\n\t!\tзапустить от имени root\nПодстановки:\n\t%%F\tвыбранные файлы или %%f первый из выбранных файлов\n\t%%N\tвыбранные имена файлов или %%n имя первого выбранного файла\n\t%%d\tтекущий каталог\n\t%%v\tвыбранное устройство (например, /dev/sda1)\n\t%%m\tточка монтирования устройства (например, /media/dvd); %%l метка раздела\n\t%%b\tвыбранная закладка\n\t%%t\tкаталог выбранной задачи; %%p pid задачи\n\t%%a\tзначение пункта меню\n\t$fm_panel, $fm_tab, $fm_command, и т.д.\n\nПример: $ echo \"Текущий каталог: %%d\"\nПример: +! umount %%v" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "Обработчики архивов" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "Обработчики устройств" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "Обработчики протоколов" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "Обработчики файлов" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "Обработчики _архивов" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "Обработчики _устройств" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "Обработчики _протоколов" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "Обработчики _файлов" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "Ошибка: невозможно загрузить команду (внутренняя ошибка)" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "Ошибка: невозможно сохранить команду (недоступен путь скрипта?)" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "Ошибка чтения файла" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "Ошибка: невозможно сохранить команду (внутренняя ошибка)" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "Ошибка записи в файл" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "Устройство" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "Протокол" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "Выбранный файл с обработчиком %s был импортирован в список обработчиков %s" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "Обработчик импортирован" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "(опционально)" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "(отключено)" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "Удалить выбранный обработчик безвозвратно?" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "Применить изменения?" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "Применить изменения текущего обработчика?" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "Восстановить обработчики по умолчанию" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "Будут восстановлены отсутствующие обработчики по умолчанию.\n\nТакже, ПЕРЕЗАПИСАТЬ СУЩЕСТВУЮЩИЕ обработчики по умолчанию?" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "Пожалуйста, введите корректное имя обработчика." #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "Пожалуйста, введите корректный тип MIME или шаблон имени." #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "Следующие подстановочные переменные необходимо использовать в команде сжатия:\n\nОдну из следующих:\n\n%%n: Первый выделенный файл/каталог для архивирования\n%%N: Все выделенные файлы/каталоги для архивирования\n\nИ одну из следующих:\n\n%%o: Получаемый одиночный архив\n%%O: Архив для каждого исходного файла/каталога" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "Следующие подстановочные переменные необходимо использовать в команде распаковки:\n\n%%x: Архив для распаковки" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "Следующие подстановочные переменные необходимо использовать в команде показа содержимого:\n\n%%x: Архив для показа содержимого" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "Выберите файл плагина обработчика" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "Введите URL плагина обработчика" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "Введите URL плагина обработчика SpaceFM:\n\n(для скачивания файла будет использован wget)" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "_Экспортировать" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "Импортировать _Файл" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "Импортировать _URL" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "Восстановить обработчики по _умолчанию" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "_Умолчания" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "_Добавить" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "_Применить" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "Ввер_х" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "В_низ" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "_Использовать как обработчик по умолчанию" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "Вклю_чить обработчик" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "_Имя:" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "_Тип MIME:" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "_Белый список:" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "Шаблон _имени:" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "_Черный список:" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "_Значок:" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "С_жать:" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "Команда _открытия:" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "_Монтировать:" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "_Извлечь:" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "_Демонтировать:" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "_Показать содержимое:" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "_Свойства:" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Выполнять в терминале" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "Выполнять как задачу" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "Редактировать" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Выберите приложение:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "Заметка: Для типа MIME '%s' вместо ассоциированного с ним приложения сейчас задействован обработчик файлов '%s'.\n\nЧтобы открывать этот тип файлов в ассоциированном приложении, нужно отключить обработчик через меню Открыть|Обработчики..." #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "У этого типа MIME есть обработчик" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "Заметка: Для типа MIME '%s' вместо ассоциированного с ним приложения сейчас задействован обработчик архивов '%s'.\n\n\"Чтобы открывать этот тип файлов в ассоциированном приложении, нужно отключить обработчик через меню Открыть|По умолчанию для архива|Обработчики архивов, ИЛИ выбрать глобальную опцию Открыть|По умолчанию для архива|Открыть в приложении." #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Команда не найдена" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "Т" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "Г" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "М" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "К" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "Б" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Каталог назначения «%1$s» содержится в источнике «%2$s»" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "Получение доступа..." #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Удаление..." #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Создание каталога..." #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Создание ссылки..." #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Запись..." #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Создание..." #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Переименование..." #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "Установите /usr/bin/sha256sum чтобы увеличить безопасность выполнения команд от имени root\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Настройте корректную команду для терминального SU в меню Вид|Настройки|Продвинутые" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Терминальный SU недоступен" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "Настройте корректную команду для графического SU в меню Вид|Настройки|Продвинутые" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Графический SU недоступен" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Невозможно создать временный каталог" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Настройте корректную команду для терминала в меню Вид|Настройки|Продвинутые" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "spacefm-auth не найден по стандартному пути — это уменьшает безопасность" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "Ошибка при запуске «%s»\nСмотрите сведения для отладки в stdout (запустите spacefm в терминале) " #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "Ошибка записи во временный файл" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "Пропуск расчёта общего размера по таймауту\n" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nОшибка: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Раздел" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Устройство" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Устройство" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Дискета" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Устройство Compact Flash " #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Устройство Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Устройство Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Устройство SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip Устройство" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz Устройство" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Flash диск" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Музыкальный плеер" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Цифровая камера" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Устройство" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Внешние %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM диск" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Чистый CD-R диск" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R диск" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Чистый CD-RW диск" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW диск" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM диск" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Чистый DVD-RAM диск" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM диск" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Чистый DVD-R диск" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R диск" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Чистый DVD-RW диск" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW диск" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Чистый DVD+R диск" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R диск" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Чистый DVD+RW диск" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW диск" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Аудио диск" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Съёмный носитель" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Раздел" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Невозможно соединиться с HAL демоном: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Данное устройство «%s» не является разделом или приводом" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Устройство «%s» не найдено в таблице устройств файловых систем" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "У вас нет прав для монтирования раздела «%s»" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "У вас нет прав для размонтирования раздела «%s»" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "У вас нет прав для для извлечения носителя «%s»" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Неправильная опция монтирования раздела «%s»" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Раздел «%s» использует %s файловую систему, которая не поддерживается Вашей системой" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Приложение препятствует размонтированию раздела «%s»" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Раздел «%s» не смонтирован" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Ошибка %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Раздел «%s» возможно был смонтирован вручную или через командную строку" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Чистый диск не может быть смонтирован, используйте стороннюю программу для записи аудио CD или CD с данными" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "Аудио диски не могут быть смонтированы, используйте музыкальный плеер для прослушивания треков" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr ":дискета" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr ":оптический" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "[пустой]" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "[аудио]" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "[нет носителя]" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "Выбранный обработчик устройств" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "Выбранный обработчик протоколов" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "( нет устройства udev )" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "\nАвтозапуск: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "\nАвтоматически открывать вкладку для %s в %s\n" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "\nАвторазмонтирование: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "\nАвторазмонтирование: ошибка: недоступна команда размонтирования\n" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "\nАвтомонтирование: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "\nАвтомонтирование: ошибка: недоступна команда монтирования\n" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Размонтировать-если-смонтировано: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "У вас нет прав на редактирование содержимого файла %s\n\nМожно скопировать его на рабочий стол или сделать ссылку на копию в ~/.local/share/applications/" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Невозможно переименовать" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "Введите имя для нового элемента рабочего стола:\n\nДля изменения отображаемого имени этого элемента будет необходимо изменить содержимое desktop-файла %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Сменить имя элемента рабочего стола" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Произошла ошибка при переименовании элемента рабочего стола." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Открыть содержащий _каталог" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Выбор каталога" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Обзор..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Локальные разделы" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Последние изменение" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Введите программу или команду(ы) на bash:\n\nПодстановки:\n\t%F\tвыбранные файлы или %f первый из выбранных файлов\n\t%N\tвыбранные имена файлов или %n первое имя файла из выбранных\n\t%d\tтекущий каталог\n\t%v\tвыбранное устройство (например, /dev/sda1)\n\t%m\tточка монтирования устройства (например, /media/dvd); %l метка устройства\n\t%b\tвыбранная закладка\n\t%t\tкаталог выбранной задачи; %p pid задачи\n\t%a\tзначение элемента меню\n\t$fm_panel, $fm_tab, $fm_command, и т.д." #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "Тип MIME" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Имя файла" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Каталог" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Доступ на запись в каталог" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Файл является текстовым" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Файл является каталогом" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Файл является ссылкой" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Пользователь: root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Выделено несколько файлов" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "В буфере обмена есть файлы" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "В буфере обмена есть текст" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Текущая панель" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Номер панели" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Текущая вкладка" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Номер вкладки" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "В закладки" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Точка монтирования устройства" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Метка устройства" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Файловая система устройства" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "UDI устройства" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Свойства устройства" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Номер задачи" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Каталог задачи" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Тип задачи" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Имя задачи" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Каталог панели 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Каталог панели 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Каталог панели 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Каталог панели 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "В панели 1 есть выделение" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "В панели 2 есть выделение" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "В панели 3 есть выделение" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "В панели 4 есть выделение" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Устройство панели 1" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Устройство панели 2" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Устройство панели 3" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Устройство панели 4" #: ../src/item-prop.c:205 msgid "equals" msgstr "равно" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "не равно" #: ../src/item-prop.c:207 msgid "contains" msgstr "содержит:" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "не содержит" #: ../src/item-prop.c:209 msgid "begins with" msgstr "начинается с" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "не начинается с" #: ../src/item-prop.c:211 msgid "ends with" msgstr "заканчивается на" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "не заканчивается на" #: ../src/item-prop.c:213 msgid "is less than" msgstr "меньше чем" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "больше, чем" #: ../src/item-prop.c:215 msgid "matches" msgstr "подходит по маске" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "не подходит по маске" #: ../src/item-prop.c:222 msgid "Application" msgstr "Приложение" #: ../src/item-prop.c:223 msgid "Command" msgstr "Команда" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Текущий: показать" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Текущий: скрыть" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Текущий: выключить" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "Текущий: включить" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Сохранить измененный сценарий?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Сохранить изменения в сценарий команды?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Перезаписать сценарий?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "Сценарий команды был изменен на диске.\n\nПерезаписать его?" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "Каталог команды" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "( без файлов )" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "Команда не начинается с файла (сценария) для открытия или сценарий не найден в $PATH" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Цели: (список путей или URL, разделенный «;»)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Цель: (файл .desktop или исполняемый файл)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Выбрать исполняемый файл" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "Слишком длинная командная строка" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "Ваша командная строка длиннее 2000 символов и может быть обрезана при сохранении. Вместо команды рекомендуется использовать командный сценарий на вкладке Команда." #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Свойства элемента панели инструментов" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Свойства элемента меню" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "_Элемент панели инструментов" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "_Элемент меню" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Тип:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Имя:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Клавиша:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Значок:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "_Контекст" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "П_рименить" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "совпадает по любому правилу:" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "совпадает по всем правилам:" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "не совпадает ни по какому правилу:" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "не совпадает по всем правилам:" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Показать" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Включить" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Скрыть" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Выключить" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "пункт контекста" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "Редактировать правило" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Значение:" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "Если включено, использовать как обработчик для:" #: ../src/item-prop.c:1962 msgid "none" msgstr "ничего" #: ../src/item-prop.c:1964 msgid "files" msgstr "файлы" #: ../src/item-prop.c:1966 msgid "devices" msgstr "устройства" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "_Игнорировать контекст / Показывать всё (глобальная настройка)" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "_Команда" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "Командная _строка" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Сценарий" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Открыть в _редакторе" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "Редактор _пользователя root" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "_Опции" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "Опции выполнения" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "Показывать сообщения" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "Показывать ошибки" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "Показывать вывод" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "Прокручивать вывод" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "Оставить терминал открытым" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "Выполнить от пользователя:" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "( пусто = текущий пользователь )" #: ../src/item-prop.c:2184 msgid "Style" msgstr "Стиль" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "Нормальный" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "Флажок" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "Подтверждение" #: ../src/item-prop.c:2204 msgid "Input" msgstr "Ввод" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "Сообщение для подтверждения/ввода" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Открыть в браузере" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "( каталог данных )" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "Каталог плагинов" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "Встроенный элемент панели _инструментов" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Подменю" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "Разделитель" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "Встроенная команда" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "Отслеживать состояние" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "Применять разное оформление в зависимости от выбранного состояния." #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "Значок" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "Значок для отображения." #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "G-значок" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "G-значок для отображения." #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "размер" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "Размер значка в пикселях для отображения." #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "Значки действий" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Анимации" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Значки приложений" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Значки меню" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Значки устройств" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "Символы" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "Смайлики" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "Мировые религии" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "Значки типов файлов" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "Значки местоположений" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "Значки состояний" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "Значки без категории" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Все значки" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "Файлы изображений" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "Выбрать _значок из:" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "_Искать значок:" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "Очистить поле поиска" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Предпросмотр" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "Не выбран файл" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "Блочное устройство" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "Символьное устройство" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "FIFO" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "Сокет" spacefm-1.0.5/po/si_LK.po000066400000000000000000004731341264770501700151370ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/" "spacefm/language/si_LK/)\n" "Language: si_LK\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/sk.po000066400000000000000000005021401264770501700145410ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # helix84 , 2009 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/spacefm/language/" "sk/)\n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Ivan Masár , 2009." #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Prehliadať" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Otvára sa v termináli" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Vlastnosti súboru" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Vlastník:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Skupina:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Vlastník:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Skupina:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "čítanie" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "zápis" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Spustiť" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "SETUID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "SETGID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "lepkavý" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "O_právnenia" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Nájsť súbory" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Rozlišuje sa veľkosť písmen" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Video súbory (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Zvukové súbory (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Súbory obrázkov (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Textové súbory" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Všetky súbory a adresáre" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Hľadať typy súborov" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Kde hľadať" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Všeobecné" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Súbor obsahuje:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Použiť regulárny výraz" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Obsah súboru" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Obsah" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Väčší ako:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Menší ako:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Veľkosť súboru" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Posledná zmena" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Veľkosť a dátum" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Výsledok vyhľadávania:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Hľadať znova" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Prejsť do priečinka" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Nastavenie" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Záložky:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Všeobecné" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Vždy zobrazovať tento panel s kartami" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Rozhra_nie" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Tapeta:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Prosím, vyberte súbor obrázka" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Režim:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Pozadie:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Text:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Tieň:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Plocha" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Správa zväzkov" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminál:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Rozšírené" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Súbor neexistuje" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Chyba" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Chyba: Nepodarilo sa nadviazať spojenie s FAM.\n" "\n" "Máte nainštalovaný a spustený „FAM“ alebo „Gamin“?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Nie je známe ako otvoriť súbor" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Nedá sa otvoriť súbor:\n" "„%s“\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Súbor" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_Zobraziť" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Pomocník" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Priečinok" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Názov" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Veľkosť" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Typ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Oprávnenia" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Späť" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Dopredu" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Obnoviť" #: ../src/settings.c:160 msgid "New Tab" msgstr "Nová karta" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Priečinok" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Záložka" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Vlastnosti" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "Úpr_avy" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Otvoriť" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Nové _okno" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Nástroj" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_Spustiť" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Všetky súbory a adresáre" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Rozbaliť _do" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Záložka" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Prejsť" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "P_remenovať" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Zmazať" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Invertovať výber" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikony" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Nepodarilo sa pripojiť zariadenie" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Nepodarilo sa odpojiť zariadenie" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Nepodarilo sa vysunúť zariadenie" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Vysunúť" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Presunúť:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Skopírovať:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Zmazať:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Odkaz:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Presúva sa..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopíruje sa..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Maže sa..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Vytvára sa odkaz..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Kam:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Prepísať všetky" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Preskočiť všetky" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Dokončené!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Príkaz:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Súborový systém" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Priečinok" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Nový priečinok" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Nový súbor" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Počíta sa..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Neplatný používateľ" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Neplatná skupina" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Všetky súbory a adresáre" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Príkaz nenájdený" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Cieľový adresár „%1$s“ je podadresárom zdrojového „%2$s“" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s zväzok" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s jednotka" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s jednotka" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Disketová jednotka" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Jednotka Compact Flash" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Jednotka Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Jednotka Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Jednotka SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Jednotka Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jednotka Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Jednotka Pen" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "Hudobný prehrávač %s %s" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "Digitálny fotoaparát %s %s" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Jednotka" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Externá %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "Disk CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Prázdny disk CD-R" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "Disk CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Prázdny disk CD-RW" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "Disk CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "Disk DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Prázdny disk DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "Disk DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Prázdny disk DVD-R" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "Disk DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Prázdny disk DVD-RW" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "Disk DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Prázdny disk DVD+R" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "Disk DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Prázdny disk DVD-RW" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "Disk DVD-RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Zvukový disk" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Prenosný disk %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Zväzok" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Nepodarilo sa pripojiť k HAL démonu: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Zadané zariadenie „%s“ nie je zväzok ani jednotka" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Zariadenie „%s“ nebolo nájdené v tabuľke súborových systémov" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Nemáte oprávnenie pripojiť zväzok „%s“" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Nemáte oprávnenie odpojiť zväzok „%s“" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Nemáte oprávnenie vysunúť zväzok „%s“" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Zadaná neplatná voľba počas pokusu pripojiť zväzok „%s“" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Zväzok „%s“ používa súborový systém %s, ktorý váš systém nepodporuje" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Aplikácia bráni odpojeniu zväzku „%s“" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Zväzok „%s“ nie je pripojený" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Chyba %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Zväzok „%s“ bol pravdepodobne pripojený ručne z príkazového riadka" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Prázdne disky nemožno pripojiť. Na nahranie údajov na disk použite aplikáciu " "na napaľovanie diskov." #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Zvukové disky nemožno pripojiť. Na prehranie zvukových stôp použite " "prehrávač hudby." #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Otvoriť nadradený _priečinok" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Vyberte priečinok" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Prechádzať..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Posledná zmena" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Príkaz nenájdený" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/sl.po000066400000000000000000005015201264770501700145430ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Rüdiger Arp , 2006 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/spacefm/" "language/sl/)\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" "%100==4 ? 2 : 3);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "paxman " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Brskaj" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Odprto v konzoli" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Lastnosti datoteke" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Lastnik" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Skupina:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Lastnik" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Skupina:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Branje" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Pisanje" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Izvedljivo" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Nastavi UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Nastavi GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Lepljiv" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Dovoljenja" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Najdi datoteke" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Loči velike/male črke" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Video datoteke (avi, mpg, ...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Vse zvočne datoteke (mp3, ogg, ...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Slikovne datoteke (jpg, png, ...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Datoteka z golim besedilom" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Vse datoteke in mape" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Išči po tipu datoteke" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Išči v:" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Splošno" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Datoteka vsebuje:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Uporabi regularne izraze" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Vsebina datoteke" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Vsebina" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Večja od:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Manjša od:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Velikost datoteke" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Spremenjeno" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Velikost in datum" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Rezultati iskanja:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Išči ponovno" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Lastnosti" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Zaznamki:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Splošno" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Vedno prikaži vrstico zavihkov" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "_Vmesnik" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Ozadje:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Izberite slikovno datoteko" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Način: " #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Ozadje:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekst:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Senca:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Namizje" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Upravitelj nosilcev" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Ukaz za zagon konzole:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "N_apredno" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Datoteka ne obstaja" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Napaka" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Napaka: Povezava s FAM neuspešna.\n" "\n" "Je \"FAM\" ali \"Gamin\" nameščen in zagnan?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Datoteke ni bilo mogoče odpreti" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Datoteke ni bilo mogoče odpreti:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Datoteka" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "Po_gled" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "Po_moč" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Mapa" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Ime" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Velikost" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Tip" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Dovoljenja" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "Nazaj" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Naprej" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Osveži" #: ../src/settings.c:160 msgid "New Tab" msgstr "Odpri nov zavihek" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Mapo" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Zaznamki" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Lastnosti" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Uredi" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Odpri" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Novo _okno" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Orodja" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "Iz_vedi" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Vse datoteke in mape" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Izvleci _v" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Zaznamki" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Pojdi" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Preimenuj" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Izbriši" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Obrni izbor" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikone" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Naprave ni bilo moč priklopiti" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Naprave ni bilo moč odklopiti" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Naprave ni bilo moč izvreči" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Izvrzi" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Premakni: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopiraj: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Izbriši: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Povezava:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Premikam..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopiram..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Brišem..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Povezujem..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "V:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Prepiši vse" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Preskoči vse" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Končano!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Ukaz:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Datotečni sistem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Mapa" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Nova mapa" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Nova datoteka" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Izračunavam..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Nepravilen uporabnik" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Nepravilna skupina" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Vse datoteke in mape" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Ukaz ni bil najden" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Ciljna mapa \"%1$s\" je že vsebovana v izvorni mapi \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "Nosilec %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s pogon" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s pogon " #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Disketna enota" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash enota" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memory-Stick enota" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media enota" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC enota" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip pogon" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz pogon" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "USB ključ" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s MP3 predvajalnik" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s fotoaparat" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Pogon" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Zunanji %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Prazen CD-R" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Prazen CD-RW" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Prazen DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Prazen DVD-R" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Prazen DVD-RW" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Prazen DVD+R" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Prazen DVD+RW" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Audio-CD" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Izmenljiv nosilec %s" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Nosilec" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Napaka pri povezavi z HAL procesom: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Izbrana naprava \"%s\" ni nosilec ali pogon" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Naprave \"%s\" ni bilo mogoče najti v tabeli sistemskih naprav" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Nimate privilegijev za priklop nosilca \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Nimate privilegijev za odklop nosilca \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Nimate privilegijev za izmet nosilca \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Nepravilna možnost za priklop nosilca \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Nosilec \"%s\" uporablja %s datotečni sistem, ki ni podprt na vašem " "sistemu" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Zagnan je program, ki preprečuje odklop nosilca \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Nosilec \"%s\" ni priklopljen" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Napaka %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Nosilec \"%s\" je bil verjetno priklopljen v ukazni vrstici" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Praznih nosilci ni mogoče priklopiti. Za zapis podatkov, zvoka in slike " "uporabite program za zapisovanje." #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Avdio CDji ne morejo biti priklopljeni; za predvajanje skladb uporabite " "avdio predvajalnik" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Odpri vsebujočo _mapo" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Izberi mapo" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Brskaj..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Po času spremembe" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Ukaz ni bil najden" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/spacefm.pot000066400000000000000000005107671264770501700157440ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: spacefm 1.0.4+next\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-10-18 17:03+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab change dir %e %w %p %t %d" msgstr "" #: ../src/main.c:821 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:823 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:825 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:826 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:827 msgid "window ID" msgstr "" #: ../src/main.c:828 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:829 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:830 msgid "quoted directory ('/etc')" msgstr "" #: ../src/main.c:831 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:832 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:833 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:834 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:835 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:837 msgid "Examples" msgstr "" #: ../src/main.c:853 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:864 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1154 ../src/main.c:1417 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1195 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1266 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1268 ../src/main.c:1346 ../src/main.c:1348 ../src/main.c:1456 #: ../src/main.c:1484 ../src/main.c:1486 ../src/main.c:1625 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2174 ../src/ptk/ptk-file-browser.c:2191 #: ../src/ptk/ptk-file-browser.c:5543 ../src/ptk/ptk-file-browser.c:5551 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1348 ../src/main.c:1486 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1402 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1409 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1454 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1620 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1622 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1871 msgid "Panel" msgstr "" #: ../src/main-window.c:1925 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:2035 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2063 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "" #: ../src/main-window.c:2066 ../src/settings.c:12177 msgid "_View" msgstr "" #: ../src/main-window.c:2069 ../src/settings.c:12520 msgid "_Devices" msgstr "" #: ../src/main-window.c:2073 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2076 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2080 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2083 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "" #: ../src/main-window.c:2393 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2402 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2418 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2427 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3640 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3647 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3704 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3706 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3709 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3717 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3720 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3727 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3774 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3777 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3782 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:4039 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4262 ../src/main-window.c:5739 msgid "Status" msgstr "" #: ../src/main-window.c:4262 msgid "#" msgstr "" #: ../src/main-window.c:4262 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "" #: ../src/main-window.c:4262 msgid "Item" msgstr "" #: ../src/main-window.c:4263 msgid "To" msgstr "" #: ../src/main-window.c:4263 msgid "Progress" msgstr "" #: ../src/main-window.c:4263 msgid "Total" msgstr "" #: ../src/main-window.c:4264 msgid "Started" msgstr "" #: ../src/main-window.c:4264 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4264 msgid "Current" msgstr "" #: ../src/main-window.c:4264 msgid "CRemain" msgstr "" #: ../src/main-window.c:4265 msgid "Average" msgstr "" #: ../src/main-window.c:4265 msgid "Remain" msgstr "" #: ../src/main-window.c:4278 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4278 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5851 msgid "moving" msgstr "" #: ../src/main-window.c:5852 msgid "copying" msgstr "" #: ../src/main-window.c:5853 msgid "trashing" msgstr "" #: ../src/main-window.c:5854 msgid "deleting" msgstr "" #: ../src/main-window.c:5855 msgid "linking" msgstr "" #: ../src/main-window.c:5856 msgid "changing" msgstr "" #: ../src/main-window.c:5857 msgid "running" msgstr "" #: ../src/main-window.c:5932 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5933 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5949 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5951 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6284 ../src/ptk/ptk-file-browser.c:255 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6284 ../src/ptk/ptk-file-browser.c:255 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6284 ../src/ptk/ptk-file-browser.c:255 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6285 ../src/ptk/ptk-file-browser.c:256 msgid "Permission" msgstr "" #: ../src/main-window.c:6285 ../src/ptk/ptk-file-browser.c:256 msgid "Owner" msgstr "" #: ../src/main-window.c:6285 ../src/ptk/ptk-file-browser.c:256 msgid "Modified" msgstr "" #: ../src/main-window.c:6297 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6326 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6329 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6339 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6359 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6369 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6376 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6389 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6401 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6427 ../src/main-window.c:6734 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6460 ../src/main-window.c:6612 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6489 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6530 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6583 ../src/main-window.c:6918 #: ../src/main-window.c:7045 ../src/main-window.c:7323 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6632 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6668 ../src/main-window.c:6695 #: ../src/main-window.c:7111 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6805 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6822 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6828 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6834 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6875 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6881 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6927 ../src/main-window.c:7936 #: ../src/main-window.c:7963 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7331 ../src/main-window.c:7461 #: ../src/main-window.c:7565 ../src/main-window.c:7622 #: ../src/main-window.c:7673 ../src/main-window.c:8012 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7359 ../src/main-window.c:7489 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7364 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7416 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7433 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7451 ../src/main-window.c:7552 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7608 ../src/main-window.c:7838 #: ../src/main-window.c:7859 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7615 ../src/main-window.c:7666 #: ../src/main-window.c:7701 ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7682 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7695 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7707 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7732 ../src/main-window.c:7755 #: ../src/main-window.c:7799 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7878 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7927 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7951 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7970 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7982 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:8018 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:8044 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:8055 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may " "cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:156 msgid "Show Devices" msgstr "" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:158 msgid "Show Tree" msgstr "" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4278 #: ../src/ptk/ptk-location-view.c:4740 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:161 msgid "Up" msgstr "" #: ../src/settings.c:162 msgid "Back" msgstr "" #: ../src/settings.c:163 msgid "Back History" msgstr "" #: ../src/settings.c:164 msgid "Forward" msgstr "" #: ../src/settings.c:165 msgid "Forward History" msgstr "" #: ../src/settings.c:166 msgid "Refresh" msgstr "" #: ../src/settings.c:167 msgid "New Tab" msgstr "" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "" #: ../src/settings.c:171 msgid "Large Icons" msgstr "" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "" #: ../src/settings.c:462 msgid "file not found" msgstr "" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "" #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4346 msgid "Create README" msgstr "" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5601 msgid "Export Error" msgstr "" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6627 msgid "( none )" msgstr "" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6820 msgid "Cancel" msgstr "" #: ../src/settings.c:6826 msgid "Unset" msgstr "" #: ../src/settings.c:6839 msgid "Set" msgstr "" #: ../src/settings.c:6853 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:7041 msgid "Run As User" msgstr "" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7050 msgid "New Context Command" msgstr "" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7140 msgid "(none)" msgstr "" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact " "performance." msgstr "" #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7346 msgid "( no name )" msgstr "" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2286 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:12083 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "" #: ../src/settings.c:9155 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9372 msgid "_OK" msgstr "" #: ../src/settings.c:9509 msgid "_Unset" msgstr "" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3528 ../src/ptk/ptk-location-view.c:3944 msgid "_Unmount" msgstr "" #: ../src/settings.c:10640 msgid "Re_load" msgstr "" #: ../src/settings.c:10644 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3521 ../src/ptk/ptk-location-view.c:3938 msgid "_Mount" msgstr "" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "" #: ../src/settings.c:10693 msgid "_Label" msgstr "" #: ../src/settings.c:10743 msgid "_Check" msgstr "" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10755 msgid "_Format" msgstr "" #: ../src/settings.c:10815 msgid "_Backup" msgstr "" #: ../src/settings.c:10837 msgid "_Restore" msgstr "" #: ../src/settings.c:10842 msgid "_From File" msgstr "" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "" #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point " "directories for fuse and similar filesystems (%%a in handler commands). " "This directory must exist and be user-writable (do NOT use /media), and " "empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or " "$XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below " "(%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount and " "some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11148 msgid "_Settings" msgstr "" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "" #: ../src/settings.c:11185 msgid "_Parent" msgstr "" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11204 msgid "_Option" msgstr "" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11222 msgid "_As Root" msgstr "" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11283 msgid "New _Window" msgstr "" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11289 msgid "_File Search" msgstr "" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11302 msgid "Open URL" msgstr "" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11310 msgid "E_xit" msgstr "" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11391 msgid "_Instance" msgstr "" #: ../src/settings.c:11396 msgid "_Startup" msgstr "" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11402 msgid "_Exit" msgstr "" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11408 msgid "_Window" msgstr "" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11419 msgctxt "View|Events|Window|" msgid "_Focus" msgstr "" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11431 msgctxt "View|Events|Window|" msgid "_Click" msgstr "" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11443 msgctxt "View|Events|Window|" msgid "Cl_ose" msgstr "" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11449 msgid "_Panel" msgstr "" #: ../src/settings.c:11454 msgctxt "View|Events|Panel|" msgid "_Focus" msgstr "" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11466 msgid "S_elect" msgstr "" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11477 msgctxt "View|Events|Tab|" msgid "_New" msgstr "" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11489 msgctxt "View|Events|Tab|" msgid "_Focus" msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11501 msgctxt "View|Events|" msgid "_Device" msgstr "" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "" #: ../src/settings.c:11532 msgid "_Tool" msgstr "" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11606 msgid "_Options" msgstr "" #: ../src/settings.c:11611 msgid "_Browser" msgstr "" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11623 msgid "_About" msgstr "" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11656 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "" #: ../src/settings.c:11673 msgid "_Item" msgstr "" #: ../src/settings.c:11679 msgid "_To" msgstr "" #: ../src/settings.c:11685 msgid "_Progress" msgstr "" #: ../src/settings.c:11692 msgid "T_otal" msgstr "" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11789 msgid "_Columns" msgstr "" #: ../src/settings.c:11794 msgid "_Popups" msgstr "" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11857 msgid "_Continue" msgstr "" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11892 msgid "By _Name" msgstr "" #: ../src/settings.c:11895 msgid "By _Type" msgstr "" #: ../src/settings.c:11898 msgid "By _Date" msgstr "" #: ../src/settings.c:11901 msgid "By _Size" msgstr "" #: ../src/settings.c:11904 msgid "_Custom" msgstr "" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "" #: ../src/settings.c:11910 msgid "D_escending" msgstr "" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11964 msgid "Input Font" msgstr "" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "" #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "" #: ../src/settings.c:11993 msgid "N_ew" msgstr "" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:12104 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:12122 msgid "_Go" msgstr "" #: ../src/settings.c:12127 msgid "_Back" msgstr "" #: ../src/settings.c:12129 msgid "_Forward" msgstr "" #: ../src/settings.c:12131 msgid "_Up" msgstr "" #: ../src/settings.c:12133 msgid "_Home" msgstr "" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "" #: ../src/settings.c:12149 msgid "_File List" msgstr "" #: ../src/settings.c:12151 msgid "_Tree" msgstr "" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12164 msgid "_Close" msgstr "" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12202 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "" #: ../src/settings.c:12220 msgid "_Descending" msgstr "" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "" #: ../src/settings.c:12281 msgid "_Actions" msgstr "" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12346 msgid "_Move To" msgstr "" #: ../src/settings.c:12350 msgid "_Location" msgstr "" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12383 msgid "_Select All" msgstr "" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12392 msgid "R_oot" msgstr "" #: ../src/settings.c:12398 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12414 msgid "_Quick" msgstr "" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12526 msgid "T_ree" msgstr "" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "" #: ../src/settings.c:12550 msgid "_Icons" msgstr "" #: ../src/settings.c:12555 msgid "_Compact" msgstr "" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2171 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2187 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3020 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3022 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5451 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5484 ../src/ptk/ptk-file-browser.c:5518 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5485 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5519 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5526 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5528 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5543 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5551 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1145 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1146 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1204 ../src/ptk/ptk-location-view.c:1328 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1205 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1262 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1324 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1327 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1360 ../src/ptk/ptk-location-view.c:1925 #: ../src/ptk/ptk-location-view.c:2000 ../src/ptk/ptk-location-view.c:2077 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1400 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1401 ../src/ptk/ptk-location-view.c:2311 #: ../src/ptk/ptk-location-view.c:2390 ../src/ptk/ptk-location-view.c:2742 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1408 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1413 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1416 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1426 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1459 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1465 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1468 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1484 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1514 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1519 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1522 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1534 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1590 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1594 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1596 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1621 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1627 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1630 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1633 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1648 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1712 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1846 ../src/ptk/ptk-location-view.c:1859 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2149 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2248 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2276 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2310 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2322 ../src/ptk/ptk-location-view.c:2482 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2328 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2335 ../src/ptk/ptk-location-view.c:2432 #: ../src/ptk/ptk-location-view.c:2489 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2389 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2397 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2431 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2432 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2444 ../src/ptk/ptk-location-view.c:2664 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2444 ../src/ptk/ptk-location-view.c:2664 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2485 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2486 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2527 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2584 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2589 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2605 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2658 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2658 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2674 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2733 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2741 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2758 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2775 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2775 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2804 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2807 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2835 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2942 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3190 ../src/ptk/ptk-location-view.c:3217 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3537 ../src/ptk/ptk-location-view.c:3952 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1125 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1440 #: ../src/ptk/ptk-file-archiver.c:1495 ../src/ptk/ptk-file-menu.c:2311 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1116 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1156 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1300 msgid "No archive handler/command found for file:" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1556 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1864 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1864 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1880 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1883 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1981 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1983 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1986 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2280 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2290 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2353 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3390 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3662 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3966 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4006 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4052 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4057 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4076 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4081 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4283 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1863 msgid "Show" msgstr "" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1962 msgid "none" msgstr "" #: ../src/item-prop.c:1964 msgid "files" msgstr "" #: ../src/item-prop.c:1966 msgid "devices" msgstr "" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2184 msgid "Style" msgstr "" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2204 msgid "Input" msgstr "" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "" spacefm-1.0.5/po/sr.po000066400000000000000000007565021264770501700145650ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Jay Alexander Fleming , 2009,2015 # miroslav , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/spacefm/language/" "sr/)\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "Спејс-ФМ — Отвори директоријум" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Отвори директоријум" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "Спејс-ФМ — Нађи датотеку" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Претрага датотека и директоријума" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "Спејс-ФМ" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Управник датотека" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Разгледај систем датотека" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "приредио: IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Ауторска права — 2015. ОЈЛ в3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" "Ауторска права — 2015. Спејс-ФМ програмери\n" "\n" "Овај програм је слободни софтвер. Можете га расподелити и/или мењати под " "одредбама ГНУ-ове опште јавне лиценце коју је објавила Задужбина за слободни " "софтвер, и то или верзије 3 ове лиценце, или (по вашем избору) било које " "следеће верзије.\n" "\n" "УПОТРЕБЉАВАТЕ ПРОГРАМ НА СОПСТВЕНУ ОДГОВОРНОСТ. Овај програм се расподељује " "у намери да буде користан, али БЕЗ ИКАКВЕ ГАРАНЦИЈЕ, чак и без имплицитне " "гаранције КОМЕРЦИЈАЛНЕ ВРЕДНОСТИ или ИСПУЊАВАЊА ОДРЕЂЕНЕ ПОТРЕБЕ. Погледајте " "ГНУ-ову општу јавну лиценцу за више детаља.\n" "\n" "„Еxo“ библиотеке и изворни код употребљени у овом програму су објављени под " "условима ГНУ-ове опште јавне лиценце и ГНУ-ове мање опште јавне лиценце " "верзије 3 (МОЈЛ в3).\n" "\n" "Требало би да уз овај програм примите и примерак ГНУ-ове опште јавне " "лиценце. Ако то није случај, погледајте " #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" "Спејс-ФМ иконе и лого је створио Горан Симовић\n" "\n" "Додатне иконе су узете из пројекта иконе за Танго радну површ" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "Српски (sr):\n" "- miroslav_bmw \n" "- Jay A. Fleming " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Одаберите програм" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Одаберите програм или унесите наредбу:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Врста датотеке:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Придружени програми" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "_Сви програми" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Наредба:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Разгледај" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Отворено у терминалу" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "_Означи као подразумевани програм за ову врсту датотека" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Особине датотеке" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "_Назив датотеке:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Место:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Веза _одредишта:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Врста датотеке:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Oтвори по_моћу:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Величина (укупно):" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Заузет простор:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Укупно:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "Последња _измена:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "Последњи _приступ:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "Подац_и" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Власник:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Група:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Власник:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Група:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Остали:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Читање" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Писање" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Извршна" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Постави УИД" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Постави ГИД" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Лепљиво" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Рекурзиво (примени радњу на поддиректоријумe и њихов садржај)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Дозволе" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Бајтова" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "КБ" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "МБ" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "ГБ" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Било који" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "У једном дану" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "У једној недељи" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "У једном месецу" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "У једној години" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "У оквиру изабраног опсега датума" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Пронађи датотеке" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Назив датотеке:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Разликуј величину слова" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Видео датотеке (ogv, mkv, avi...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Звучне датотеке (oga, flac, mp3...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Слике (png, jpg, svg...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Обичне датотеке са текстом" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Све датотеке и директоријуми" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Тражи по врсти датотеке" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Тражи у поддиректоријумима" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Претражи и скривене датотеке" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Претражи места" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Опште" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "У датотеци се налази:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Користи регуларне изразе" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Садржај датотеке" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Према садржају" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Веће од:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Мање од:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Величина датотеке" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Последњи пут измењено" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Према величини и датуму" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Пронађене су следеће датотеке:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Тражи поново" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Иди у директоријум" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Отвори у текућем језичку" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Отвори у новом језичку" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Растегни преко целог екрана" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Прилагоди величини екрана" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "На сред екрана" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Поплочај екран" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Прикажи увећано" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Провидно" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Подразумевано" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Умножи (Ctrl+Превуци)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Премести (Shift+Превуци)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Повежи (Ctrl+Shift+Превуци)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Поставке" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Величина мањих икона:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Величина већих икона:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Величина икона у алатници:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Иконе" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Отварај датотеке једноструким кликом" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Одабир задршком показивача изнад датотека" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Обележивачи:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Прикажи умањени приказ датотека" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Не прави умањени приказ датотека чија величина прелази:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Списак датотека" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "Оп_ште" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Увек приказуј траку са језичцима" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Не приказуј дугмад за затварање на језичцима" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Захтевај потврду при брисању/уклањању" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Омогући покретање програма једноструким кликом" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "„SI“ величине датотеке (1K = 1000) (захтева поновно покретање)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Бојом означи програм ако га употребљавам уз адм. дозволе" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Подразумевана радња при превлачењу:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Су_чеље" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Позадинска слика:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Изаберите датотеку са сликом" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Режим позадинске слике:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Позадинска слика:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Текст:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Сенка:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Словолик:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Горе:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Лево:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Десно:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Доле:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Ивице" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Омогући изборник управника прозора код десног клика на радну површ" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Отварај директоријуме МИМЕ-придруженим програмом" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Ра_дна површ" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Упра_вљање логичким дисковима" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Емулатор терминала:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Адм. дозволе у терминалу преко:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Адм. дозволе у граф. сучељу преко:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Кодирање назива датотеке:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Уредник текста:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Покрени уредник у терминалу" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Уредник текста за администратора:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Покрени адм. уредник у терминалу" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Формат датума:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(захтева поново учитавање)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Приказ датума" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "Н_апредно" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Превише колона (>%d) у %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "грешка у читању датотеке %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "датотека „%s“ садржи неисправан УТФ-8" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Не могу да подесим недостајући елеменат „%s“" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "датотека „%s“ није регуларна датотека" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "Динамичка промена величине захтева ширину и висину > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "за интерну наредбу %s неопходан је аргуменат" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "не постоји елеменат „%s“" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "интерна наредба „притисни“ се не примењује на не-дугме %s" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "интерна наредба (не)избора се не примењује за %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "грешка при уписивању датотеке %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "„%s“ није интерна наредба" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "грешка при стварању датотеке %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "подаци из „%s“ цеви нису исправан УТФ-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( садржај датотеке није исправан УТФ-8 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "предложак „%s“ није ваљан назив променљиве" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Пауза" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "датотека „%s“ није регуларна датотека или цев" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" "Спејс-ФМ дијалог ствара прилагођен ГТК дијалог од графичких елемената које " "сте\n" "навели у линији наредби и тренутно обезбеђује унутрашње/спољне наредбе које\n" "могу да мењају елементе и приказују проверљиве-претраживе резултате.\n" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Употреба:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dialog|-g {ЕЛЕМЕНАТ [ОПЦИЈЕ] [АРГУМЕНТИ...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Пример:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Нека порука\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "ЕЛЕМЕНАТ: OПЦИЈЕ и АРГУМЕНТИ:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "Следећи аргументи могу да се употребе према горњем примеру:\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr " СКЛАДИШТЕ %s\n" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " IКОНА Назив иконе, нпр.: gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" " @ДАТОТЕКА Текст. датотека за ишчитавање вредности. Понекад је " "надгледана,\n" " па ће уписивање нових вредности у њу освежити стање елемента, " "а,\n" " у супротном, у датотеци су представљане само почетне " "вредности.\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" " SAVEFILE У овој датотеци се чувају садржаји прегледника или уредника.\n" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" " НАРЕДБА Унутарња или спољња наредба пропраћена аргументима. Вишеструке\n" " наредбе раздвојте „--“ аргументом.\n" " Употребљавајте следеће замене уз НАРЕДБЕ:\n" " %%n за назив текућег елемента\n" " %%v за вредност текућег елемента\n" " %%NAME за вредност елемента названог NAME (нпр: " "%%input1)\n" " %%(command) „stdout“ из „bash“ наредбене линије\n" " %%%% %%\n" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" " ОЗНАКА Следећи нарочити низови у ОЗНАЦИ нису истакнути:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " Само у „--label“ елементу — уколико је почетни знак у ОЗНАЦИ\n" " тилда (~), можете да употребите „pango“ маркерски језик. Нпр.:\n" " --label '~Уобичајен тект. Задебљан текст.'\n" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" "\n" "Додатно, уз списак горњих ОПЦИЈА, „--compact“ или „--expand“ опције се могу " "да\n" "придруже било ком елементу. За измену словолика и његове величине за " "највише\n" "врста елемената, можете да употребљавате опцију „--font“. Нпр.:\n" " --input --font \"FreeSerif 16\" \"Подразумеван текст\"\n" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "УНУТАРЊЕ НАРЕДБЕ:\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" "\n" "ПРИМЕР СА НАРЕДБАМА:\n" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" " spacefm -g --label \"Унесите какав текст и притисните Ентер:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "ПРИМЕР СКРИПТЕ:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" " #!%s\n" " # Ова скрипта приказује ДА-НЕ прозорче. Употребите (под наводницима)\n" " # „eval“ за читање излаза променљивих у Спејс-ФМ прозорчету:\n" " eval \"`spacefm -g --label \"Да ли сте сигурни?\" --button yes --button " "no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"Корисник је притиснуо ДА - изврши неку радњу\"\n" " else\n" " echo \"Корисник НИЈЕ притиснуо ДА - обустави даље радње\"\n" " fi\n" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "За потпуну документацију и примере видиte Спејс-ФМ упутство за употребу:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: аргумент није валидан UTF-8\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "неважећа опција дијалога" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Подеси наслов прозора" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Подеси икону прозора" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Додај ознаку текста" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Додај дијалог дугмета за СКЛАДИШТЕ, или дугме ОЗНАКЕ са ИКОНОМ" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Додај дугме за СКЛАДИШТЕ, или дугме ОЗНАКЕ са ИКОНОМ било где" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Додај ставку текста" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Додај велику текстуалну ставку" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Додај ставку лозинке" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Додајте прегледач датотеке или „pipe-а“" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Додај више линијски текст едитор" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Додај опцију провере " #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Додај радио опцију" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Додај икону" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Додај слику" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Додај бар напретка" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Додај хоризонталну линију раздвајања" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Додај вертикалну линију раздвајања" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Аутоматски затвори прозор после ОДЛОЖЕНИХ секунди" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Додај падајућу листу. НАРЕДБА креће када се кликне." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Додај комбиновану листу. НАРЕДБА креће када се притисне ЕНТЕР." #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Додај листу кутије. НАРЕДБА креће после дуплог клика." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Додај листу кутије са вишеструким изборим" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Oпције: [--сачувај] [--дир] [--мулти] [--филтер F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Подеси основну вариаблу имена (Подразумевано: \"дијалог\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Подеси минимум ширине, висине (-1 = не мењај)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Додај виџете у хоризонталну кутију" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Додај виџете у вертикалну кутију" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Затвори тренутну кутију са виџетима" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Покрени НАРЕДБУ кад је комбинација притиснута" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "Покрени НАРЕДБУ на затварању прозора" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "Без радње — проверава аргументе али не ради ништа" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "Затвори дијалог" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "Притисни дугме под називом ДУГМЕ-ИМЕ" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "Подеси елемент ИМЕ у ВРЕДНОСТ" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Изабери ставку ВРЕДНОСТ (или прво/све) у елементу ИМЕ" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Уклони ставку ВРЕДНОСТ (или све) у елементу ИМЕ" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "Фокусирај елемент ИМЕ, или подигни прозор за дијалог" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "Сакриј елемент ИМЕ" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "Покажи елемент ИМЕ ако је претходно сакривен" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "Искључи емемент ИМЕ" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "Омогући елемент ИМЕ ако је претходно онемогућено" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "Сачувај датотеке и упиши излаз извора у ДАТОТЕКА" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Отвори директоријуме у новом језичку последњег прозора (подразумевано)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Отвори директоријум у текућем језичку последњег коришћеног прозора" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Не учитавај сачуване језичке" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Отвори директоријуме у новом прозору" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Отвори директоријуме у паноу 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Покрени управник радне површи у позадини" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Прикажи подешавања радне површи" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Прикажи подешавања ('N' је број језичка)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Покрени као позадински процес" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Користи ДИР као директоријум са подешавањима" #: ../src/main.c:138 msgid "Show File Search" msgstr "Прикажи претрагу датотека" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Поставите тапету радне површи у FILE" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Прикажи прилагођени дијалог (види -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Пошаљи сокет-наредбу (види -s help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Без функције — само због компатибилности" #: ../src/main.c:151 msgid "Show version information" msgstr "Прикажи информације о издању" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[ДИР | ДАТОТЕКА | УРЛ]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Опција --config-dir игнорисана - пример је већ покренут" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Опција --config-dir садржи неисправна слова - не може почети" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --улаз-cmd захтева аргумент\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: не могу да створим сокет\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" "spacefm: не могу да се повежем на сокет (није покренут? или променљива " "„DISPLAY“ није постављена?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: неисправан одзив од улаза\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Употреба:" #: ../src/main.c:679 msgid "Example:" msgstr "Нпр.:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" "MЕТОДЕ\n" "-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Подеси особину" #: ../src/main.c:687 msgid "Gets a property" msgstr "Добави особину" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Подеси особину задатка" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Добави особину задатка" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Покрени нови задатак" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Покреће ставку изборника преко њене пречице" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "Покажи прилагођени подизборник (НАЗИВИЗБОРНИКА) као искачући изборник" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Додај неусклађени модул НАРЕДБЕ ДОГАЂАЈУ" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Додај усклађени модул НАРЕДБЕ ДОГАЂАЈУ, мењајући подразумевани модул" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Растави модул НАРЕДБЕ од ДОГАЂАЈА" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Покажи ову референцу помоћи. (Погледајте и везу до упутства испод.)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" "ОПЦИЈЕ\n" "-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" "Додајте опцију након МЕТОДЕ да наведете одређени прозор, пано, и / или " "језичак." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Иначе, користиће се текући језичак, текућег паноа у последњем прозору." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Специфичан прозор. пр:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Специфичан пано 1-4. пр:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Специфичан језичак 1-... пр:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" "СВОЈСТВА\n" "----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Подесите својства са МЕТОДОМ 'set', или добијте вредност са 'get'." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "нпр. „800×600“" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "нпр. „100×50“" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "нпр. „1024×768“ (само-читање)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "нпр. „100“" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Отвори ДИР или подразумевано у новом језичку" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "пр 'Тренутни статус: Пример'" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "ДИР пр '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[ИМЕ ДАТОТЕКЕ...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[ОБРАЗАЦ] нпр '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "нпр 'неке\\nlines\\nof text'" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "н.пр. '~/умножи-садржај-датотеке-у-оставу.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "ДАТОТЕКА... Датотеке умножене у оставу" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "ДАТОТЕКА... Датотеке исечене у оставу" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" "ЗАДАТАК ОСОБИНЕ\n" "---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "садржај колоне Статусни задатак (само читање)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "нпр 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "текст за показивање у колони задатак бројања" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "текст за показивање у колони задатак директоријума" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "текст за показивање у колони задатак ставке" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "текст за показивање у колони задатака" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "текст за показивање у колони тотал задатака" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "текст за показивање у колони тренутни задатак" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "текст за показивање у колони преостали задаци" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "текст за показивање у колони просечан задатак" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "текст за показивање у колони преостали задатак" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "садржај колоне преостали задатак (само читање)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "садржај колоне почети задатак (само читање)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "НАРЕДБА наредба за показивање прилагођеног дијалога задатка\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" "ТИПОВИ ЗАДАТКА\n" "----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Покрени НАРЕДБУ у ДИРЕКТОРИЈУМУ" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Умножи|Премести|Повежи ДАТОТЕКУ(е) или ДИРЕКТОРИЈУМ(е) до ОДРЕДИШТА" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Рекурзивно уклони ДАТОТЕКУ(е) или ДИРЕКТОРИЈУМ(е)" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "Отвори ДАТОТЕКУ у корисничком или „root“ текст едитору" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "Отвори УРЛ у корисничком веб читачу" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "Прикључи УРЕЂАЈ или УРЛ" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "Искључи УРЕЂАЈ или тачку прикључења ДИРЕКТОРИЈУМА" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" "ДОГАЂАЈИ\n" "------" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "Пример почетка %e" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "Пример излаза %e" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "Нови прозор %e %w %p %t" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "Фокус прозора %e %w %p %t" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "Прозор помери/промени величину %e %w %p %t" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Клик мишем %e %w %p %t %b %m %f" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "Прозор притисак на тастер %e %w %p %t %k %m" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "Прозор затвори %e %w %p %t" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "Фокусирање паноа %e %w %p %t" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Пркажи/сакриј пано %e %w %p %t %f %v" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "Избори промењен %e %w %p %t" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "Нови језичак %e %w %p %t" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "Језичак у фокусу %e %w %p %t" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "Затвори језичак %e %w %p %t" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "Уређај промењен %e %f %v" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "ИБ прозора" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "број паноа (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "број језичка (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "дугме миша (0=двоструко 1=лево 2=средње 3=десно ...)" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "кључ кода (пр 0x63)" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" "фокусирај елемент (паноN|листа датотека|уређаји|обележивачи|стабло|локација)" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "фокус елемента је видљив (0 или 1, или стање уређаја промењено)" #: ../src/main.c:835 msgid "Examples" msgstr "Примери" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "Ове датотеке су били копирани у клипборд" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" "За потпуну документацију и примере погледајте Спејс-ФМ упутство за употребу:" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "Ово је издање програма које не може да управља радном површи" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" "spacefm: Грешка: Не могу да сачувам сесију\n" " %s\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Датотека не постоји" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Грешка" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" "Грешка: Не могу да припремим пратилац промена датотеке „inotify“.\n" "\n" "Имате ли у кернелу постављену подршку за „inotify“?" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Грешка: Не могу да се повежем са „FAM“ програмом.\n" "\n" "Имате ли постављен и покренут програм „FAM“ или „Gamin“?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "--dialog мора бити прва опција" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "--socket-cmd мора бити прва опција" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" "За рад пограма потребан је програм „bash“ (БАШ љуска). Друге љуске су " "неодговарајуће, јер Спејс-ФМ употребљава делове \n" "из изворне БАШ љуске (издања 4+).\n" "\n" "Нисам пронашао програм „%s“. Поставите БАШ или поново изградите програм " "употребљавајући као „configure“ параметар \n" "„--with-bash-path“ са прилагођеном путањом до БАШ поставке." #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Не знам како да отворим ову датотеку" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Не могу да отворим датотеку:\n" "„%s“\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Изабери датотеку додатка" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Унеси УРЛ додатка" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" "Унеси УРЛ Спејс-ФМ додатка:\n" "\n" "(употребићу програм „wget“ за преузимање датотеке додатка)" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" "Није ваљан назив датотеке додатка. Преименујте га уз употребу ASCII знакова " "те покушајте поново." #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Неважећи назив датотеке додатка" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" "Већ постоји додатак постављен као „%s“. Да ли да препишем преко њега?\n" "Савет: Можете да преименујете датотеку додатка и поставите је под другим " "називом." #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Да ли да препишем датотеку додатка?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Грешка при стварању привременог директоријума" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Не могу да створим привремени директоријум" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "Грешка: Не могу да сачувам датотеку сесије\n" "\n" "( %s )" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Сачувај грешку сесије" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Отвори „root“ прозор" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Терминал није доступан" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Подесите жељени емулатор терминала у Преглед|Поставке|Напредно" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Отвори терминал" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Помоћ за дизајн мод" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 #, fuzzy msgid "Panel" msgstr "_Пано" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Нова _наредба" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Прикажи пано %d" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Датотека" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "П_реглед" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "_Уређаји" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "О_бележивачи" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "_Додаци" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "_Алатке" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Помоћ" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" "Грешка: Не могу да сачувам датотеку сесије. Желите ли да изађете без " "чувања?\n" "\n" "( %s )" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "Грешка програма" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "Заустави све задатке покренуте у овом прозору?" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "Прекидамо задатке..." #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "( %s доступно од %s ) " #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr " Link → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr " Link → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Link → %s/ (недостаје)" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr " Link → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr " !Link → %s (недостаје)" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr " !Link → (грешка откривања одредишта)" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "скривена" msgstr[1] "скривене" msgstr[2] "скривених" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d видљива (%s) %s" msgstr[1] "%s%d видљиве (%s) %s" msgstr[2] "%s%d видљивих (%s) %s" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d ставка %s" msgstr[1] "%s%d ставке %s" msgstr[2] "%s%d ставки %s" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Пречице за управника уређаја су искључене у „HAL“ режиму" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "Стање" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Директоријум" #: ../src/main-window.c:4156 msgid "Item" msgstr "Ставка" #: ../src/main-window.c:4157 msgid "To" msgstr "За" #: ../src/main-window.c:4157 msgid "Progress" msgstr "Напредак" #: ../src/main-window.c:4157 msgid "Total" msgstr "Укупно" #: ../src/main-window.c:4158 msgid "Started" msgstr "Покренуто" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "Протекло" #: ../src/main-window.c:4158 msgid "Current" msgstr "Тренутно" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "Остатак" #: ../src/main-window.c:4159 msgid "Average" msgstr "Просек" #: ../src/main-window.c:4159 msgid "Remain" msgstr "Остатак" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "Поново промени колоне помоћи" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" "Да би променили редослед колона, превуците заглавље колоне на жељену " "локацију." #: ../src/main-window.c:5745 msgid "moving" msgstr "померање" #: ../src/main-window.c:5746 msgid "copying" msgstr "копирање" #: ../src/main-window.c:5747 msgid "trashing" msgstr "бацање" #: ../src/main-window.c:5748 msgid "deleting" msgstr "уклањање" #: ../src/main-window.c:5749 msgid "linking" msgstr "линковање" #: ../src/main-window.c:5750 msgid "changing" msgstr "мењање" #: ../src/main-window.c:5751 msgid "running" msgstr "покретање" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "%d грешка %s" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "%d грешке %s" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "паузирано" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "на чеканју" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Назив" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Величина" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Врста" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Дозволе" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "Власник" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "Измењено" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "spacefm: неважећа улазна наредба\n" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: неважећа опција '%s'\n" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: опција %s захтева аргумент\n" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "spacefm: неважећи прозор\n" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: неважећи прозор %s\n" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: неважећи пано %d\n" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: пано %d није видљив\n" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: неважећи језичак %d\n" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: наредба захтева аргумент\n" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: неисправна %s вредност\n" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "spacefm: неисправан клизач вредности\n" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "spacefm: неисправан број паноа\n" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "spacefm: неисправан број језичка\n" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: неисправна својства %s\n" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "spacefm: неисправна ширина колоне\n" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: неисправно име колоне '%s'\n" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: текст није исправан UTF-8\n" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s захтефа путању до датотеке\n" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: грешка приликом читања датотеке '%s'\n" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: датотека '%s' не садржи исправан УТФ-8 текст\n" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s захтева путању до директоријума\n" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: директоријум '%s' не постоји\n" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: наредба %s захтева аргумент\n" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s захтева два аргумента\n" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: неисправан задатак '%s'\n" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: интерни задатак %s је само за читање\n" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: задатак својства '%s' је само за читање\n" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: неисправно стање_реда '%s'\n" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: неисправан задатак својства '%s'\n" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: нема таквог директоријума '%s'\n" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: неважећа %s опција задатка '%s'\n" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: датотека '%s' не постоји\n" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: релативна путања '%s' захтева %s опцију --dir DIR\n" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: задатак типа %s захтева ДАТОТЕКА аргумент(е)\n" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: неуспео тип задатка '%s'\n" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: неисправан код тастера „%s“\n" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "spacefm: прилагођени под-изборник „%s“ није пронађен\n" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "spacefm: садржај изборника „%s“ је невидљив или искључен\n" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: руководилац догађаја није пронађен\n" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: нисправан метод улаза '%s'\n" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Подразумевано" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "Избор словолика за радну површ" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "Пример ставке 0123456789" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "Неопходно за провидност" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "Сачувај „root“ подешавања" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" "Упитаћу Вас сада за администраторску лозинку да бих сачувао подешавања за " "овог корисника у „/etc/spacefm/“. Саветујем Вам да у следећем прозору " "унесете лозинку, јер Спејс-ФМ покреће неке наредбе са администраторским " "дозволама преко „su“ програма, па су и ове поставке бити најбоље заштићене." #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" "Унесите име програма или линију наредби љуске („bash“):\n" "\n" "Употреба:\n" "- %%F\tза изабране датотеке или %%f за прву\n" "\t\tизабрану датотеку\n" "- %%N\tза имена изабраних датотека или %%n за\n" "\t\tиме прве изабране датотеке\n" "- %%d\tза текући директоријум\n" "- %%v\tза изабрани уређај (нпр. /dev/sda1)\n" "- %%m\tза тачку прикључивања уређаја (нпр /media/dvd)\n" "- %%l \tза ознаку уређаја\n" "- %%b\tза изабрани обележивач\n" "- %%t\tза изабрани директоријум са задацима\n" "\t\t или %%p за ИБ задатка (PID)\n" "- %%a\tза вредност ставке изборника\n" "- $fm_panel, $fm_tab, $fm_command, итд." #: ../src/settings.c:141 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" "Унесите име иконе, путању до датотеке иконе или име иконе из складишта " "икона:\n" "\n" "Неке иконе се можда неће приказати због разних проблема." #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Почетна" #: ../src/settings.c:154 msgid "Up" msgstr "Горе" #: ../src/settings.c:155 msgid "Back" msgstr "Назад" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Напред" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Освежи" #: ../src/settings.c:160 msgid "New Tab" msgstr "Нови лист" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Нови језичак овде" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "Величина већих икона:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "прилагођени tmp_dir не садржи ваљана слова - повратак у /tmp" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "Путања за прилагођени „tmp_dir“ не постоји па је постављам на „/tmp“" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "занемарујући „_Hide Policy“" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "занемарујући „_No Policy“" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "_ЧПП (Често постављана питања)" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "Зау_стави" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "При_кажи" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "Само-_скривање" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "Гре_шке" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "Тренутно ос_тало" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "П_росечно остало" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Директоријум" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "_Детаљна статистика" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "Укло_ни / Избаци" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "Увез_и из" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "Управник _задатака" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "Наз_ив датотеке" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "Врс_та" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "Од_редиште" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "Предло_жак" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "Отвори _УРЛ" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" "# Датотека сесије програма Спејс-ФМ\n" "\n" "# ОВУ ДАТОТЕКУ НЕ МОЖЕТЕ МЕЊАТИ - она ће бити прочитана и ПРЕБРИСАНА\n" "\n" "# Ако уклоните све датотеке сесије*, Спејс-ФМ ће их створити према " "подразумеваном подешавању.\n" "\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Не могу да сачувам датотеку" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "Грешка програма: Аутоматско чување датотеке сесије „%s“ није могуће\n" #: ../src/settings.c:3329 #, fuzzy, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "Одабран руковаоц уређаја" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" "Не могу да прочитам системске поставке из „/etc/spacefm/“, па наредбе " "покренуте са „root“ дозволама представљају сигурносни ризик" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" "Нема системских поставки у „/etc/spacefm/“. Подесите „Уредник текста за " "администраторе“ под „Преглед|Поставке|Напредно“ за уклањање овог упозорења " "при покретању програма. У супротном, наредбе покренуте са адм. дозволама " "представљају сигурносни ризик." #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Помоћ није доступна" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Прикључак не у укључује датотеку ПРОЧИТАЈ МЕ." #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Стварање није успело" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "Дошло је до грешке при стварању датотеке „README“ за ову наредбу" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" "Дошло је до грешке у умножавању наредбених датотека\n" "\n" "%s" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "Умножи грешку наредбе" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" "Дошло је до грешке у копирању наредбених података\n" "\n" "%s" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "Дошло је до грешке при читању датотеке додатка %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" "Увежени директоријум додатка не садржи исправан додатак.\n" "\n" "(%s/)" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" "Додатак „%s“ је умножен у оставу за дизајн. Употребите Преглед|Дизајн мод " "да би га убацили у изборник.\n" "\n" "Додатак се неће појавити под ставком „Додаци“ док га не инсталирате." #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" "Додатак „%s“ је умножен у оставу за дизајн. Употребите Преглед|Дизајн мод " "да би га убацили у изборник.\n" "\n" "Овај додатак се неће појавити под ставком „Додаци“ док га не инсталирате. По " "инсталацији ће имати дозволе обичног корисника (не администраторске).\n" "\n" "Ако додтак садржи „su“ програм, пожељно је да се, системске безбедности " "ради, инсталира и покреће само из ставке изборника „Додаци“." #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" "Уклони „%s“ додатак?\n" "\n" "( %s )" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "Уклони додатак" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "Постави додатак" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "Сачувај као датотеку додатка" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "Извези додатак" #: ../src/settings.c:5495 msgid "Export Error" msgstr "Извези грешку" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "Онемогући стварање привремене датотеке" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "Преименовање изборника" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "Едитор није подешен" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Подесите жељени уређивач у „Преглед|Поставке|Напредно“" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "„Root“ едитор није подешен" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Подесите ваш „root“ уређивач у „Преглед|Подставке|Напредно“" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "Измени %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Нисам пронашао Упутство за употребу" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" "Читајте Упутство за употребу преко мреже?\n" "\n" "Умножак Спејс-ФМ упутства за употребу није пронађен на рачунару. Кликните " "„Да“ да би га читали преко мреже, или „Не“ али онда подесите исправну путању " "до њега (у Помоћ|Опција|Место)." #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Упутство отворено?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" "Спејс-ФМ упутство за употребу требало би да се отвори у вашем прегледнику. " "Ако се није отворило или ако користите посебан веб-прегледник, подесите га у " "Помоћ|Oпције|Прегледник.\n" "\n" "Ова порука се неће поновити." #: ../src/settings.c:6520 msgid "( none )" msgstr "(ништа)" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" "\t%s\n" "\tКод тастера: %#4x Измењивач: %#x" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Откажи" #: ../src/settings.c:6703 msgid "Unset" msgstr "Уклони" #: ../src/settings.c:6716 msgid "Set" msgstr "Постави" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Поставите пречицу са тастатуре" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "Подеси икону" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Измени командну линију" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "Изабери извршно" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Покрени као корисник" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" "Покрени ову наредбу као корисничко_име:\n" "\n" "( Остави празно за текућег корисника )" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "Нова контекстна наредба" #: ../src/settings.c:6938 #, fuzzy msgid "Set Item Name" msgstr "Подеси име изборника" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Одаберите директоријум" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "(ништа)" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "Подеси име под-изборника" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" "Унесите име за под-изборник:\n" "\n" "Стављање подвлаке (_) испред карактера у имену наглашава пречицу до ставке " "по жељи." #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Нови _под-изборник" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "(безимен)" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "Потврдите уклањање" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Да ли сте сигурни?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "Дијалог поруке" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" "Унесите поруку за приказ у овом дијалогу:\n" "\n" "Употреба:\n" "\t\\n\tнова_линија\n" "\t\\t\tјезичак" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "_Исеци" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "_Умножи" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "У_баци" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "_Уклони" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "И_звези" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "_Ново" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "О_бележивач" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "_Програм" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "_Наредба" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Под_изборник" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "_Раздвајач" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "_УРЛ-а" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "_Додај" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "Пречица на _тастатури" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "_Уреди скрипту" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "Ур_еди уз адм. дозволе" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "_Уреди наредбу" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Особине" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "Изабери локацију" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Уреди" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "Подеси икону прозора" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "Одабери_те" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "_Подразумевано" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "Ваш улаз је оштећен јер садржи линије извора" #: ../src/settings.c:9214 msgid "_OK" msgstr "_ОК" #: ../src/settings.c:9351 msgid "_Unset" msgstr "_Измени подешавање" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "_Искључи" #: ../src/settings.c:10498 msgid "Re_load" msgstr "Поново _учитај" #: ../src/settings.c:10502 msgid "_Sync" msgstr "У_склади" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Отвори" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "_Прикључи" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "Поново _/прикључи" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "Промена уз _адм. дозволе" #: ../src/settings.c:10551 msgid "_Label" msgstr "_Ознака" #: ../src/settings.c:10601 msgid "_Check" msgstr "_Провери" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "Ур_еди „fstab“" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "Уреди „u_devil.conf“" #: ../src/settings.c:10613 msgid "_Format" msgstr "_Формат" #: ../src/settings.c:10673 msgid "_Backup" msgstr "_Резервни умножак" #: ../src/settings.c:10695 msgid "_Restore" msgstr "_Поврати" #: ../src/settings.c:10700 msgid "_From File" msgstr "_Из датотеке" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "Подаци о _датотеци" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "Подеша_вања..." #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "При_кажи" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "_унутрашње дискове" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "_празне дискове" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "_табеле партиција" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "Прикључене _мреже" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "Прикључено _остало" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "_дискове..." #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "Прикажи/Сакриј дискове" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" "Занемарвши остала подешавања, можете приказати/скрити медије наводећи " "уређај, ознаку медија или ИБ уређаја у размаком-одвојеној листи испод.\n" "\n" "Нпр.: +/dev/sdd1 -Ознака са размаком +ata-OCZ-part4\n" "Као резултат имамо: /dev/sdd1 и OCZ уређај ће се приказати, а медиј са " "ознаком \"Ознака са размаком\" не.\n" "\n" "Знак плус и минус морају бити непосредно пре уноса који, опет, морају бити " "раздвојени размаком. Величина слова у листи је важна.\n" "\n" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "уређивач за приказ _имена" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "Подесите облик приказа имена" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "С_ам прикључи..." #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "_оптичке уређаје" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "из_мењиве уређаје" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "и отвори у _језичку" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "и _искључи при излазу" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "Само-покрени..." #: ../src/settings.c:10799 msgid "On _Mount" msgstr "из_мењиве дискове..." #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "Само-покретање програма по само-монтирању измењивих дискова" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по само-" "монтирању измењивог диска или диска са подацима:\n" "\n" "Употреба:\n" "\t%%v\tза уређај (нпр. /dev/sda1)\n" "\t%%l\tза ознаку уређаја\n" "\t%%m\tза тачку прикључивања уређаја (нпр. /media/disk)" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "_звучни диск..." #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "Само-покретање редродукције по убацивању звучног диска " #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по " "убацивању звучног диска у погодан уређај:\n" "\n" "Употреба:\n" "\t%%v\tза уређај (нпр. /dev/sda1)\n" "\t%%l\tза ознаку уређаја\n" "\t%%m\tза тачку прикључивања уређаја (нпр. /media/disk)" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "_видео диск..." #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "Само-покретање редродукције по убацивању видео диска" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по само-" "монтирању видео диска (ДВД и сл.):\n" "\n" "Употреба:\n" "\t%%v\tза уређај (нпр. /dev/sda1)\n" "\t%%l\tза ознаку уређаја\n" "\t%%m\tза тачку прикључивања уређаја (нпр. /media/disk)" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "по _убацивању медија..." #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "Само-покретање по убацивању било ког медија" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по " "убацивању било ког медија у уређај:\n" "\n" "Употреба:\n" "\t%%v\tза додат уређај (нпр. /dev/sda1)\n" "\t%%l\tза ознаку уређаја\n" "\t%%m\tза тачку прикључивања уређаја (нпр. /media/disk)" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "по _демонтирању..." #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "Само-покретање по демонтирању" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по " "демонтирању уређаја на било који начин:\n" "\n" "Употреба:\n" "\t%%v\tза искључен уређај (нпр. /dev/sda1)\n" "\t%%l\tза ознаку уређаја\n" "\t%%m\tза тачку прикључивања уређаја (нпр. /media/disk)" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "по _уклањању..." #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "Само-покретање по уклањању" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по " "уклањању уређаја (не значи и избацивање медија):\n" "\n" "Употреба:\n" "\t%%v\tза уклоњен уређај (нпр. /dev/sda1)\n" "\t%%l\tза ознаку уређаја\n" "\t%%m\tза тачку прикључивања уређаја (нпр. /media/disk)" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "_дискове..." #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "Само-прикључивање дискова" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" "Занемарвши остала подешавања, можете спречити само-прикључивање неких медија " "наводећи уређај, ознаку медија или ИБ уређаја у размаком-одвојеној листи " "испод.\n" "\n" "Нпр.: +/dev/sdd1 -Ознака са размаком +ata-OCZ-part4\n" "Као резултат имамо: /dev/sdd1 и OCZ уређај ће бити само-прикључен по " "откривању, а медиј са ознаком \"Ознака са размаком\" не.\n" "\n" "Знак плус и минус морају бити непосредно пре уноса који, опет, морају бити " "раздвојени размаком. Величина слова у листи је важна.\n" "\n" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "_Опције прикључивања" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" "Унесите испод запетом или размаком-раздвојен списак подразумеваних опција " "код прикључивања (примениће се на сва прикључивања).\n" "\n" " Осим уобичајених опција, можете постављати или уклањати опције за одређену " "врсту система датотека користећи образац: ОПЦИЈА+ВРСТА_СИСТЕМА_ДАТОТЕКА или " "ОПЦИЈА-ВРСТА_СИСТЕМА_ДАТОТЕКА.\n" "\n" "Нпр.: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "За резултат имамо: „nosuid“ и „noatime“ се односи на све врсте система " "датотека, „sync“ само на vfat и ntfs, а на ext4 се не односи „noatime“.\n" "НАПОМЕНА:\n" "Неке опције (нпр. nosuid), могу бити додате од стране програма, чак и ако их " "нисте навели овде. Опције из „fstab“ датотеке имају предност, а програм " "„pmount“ игнорише опције постављене овде." #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "Подразумеване опције код прикључивања" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "Поново/прикључи са опцијама" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" "(Де)Монтираћу уређај примењујући доње опције.\n" "\n" "Осим уобичајених опција, можете постављати или уклањати опције за одређену " "врсту система датотека користећи образац: ОПЦИЈА+ВРСТА_СИСТЕМА_ДАТОТЕКА или " "ОПЦИЈА-ВРСТА_СИСТЕМА_ДАТОТЕКА.\n" "\n" "Нпр.: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "За резултат имамо: „nosuid“ и „noatime“ се односи на све врсте система " "датотека, „sync“ само на vfat и ntfs, а на ext4 се не односи „noatime“.\n" "НАПОМЕНА:\n" "Неке опције (нпр. nosuid), могу бити додате од стране програма, чак и ако их " "нисте навели овде. Опције из „fstab“ датотеке имају предност, а програм " "„pmount“ игнорише опције постављене овде." #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "Измени правила открива_ња" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "Руковаоци _уређаја" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "_Протокол-руковаоци" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "_Икона" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "Звучни ЦД" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "Оптички диск је прикључен" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "Садржи мултимедију" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "Не садржи мултимедију" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "Дискета је прикључена" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "Дискета је искључена" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "Измењиви диск је прикључен" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "Измењиви диск је искључен" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "Унутрашњи диск је прикључен" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "Унутрашњи диск је искључен" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "Мрежа је прикључена" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "Друго је прикључено" #: ../src/settings.c:11000 msgid "_Settings" msgstr "_Поставке" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "_Назив" #: ../src/settings.c:11037 msgid "_Parent" msgstr "Наддиректо_ријум" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "П_утања" #: ../src/settings.c:11056 msgid "_Option" msgstr "_Опција" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Веза" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "_Умножи одредиште" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "По_вежи одредиште" #: ../src/settings.c:11074 msgid "_As Root" msgstr "Уз адм. дозволе" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "Слово_лик" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "Словолик за прозорче премештања" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "/home/корисник/Неки назив датотеке.еxt" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "_Потврди стварање" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "Истакнута _трака" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "Боја статусне траке" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "Истакнути тек_ст" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "Боја текста статусне траке" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "_Средњи клик" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "Умножи _назив ставке(и)" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "Умножи _путању до ставке(и)" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "_Сакриј пано" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Нов _прозор" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "_Отвори уз адм. дозволе" #: ../src/settings.c:11141 msgid "_File Search" msgstr "Пре_трага датотека" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "_Терминал" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "Отво_ри терминал уз адм. дозволе" #: ../src/settings.c:11154 msgid "Open URL" msgstr " Отвори УРЛ" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" "Унесите УРЛ у облику:\n" "\tПРОТОКОЛ://КОРИСНИЧКО_ИМЕ:ЛОЗИНКА@ДОМАЋИН:ПРИКЉУЧАК/ДЕЉЕЊЕ\n" "\n" "Примери:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Укључивање лозинке није безбедно. Десним кликом на прикључену мрежу, под " "Уређаји и избором Обележивач, можете да додате тај УРЛ-а у обележиваче.\n" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "Сачувај _језичке" #: ../src/settings.c:11162 msgid "E_xit" msgstr "_Изађи" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "Пано _1" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "Пано _2" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "Пано _3" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "Пано _4" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "Прикажи _траку паноа" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "Пребаци _на" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "_Претходно" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "_Следеће" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "_Сакриј" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "Управник догађаја" #: ../src/settings.c:11243 msgid "_Instance" msgstr "_Пример" #: ../src/settings.c:11248 msgid "_Startup" msgstr "_Покретање" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "Подеси наредбу при покретању примерка" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" "Унесите назив програма или линију наредбе које желите да покренем при " "покретањима примерка Спејс-ФМ програма:\n" "\n" "Употреба:\n" "\t%%e\tevent type (evt_start)\n" #: ../src/settings.c:11254 msgid "_Exit" msgstr "_Излаз" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "Подеси наредбу при заустављању примерка" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" "Унесите назив програма или линију наредбе које желите да покренем при " "заустављању примерка Спејс-ФМ програма:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_exit)\n" #: ../src/settings.c:11260 msgid "_Window" msgstr "_Прозор" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Ново" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "Подеси нову наредбу" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Унесите назив програма или линију наредбе које желите да се покрену кад год " "се отвара нови Спејс-ФМ прозор:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_win_new)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби." #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "_Фокус" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "Подеси наредбу за фокус " #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Унесите назив програма или линију наредбе које желите да се покрену кад год " "је Спејс-ФМ прозор у фокусу:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_win_focus)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби." #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "_Помери/Промени величину" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "Подеси наредбу за Померање/Промену величине прозора" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" "Унесите назив програма или линију наредбе које желите да се покрену кад год " "се Спејс-ФМ прозор помера или му се мења величина:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_win_move)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби.\n" "НАПОМЕНА:\n" "Ова команда ће се више пута покретати при промени величине прозора." #: ../src/settings.c:11283 msgid "_Click" msgstr "_Клик" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "Подеси наредбу за клик мишем" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену кад год је " "притиснуто дугме миша (клик):\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_win_click)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\t%%b\tза дугме (притиснуто је дугме миша)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tза фокус (елемент на који је кликнуто)\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби ако се не користи звездица као префикс.\n" "\n" "Употребите звездицу (*) пре команде и условно вратите вредност излазног " "статуса на 0 да би спречили подразумевани управник. На пример:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nТочкић на " "мишу је био притиснут %%f\" --button ok &" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "Притисак на тастер" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "Подеси наредбу за притисак за тастер" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену кад год је " "притиснут неки тастер:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_win_key)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\t%%k\tза код тастера (тастер је притиснуто)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tза фокус (елемент на који је кликнуто)\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби ако се не користи звездица као префикс.\n" "\n" "Употребите звездицу (*) пре команде и условно вратите вредност излазног " "статуса на 0 да би спречили подразумевани управник. На пример:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label " "\"\\nТастер F8 је био притиснут.\" --button ok &" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "За_твори" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "Подеси наредбу за затварање прозора" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Унесите име програма или линију наредбе које желите да се покрену кад год се " "отвара нови Спејс-ФМ прозор:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_win_new)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби." #: ../src/settings.c:11301 msgid "_Panel" msgstr "_Пано" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "Подеси наредбу за фокусирање паноа" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Унесите име програма или линију наредбе које желите да се покрену кад год је " "пано у фокусу:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_pnl_focus)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби." #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Прикажи" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "Подеси наредбу за „Прикажи пано“" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Унесите име програма или линију наредбе које желите да се покрену кад год се " "пано или њ. елементи приказују или скривају:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_pnl_show)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\t%%f\tза фокус (елеменат је приказан или скривен)\n" "\t%%v\tза видљивост (1 or 0)\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби." #: ../src/settings.c:11318 msgid "S_elect" msgstr "И_забери" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "Подеси наредбу за „Изабери пано“" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" "Унесите име програма или линију наредбе које желите да се покрену при " "промени избора датотеке:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_pnl_sel)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби.\n" "\n" "Употребите звездицу (*) пре команде и условно вратите вредност излазног " "статуса на 0 да би спречили подразумевани управник." #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "_Језичак" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "Подеси наредбу за Нови језичак" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по " "отварању новог језичка:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_tab_new)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби." #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "Подеси наредбу за Фокусирање језичака" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" "Унесите име програма или линију наредбе које желите да се покрену кад год је " "језичак у фокусу:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_tab_focus)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза језичак\n" "\n" "Постављене „bash“ променљиве окружења (нпр. $fm_pwd, итд.) се могу " "употребити у овој наредби." #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Затвори" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "Подеси наредбу за Затвори језичак" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену по " "затварању језичка:\n" "\n" "Употреба:\n" "\t%%e\tза врсту догађаја (evt_tab_close)\n" "\t%%w\tза ИБ прозора (видите spacefm -s help)\n" "\t%%p\tза пано\n" "\t%%t\tза затворени језичак" #: ../src/settings.c:11347 msgid "_Device" msgstr "_Уређај" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "Подеси наредбе уређаја" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" "Унесите име програма или линију наредбе које желите да се покрену при " "промени стања уређаја:\n" "\n" "Употреба:\n" "\t%%v\tза врсту догађаја (evt_device)\n" "\t%%l\tза датотеку уређаја\n" "\t%%m\tза промену (додат|уклоњен|измењен)\n" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "Наслов прозора" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "Подеси формат наслова прозора" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "_Икона прозора" #: ../src/settings.c:11366 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" "Унесите име иконе, путању до датотеке иконе или име иконе из складишта " "икона:\n" "\n" "Неке иконе се можда неће приказати због разних проблема.\n" "\n" "Доступне су и додатне Спејс-ФМ иконе:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "На пример: spacefm-48-pyramid-green" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "Користи _цео екран" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "_Дизајн мод" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "Пос_тавке" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Алатке" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "Постав_и из" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "_Детаљно" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "Ук_ључен" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "_Упутство за употребу" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "_Почетна страна" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "Спејс-ФМ _Новости" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "Преузми _додатке" #: ../src/settings.c:11452 msgid "_Options" msgstr "_Опције" #: ../src/settings.c:11457 msgid "_Browser" msgstr "_Прегледник" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "Одаберите ХТМЛ прегледник" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" "Унесите назив прегледника или линију наредбе за приказивање ХТМЛ датотека и " "Интернет адреса (УРЛ-а):\n" "\n" "Употреба:\n" "\t%%u\turl\n" "\n" "(Оставите празно за само-откривање прегледника)" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "Складиште _Упутства за употребу" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "Изабери место где је Упутство за употребу" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" "Унесите путању до локалне датотеке или УРЛ до Спејс-ФМ упутства за " "употребу:\n" "\n" "(Оставите празно за подразумевано)\n" #: ../src/settings.c:11469 msgid "_About" msgstr "_О програму" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "_Стање" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "_Бројач" #: ../src/settings.c:11519 msgid "_Item" msgstr "_Ставка" #: ../src/settings.c:11525 msgid "_To" msgstr "_За" #: ../src/settings.c:11531 msgid "_Progress" msgstr "_Напредак" #: ../src/settings.c:11538 msgid "T_otal" msgstr "У_купно" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "Зап_очето" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "_Протекло" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "Т_екућа брзина" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "_Просечна брзина" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "Преу_реди" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Пау_за" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "_Ред" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "_Поврати" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "Прика_жи излаз" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "_Сви задаци" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "Словолик управника задатака" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "умножавање датотеке 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11635 msgid "_Columns" msgstr "_Колоне" #: ../src/settings.c:11640 msgid "_Popups" msgstr "_Искачући прозори" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "Искачући _прозори свих задатака" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "Остани на _врху" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "Изнад других" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "Све _радне површи" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "_Пребриши подешавања" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "_Опције грешке" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "Словолик искачућег прозорчета (утиче на нове задатке)" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "Пример излаза 0123456789" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "Заустави код _прве" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "Заустави код _било које" #: ../src/settings.c:11703 msgid "_Continue" msgstr "_Настави радњу" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "Р_едослед" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "Поређај нове _задатке" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "_Мудро поређај" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "Заустави код _грешке" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "Сложи _иконе" #: ../src/settings.c:11738 msgid "By _Name" msgstr "По _имену" #: ../src/settings.c:11741 msgid "By _Type" msgstr "По _врсти" #: ../src/settings.c:11744 msgid "By _Date" msgstr "По _датуму" #: ../src/settings.c:11747 msgid "By _Size" msgstr "По _величини" #: ../src/settings.c:11750 msgid "_Custom" msgstr "Прилаго_ђено" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "_Растуће" #: ../src/settings.c:11756 msgid "D_escending" msgstr "О_падајуће" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "Подешавања Ра_дне површи" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "Ур_еђаји" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "_Директоријум Радне површи" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "Уредник словолика" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "Пример улаза 0123456789" #: ../src/settings.c:11810 msgid "Input Font" msgstr "Словолик за улаз" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "И_зврши" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "Изме_ни" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "Уре_ди уз адм. дозволе" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "_Изабери..." #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Руко_ваоци..." #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "Отвори по_дразумеваним" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "У _језичку" #: ../src/settings.c:11839 msgid "N_ew" msgstr "Н_ов" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "Језичак _1" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "Језичак _2" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "Језичак _3" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "Језичак _4" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "Језичак _5" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "Језичак _6" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "Језичак _7" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "Језичак _8" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "Језичак _9" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "Језичак 1_0" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "У _паноу" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "_Распакуј" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Распакуј у..." #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "_Листа садржаја" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "Отвори по_моћу" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "Створи под_директоријум" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "Дозволе за у_писивање" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "Руковаоци ар_хива" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "_Директоријум" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "О_бележивач" #: ../src/settings.c:11950 msgid "_Archive" msgstr "_Архива" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "_Језичак" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "Отвори у _језичку" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "Програм ра_дне површи" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Иди" #: ../src/settings.c:11973 msgid "_Back" msgstr "_Назад" #: ../src/settings.c:11975 msgid "_Forward" msgstr "_Напред" #: ../src/settings.c:11977 msgid "_Up" msgstr "_Горе" #: ../src/settings.c:11979 msgid "_Home" msgstr "_Почетна" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "_Постави као подразумевано" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "Стварн_а путања" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "Преба_ци на..." #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "_Места" #: ../src/settings.c:11995 msgid "_File List" msgstr "Списак _датотека" #: ../src/settings.c:11997 msgid "_Tree" msgstr "_Стабло" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "_Језичак" #: ../src/settings.c:12010 msgid "_Close" msgstr "_Затвори" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "Изгл_ед" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "К_олоне" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "Пре_сложи" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "_Изабери „Rubberband“" #: ../src/settings.c:12048 msgid "_Sort" msgstr "_Сложи" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "_Величина" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "_Врста" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "_Дозволе" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "_Власник" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "_Измењено" #: ../src/settings.c:12066 msgid "_Descending" msgstr "_Опадајуће" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "При_родно" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "Осетљиво на величину _слова" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "Најпре дире_кторијуми" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "Нај_пре датотеке" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "Изме_шано" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "Скривене датотеке на _почетку" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "Скривене датотеке на _крају" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "О_свежи" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "Сам раз_гледај" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "Помоћ за _траку путање" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "П_реименуј" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_Обриши" #: ../src/settings.c:12127 msgid "_Actions" msgstr "Р_адње" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "Умножи путању до дир._родитеља" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "Убаци _везу" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "Убаци _одредиште" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "Убаци к_ао" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "Умножи _у" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "_Место..." #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "_Последње место" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Језичак" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Пано" #: ../src/settings.c:12192 msgid "_Move To" msgstr "Пре_мести у" #: ../src/settings.c:12196 msgid "_Location" msgstr "_Место..." #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Језичак" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Пано" #: ../src/settings.c:12229 msgid "_Select All" msgstr "_Изабери све" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "_Одзначи све" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Обрни избор" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "Изабери _образац" #: ../src/settings.c:12238 msgid "R_oot" msgstr "Админист_ратор" #: ../src/settings.c:12244 msgid "Move _To" msgstr "Пре_мести у" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "_Особине" #: ../src/settings.c:12260 msgid "_Quick" msgstr "_Брза промена дозвола" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "_Рекурзивно" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "Ала_тница" #: ../src/settings.c:12372 msgid "T_ree" msgstr "С_табло директоријума" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "_Бочна трака алата" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "_Детаљно" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Иконе" #: ../src/settings.c:12401 msgid "_Compact" msgstr "_Збијено" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "_Веће иконе" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "_Сакривене датотеке" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "Словолик за списак датотека (Пано %d)" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Пример 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "Словолик за уређаје (Пано %d)" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [без медија] :ПРИМЕР" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Словолик за обележиваче (Пано %d)" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "Пример назива обележивача" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Словолик за путање (Пано %d)" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/пример" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "Словолик за језичке (Пано %d)" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Словолик за траку стања (Пано %d)" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "( 12 Г доступно од 200 Г ) 52 ставке" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "_Нов језичак" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "_Једноструки клик" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" "Директоријум не постоји\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" "Не могу да приступим %s\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Изабери образац" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "Изабери локацију" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "Неважећа дестинација" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "Дестинација иста као извор" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "Неважећа дестинација" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "Сакриј датотеку" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "Не могу да сакријем датотеке" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "Нема одабраних датотека" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Не могу да прикључим уређај" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Не могу да искључим уређај" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Не могу да избацим уређај" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "удев није подешен" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" "Прикључивање мрежног дељења захтева Спејс-ФМ издање са „udev“ подршком (--" "disable-hal)." #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "УРЛ није ваљан" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "Унети УРЛ није ваљан" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "Нисам нашао руковаоца" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "Отвори УРЛ %s" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "прикључи" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "искључи" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "Прикључи %s" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "Тренутно, %s је прикључен. Искључите га пре његове провере." #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "Уређај је прикључен" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Унесите наредбу за проверу система датотека:\n" "\n" "Употреба:\n" "\t%%%%v\tза датотеку уређаја ( %s )\n" "\n" "ПАЖЉИВО УРЕЂУЈТЕ — Ова наредба је покренута уз адм. дозволе" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "Провери као „root“" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "ПРОВЕРИ КАО „ROOT“" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "Провери као „root“ %s" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Унеси наредбу прикључивања:\n" "\n" "Употреба:\n" "\t%%%%v\tза датотеку уређаја ( %s )\n" "\t%%%%o\tза посебне опције уређаја\n" "\t\t( %s )\n" "\n" "Напомена: „fstab“ ће заменити неке опције\n" "\n" "ПАЖЉИВО УРЕЂУЈТЕ — Ова наредба је покренута као „root“" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "Прикључи уз адм. дозволе" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "ПРИКЉУЧИ уз АДМ. ДОЗВОЛЕ" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "Прикључи уз адм. дозволе %s" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Унеси наредбу искључивања:\n" "\n" "Употребите:\n" "\t%%%%v\tза датотеку уређаја ( %s )\n" "\n" "ПАЖЊЉИВО УРЕЂУЈТЕ — Наредба покренута уз адм. дозволе" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "Искључи уз адм. дозволе" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "ИСКЉУЧИ уз АДМ. ДОЗВОЛЕ" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "Искључи уз адм. дозволе %s" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" "\n" "\n" "УПОЗОРЕЊЕ: %s је прикључен. Искључите га пре промене његове ознаке." #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "Унеси ознаку диска за %s:%s" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "Промени ознаку диска" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" "Унесите наредбу за уклањање ознаке система датотека „%s“:\n" "\n" "Употреба:\n" "\t%%%%v\tза датотеку уређаја ( %s )\n" "\t%%%%l\tза нову ознаку ( „%s“ )\n" "\n" "УРЕДИТЕ ПАЖЉИВО Ова наредба је покренута као root%s" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" "Унесите наредбу за промену ознаке система датотека „%s“:\n" "\n" "Употреба:\n" "\t%%%%v\tза датотеку уређаја ( %s )\n" "\t%%%%l\tза нову ознаку ( „%s“ )\n" "\n" "УРЕДИТЕ ПАЖЉИВО Ова наредба је покренута као root%s" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "Промени ознаку као „root“" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "ОЗНАЧИ КАО „ROOT“" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "Означи као „root“ %s" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "Искључи %s" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "Уклони %s" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "Поново прикључи %s" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "Поново учитај %s" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "Синхронизуј" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" "%s је тренутно прикључено. Морате прво искључити да би могли форматирати." #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr " ( ЦЕО УРЕЂАЈ ) " #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "Формат" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "УПОЗОРЕЊЕ: МОГУЋ ЈЕ ГУБИТАК ПОДАТАКА" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "Формат %s" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s је тренутно прикључен. Морате га искључити пре опоравка." #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "Изабери резервни умножак за опоравак" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "Опорави МБР" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "Непозната врста" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" "Одабрали сте датотеку резервне копије која није подржана.\n" "\n" "FSArchiver-ове датотеке у имену садрже реч „fsarchiver“ или имају наставак " "имена „.fsa“. Partimage-ове датотеке у имену садрже реч „partimage“ или " "имају наставак имена „.000“. MBR-ове датотеке имају наставак имена „.mbr“, " "„.mbr.bin“ или „-MBR-back“ и величину од 512 бајтова. Ако сте СИГУРНИ да је " "одабрана датотека исправан резервни умножак, можете је преименовати и тако " "заобићи ову грешку." #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "Опорави" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "%s Опорављам %s" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "Директоријум недостаје" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "Директоријум /etc/udevil није пронађен. Да ли је udevil инсталиран?" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "Одабери резервни умножак за информацију" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "МБР датотека" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" "По њеном имену, рекло би се да је изабрана датотека умножак МБР датотеке. " "Нема додатних информација за ову врсту датотеке." #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "Информација о опоравку" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" "\n" "\n" "УПОЗОРЕЊЕ: %s је прикључен. „FSArchiver“ ће, подразумевано, само направити " "резервни умножак медија који су прикључени као „само за читање“. Резервни " "умножак медија прикључених као „читај и пиши“ захтева додавање нардеби " "параметра „--allow-rw-mounted“. Погледајте упутство програма за више детаља " "— откуцајте у терминалу „man fsarchiver“." #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" "%s је тренутно прикључен, а за прављење резервног умношка преко програма " "„Partimage“, неопходно је да буде искључен." #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "Сачувај %s резервни умножак" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "Пребриши?" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "Обабран резервни умножак већ постоји. Да ли да пишем преко њега?" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Унесите %s наредбу за резевни умножак:\n" "\n" "Користи:\n" "\t%%%%v\tдатотека уређаја ( %s )\n" "\t%%%%s\tдатотека резервне копије ( %s )%s\n" "\n" "ПАЖЉИВО УРЕЂУЈТЕ — Ова наредба је покренута као „root“" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "Резервни умножак" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "%s Резервни умножак %s" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "Особине %s" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" "%sТренутно је одабран уређај: %s\n" "Ознака диска је: %s\n" "ИБ уређаја је: %s" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Избаци" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Уклони као остало" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "Р_едослед" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "На_стави" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Заустави као остало" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Настави као остало" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Премештам: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Умножавам: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Премештам у Непотребно:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Бришем: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Повезујем: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Промени:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Покренуто:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Премештање..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Умножавање..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Бацање..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Брисање..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Повезивање..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Промена..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Покретање..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Из:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "У место:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Напредак:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Стање:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Паузирано" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "На чекању" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Питај" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Препиши све" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Прескочи све" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Само-преименовање" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Заустави код прве грешке" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Заустави на било коју грешку" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Настави" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Заустављено" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Грешке" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Готово" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s је преостало" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Грешка (Заустави ако је прва)" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Грешка (Заустави на било коју" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Заустављено са %d грешком" msgstr[1] "Заустављено са %d грешке" msgstr[2] "Заустављено са %d грешака" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Завршено са %d грешком" msgstr[1] "Завршено са %d грешке" msgstr[2] "Завршено са %d грешака" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Завршено са грешком (излазно стање %d)" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Завршено са грешком" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Паузирано (pid %d)" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Паузирано (излазно стање %d)" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "На чекању (pid %d)" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "На чекању (излазно стање %d)" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Извршава се са %d грешком" msgstr[1] "Извршава се са %d грешке" msgstr[2] "Извршава се са %d грешака" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Извршава се... (pid %d)" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Извршава се... (излазно стање %d)" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "у застоју" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[ SNIP - додатне грешке изнад су из овог дневника ]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Померање из директоријума:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Повезивање из директоријума:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Умножавање из директоријума:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Директоријум постоји" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" "Директоријум већ постоји. Преименујте га или одаберите другу радњу." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t(веза)" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! пребриши датотеку са симболичком везом!" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "(исте величине)" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu бајтова )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "већи" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "мањи" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "(исто време)\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "новији" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "старији" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Назив датотеке већ постоји" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" "Назив датотеке већ постоји. Преименујте је или одаберите другу радњу." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Преименовање је неопходно" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "У директоријуму:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "_Пребриши" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Пребриши _све" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Пауза" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Прескочи" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "П_рескочи све" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "У директоријум:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Назив директоријума:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Преименуј" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "С_ам преименуј" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Сам пре_именуј све" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "Прави архиву" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "Подес_и" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "Наредба за ар_хивирање:" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "Руковаоци архиве — Прави архиву" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "Врста _архиве:" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "Није унета наредба за стварање архиве. Унесите је." #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "Архива" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "Распакуј у" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "Ство_ри поддиректоријум(е)" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "Учини да садржај буде у_писив" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "умножи" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "Распакивам %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Завршено!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Наредба:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Систем датотека" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "(без поддиректоријума)" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "Уклоните тип текста" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "_Постави као подразумевано" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "_Додај" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "ново" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Уклони %d изабрану ставку?" msgstr[1] "Уклони %d изабране ставке?" msgstr[2] "Уклони %d изабраних ставки?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Потврда уклањања" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "П_утања: изворно" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Назив: изворно" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "Назив _датотеке: изворно" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "_Наддиректоријум: изворно" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "П_утања: постоји као директоријум" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Назив: постоји као директоријум" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "Назив _датотеке: постоји као директоријум" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "_Наддиректоријум:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "П_утања: постоји као датотека" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Назив: постоји као датотека" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "Назив _датотеке: постоји као датотека" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "П_утања: * пребриши постојећу датотеку" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Назив: * пребриши постојећу датотеку" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "Назив _датотеке: * пребриши постојећу датотеку" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "П_утања: Наддиректоријум постоји као датотека" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "_Назив:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "Назив _датотеке:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "_Наддиректоријум: Наддиректоријум постоји као датотека" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "_Путања: * створи наддиректоријум" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "_Наддиректоријум: * створи наддиректоријум" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "_Путања:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "Пре_мести" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Одабери везу одредишта" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Одаберите датотеку предлошка" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Одаберите директоријум са предлошцима" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Разгледај" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Назив датотек_е" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "Наддиректоријум" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Убаци као..." #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "Ство_ри" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Створи нов" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Датотека" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Директоријум" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Веза" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Премести" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "_Умножи" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Умножи" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Створи везу до" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Веза одредишта" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Одредиште" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "Уз адм. дозволе" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Веза" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "Датотека" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "Опц_ије" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "По_врати" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& _Отвори" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Веза-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Веза-> %s (недостаје)" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "_Одредиште:" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "_Предложак:" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Празна датотека" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Празан директоријум" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "Наставак на_зива датотеке:" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "Пре_мести" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "_Умножи" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "_Веза" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "_Одредиште везе" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "Уз _адм. дозволе" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "Дато_тека" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "_Директоријум" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "_Веза" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "Нов" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "Путања садржи линије извора" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "Створи директоријум-родитељ" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "Директоријум-родитељ не постоји — Да ли да га створим?" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" "Грешка при стварању директоријума-родитеља\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "„Mkdir“ грешка" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "Пребриши постојећу датотеку" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "УПОЗОРЕЊЕ О ПРЕБРИСАВАЊУ" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "Путања до датотеке постоји. Желите ли да пребришем постојећу датотеку?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "Створи везу%s" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "Недостаје предложак" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "Овај предложак не постоји" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "Створи нову датотеку%s" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "Створи нов директоријум%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "Умножи%s" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "Умножи грешку одредишта" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "Грешка при одређивању одредишта везе" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "Грешка одредишта везе" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "Премести%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" "Грешка при преименовању датотеке\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Грешка при преименовању" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Нов директоријум" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "Ново име директоријума:" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Нова датотека" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "Ново име датотеке:" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" "Овај назив већ постоји.\n" "\n" "Унесите какав другачији:" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "Не могу да створим нову датотеку" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" "Недостаје одредиште симболичке везе или немате дозволу да му приступите:\n" "%s\n" "\n" "Одредиште: %s" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "Неисправна веза" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Уклони %d изабрану ставку као „root“?" msgstr[1] "Уклони %d изабране ставке као „root“?" msgstr[2] "Уклони %d изабраних ставки као „root“?" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "Потврди брисање као „root“" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "ОБРИШИ КАО „ROOT“" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "Обриши као „root“" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "Премести као „root“" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "Умножи као „root“" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu бајтова )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d директоријум" msgstr[1] "%d директоријума" msgstr[2] "%d директоријума" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d датотека, %s" msgstr[1] "%d датотеке, %s" msgstr[2] "%d датотека, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d датотека" msgstr[1] "%d датотеке" msgstr[2] "%d датотека" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( више датотека )" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "(више врста )" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "Изабери..." #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "_Назив директоријума:" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu бајтова )" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 датотека" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "_Назив везе:" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "( оштећен линк )" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "( читај грешку линка )" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Рачунам..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "Промени датум датотеке" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Не постоји корисник" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Не постоји група" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 #, fuzzy msgid "Archive Handlers" msgstr "Руковаоци ар_хива" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "Руковаоци _уређаја" #: ../src/ptk/ptk-handler.c:66 #, fuzzy msgid "Protocol Handlers" msgstr "_Протокол-руковаоци" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Руковаоци _уређаја" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "_Икона:" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "Покрени у терминалу" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "Покрени као задатак" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Одаберите програм:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "МИМЕ врста има руковаоца" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Нисам нашао ову наредбу" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "Т" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "Г" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "М" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "К" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "Б" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Одредишна директоријум „%1$s“ се налази у изворном „%2$s“" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "Приступање" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Брисање" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Стварање директоријума" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Стварање везе" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Писање" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Стварање" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Преименовање" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" "За безбеднији рад са наредбама покренутим уз адм. дозволе поставите програм " "„sha256sum“ на путању „/usr/bin/sha256sum“\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Поставите ваљан програм „su“ за терминал под Преглед|Поставке|Напредно" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Није доступан програм „su“ за терминал" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" "Поставите ваљан програм „su“ за граф. сучеље под Преглед|Поставке|Напредно" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Није доступан програм „su“ за граф. сучеље" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Не могу да створим привремен директоријум" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Поставите ваљан емулатор терминала под Преглед|Поставке|Напредно" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "Нисам нашао програм „spacefm-auth“ — ово угрожава безбедност" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" "Грешка при извршавању „%s“\n" "Погледајте „stdout“ (покрените „spacefm“ у терминалу) за додатне информације" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "Грешка при уписивању привремене датотеке" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "Пауза у рачунању укупне величине\n" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" "\n" "%s %s\n" "Грешка: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s логички диск" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "ЦД-РОМ" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "ЦД-Р" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "ЦД-РВ" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "ДВД-РОМ" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "ДВД+Р" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "ДВД+РВ" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "ДВД±РВ" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "ДВД-РВ" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "ДВД-РАМ" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s уређај" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s уређај" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Флопи уређај" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Компакт-флеш меморија" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Меморијски стик" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Смарт медија уређај" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "СД/ММЦ уређај" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "ЗИП уређај" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "ЏЕЗ уређај" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "ПЕН уређај" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s музички плејер" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s дигитални фотоапарат" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Уређај" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Спољашњи %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "ЦД-РОМ диск" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Празан ЦД-Р диск" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "ЦД-Р диск" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Празан ЦД-РВ диск" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "ЦД-РВ диск" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "ДВД-РОМ диск" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Празан ДВД-РАМ диск" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "ДВД-РАМ диск" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Празан ДВД-Р диск" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "ДВД-Р диск" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Празан ДВД-РВ диск" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "ДВД-РВ диск" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Празан ДВД+Р диск" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "ДВД+Р диск" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Празан ДВД+РВ диск" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "ДВД+РВ диск" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Звучни диск" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s преносиви диск" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Логички диск" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Не могу позвати „HAL“ позадински процес: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Дати уређај „%s“ није уређај за складиштење" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Уређај „%s“ не постоји у табели уређаја на систему датотека" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Немате дозволе за прикључивање диска „%s“" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Немате дозволе за искључивање диска „%s“" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Немате дозволе за избацивање диска „%s“" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Погрешне поставке код покушаја прикључивања диска „%s“" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Ваш систем не подржава %s систем датотека који се налази на „%s“ диску" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Неки од програма спречава искључивање „%s“ диска" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Диск „%s“ није прикључен" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Грешка %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Вероватно је „%s“ диск прикључен ручно у терминалу" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Празни дискови се не прикључују. Програми за нарезивање могу да створе " "звучне или дискове са подацима." #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Звучни дискови се не прикључују. Песме са њих можете да чујете преко " "програма за репродукцију" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr ":дискета" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr ":oптички" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "[празан]" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "[аудио]" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "[без медија]" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "Одабран руковаоц уређаја" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "Одабран руковаоц протокола" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "( без udev уређаја )" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" "\n" "Auto извршење: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" "\n" "Aуто отварање језичка за %s у %s\n" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" "\n" "Само-искључивање: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" "\n" "Aуто прикључивање: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Искључи-ако-прикључено: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Не могу да преименујем" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" "Унеси ново име за ставку радне површи:\n" "\n" "Мењање имена за ставку радне површи захтева измену садржаја датотеке радне " "површи %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Преименуј име ставке радне површи" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Дошло је до грешке при преименовању ставке радне површи." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "_Отвори директоријум где се ово налази" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Изаберите директоријум" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Разгледај..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Локални дискови" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Последњи пут измењено" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" "Унесите име програма или „bash“ наредбу(е):\n" "\n" "Употреба:\n" "- %%F\tза изабране датотеке или %%f за прву\n" "\t\tизабрану датотеку\n" "- %%N\tза имена изабраних датотека или %%n за\n" "\t\tиме прве изабране датотеке\n" "- %%d\tза текући директоријум\n" "- %%v\tза изабрани уређај (нпр. /dev/sda1)\n" "- %%m\tза тачку прикључивања уређаја (нпр. /media/dvd)\n" "- %%l \tза ознаку уређаја\n" "- %%b\tза изабрани обележивач\n" "- %%t\tза изабрани директоријум са задацима\n" "\t\t или %%p за ИБ задатка (PID)\n" "- %%a\tза вредност ставке изборника\n" "- $fm_panel, $fm_tab, $fm_command, итд." #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME врста" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Назив датотеке" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Директоријум" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Дир приступ писању" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Датотека је текст" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Датотека је директоријум" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Датотека је веза" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Корисник је „root“" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Вишеструко изабрано" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Остава садржи датотеке" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Остава садржи текстове" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Текући пано" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Број паноа" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Текући језичак" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Број језичка" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Обележивач" #: ../src/item-prop.c:122 msgid "Device" msgstr "Уређај" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Тачка прикључивања уређаја" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Ознака уређаја" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Уређај ФС тип" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "Уређај УДИ" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Особине уређаја" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Број задатка" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Директоријум задатка" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Врста задатка" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Назив задатка" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Директоријум Паноа 1" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Директоријум Паноа 2" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Директоријум Паноа 3" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Директоријум Паноа 4" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Пано 1 је изабрао" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Пано 2 је изабрао" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Пано 3 је изабрао" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Пано 4 је изабрао" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Пано 1 уређаја" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Пано 2 уређаја" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Пано 3 уређаја" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Пано 4 уређаја" #: ../src/item-prop.c:205 msgid "equals" msgstr "једнак" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "неједнак" #: ../src/item-prop.c:207 msgid "contains" msgstr "садржи" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "не садржи" #: ../src/item-prop.c:209 msgid "begins with" msgstr "почиње са" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "не почиње са" #: ../src/item-prop.c:211 msgid "ends with" msgstr "завршава се са" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "на завршава се са" #: ../src/item-prop.c:213 msgid "is less than" msgstr "је мање него" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "је веће него" #: ../src/item-prop.c:215 msgid "matches" msgstr "одговара" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "не одговара" #: ../src/item-prop.c:222 msgid "Application" msgstr "Програм" #: ../src/item-prop.c:223 msgid "Command" msgstr "Наредба" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Тренутно: Прикажи" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Тренутно: Сакриј" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Тренутно: Онемогући" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "Тренутно: Онемогући" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Желите ли да сачувам измењену скрипту?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Желите ли да сачувам измене у скрипту наредби?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Пребриши скрипту?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" "Измењена је скрипта наредби на диску .\n" "\n" "Желите ли да препишете преко ње?" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "Директоријум наредби" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "(без датотека)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Одредишта: (тачком и запетом раздвојен списак путања или УРЛ-ова)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Одредишта: (програм радне површи или извршна датотека)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Одааберите извршну датотеку" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "_Линије наредбе" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Особине ставке алатне траке" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Особине ставке изборника" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Ставка алатне _траке" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Ставка изборника" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Врста:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Назив:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Тастер:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Икона:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Кон_текст" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "_Примени" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "одговара било које правило:" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "одговарају сва правила:" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "не одговара било које правило:" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "не одговарају сва правила:" #: ../src/item-prop.c:1861 msgid "Show" msgstr "Прикажи" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "Омогући" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "Сакриј" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "Онемогући" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "ставка ако је у контексту" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "Измени правило" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "Вредност:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "Ако је омогућено, употреби руковаоца за:" #: ../src/item-prop.c:1960 msgid "none" msgstr "ништа" #: ../src/item-prop.c:1962 msgid "files" msgstr "датотеке" #: ../src/item-prop.c:1964 msgid "devices" msgstr "уређаји" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "_Игнориши контекст /Прикажи све (глобално)" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "Наредб_а" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "_Линије наредбе" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "_Скрипта" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "Отвори у _уреднику" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "Адм. у_редник" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "_Опције" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "_Опције покретања" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "Задатак у искачућем прозору" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "Грешка у искачућем прозору" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "Излаз у искачућем прозору" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "Клизећи излаз" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "Држи отворен прозор терминала" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "Покрени као корисник:" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "(Оставите празно за текућег корисника)" #: ../src/item-prop.c:2179 msgid "Style" msgstr "Изглед" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "Нормалан" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "Поље за потврду" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "Потврда" #: ../src/item-prop.c:2199 msgid "Input" msgstr "Улаз" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "Потврда/Улазна порука:" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "Отвори у прегледнику" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "Директоријум података" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "Директоријум додатака" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "Под-изборник" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "Раздвајач" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "Уграђена наредба" #~ msgid "Change Icon" #~ msgstr "Промени икону" spacefm-1.0.5/po/sr@latin.po000066400000000000000000005706071264770501700157150ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # miroslav , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/spacefm/" "language/sr@latin/)\n" "Language: sr@latin\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM otvori fasciklu" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Otvori fasciklu" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM pretraga fajlova" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Pretraga fajlova i fascikli" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Fajl menadžer" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Pregledaj fajl sistem" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "Autor IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" "SpaceFM ikone i logo kreirao je Goran Simović\n" "\n" "Dodatne ikone su uzete iz projekta Tango Desktop" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Srpski (latinica) — miroslav_bmw " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Izaberite program" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Molim izaberite program i unesite naredbu:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Tip fajla:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Pridruženi programi" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "S_vi programi" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Naredba:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "Raz_gledaj" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Otvoreno u terminalu" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "_Podesi kao podrazumevanu aplikaciju za ovu vrstu fajla" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Osobine fajla" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Ime fajla:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Lokacija:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Meta_linka:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Vrsta:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Otvaranje_sa:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Ukupna veličina:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Veličina na disku:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Brojanje:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Izmenjeno:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "_Pristupljeno:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "_Info" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Vlasnik:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupa:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Vlasnik:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupa:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Drugi:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Čitanje" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Pisanje" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Pokretanje" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Postavi UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Postavi GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Lepljivo" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Rekurzivo (primeni promene na fascikle i njihov sadržaj)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_Dozvole" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bajtova" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Bilo koji" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "U jednom danu" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "U jednoj nedelji" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "U jednom mesecu" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "U jednoj godini" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "U okviru izabranog opsega datuma" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Pronađi fajlove" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Ime fajla:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Razlikuj veličinu slova" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Video fajl (ogv, mkv, avi,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Zvučni fajlovi (oga ,mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Slike (png, jpg, svg,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Obični fajlovi sa tekstom" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Svi fajlovi i fascikle" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Traži po vrsti fajla" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Traži u podfasciklama" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Traži u skrivenim fajlovima" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Traži u sledećim mestima" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Opšti uslovi" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "U datoteci se nalazi:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Koristi regularne izraze" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Sadržaj fajla" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Prema sadržaju" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Veće od:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Manje od:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Veličina fajla" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Poslednji put izmenjeno" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Prema veličini i datumu" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Pronađene su sledeći fajlovi:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Traži ponovo" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Idi u fasciklu" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Otvori u trenutnoj kartici" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Otvori u novoj kartici" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Razvučeno" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Pogodno" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centar" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Popločano" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Zum" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automatski" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopiraj (Ctrl+Drag)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Pomeri (Shift+Drag)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Link (Ctrl+Shift+Drag)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Postavke" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Male ikone:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Velike ikone:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Ikone trake alata:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Jedan klik otvara fajlove" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Obeleživači:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "Pokaži sličice" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Maksimalna veličina za sličice:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "Op_šte" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Uvek prikazuj traku sa listovima" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Sakrij 'Zatvori karticu' dugmad" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Potvrdi brisanje/uklanjanje" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Klik pokreće izvršnost" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "SI Fajl veličine (1K = 1000) (zahteva ponovno pokretanje)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Pokaži indikator boje za admina" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Podrazumevana Prevuci akcija:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "I_nterfejs" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Pozadinska slika:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Izaberite sliku" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Način prikaza:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Pozadina:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Tekst:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Senka:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Font" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Na vrhu:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Levo:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Desno:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Na dnu:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Margine" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Desni klik pokazuje VM meni" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Ra_dna površ" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "Upra_vljanje logičkim diskovima" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Grafički SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Kodiranje imena fajla:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Editor:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Pokreni editor u terminalu" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Admin editor:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Pokreni admin editor u terminalu" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Format datuma:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(zahteva ponovo učitavanje)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Ekran datuma" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "N_apredno" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Previše kolona (>%d) u %s" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "greška u čitanju fajla %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "fajl '%s' sadrži neispravan UTF-8" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "Ne mogu podesiti nedostajući element '%s'" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "fajl '%s' nije regularan fajl" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "Dinamična promena veličine zahteva širinu i visinu > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "interna naredba %s zahteva argument" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "element '%s' ne postoji" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "interna naredba de/selektuje pogrešno za %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "greška upisivanja fajla %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' nije interna naredba" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "greška u kreiranju fajla %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "pipe '%s' podatak nije ispravan UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( fajl sadrži nevažeći UTF-8 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "prefikx '%s' nije ispravna variabla imena" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "Pauza" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "Upotreba:\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr " spacefm --dijalog|-g {ELEMENT [OPCIJE] [ARGUMENTI...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "Primer:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --oznaka \"A poruka\" --dugme ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "ELEMENT: OPCIJE & ARGUMENTI:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "Sledeći argumeni mogu se koristiti kako je prikazano gore:\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr " SKLADIŠTE %s\n" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr " IKONA Ime ikone, pr: gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "INTERNE NAREDBE:\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" "\n" "PRIMER SA NAREDBAMA:\n" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" " spacefm -g --oznaka \"Unesi neki tekst i pritisni Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "PRIMER SKRIPTE:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "Za potpunu dokumentaciju i primere vidi SpaceFM korisničko uputstvo:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: argument nije validan UTF-8\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "nevažeća opcija dijaloga" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Podesi naslov prozora" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Podesi ikonu prozora" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Dodaj oznaku teksta" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Dodaj dijalog dugmeta za SKLADIŠTE, ili dugme OZNAKE sa IKONOM" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Dodaj dugme za SKLADIŠTE, ili dugme OZNAKE sa IKONOM bilo gde" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Dodaj stavku teksta" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Dodaj veliku tekstualnu stavku" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Dodaj stavku lozinke" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Dodaj više linijski tekst editor" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Dodaj opciju provere " #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Dodaj radio opciju" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Dodaj ikonu" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Dodaj sliku" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Dodaj bar napretka" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Dodaj horizontalnu liniju razdvajanja" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Dodaj vertikalnu liniju razdvajanja" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Automatski zatvori prozor posle ODLOŽENIH sekundi" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Dodaj padajuću listu. NAREDBA kreće kada se klikne." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Dodaj kombinovanu listu. NAREDBA kreće kada se pritisne ENTER." #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Dodaj listu kutije. NAREDBA kreće posle duplog klika." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Dodaj listu kutije sa višestrukim izborim" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Opcije: [--sačuvaj] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Podesi osnovnu variablu imena (Podrazumevano: \"dijalog\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Podesi minimum širine, visine (-1 = ne menjaj)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Dodaj vidžete u horizontalnu kutiju" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Dodaj vidžete u vertikalnu kutiju" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Zatvori trenutnu kutiju sa vidžetima" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Pokreni NAREDBU kad je kombinacija pritisnuta" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "Pokreni NAREDBU na zatvaranju prozora" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "Zatvori dijalog" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "Pritisni dugme pod nazivom DUGME-IME" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "Podesi element IME u VREDNOST" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Izaberi stavku VREDNOST (ili prvo/sve) u elementu IME" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Ukloni stavku VREDNOST (ili sve) u elementu IME" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "Fokusiraj element IME, ili podigni prozor za dijalog" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "Sakrij element IME" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "Pokaži element IME ako je prethodno sakriven" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "Isključi emement IME" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "Omogući element IME ako je prethodno onemogućeno" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "Sačuvaj fajlove i upiši izlaz izvora u FILE" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Otvori fascikle u novoj kartici poslednjeg prozora(podrazumevano)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Otvori fascikle u trenutnoj kartici poslednjeg korišćenog prozora" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Ne učitavaj sačuvane kartice" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Otvori fascikle u novom prozoru" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Otvori fascikle u panelu 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Pokreni desktop menadžer u pozadini" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Pokaži podešavanja desktopa" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Pokaži podešavanja ('N' je broj kartice)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Pokreni kao pozadinski proces" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Koristi DIR kao konfiguracionu fasciklu" #: ../src/main.c:138 msgid "Show File Search" msgstr "Požaži pretragu fajlova" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Podesi desktop pozadinu " #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Pokaži prilagođeni dijalog (vidi -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Pokaži naredbu ulaza (vidi s help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Bez funkcije - samo za kompatibilno " #: ../src/main.c:151 msgid "Show version information" msgstr "Pokaži verziju informacije" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | FAJL | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Opcija --config-dir ignorisana - primer je već pokrenut" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Opcija --config-dir sadrži neispravna slova - ne može početi" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --ulaz-cmd zahteva argument\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: ne mogu kreirati ulaz\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" "spacefm: ne mogu povezati ulaz (nije pokrenut? ili EKRAN nije podešen?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: neispravan odziv od ulaza\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "Upotreba" #: ../src/main.c:679 msgid "Example:" msgstr "Primer:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" "METODI\n" "-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Podesi svojinu" #: ../src/main.c:687 msgid "Gets a property" msgstr "Dobavi svojinu" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Podesi zadatak svojine" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Dobavi zadatak svojine" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Počinje novi zadatak" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Aktiviraj stavku menija preko prečice" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "Pokaži prilagođeni podmeni kao IME MENIJA kao iskačući prozor" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Dodaj asinhronu NAREDBU rukovodioca za DOGAĐAJ" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" "Dodaj asinhronu NAREDBU rukovodioca za DOGAĐAJ, menjajući podrazumevano" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Ukloni NAREDBU rukovodioca od DOGAĐAJA" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" "Pokaži ovu referencu pomoći. (Takođe vidi link korisničkog uputstva ispod.)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" "OPCIJE\n" "-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" "Dodajte opciju nakon METODE da navedete određeni prozor, panel, i / ili " "karticu." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" "Inače, trenutna kartica od trenutnog panela se koristi u poslednjem prozoru." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Specifičan prozor. pr:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Specifičan panel 1-4. pr:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Specifična kartica 1-... pr:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" "SVOJSTVA\n" "----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Podesite svojstva sa METODOM 'set', ili dobijte vrednost sa 'get'." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Otvori DIR ili podrazumevano u novoj kartici" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "pr 'Trenutni status: Primer'" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "DIR pr '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[IME FAJLA...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[OBRAZAC] npr '*.jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "npr 'neke\\nlines\\nof text'" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "npr '~/kopiraj-sadržaj-fajla-u-klipbord.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "FAJL... Fajlovi kopirani u klipbord" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "FAJL... Fajlovi isečeni u klipbord" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" "ZADATAK OSOBINE\n" "---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "sadržaj kolone Statusni zadatak (samo čitanje)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "npr 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "tekst za pokazivanje u koloni zadatak brojanja" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "tekst za pokazivanje u koloni zadatak fascikle" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "tekst za pokazivanje u koloni zadatak stavke" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "tekst za pokazivanje u koloni zadataka" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "tekst za pokazivanje u koloni total zadataka" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "tekst za pokazivanje u koloni trenutni zadatak" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "tekst za pokazivanje u koloni preostali zadaci" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "tekst za pokazivanje u koloni prosečan zadatak" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "tekst za pokazivanje u koloni preostali zadatak" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "sadržaj kolone preostali zadatak (samo čitanje)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "sadržaj kolone početi zadatak (samo čitanje)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "NAREDBA naredba za pokazivanje prilagođenog dijaloga zadatka\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" "TIPOVI ZADATKA\n" "----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Kopiraj|Pomeri|Link FAJL(ovi) ili DIR(ovi) do META dir" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Rekurzivno ukloni FAJL(s) ili DIR(s)" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "Otvori FAJL u korisničkom ili admin tekst editoru" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "Otvori URL u korisničkom veb čitaču" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" "DOGAĐAJI\n" "------" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "Primer početka %e" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "Primer izlaza %e" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "Novi prozor %e %w %p %t" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "Fokus prozora %e %w %p %t" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "Prozor pomeri/promeni veličinu %e %w %p %t" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Klik mišem %e %w %p %t %b %m %f" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "Prozor pritisak na taster %e %w %p %t %k %m" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "Prozor zatvori %e %w %p %t" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "Panel fokus %e %w %p %t" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Panel pokaži/sakrij %e %w %p %t %f %v" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "Izbori promenjen %e %w %p %t" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "Nova kartica %e %w %p %t" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "Fokus kartice %e %w %p %t" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "Zatvori karticu %e %w %p %t" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "Uređaj promenjen %e %f %v" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "prozor ID" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "broj panela (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "broj kartica (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "ključ koda (pr 0x63)" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" "fokusiraj element (panelN|fajl lista|uređaji|obeleživači|stablo|putanja bara)" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "fokus elementa je vidljiv (0 ili 1, ili stanje uređaja promenjeno)" #: ../src/main.c:835 msgid "Examples" msgstr "Primeri" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "Ovi fajlovi su bili kopirani u klipbord" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" "Za potpunu dokumentaciju i primere pogledajte SpaceFM korisničko uputstvo:" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "Ovaj SpaceFM ima isključenu desktop integraciju" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" "spacefm: Greška: Onemogućeno čuvanje sesije\n" " %s\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "Fajl ne postoji" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Greška" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "Greška: Ne mogu se povezati sa „FAM“ programom.\n" "\n" "Imate li instaliran i pokrenut „FAM“ (ili „Gamin“)?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "--dijalog mora biti prva opcija" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "--ulaz-cmd mora biti prva opcija" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "Ne znam kako da otvorim ovaj fajl" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "Ne mogu otvoriti fajl:\n" "„%s“\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "Izaberi ime priključka" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "Unesi URL priključka" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" "Unesi SpaceFM priključak URL :\n" "\n" "(wget će biti korišćen da preuzme fajl priključka)" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" "Ovo ime priključka je oštećeno. Molim preimenujte korišteći ASCII karaktere " "i probajte ponovo." #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "Nevažeće ime priključka" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" "Već postoji ovaj priključak instaliran '%s'. Prebrišite ?\n" "\n" "Savet:Možete preimenovati ovaj priključak i instalirati ga pod drugim imenom." #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "Prepiši priključak?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "Greška kod kreiranja privremene fascikle" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "Onemogućeno kreiranje privremene fascikle" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "Greška: Onemogućeno čuvanje fajla sa sesijom\n" "\n" "( %s )" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "Sačuvaj grešku sesije" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "Otvori admin prozor" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal nije dostupan" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Molim podesite vaš terminal program u Pregled|Podešavanja|Napredno" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "Otvori terminal" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "Pomoć za dizajn mod" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 #, fuzzy msgid "Panel" msgstr "_Panel" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "Nova _naredba" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "Pokaži panel %d" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_Fajl" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "P_regled" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "_Uređaji" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "_Obeleživači" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "_Priključci" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "_Alati" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_Pomoć" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" "Greška: Onemogućeno čuvanje fajla sesije Da li želite da izađete bez " "čuvanja?\n" "\n" "( %s )" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "SpaceFM greška" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "Zaustavi sve zadatke pokrenute u ovom prozoru?" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "Prekidamo zadatke..." #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr " %s slobodno / %s " #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr " Link → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr " Link → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr " !Link → %s/ (nedostaje)" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr " Link → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr " !Link → %s (nedostaje)" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr " !Link → ( greška u čitanju )" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "sakriveno" msgstr[1] "sakriveno" msgstr[2] "sakriveno" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d vidljivo (%s) %s" msgstr[1] "%s%d vidljivo (%s) %s" msgstr[2] "%s%d vidljivo (%s) %s" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d stavka %s" msgstr[1] "%s%d stavke %s" msgstr[2] "%s%d stavke %s" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Prečice menadžera uređaja su isključene u HAL modu" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "Stanje" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "Fascikla" #: ../src/main-window.c:4156 msgid "Item" msgstr "Stavka" #: ../src/main-window.c:4157 msgid "To" msgstr "Za" #: ../src/main-window.c:4157 msgid "Progress" msgstr "Napredak" #: ../src/main-window.c:4157 msgid "Total" msgstr "Ukupno" #: ../src/main-window.c:4158 msgid "Started" msgstr "Pokrenuto" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "Proteklo" #: ../src/main-window.c:4158 msgid "Current" msgstr "Trenutno" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "Ostatak" #: ../src/main-window.c:4159 msgid "Average" msgstr "Prosek" #: ../src/main-window.c:4159 msgid "Remain" msgstr "Ostatak" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "Ponovo promeni kolone pomoći" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" "Da bi promenili redosled kolona, prevucite zaglavlje kolone na željenu " "lokaciju." #: ../src/main-window.c:5745 msgid "moving" msgstr "pomeranje" #: ../src/main-window.c:5746 msgid "copying" msgstr "kopiranje" #: ../src/main-window.c:5747 msgid "trashing" msgstr "bacanje" #: ../src/main-window.c:5748 msgid "deleting" msgstr "uklanjanje" #: ../src/main-window.c:5749 msgid "linking" msgstr "linkovanje" #: ../src/main-window.c:5750 msgid "changing" msgstr "menjanje" #: ../src/main-window.c:5751 msgid "running" msgstr "pokretanje" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "pauzirano" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "na čekanju" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "Ime" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "Veličina" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "Vrsta" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "Dozvole" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "Vlasnik" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "Izmenjeno" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "spacefm: nevažeća ulazna naredba\n" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: nevažeća opcija '%s'\n" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: opcija %s zahteva argument\n" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "spacefm: nevažeći prozor\n" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: nevažeći prozor %s\n" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: nevažeći panel %d\n" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: panel %d nije vidljiv\n" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: nevažeća kartica %d\n" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: naredba zahteva argument\n" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: neispravna %s vrednost\n" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "spacefm: neispravan klizač vrednosti\n" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "spacefm: neispravan broj panela\n" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "spacefm: neispravan broj kartica\n" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: neispravna svojstva %s\n" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "spacefm: neispravna širina kolone\n" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: neispravno ime kolone '%s'\n" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: tekst nije ispravan UTF-8\n" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s zahtefa putanju fajla\n" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: greška kod čitanja fajla '%s'\n" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: fajl '%s' ne zadrži ispravan UTF-8 tekst\n" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s zahteva putanju fascikle\n" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: fascikla '%s' ne postoji\n" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: naredba %s zahteva argument\n" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s zahteva dva argumenta\n" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: neispravan zadatak '%s'\n" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: interni zadatak %s je samo za čitanje\n" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: zadatak svojstva '%s' je samo za čitanje\n" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: neispravno stanje_reda '%s'\n" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: neispravan zadatak svojstva '%s'\n" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: nema takvog direktorijuma '%s'\n" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: nevažeća %s opcija zadatka '%s'\n" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: nema takvog fajla '%s'\n" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: relativna putanja '%s' zahteva %s opciju --dir DIR\n" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: zadatak tipa %s zahteva FAJL argument(s)\n" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: neuspeo tip zadatka '%s'\n" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: neispravno šifrovanje '%s'\n" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "spacefm: prilagođeni podmeni '%s' nije pronađen\n" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "spacefm: meni '%s' sadržaj nevidljiv ili isključen\n" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: rukovodilac događaja nije pronađen\n" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: nispravan metod ulaza '%s'\n" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "Podrazumevano" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "Izaberi desktop font" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "Primer stavke 0123456789" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "Sačuvaj admin podešavanja" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 #, fuzzy msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" "Unesi ime ikone, putanju ikone ili ime ikone skladišta:\n" "\n" "Nisu sve ikone mogle raditi zbog raznih problema." #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "Početna" #: ../src/settings.c:154 msgid "Up" msgstr "Gore" #: ../src/settings.c:155 msgid "Back" msgstr "Nazad" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "Napred" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "Osveži" #: ../src/settings.c:160 msgid "New Tab" msgstr "Novi list" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "Nova kartica ovde" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "Velike ikone:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "prilagođeni tmp_dir sadri neispravna slova - povratak u /tmp" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "_Stop" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "Pokaži _menadžer" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "Auto-_sakrij menadžer" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "Gre_ške" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "Trenutno os_talo" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "P_rosečno ostalo" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_Fascikla" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "_Detaljna statistika" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "Uklo_ni / Izbaci" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "_Uvoz" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" "# SpaceFM fajl sesije\n" "\n" "# oVAJ FAJL NIJE DIZAJNIRAN BA BUDE IZMENJEN - to će biti čitano i " "PREBRISANO\n" "\n" "# Ako uklonite sve sesija* fajlove, SpaceFM će biti vraćen na početno " "podrazumevano podešavanje.\n" "\n" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "Greška kod čuvanja fajla" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "SpaceFM greška: Onemogućeno auto čuvanje fajla sa sesijom ( %s )\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "Pomoć nije dostupna" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "Priključak ne u uključuje fajl PROČITAJ ME." #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "Kreiranje neuspelo" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "Došlo je do greške pri kreiranju fajla PROČITAJ ME za ovu naredbu" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" "Došlo je do greške u kopiranju naredbenih fajlova\n" "\n" "%s" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "Kopiraj grešku naredbe" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" "Došlo je do greške u kopiranju naredbenih podataka\n" "\n" "%s" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "Došlo je do greške u čitanju fajla priključka %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" "Uvezini folder priključka ne sadrži ispravan priključak.\n" "\n" "(%s/)" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" "Deinstaliraj '%s' priključak?\n" "\n" "( %s )" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "Deinstaliraj priključak" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "Instaliraj priključak" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "Sačuvaj kao fajl priključka" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "Izvezi priključak" #: ../src/settings.c:5495 msgid "Export Error" msgstr "Izvezi grešku" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "Onemogući kreiranje privremenog fajla" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "Promeni ime menija" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "Editor nije podešen" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Molim podesite vaš editor u Pregled|Podešavanje|Napredno" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "Admin editor nije podešen" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Molim podesite vaš admin editor u Pregled|Podešavanje|Napredno" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "Izmeni %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "Korisničko uputstvo nije pronađeno" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" "Čitate korisničko uputstvo preko mreže?\n" "\n" "Lokalna kopija od SpaceFM korisničkog uputstva nije pronađena. Klik Da da " "čitate preko mreže, ili Ne i onda podesite trenutnu lokaciju u Pomoć|Opcija|" "Lokacija." #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "Uputstvo otvoreno?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" "SpaceFM korisničko uputstvo trebalo bi da se otvori u vašem čitaču. Ako se " "nije otvorilo ili ako koristite drugačiji veb čitač, podesite ga u Pomoć|" "Opcije|Čitač.\n" "\n" "Ova poruka se neće ponoviti." #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "Otkaži" #: ../src/settings.c:6703 msgid "Unset" msgstr "Ukloni podešavanje" #: ../src/settings.c:6716 msgid "Set" msgstr "Podesi" #: ../src/settings.c:6730 msgid "Set Key" msgstr "Podesi ključ" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "Podesi ikonu" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "Izmeni komandnu liniju" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "Izaberi izvršno" #: ../src/settings.c:6918 msgid "Run As User" msgstr "Pokreni kao korisnik" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" "Pokreni ovu naredbu kao korisničko ime:\n" "\n" "( Ostavi prazno za trenutnog korisnika )" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "Nova kontekstna naredba" #: ../src/settings.c:6938 #, fuzzy msgid "Set Item Name" msgstr "Podesi ime menija" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Izaberi fasciklu" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "(nijedan)" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "Podesi ime podmenija" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "Novi_podmeni" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "( bez menija )" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "Potvrdi uklanjanje" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Da li ste sigurni?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "Dijalog poruke" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" "Unesi poruku da se prikazuje u ovom dijalogu:\n" "\n" "Koristi:\n" "\t\\n\tnovoj liniji\n" "\t\\t\tkartici" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "I_seci" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "_Kopiraj" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "_Nalepi" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "_Ukloni" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "I_zvezi" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "_Novo" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_Obeleživači" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "_Aplikacija" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "_Naredba" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "Pod_meni" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "S_eparator" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "_Dodaj" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "_Prečica" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "I_zmeni kao admin" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_Osobine" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "Izaberi lokaciju" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_Uredi" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "Podesi ikonu prozora" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "I_zaberi" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "_Podrazumevano" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "Vaš ulaz je oštećen jer sadrži linije izvora" #: ../src/settings.c:9214 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9351 msgid "_Unset" msgstr "_Izmeni podešavanje" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "_Odmontiraj" #: ../src/settings.c:10498 msgid "Re_load" msgstr "Ponovo_učitaj" #: ../src/settings.c:10502 msgid "_Sync" msgstr "_Sinhronizuj" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Otvori" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "_Montiraj" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "Ponovo_/montiraj" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "_Koren" #: ../src/settings.c:10551 msgid "_Label" msgstr "_Oznaka" #: ../src/settings.c:10601 msgid "_Check" msgstr "_Proveri" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "_Izmeni fstab" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "Izmeni_devil.conf" #: ../src/settings.c:10613 msgid "_Format" msgstr "_Format" #: ../src/settings.c:10673 msgid "_Backup" msgstr "_Rezervna kopija" #: ../src/settings.c:10695 msgid "_Restore" msgstr "_Povrati" #: ../src/settings.c:10700 msgid "_From File" msgstr "_Iz fajla" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "Info_fajla" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "Podeša_vanje" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "P_okaži" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "_Interni diskovi" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "_Prazni diskovi" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "_Particiona tabela" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "Montirane_mreže" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "_Diskovi..." #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "Pokaži/Sakrij diskove" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "_Ime ekrana" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "Podesi format za ime ekrana" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "_Auto montiranje" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "Montiraj_optički" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "_Montiraj uklonjivi" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "Otvori_karticu" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "_Odmontiraj na izlazu" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "Auto-pokretanje" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "Na_montiranju" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "Auto-pokreni na montiranju" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "Na_audio CD" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "Auto pokretanje na audio CD" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "Na_video DVD" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "Auto pokretanje na video DVD" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "Na_insertu" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "Auto pokretanje na insertu" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "Na_demontiranju" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "Auto pokretanje na demontiranju" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "Na_brisanju" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "Auto pokretanje na brisanju" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "Montiraj_diskove..." #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "Auto montiraj diskove" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "_Opcije montiranja" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "Podrazumevane opcije montiranja" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "Ponovo/montiraj sa opcijama" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "_Ikona" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "Audio CD" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "Optika montirana" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "Optika ima medij" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "Optika bez medija" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "Flopi montiran" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "Flopi demontiran" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "Prenosivi disk montiran" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "Prenosivi disk demontiran" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "Interni montiran" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "Interni demontiran" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "Mreža montirana" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "_Podešavanja" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "_Ime" #: ../src/settings.c:11037 msgid "_Parent" msgstr "_Matična fascikla" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "P_utanja" #: ../src/settings.c:11056 msgid "_Option" msgstr "_Opcija" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Link" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "Kopiraj_metu" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "Lin_kuj metu" #: ../src/settings.c:11074 msgid "_As Root" msgstr "_Kao admin" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "_Font" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "Pomeri dijalog fonta" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "/početna/korisnik/primer imena fajla.ext" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "_Potvrdi kreiranje" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "Istaknuti_bar" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "Boja statusnog bara" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "Istaknuti tekst" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "Boja teksta za statusni bar" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "_Srednji klik" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "Kopiraj _ime" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "Kopiraj _putanju" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "_Sakrij panel" #: ../src/settings.c:11135 msgid "New _Window" msgstr "Novi _prozor" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "A_dmin prozor" #: ../src/settings.c:11141 msgid "_File Search" msgstr "_Pretraga fajlova" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "_Admin terminal" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "Sačuvaj kar_tice" #: ../src/settings.c:11162 msgid "E_xit" msgstr "I_zlaz" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "Panel _1" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "Panel _2" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "Panel _3" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "Panel _4" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "Panel _bar" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "_Prethodno" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "_Sledeće" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "_Sakrij" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "_Primer" #: ../src/settings.c:11248 msgid "_Startup" msgstr "_Pokretanje" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "Podesi primer naredbe pokretanja" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "_Izlaz" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "Podesi primer izlazne naredbe" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "_Prozor" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Novo" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "Podesi novu naredbu" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "_Fokus" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "Podesi naredbu za fokus " #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "_Pomeri/Promeni veličinu" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "Podesi Pomeri/Promeni veličinu naredbu" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "_Klik" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "Podesi klik naredbu" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "Pritisak na taster" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "Podesi naredbu za pritisak za taster" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "Za_tvori" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "Podesi naredbu Zatvori" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "Podesi naredbu za panel fokus" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "_Pokaži" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "Podesi naredbu za panel Pokaži" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "I_zaberi" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "Podesi naredbu za Izaberi panel" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "_Kartica" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "Podesi naredbu za Nova kartica" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "Podesi naredbu za Fokus kartice" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Zatvori" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "Podesi naredbu za Zatvori karticu" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "_Uređaj" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "Podesi naredbe uređaja" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "Naslov prozora" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "Podesi format naslova prozora" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "_Ikona prozora" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "_Pun ekran" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "_Dizajn mod" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "_Podešavanja" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_Alatke" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "_Instaliraj" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "_Detaljno" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "Uk_ljučen" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "_Korisničko uputstvo" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "_Početna strana" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "SpaceFM _Novosti" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "_Dobavi priključak" #: ../src/settings.c:11452 msgid "_Options" msgstr "_Opcije" #: ../src/settings.c:11457 msgid "_Browser" msgstr "_Čitač" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "Odaberi HTML čitač" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "_Lokacija korisničkog uputstva" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "Izaberi lokaciju za korisničko uputstvo" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" "Unesi putanju do lokalnog fajla ili URL do SpaceFM korisničko uputstvo:\n" "\n" "(Ostavi prazno za podrazumevano)\n" #: ../src/settings.c:11469 msgid "_About" msgstr "_O" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "_Stanje" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "_Brojač" #: ../src/settings.c:11519 msgid "_Item" msgstr "_Stavka" #: ../src/settings.c:11525 msgid "_To" msgstr "_Za" #: ../src/settings.c:11531 msgid "_Progress" msgstr "_Napredak" #: ../src/settings.c:11538 msgid "T_otal" msgstr "U_kupno" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "Zap_očeto" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "_Proteklo" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "T_renutna brzina" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "_Prosečna brzina" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "Preu_redi" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pau_za" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "_Red" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "_Povrati" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "Poka_ži izlaz" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "_Svi zadaci" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "Font menadžera zadataka" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "kopiranje Fajla 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11635 msgid "_Columns" msgstr "_Kolone" #: ../src/settings.c:11640 msgid "_Popups" msgstr "_Iskačući prozori" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "Iskačući _prozori svih zadataka" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "Ostani na _vrhu" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "Iznad drugih" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "Svi _radni prostori" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "_Prebriši podešavanja" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "_Opcije greške" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "Za font iskačućih prozora (utiče na nove zadatke)" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "Primer izlaza 0123456789" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "Zaustavi ako je _prvi" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "Zaustavi bilo _koji" #: ../src/settings.c:11703 msgid "_Continue" msgstr "_Nastavi" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "Re_d" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "_Red novih zadataka" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "_Pametan red" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "_Pauza zbog greške" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "Raspored_ikona" #: ../src/settings.c:11738 msgid "By _Name" msgstr "Po_imenu" #: ../src/settings.c:11741 msgid "By _Type" msgstr "Po_tipu" #: ../src/settings.c:11744 msgid "By _Date" msgstr "Po_datumu" #: ../src/settings.c:11747 msgid "By _Size" msgstr "Po_veličini" #: ../src/settings.c:11750 msgid "_Custom" msgstr "_Prilagođeno" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "_Rastuće" #: ../src/settings.c:11756 msgid "D_escending" msgstr "O_padajuće" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "Podešavanje_desktopa" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "Ur_eđaji" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "_Desktop fascikla" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "Editor fonta" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "Primer ulaza 0123456789" #: ../src/settings.c:11810 msgid "Input Font" msgstr "Ulazni font" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "I_zvrši" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "Izme_ni" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "Izmeni kao_admin" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "_Izaberi..." #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "Svi fajlovi i fascikle" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "U _kartici" #: ../src/settings.c:11839 msgid "N_ew" msgstr "N_ovo" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "Kartica_1" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "Kartica_2" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "Kartica_3" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "Kartica_4" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "Kartica_5" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "Kartica_6" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "Kartica_7" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "Kartica_8" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "Kartica_9" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "Kartica 1_0" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "U _panelu" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "_Raspakuj" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "Raspakuj u..." #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "_Lista sadržaja" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "Otvori pomoću" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "_Napravi podfolder" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "_Pristup pisanju" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "Fas_cikla" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_Obeleživači" #: ../src/settings.c:11950 msgid "_Archive" msgstr "_Arhiva" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "_Kartica" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "Kartica_ovde" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "Desktop aplikacija" #: ../src/settings.c:11968 msgid "_Go" msgstr "_Idi" #: ../src/settings.c:11973 msgid "_Back" msgstr "_Nazad" #: ../src/settings.c:11975 msgid "_Forward" msgstr "_Napred" #: ../src/settings.c:11977 msgid "_Up" msgstr "_Gore" #: ../src/settings.c:11979 msgid "_Home" msgstr "_Početna" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "_Podesi podrazumevano" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "Re_alna putanja" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "Fo_kus" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "_Bar putanje" #: ../src/settings.c:11995 msgid "_File List" msgstr "_Fajl lista" #: ../src/settings.c:11997 msgid "_Tree" msgstr "_Stablo" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "_Kartica" #: ../src/settings.c:12010 msgid "_Close" msgstr "_Zatvori" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "Sti_l" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "K_olumne" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "_Ponovo naručeno" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "_Izaberi grupu" #: ../src/settings.c:12048 msgid "_Sort" msgstr "_Sortiraj" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "_Veličina" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "_Vrsta" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "_Dozvole" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "_Vlasnik" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "_Izmenjeno" #: ../src/settings.c:12066 msgid "_Descending" msgstr "_Opadajuće" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "Pri_rodno" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "_Osetljiv slučaj" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "Prvi dire_ktorijumi" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "Pr_vi fajlovi" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "Me_šano" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "_Prvi sakriveni" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "_Poslednji_sakriveni" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "Ob_novi" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "Pudanja za Pomoć" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "P_romeni ime" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "Obri_ši" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "Kopiraj ma_tično" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "Nalepi_link" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "Nalepi_metu" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "Nalepi kao" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "_Kopiraj kao" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "L_okacija" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "P_oslednja lokacija" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Kartica" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12192 msgid "_Move To" msgstr "_Pomeri do" #: ../src/settings.c:12196 msgid "_Location" msgstr "_Lokacija" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Kartica" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12229 msgid "_Select All" msgstr "_Odaberi sve" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "_Deselektuj sve" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "_Obrni izbor" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "Odaberi obrazac" #: ../src/settings.c:12238 msgid "R_oot" msgstr "K_oren" #: ../src/settings.c:12244 msgid "Move _To" msgstr "Pomeri _do" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "Svojst_va" #: ../src/settings.c:12260 msgid "_Quick" msgstr "_Brzi" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "_Rekurzivan" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "_Traka alata" #: ../src/settings.c:12372 msgid "T_ree" msgstr "S_tablo" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "_Bočna traka alata" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "_Detaljno" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_Ikonice" #: ../src/settings.c:12401 msgid "_Compact" msgstr "_Kompaktno" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "_Sakriveni fajlovi" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Primer 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [bez medija] :PRIMER" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "Primer imene obeleživača" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/primer" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "12 G slobodno / 200 G 52 stavki" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "_Nova kartica" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "_Jedan klik" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" "Fascikla ne postoji\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" "Onemogućen pristup %s\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Izaberi obrazac" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "Izaberi lokaciju" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "Nevažeća destinacija" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "Destinacija ista kao izvor" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "Nevažeća destinacija" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "Sakrij fajl" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "Greška kod sakrivanja fajla" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "Nisu odabrani fajlovi" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "Ne mogu da montiram uređaj" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "Ne mogu da demontiram uređaj" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "Ne mogu da izbacim uređaj" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "udev nije konfigurisan" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Montiranje deljenja mreže zahteva udev (--disable-hal) build SpaceFM." #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "Montiranje %s" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" "%s je trenutno montirano. Vi morate demontirati pre nego što proverite." #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "Uređaj je montiran" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Unesi naredbu za proveru fajl sistema:\n" "\n" "Koristi:\n" "\t%%%%v\tfajl uređaja ( %s )\n" "\n" "IZMENI SA PAŽNJOM Ova naredba je pokrenuta kao admin" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "Proveri kao admin" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "PROVERI KAO ADMIN" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "Proveri kao admin %s" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Unesi naredbu montiranja:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Napomena: fstab prebrisuje neke opcije\n" "\n" "IZMENI SA PAŽNJOM Ova naredba je pokrenuta kao admin" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "Montiraj kao admin" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "MONTIRAJ KAO ADMIN" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "Montiraj kao admin %s" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Unesi naredbu demontiranja:\n" "\n" "Koristi:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "IZMENI SA PAŽNJOM Ova naredba je pokrenuta kao admin" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "Demontiraj kao admin" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "DEMONTIRAJ KAO ADMIN" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "Demontiraj kao admin %s" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "Unesi oznaku diska za %s:%s" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "Promeni oznaku diska" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "Promeni oznaku kao admin" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "OZNAKA KAO ADMIN" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "Oznaka kao admin %s" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "Demontiraj %s" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "Ukloni %s" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "Ponovo montiraj %s" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "Ponovo učitaj %s" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "Sinhronizuj" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" "%s je trenutno montirano. Morate prvo demontirati da bi mogli formatirati." #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr " ( CEO UREĐAJ ) " #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "Format" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "UPOZORENJE GUBITKA PODATAKA" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "Format %s" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s je trenutno montiran. Morate demontirati pre oporavka." #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "Izaberi rezervnu kopiju za oporavak" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "Oporavi MBR" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "Nepoznat tip" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "Oporavi" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "%s Obnavljanje %s" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "Fascikla nedostaje" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "Fascikla /etc/udevil nije pronađen. Da li je udevil instaliran?" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "Odaberi rezervnu kopiju za informaciju" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "MBR fajl" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" "Zasnovano na imenu, izgleda da je izabrani fajl rezervna kopija MBR fajla. " "Nema drugih dostupnih informacija za ovu vrstu fajla." #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "Informacija o obnavljanju" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" "%s je trenutno montiran. Morate demontirati pre da bi mogli kreirati " "rezervnu kopiju sa Partimage." #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "Sačuvaj %s rezervnu kopiju" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "Prebriši?" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "Obabrana rezervna kopija već postoji. Prebriši?" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" "Unesi %s naredbu za rezevnu kopiju:\n" "\n" "Koristi:\n" "\t%%%%v\tfajl uređaja ( %s )\n" "\t%%%%s\tfajl rezervne kopija ( %s )%s\n" "\n" "IZMENI SA PAŽNJOM Ova naredba je pokrenuta kao admin" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "Rezervna kopija" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "%s Rezervna kopija %s" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "Svojstva %s" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" "%sTrenutno odabrani uređaji: %s\n" "Oznaka diska: %s\n" "Uređaj ID: %s" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_Izbaci" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Ukloni kao ostale" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "R_ed" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Re_zime" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Zaustavi kao ostalo" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Nastavi kao ostalo" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Premeštam: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Umnožavam: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Smeće" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Brišem: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Povezujem: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Promeni:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Pokreni:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Premeštanje..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Umnožavanje..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Bacanje..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Brisanje..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Povezivanje..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Promena..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Kretanje..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Od:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "U mesto:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Napredak:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Stanje:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pauzirano" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "Na čekanju" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Pitaj" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Prepiši sve" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Preskoči sve" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Automatsko preimenovanje" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Zaustavi kod prve greške" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Zaustavi na bilo koju grešku" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Nastavi" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Zaustavljeno" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Greške" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Gotovo" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s preostalo" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Greška ( Zaustavi ako je prvi )" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Greška ( Zaustavi bilo koji )" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Zaustavi sa %d greške" msgstr[1] "Zaustavi sa %d greške" msgstr[2] "Zaustavi sa %d greške" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Završeno sa %d greškom" msgstr[1] "Završeno sa %d greškama" msgstr[2] "Završeno sa %d greškama" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Završeno sa greškom ( izlazno stanje %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Završeno za greškom" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Pauzirano ( pid %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Pauzirano ( izlazno stanje %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "Na čekanju ( pid %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "Na čekanju ( izlazno stanje %d )" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Kretanje sa %d greškom" msgstr[1] "Kretanje sa %d greškama" msgstr[2] "Kretanje sa %d greškama" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Kretanje... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Kretanje... ( izlazno stanje %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "zastalo" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[ SNIP - dodatne greške iznad su iz ovog dnevnika ]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Pomeranje iz fascikle:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Linkovanje iz fascikle:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Kopiranje iz fascikle:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Fascikla postoji" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Fascikla već postoji. Molim preimenujte ili odaberite akciju." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( link )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! prebriši fajl sa linkom !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( ista veličina )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu bajtova)" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "veći" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "manji" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( isto vreme )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "noviji" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "stariji" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Ime fajla postoji" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "Ime fajla već postoji. Molim preimenujte ili odaberite akciju." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Preimenovanje zahtevano" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "U fascikli:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "_Prebriši" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Prebriši_sve" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pauza" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Preskoči" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "P_reskoči sve" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "U fasciklu:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Ime fascikle:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "_Preimenuj" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "Au_to preimenuj" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Auto pre_imenuj sve" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "Arhiva" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "Raspakuj u" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "Krei_raj podfolder(e)" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "Napravi sadržaj upisiv_za korisnike" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "kopiraj" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "Raspakivanje %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "Završeno!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Naredba:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Sistem fajlova" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "(bez podfascikle)" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "Uklonitetip teksta" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "_Podesi kao podrazumevano" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "_Dodaj" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "novo" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Ukloni %d izabranu stavku ?" msgstr[1] "Ukloni %d izabranu stavku ?" msgstr[2] "Ukloni %d izabranu stavku ?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Potvrdi brisanje" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "P_utanja: original" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Ime: original" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "_Ime fajla: original" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "_Matično: original" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "P_utanja: postoji kao folder" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Ime: postoji kao folder" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "_Ime fajla: postoji kao folder" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "_Matično:" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "P_utanja: postoji kao fajl" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Ime: postoji kao fajl" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "_Ime fajla: postoji kao fajl" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "P_utanja: * prebriši postojeći fajl" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Ime: * prebriši postojeći fajl" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "_Ime fajla: * prebriši postojeći fajl" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "P_utanja: matično postoji kao fajl" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "_Ime:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "_Ime fajla:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "_Matično: matično postoji kao fajl" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "P_utanja: * kreiraj matično" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "_Matično: * kreiraj matično" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "P_utanja:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Pomeri" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Odaberi link mete" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Odaberi fajl šablona" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Odaberi fasciklu šablona" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Pretraži" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Ime_fajla" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "Ma_tični" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Umenti kao" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "K_reiraj" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Kreiraj nov" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Fajl" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Fascikla" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Link" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Pomeri" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "K_opiraj" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Kopiraj" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Kreiraj link do" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Meta linka" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Meta" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "Kao admin" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Link" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "Fajl" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "Opc_ije" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Po_vrati" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "&_Otvori" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Link-> %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Link-> %s (nestaje)" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "_Meta:" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "_Šablon:" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "Prazan fajl" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "Prazna fascikla" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "P_roširenja:" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "Pome_ri" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "Kopir_aj" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "Lin_k" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "Link me_te" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "Ka_o admin" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "Faj_l" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "Fas_cikla" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "_Link" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "Novo" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "Putanja sadrži linije izvora" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "Kreiraj matičnu fasciklu" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "Matična fascikla ne postoji. Kreiraj je?" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" "Greška kod kreiranja matične fascikle\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "Mkdir greška" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "Prebriši postojeći fajl" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "UPOZORENJE O PREBRISAVANJU" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "Putanja fajla postoji. Prebrisati postojeći fajl?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "Kreiraj link%s" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "Šablon nedostaje" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "Određeni šablon ne postoji" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "Kreiraj novi fajl%s" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "Kreiraj novu fasciklu%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "Kopiraj%s" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "Kopiraj grešku mete" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "Greška kod određivanja linka mete" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "Greška linka mete" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "Pomeri%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" "Greška preimenovanja fajla\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Greška kod preimenovanja" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "Nova fascikla" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "Novo ime fascikle:" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "Novi fajl" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "Novo ime fajla:" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" "Ime već postoji.\n" "\n" "Molim unesite novo:" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "Novi fajl ne može biti kreiran" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" "Ovaj simbolički link mete nedostaje ili vi nemate dozvole da pristupite:\n" "%s\n" "\n" "Meta: %s" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "Oštećen link" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Ukloni %d izabranu stavku kao admin ?" msgstr[1] "Ukloni %d izabranu stavku kao admin ?" msgstr[2] "Ukloni %d izabranu stavku kao admin ?" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "Potvrdi brisanje kao admin" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "OBRIŠI KAO ADMIN" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "Obriši kao admin" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "Pomeri kao admin" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "Kopiraj kao admin" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bajtova )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d fascikla" msgstr[1] "%d fascikle" msgstr[2] "%d fascikle" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d fajl, %s" msgstr[1] "%d fajlovi, %s" msgstr[2] "%d fajlovi, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d fajlovi" msgstr[1] "%d fajlovi" msgstr[2] "%d fajlovi" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( više fajlova )" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "(više tipova )" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "Izaberi..." #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "Ime_fascikle:" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bajtova )" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "1 fajl" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "Ime_linka:" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "( oštećen link )" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "( čitaj grešku linka )" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "Računam..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "Promeni datum fajla" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "Ne postoji korisnik" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "Ne postoji grupa" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 #, fuzzy msgid "Archive Handlers" msgstr "Arhiva" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "Oznaka uređaja" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "Fajl menadžer" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "Pokteni u terminalu" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "Pokreni kao zadatak" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Molim izaberite aplikaciju:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Ne postoji ova naredba" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Odredišna fascikla „%1$s“ se nalazi u izvornom „%2$s“" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "Pristupanje" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Brisanje" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Kreiranje dir" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Kreiranje linka" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Pisanje" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Kreiranje" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Preimenovanje" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" "Molim instalirajte /usr/bin/sha256sum pa ja mogu poboljšati vašu bezbednost " "dok pokrećete admin naredbe\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" "Molim podesite ispravnu terminal SU naredbu u Pregled|Podešavanje|Napredno" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminal SU nije dosupan" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Grafički SU nije dostupan" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Ne mogu kreirati privremenu fasciklu" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" "Molim podesite ispravan terminal program u Pregled|Podešavanje|Napredno" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "spacefm nije pronađen u putanji - ovo smanjuje vašu bezbednost" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "Greška upisivanja privremenog fajla" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "Pauza u kalkulisanju ukupne veličine\n" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" "\n" "%s %s\n" "Greška: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s logički disk" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RV" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RV" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD±RV" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RV" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s uređaj" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s uređaj" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Flopi uređaj" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Kompakt-fleš memorija" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memorijski stik" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart medija uređaj" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC uređaj" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "ZIP uređaj" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "DŽEZ uređaj" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "PEN uređaj" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s muzički plejer" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s digitalni fotoaparat" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Uređaj" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Spoljašnji %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM disk" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Prazan CD-R disk" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R disk" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Prazan CD-RV disk" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RV disk" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM disk" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Prazan DVD-RAM disk" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM disk" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Prazan DVD-R disk" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R disk" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Prazan DVD-RV disk" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RV disk" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Prazan DVD+R disk" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R disk" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Prazan DVD+RV disk" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RV disk" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Zvučni disk" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s prenosivi disk" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Logički disk" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Ne mogu pozvati „HAL“ pozadinski proces: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Dati uređaj „%s“ nije uređaj za skladištenje" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Uređaj „%s“ ne postoji u tabeli uređaja na sistemu fajlova" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Nemate dozvole za montiranje diska „%s“" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Nemate dozvole za demontiranje diska „%s“" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Nemate dozvole za izbacivanje diska „%s“" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Pogrešne postavke kod pokušaja montiranja diska „%s“" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "Vaš sistem ne podržava %s sistem fajlova koji se nalazi na „%s“ disku" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Neki od programa sprečava demontiranje „%s“ diska" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Disk „%s“ nije montiran" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "Greška %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Verovatno je „%s“ disk montiran ručno u terminalu" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "Prazni CD-ovi se ne mogu montirati. Koristite neki program za rad sa CD-" "ovima da bi ih mogli koristiti" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "Zvučni diskovi se ne mogu montirati. Pokrenite ih iz nekog muzičkog plejera" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr ":flopi" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr ":optički" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "[prazan]" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "[audio]" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "[bez medija]" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "( bez udev uređaja )" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" "\n" "Auto izvršenje: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" "\n" "Auto otvaranje kartice za %s u %s\n" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" "\n" "Auto demontiranje: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" "\n" "Auto montiranje: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Demontiraj-ako-Montirano: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" "Unesi novo ime za desktop stavku:\n" "\n" "Menjanje imena za desktop stavku zahteva imena sadržaja desktop fajla %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Promeni ime za desktop stavku" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Došlo je do greške kod preimenovanja ove desktop stavke." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "_Otvori fasciklu gde se ovo nalazi" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Izaberite fasciklu" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Razgledaj..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Lokalni diskovi" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Poslednji put izmenjeno" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME tip" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Ime fajla" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Fascikla" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Dir pristup pisanju" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Fajl je tekst" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Fajl je dir" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Fajl je link" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Korisnik je admin" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Višestruko izabrano" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Klipbord ima fajlove" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Klipbord ima tekstove" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Trenutni panel" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Broj panela" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Trenutna kartica" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Broj kartica" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Obeleživač" #: ../src/item-prop.c:122 msgid "Device" msgstr "Uređaj" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Tačka montiranja uređaja" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Oznaka uređaja" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Uređaj FS tip" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "Uređaj UDI" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Svojstva uređaja" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Broj zadatka" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Fascikla zadatka" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Tip zadatka" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Ime zadatka" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Panel 1 fascikle" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Panel 2 fascikle" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Panel 3 fascikle" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Panel 4 fascikle" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Panel 1 je izabrao" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Panel 2 je izabrao" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Panel 3 je izabrao" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Panel 4 je izabrao" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Panel 1 uređaja" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Panel 2 uređaja" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Panel 3 uređaja" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Panel 4 uređaja" #: ../src/item-prop.c:205 msgid "equals" msgstr "jednak" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "nejednak" #: ../src/item-prop.c:207 msgid "contains" msgstr "se nalazi" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "se ne nalazi" #: ../src/item-prop.c:209 msgid "begins with" msgstr "počinje sa" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "ne počinje sa" #: ../src/item-prop.c:211 msgid "ends with" msgstr "završava sa" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "na završava sa" #: ../src/item-prop.c:213 msgid "is less than" msgstr "je manje nego" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "je veće nego" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "Aplikacija" #: ../src/item-prop.c:223 msgid "Command" msgstr "Naredba" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Trenutno: Pokaži" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Trenutno: Sakrij" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Trenutno: Onemogući" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "Trenutno: Onemogući" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Sačuvaj izmenjenu skriptu?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Sačuvaj promene u naredbi?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Prebriši skriptu?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "Naredbeni dir" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "(bez fajlova)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Izaberi izvršno" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "Komandna_linija" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Svojstva stavke u traci alata" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Svojstva stavke menija" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "_Stavka u traci alata" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "_Stavka menija" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Vrsta:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Ime:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Ključ:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Ikona:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Kon_tekst" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "P_rimeni" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "odgovara bilo koje pravilo:" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "odgovaraju sva pravila:" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "Ne odgovara bilo koje pravilo:" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "Ne odgovaraju sva pravila:" #: ../src/item-prop.c:1861 msgid "Show" msgstr "Pokaži" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "Omogući" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "Sakrij" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "Onemogući" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "stavka ako je u kontekstu" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "Izmeni pravilo" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "Vrednost:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "nijedan" #: ../src/item-prop.c:1962 msgid "files" msgstr "fajlovi" #: ../src/item-prop.c:1964 msgid "devices" msgstr "uređaji" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "Nared_ba" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "Komandna_linija" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "_Skripta" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "Otvori u_editoru" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "_Admin editor" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "Opci_je" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "Pokreni opcije" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "Zadatak iskačućeg prozora" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "Greška iskačućeg prozora" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "Izlaz iskačućeg prozora" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "Zadrži terminal otvoren" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "Pokreni kao korisnik:" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "( ostavi prazno za trenutnog korisnika )" #: ../src/item-prop.c:2179 msgid "Style" msgstr "Izgled" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "Normalno" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "Potvrda" #: ../src/item-prop.c:2199 msgid "Input" msgstr "Ulaz" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "Potvrda/Ulazna poruka:" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "Otvori u veb čitaču" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "Podmeni" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "Razdvajač" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" #~ msgid "Change Icon" #~ msgstr "Promeni ikonu" spacefm-1.0.5/po/sv.po000066400000000000000000007036061264770501700145660ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Daniel Nylander , 2009 # Ingemar Karlsson , 2015 # Martin Bagge , 2009 # Mikael Magnusson, , 2008 # Tomas Forsman , 2012 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-19 11:19+0000\n" "Last-Translator: Ingemar Karlsson \n" "Language-Team: Swedish (http://www.transifex.com/ignorantguru/spacefm/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM öppna katalog" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Öppna katalog" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM filsökning" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Sök efter filer och kataloger" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Filhanterare" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Bläddra i filsystemet" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "av IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "Copyright (C) 2015 GPL3+" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "SpaceFM - Copyright (C) 2015 GPL3 +\n\nDetta program är fri programvara; du kan distribuera det och/eller modifiera det under villkoren i GNU General Public License som publicerat av Free Software Foundation; antingen version 3 av licensen, eller (om du så vill) någon senare version.\n\nANVÄND PÅ EGEN RISK. Detta program distribueras i hopp om att det ska vara användbart, men UTAN GARANTIER; även utan underförstådd garanti om SÄLJBARHET eller LÄMPLIGHET FÖR ETT VISST ÄNDAMÅL. Se GNU General Public License för mer detaljer.\n\n\"exo\" biblioteket och källkod som används av denna programvara är licensierade under GNU General Public License och GNU Lesser General Public License version 3 (LGPL3).\n\nDu bör ha fått en kopia av GNU General Public License och GNU Lesser General Public License tillsammans med det här programmet; Om inte, skriv till Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02.110-1301, USA." #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "IgnorantGuru \n\nBidragare:\nBwackNinja \nOmegaPhil \n\nArtwork:\nSpaceFM ikoner och logotyp av Goran Simovic\n\nTack till SpaceFM användare för värdefull feedback och till SpaceFM översättare och\npaketerare!\n\nSärskilt tack till:\nJean-Philippe Fleury\nvladimir Kudrya\nVastOne\nHasufell\n\nSpaceFM utvecklas på geany, gcc och git, med lite hjälp från GDB.\n\nKällkod tagen från andra projekt:\n* PCManFM-mod: IgnorantGuru\n* PCManFM v0.5.2: Hon Jen Yee (PCMan)\n* Libmd5-rfc: Aladdin Enterprises\n* Arbetsområde upptäckt: Gary Kramlich\n* ExoIconView: os-cillation eK, Anders Carlsson, Benedikt Meurer\n* Text och ikon renderare använder kod från Jonathan Blandford\n* Skrivbordet använder koden från Brian Tarricone\n* HAL stöd (föråldrat): GNOME-VFS, thunar-vfs, libexo, gnome-mount" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "SpaceFM ikoner och logotyp av Goran Simovic\n\nYtterligare ikoner togs från Tango Desktop Projekt ikoner" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Ingemar Karlsson " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Välj program" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Vänligen välj ett program eller ett kommando:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Fil typ:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_Associerade program" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "A_lla program" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Kommando:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Bläddra" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Öppnad i Terminal" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Ange _som standard program för denna filtyp" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Fil egenskaper" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Fil_namn:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "P_lats:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Län_kmål:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Typ:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Öppnas _med:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Total storlek:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Storlek på disk:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Antal:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Ändrad:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "_Åtkommen:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Information" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Ägare:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grupp:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Ägare:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grupp:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Andra:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Läs" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Skriv" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Kör" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Sätt UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Sätt GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Klistrig" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Rekursiv (tillämpa ändringar på kataloger och deras innehåll)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "_Rättigheter" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bytes" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Någon" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Inom en dag" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Inom en vecka" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Inom en månad" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Inom ett år" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Inom angivet datumintervall" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Hitta filer" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Filnamn:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Skiftlägeskänsligt" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Videofiler (avi, mpg...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Ljudfiler (mp3, ogg...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Bildfiler (jpg, png...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Vanliga textfiler" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Alla filer och kataloger" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Filtyper att söka efter" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Sök i underkataloger" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Sök dolda filer" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Platser att söka" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Allmänt" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Filer inehåller:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Använd Regular Expression" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Fil innehåll:" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Innehåll" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Större än:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Mindre än:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Fil storlek" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Senast ändrad" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Storlek & datum" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Sök resultat:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Sök igen" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Gå till katalog" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Öppna i aktuell flik" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Öppna i ny flik" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Tänja" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Passa" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Centrera" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Sida vid sida" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Zoma" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Transparent" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Automatiskt" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopiera (Ctrl+Dra)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Flytta (Shift+Dra)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Länka (Ctrl+Shift+Dra)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Alternativ" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Små ikoner:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Stora ikoner:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Ikoner verktygsrad:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Ikoner" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Enkelklick öppnar filer" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Hovra väljer" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Bokmärken:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Visa miniatyrer" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Max bild storlek till miniatyrbilder:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Fillista" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Allmänt" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Visa alltid flikfältet" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "Dölj 'Stäng flik' knappar" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Bekräfta radera/ta bort" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Klick kör körbara" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "SI filstorlek (1k = 1000) (omstart krävs)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "Visa root färganvändar indikator" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Standard Drag Åtgärd:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "Gränss_nitt" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Bakgrund:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Välj en bildfil" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Läge:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Bakgrund:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Text:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Skugga:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Teckensnitt:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Topp:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Vänster:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Höger:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Botten:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "Utfyllnad:" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Marginal" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Högerklick visar WM meny" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Öppna mappar med associerade MIME program" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "Skrivbor_d" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Volymhantering" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Terminal SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Grafiskt SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Filnamn kodning:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Redigerare:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Kör redigerare i terminal" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Root's redigerare:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Kör root's redigerare i termnal" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Datum format:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(kräver omstart)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Datumvisning" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Avancerat" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "För många kolumner (>%d) i %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "fel vid läsning av filen %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "filen '%s' innehåll är inte giltig UTF-8" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "an inte sätta saknade elementet '%s'" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "filen '%s' är inte en vanlig fil" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "Dynamisk storleksändring kräver bredd och höjd > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "internt kommando %s kräver ett argument" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "elementet '%s' existerar inte" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "internt kommando tryck är ogiltig för icke-knappen %s" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "internt kommando av/markera är ogiltigt för %s" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "fel vid skrivning till filen %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' är inte ett internt kommando" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "fel vid skapandet av filen %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "pipe '%s' data inte är giltig UTF-8" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ SNIP - extra utmatning ovan har trimmats från denna logg ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "(filens innehåll inte är giltig UTF-8)" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "prefixet '%s' är inte ett giltigt variabelnamn" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Pausa" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "filen '%s' är inte en vanlig fil eller ett pipe" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "SpaceFM Dialog skapar en anpassad GTK dialog baserad på de grafiska element som du\nanger på kommandoraden, har run-time interna/externa kommandon som\nkan ändra delar, och matar ut utvärderingsbara/tolkningsbart resultat.\n" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "Användning:\n" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "spacefm --dialog|-g {ELEMENT [ALTERNATIV] [ARGUMENT...]} ...\n" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Exempel:\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "spacefm -g --label \"Ett meddelande\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "\nELEMENT: ALTERNATIV & ARGUMENT:\n" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "\nFöljande argument kan användas enligt ovan: \n" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr "STOCK %s\n" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "ICON Ett ikon namn, t.ex: gtk-open\n" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "@FIL En textfil för att läsa ett värde. I vissa fall kan denna fil \növervakas, så att om ett nytt värde skrivs till filen så uppdateras\nelementet. I andra fall, anger filen ett initialt värde. \n" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "SAVEFILE en läsares eller redigerares innehåll sparas till den här filen.\n" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "KOMMANDO Ett internt kommando eller körbar följt av argument. Separera flera kommandon med ett -- argument.\nFöljande substitutioner kan användas i kommandon:\n%%n Namn på aktuellt element\n%%v Värdet av det aktuella elementet\n%%NAME Värde av elementet med namnet namn (t.ex.: %%input1)\n%%(command) stdout från ett bash kommandorad\n%%%%%%\n" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "ETIKETT följande escape-sekvenser i ETIKETT är unescaped:\n\\n newline\n\\t tab\n\\\" \"\n\\\\ \\\nI --label element endast, om det första tecknet i märkningen är en\ntilde (~), kan pango uppmärkning användas. Till exempel:\n--label '~Detta är vanlig.Detta är fet. '\n" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "\nUtöver de ALTERNATIV som anges ovan, --compact eller --expand alternativen kan läggas\ntill någon del. Även --font alternativet kan användas med de flesta\ntyper för att ändra elementets teckensnitt och teckenstorlek. Till exempel:\n--input --font \"Times New Roman 16\" \"Standard Text\" \n" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "\nINTERNA KOMMANDON:\n" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "\nEXEMPEL MED KOMMANDON:\n" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "spacefm -g --label \"Skriv in lite text och tryck Enter:\" \\\n--input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n--label \\\n--button ok\n" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "\nEXEMPEL SKRIPT:\n" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "#!%s\n# Detta skript visar en Ja/Nej dialog\n# Använd CITERAD eval för att läsa variabler producerat av SpaceFM Dialog:\neval \"` spacefm -g --label \"Är du säker?\" --button ja --button no` \"\nif [[\"$dialog_pressed\" == \"button1\"]]; then\necho \"Användare tryckte Ja - gör något\"\nelse\necho \"användaren tryckte inte Ja - avbryt\"\nfi\n" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "\nFör fullständig dokumentation och exempel se SpaceFM Bruksanvisning:\n" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: argumentet är inte giltig UTF-8\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "ogiltig dialog alternativet" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "Ange fönster titel" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "Ange fönster ikon" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "Lägg till en etikett" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "Lägg till STOCK dialog knapp, eller ETIKETT knapp med IKON" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "Lägg till STOCK dialog knapp, eller ETIKETT knapp med IKON varsomhelst" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "Lägg till en textruta" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "Lägg till stor textruta" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "Lägg till lösenordsruta" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "Lägg till en fil eller pipe visare" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "Lägg till multi-line text editor" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "Lägg till en kryssruta" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "Lägg till en radioalternativ" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "Lägg till en ikon" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "Lägg till en bild" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "Lägg till en förloppsindikator" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "Lägg till en horisontell linje separator" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "Lägg till en vertikal linje separator" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "Stäng automatiskt fönstret efter DELAY sekunder" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "Lägg till en rullgardinsmenyn. KOMMANDO körs när du klickar." #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "Lägg till en kombinationsruta lista. KOMMANDO körs när Enter trycks." #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "Lägg till en listruta. KOMMANDO körs när du dubbelklickar." #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "Lägg till en listruta med flera markeringar" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "Alternativ: [--save] [--dir] [--multi] [--filter F[:F...]]" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "Ange basvariabel variabelnamn (Standard: \"dialog\")" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "Ange minsta bredd, höjd, utfyllnad (-1 = ändra inte)" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "Lägg till följande widgetar till en horisontell ruta" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "Lägg till följande widgetar till en vertikal ruta" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "Stäng den aktuella rutan med widgets" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "Kör KOMMANDO när en tangentkombination trycks" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "Kör KOMMANDO när ett element klickas eller fokuseras" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "Kör KOMMANDO vid försök att stänga fönstret" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "Läs kommandon från FIL eller PIPE. KOMMANDO för init." #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "Ingen operation - gör ingenting men värderar argumenten" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "Stäng dialogrutan" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "Tryck på knappen som heter KNAPP-NAMN" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "Ställ in elementet NAMN till VÄRDE" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "Välj objekt VÄRDE (eller första/alla) i elementet NAMN" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "Avmarkera objekt VÄRDE (eller alla) i elementet NAMN" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "Fokus elementet NAMN, eller höj dialogruta" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "Dölj elementet NAMN" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "Visa elementet NAMN om tidigare dold" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "Inaktivera elementet NAMN" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "Aktivera elementet NAMN om tidigare inaktiverat" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "spara filer och skriv källutdata till FIL" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "Öppna kataloger i ny flik i sista fönstret (standard)" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "Öppna mapp i aktuell flik i senast använda fönstret" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "Ladda inte sparade flikar" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "Öppna kataloger i nytt fönster" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "Öppna kataloger i panelen 'P' (1-4)" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "Starta Skrivbordshanterar daemon" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "Visa skrivbordsinställningar" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "Visa Inställningar ('N' är ett Pref fliknummer)" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "Kör som en daemon" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "Använd DIR som konfigurationskatalog" #: ../src/main.c:138 msgid "Show File Search" msgstr "Visa filsökning" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "Ställ in skrivbordsbakgrund till FIL" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "Visa en anpassad dialogruta (se -g help)" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "Skicka ett socket kommando (Se -s help)" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "Ingen funktion - endast för kompatibilitet" #: ../src/main.c:151 msgid "Show version information" msgstr "Visa versionsinformation" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "[DIR | FIL | URL]..." #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "Alternativ --config-dir ignoreras - en instans körs redan" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "Alternativ --config-dir innehåller ogiltiga tecken - kan inte starta" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "spacefm: --socket-cmd kräver ett argument\n" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "spacefm: kunde inte skapa socket\n" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "spacefm: kunde inte ansluta till socket (inte igång eller DISPLAY inte angiven?)\n" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "spacefm: ogiltigt svar från socket\n" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "SpaceFM socket kommandona tillåter externa processer (såsom kommandoskript)\natt läsa och sätta GUI egenskapsvärden och exekvera metoder inuti körande SpaceFM\nfönster. För att hantera händelser se Visa | Händelser i huvudmenyn." #: ../src/main.c:677 msgid "Usage:" msgstr "Användning:" #: ../src/main.c:679 msgid "Example:" msgstr "Exempel:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "METODER\n-------" #: ../src/main.c:684 msgid "Sets a property" msgstr "Ställer in en egenskap" #: ../src/main.c:687 msgid "Gets a property" msgstr "Hämtar en egenskap" #: ../src/main.c:690 msgid "Sets a task property" msgstr "Ställer in en uppgifts egenskap" #: ../src/main.c:693 msgid "Gets a task property" msgstr "Hämtar en uppgifts egenskap" #: ../src/main.c:696 msgid "Starts a new task" msgstr "Startar en ny aktivitet" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "Aktiverar ett menyalternativ genom att sända dess genvägsknapp" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "Kör eget kommando eller visa undermeny med NAMNET" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "Lägg till asynkron hanterar KOMMANDO till HÄNDELSE" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "Lägg till asynkron hanterar KOMMANDO till HÄNDELSE, ersätt standard hanterare" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "Ta bort hanterare KOMMANDO från HÄNDELSE" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "Visar denna hjälp referens. (Se även manuallänken nedan.)" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "ALTERNATIV\n-------" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "Lägg alternativen efter METOD för att ange ett visst fönster, panel, och/eller flik." #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "Annars används den nuvarande fliken i den nuvarande panelen i senaste fönstret." #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "Ange fönster. t.ex.:" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "Ange panel 1-4. t.ex.:" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "Ange flik 1-... t.ex.:" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "EGENSKAPER\n----------" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "Ange egenskaper med METODEN 'set', eller få värdet med 'get'." #: ../src/main.c:730 msgid "eg '800x600'" msgstr "t.ex. '800x600'" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "t.ex. '100x50'" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "t.ex. '1024x768' (skrivskyddad)" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "t.ex. '100'" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "Öppna KAT eller standard i ny flik" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "t.ex. 'Aktuell status: Exempel'" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "Katalog t.ex. '/etc'" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "[FILNAMN...]" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "[MÖNSTER] t.ex. '*.Jpg'" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "t.ex. 'Några\\nlinjer\\nav text'" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "t.ex. '~/kopierafil-innehåll-till-clipboard.txt'" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "FIL... Filer kopierade till urklipp" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "FIL... Filer urklippt till urklipp" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "Aktivitetsegenskaper\n---------------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "innehåll i Status aktivitetskolumn (skrivskyddad)" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "t.ex. 'gtk-open'" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "text att visa i räkna aktivitetskolumnen" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "text att visa i katalog aktivitetskolumnen" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "text att visa i aktivitetskolumnen" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "text att visa i till aktivitetskolumnen" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "framsteg procent (1..100) eller '' pulsera" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "text att visa i total aktivitetskolumnen" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "text att visa i nuvarande aktivitetskolumnen" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "text att visa i återstående aktivitetskolumn" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "text att visa i genomsnitt aktivitetskolumnen" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "text att visa i kvarvarande aktivitetskolumnen" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "innehåll i Förfluten aktivitetskolumn (skrivskyddad)" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "innehåll i Startade aktivitetskolumn (skrivskyddad)" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "KOMMANDO kommando för att visa en anpassad aktivitets dialogfönster\n" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "AKTIVITETSTYPER\n----------" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "Kör KOMMANDO i KATALOG" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "Kopiera|Flytta|Länka FIL(er) eller KATALOG(er) till målkatalog" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "Rekursivt ta bort FIL(er) eller KATALOG(er)" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "Uppdatera flik eller specificerade KATALOG(ER)" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "Öppna FIL i användares eller roots texteditor" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "Öppna URL i användarens webbläsare" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "Montera ENHET eller URL" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "Avmontera ENHET eller monteringskatalog" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "HÄNDELSER\n------" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "Instans start %e" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "Instans avslut %e" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "nytt fönster %e %w %p %t" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "Fönsterfokus %e %w %p %t" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "Flytta/ändra storlek %e %w %p %t" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "Musklick %e %w %p %t %b %m %f" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "Fönster tangenttryckning %e %w %p %t %k %m" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "Stäng fönster %e %w %p %t" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "Panelfokus %e %w %p %t" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "Visa/göm panel %e %w %p %t %f %v" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "Urval har ändrats %e %w %p %t" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "Ny flik %e %w %p %t" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "Flik förändrar katalog %e %w %p %t %d" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "Flikfokus %e %w %p %t" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "Stäng flik %e %w %p %t" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "Enhet har ändrats %e %f %v" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "Händelse KOMMANDO substitution Variabler:" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "händelsetyp (evt_start|evt_exit|...)" #: ../src/main.c:828 msgid "window ID" msgstr "fönster ID" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "panel nummer (1-4)" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "flik nummer (1-...)" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "citerad katalog ('/etc')" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "musknapp (0=dubbel 1=vänster 2=mitt 3=höger ...)" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "tangentkod (t.ex. 0x63)" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "modifierartangenten (t.ex. 0x4 som används med klick och tangenttryckningar)" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "fokus element (panelN | Fillista | enheter | bokmärken | katalogträd | sökvägsrad)" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "fokus elementet är synligt (0 eller 1, eller enehtsstatus ändras)" #: ../src/main.c:838 msgid "Examples" msgstr "Exempel" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "Dessa filer har kopierats till urklipp" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "Fullständig dokumentation och exempel finns i SpaceFM Bruksanvisningen:" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "Denna kompileringen av SpaceFM har desktop integrationen inaktiverat" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "spacefm: Fel: Kunde inte spara session\n%s\n" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "Filen finns inte" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Fel" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "Fel: Gick inte att initiera inotify filövervakning\n\nHar du en inotify-kapabel kärna?" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Fel: Går inte att upprätta en anslutning med FAM\n\nHar du \"FAM\" eller \"Gamin\" installerat och igång?" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "--dialog måste vara första alternativet" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "--socket-cmd måste vara första alternativet" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "SpaceFM kräver att bash är installerat. Andra skal är INTE likvärdiga eftersom SpaceFM använder funktioner som bara finns hos äkta bash (v4+).\n\nProgrammet %s hittades inte. Installera bash eller använd konfigurera alternativet --with-bash-path för att ange en egen plats vid kompileringen." #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Vet inte hur man ska öppna filen" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Kunde inte öppna filen:\n\"%s\"\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Välj tilläggsfil" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Skriv in insticksprogram URL" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "Skriv in SpaceFM insticksprograms URL:\n\n(wget kommer att användas för att ladda ner insticksprogramfilen)" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "Detta plugin filnamn är ogiltigt. Byt namn på den med alfanumeriska ASCII-tecken och försök igen." #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "Ogiltigt pluginfilnamn" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "Det finns redan en plugin installerad som '%s'. Skriva över?\n\nTips: Du kan även byta namn på plugin-filen för att installera den under ett annat namn." #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "Skriva över insticksprogram?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Fel vid skapandet av temp katalog" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "Kunde inte skapa temporär katalog" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "Fel: Kunde inte spara sessionsfil\n\n( %s )" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Spara sessionsfel" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Öppna root fönster" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal är inte tillgänglig" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Vänligen ange ditt terminalprogram i Visa | Inställningar | Avancerat" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Öppna Terminal" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "Designläges hjälp" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "Designläge tillåter dig att ändra namnet, kortkommando och ikonen för menyn, verktygsfält och bokmärke objekt, visa hjälp för ett objekt, och lägg till dina egna kommandon och applikationer.\n\nOm du vill öppna Design Meny, högerklicka helt enkelt på ett menyalternativ, bokmärke, eller objekt i verktygsfältet. Om du vill öppna Design Meny för en undermeny, stäng först undermenyn (genom att klicka på det).\n\nFör mer information, klicka på knappen Hjälp nedan." #: ../src/main-window.c:1903 msgid "Panel" msgstr "Panel" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Nytt _Kommando" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "Visa panel %d" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Arkiv" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "_Visa" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Enheter" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "_Bokmärken" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Tillägg" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "_Verktyg" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "_Hjälp" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "Fel: Kunde inte spara sessionsfilen. Vill du att avsluta utan att spara?\n\n( %s )" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "SpaceFM fel" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "Stoppa alla aktiviteter som körs i det här fönstret?" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "Avslutar aktiviteter..." #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr "%s ledigt / %s" #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "%sLäser %s ..." #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr "Länk → %s" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr "Länk → %s/" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr "!Länk → %s/ (saknas)" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr "Länk → %s (%s)" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr "!Länk → %s (saknas)" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr "!Länk → ( fel vid läsning av mål )" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "dold" msgstr[1] "dold" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "%s%d synlig (%s) %s" msgstr[1] "%s%d synlig (%s) %s" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "%s%d objekt %s" msgstr[1] "%s%d objekt %s" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "Enhetshanterarens genvägar är inaktiverade i HAL-läge" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "Status" #: ../src/main-window.c:4302 msgid "#" msgstr "#" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Mapp" #: ../src/main-window.c:4302 msgid "Item" msgstr "Objekt" #: ../src/main-window.c:4303 msgid "To" msgstr "Till" #: ../src/main-window.c:4303 msgid "Progress" msgstr "Förlopp" #: ../src/main-window.c:4303 msgid "Total" msgstr "Totalt" #: ../src/main-window.c:4304 msgid "Started" msgstr "Startad" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "Förfluten" #: ../src/main-window.c:4304 msgid "Current" msgstr "Nuvarande" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "AÅterstår" #: ../src/main-window.c:4305 msgid "Average" msgstr "Genomsnitt" #: ../src/main-window.c:4305 msgid "Remain" msgstr "Återstår" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "Ändra ordning Kolumner Hjälp" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "För att ändra ordningen på kolumnerna, dra kolumnrubriken till önskad plats." #: ../src/main-window.c:5913 msgid "moving" msgstr "flyttar" #: ../src/main-window.c:5914 msgid "copying" msgstr "kopierar" #: ../src/main-window.c:5915 msgid "trashing" msgstr "kastar" #: ../src/main-window.c:5916 msgid "deleting" msgstr "tar bort" #: ../src/main-window.c:5917 msgid "linking" msgstr "länkar" #: ../src/main-window.c:5918 msgid "changing" msgstr "ändrar" #: ../src/main-window.c:5919 msgid "running" msgstr "kör" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "%d fel %s" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "%d fel %s" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "pausad" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "köad" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Namn" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Storlek" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Typ" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Behörighet" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "Ägare" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "Ändrad" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "spacefm: ogiltig socket kommando\n" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: ogiltigt alternativ '%s'\n" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: alternativ %s kräver ett argument\n" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "spacefm: ogiltig fönster\n" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "spacefm: ogiltig fönster %s\n" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: ogiltig panel %d\n" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: panel %d är inte synlig\n" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "spacefm: ogiltig flik %d\n" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "spacefm: kommandot set kräver ett argument\n" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "spacefm: ogiltig %s värde\n" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "spacefm: ogiltig reglage värde\n" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "spacefm: ogiltig panelnummer\n" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "spacefm: ogiltig fliknummer\n" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: Ogiltig värde %s\n" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "spacefm: ogiltig kolumnbredd\n" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: ogiltigt kolumnnamn '%s'\n" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: texten är inte giltig UTF-8\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s kräver en sökväg\n" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: fel vid läsning av fil '%s'\n" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: file '%s' innehåller inte giltig UTF-8 text\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s kräver en sökväg\n" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: katalogen '%s' existerar inte\n" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: kommandot %s kräver ett argument\n" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s kräver två argument\n" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: ogiltig aktivitet '%s'\n" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "spacefm: intern aktivitet %s är skrivskyddad\n" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: aktivitet egenskapen '%s' är skrivskyddad\n" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: ogiltig kö tillstånd '%s'\n" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: ogiltig aktivitet värde '%s'\n" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: ingen sådan katalog '%s'\n" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "spacefm: ogiltig %s aktivitets alternativ '%s'\n" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "spacefm: ingen sådan fil '%s'\n" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "spacefm: uppgift typ %s kräver udev\n" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "spacefm: uppgift typ %s kräver MÅL argument\n" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "spacefm: ogiltigt MÅL '%s'\n" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "spacefm: relativ sökväg '%s' kräver %s flaggan --dir DIR\n" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "spacefm: aktivitetstyp %s kräver FIL argument(er)\n" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "spacefm: ogiltig aktivitetstyp '%s'\n" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "spacefm: ogiltig tangentkod '%s'\n" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "spacefm: eget kommando eller undermeny '%s' hittades inte\n" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "spacefm: objektet '%s' kontext dold eller inaktiverad\n" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "spacefm: ogiltig händelse typ '%s'\n" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: händelsehanterare hittades inte\n" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: ogiltig socket metod '%s'\n" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "Standard" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "välj skrivbordstypsnitt" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "Exempel post 0123456789" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "Krav på genomskinlighet" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "Allmän anmärkning: För skrivbords transparens ska fungera, måste du köra ett compositing fönsterhanterare eller separat compositer som compton eller xcompmgr. Du kan sedan använda använda nitrogen eller xwinwrap för att ställa in bakgrundsbild på bakgrunden.\n\nDetta meddelande kommer inte att upprepas." #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "Begränsad terminalemulator vald" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "På grund av begränsningar i gnome-terminal, konsole, lxerminal och urxvtc, kan användning av dessa terminaler med SpaceFM förhindra kör som uppgift och kör i terminal alternativ används tillsammans för att köra kommandon. Till exempel, kan detta leda till protokoll monterade i en terminal att misslyckas med att automatiskt öppna efter montering. För fullt utnyttjande av SpaceFM funktioner, rekommenderas att välja en annan terminal." #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "Du kommer nu att bli tillfrågad om ditt root-lösenord för att spara de grundläggande inställningarna för den här användaren till en fil i %s/spacefm/ Ange lösenordet i nästa fönster rekommenderas. Eftersom SpaceFM kör vissa kommandon som root via SU, är dessa inställningar bäst skyddade av root." #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "Spara root inställningar" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Ange program eller bash kommandorad:\n\nAnvändning:\n\t%%F \t valda filer eller %%f första vald fil\n\t%%N \t valda filnamn eller %%n första valda filnamn\n\t%%d \t nuvarande katalog\n\t%%v \t valda enheten (t.ex. /dev/sda1)\n\t%%m \t enhet monteringspunkt (t.ex. /media/dvd); %%l enhetsetikett\n\t%%b \t valda bokmärket\n\t%%t \t valda uppgiften katalog,%% p uppgift pid\n\t%%a \t menyalternativ värde\n\t$fm_panel, $fm_tab, $fm_command osv." #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "Ange ett ikon namn, ikon sökväg eller stock namn:\n\nEller klicka på Välj för att välja en ikon. Inte alla ikoner fungerar korrekt på grund av olika problem." #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Ange objektnamn:\n\nFöregå ett tecken med ett understreck (_) för att understryka ett tecken som kortkommando om så önskas." #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "Ange nytt objekt namn:\n\nFöregå ett tecken med ett understreck (_) för att understryka ett tecken som kortkommando om så önskas.\n\nTIPS: Om du vill ändra detta objekt senare, högerklicka på objektet för att öppna Design menyn." #: ../src/settings.c:156 msgid "Show Devices" msgstr "Visa enheter" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "Visa bokmärken" #: ../src/settings.c:158 msgid "Show Tree" msgstr "Visa träd" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "Hem" #: ../src/settings.c:161 msgid "Up" msgstr "Upp" #: ../src/settings.c:162 msgid "Back" msgstr "Tillbaka" #: ../src/settings.c:163 msgid "Back History" msgstr "Bakåthistorik" #: ../src/settings.c:164 msgid "Forward" msgstr "Framåt" #: ../src/settings.c:165 msgid "Forward History" msgstr "Framåthistorik" #: ../src/settings.c:166 msgid "Refresh" msgstr "Uppdatera" #: ../src/settings.c:167 msgid "New Tab" msgstr "Ny flik" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Ny flik här" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "Visa dolda" #: ../src/settings.c:171 msgid "Large Icons" msgstr "Stora ikoner" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "%s: %s innehåller ogiltiga tecken - ignorerades" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "%s: tmp_dir '%s' finns inte - återgår till %s" #: ../src/settings.c:462 msgid "file not found" msgstr "fil hittades inte" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "Ignorera _göm policy" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "Ignorera i_ngen policy" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "_FAQ" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "_Stopp" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "Visa ha_nteraren" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "Göm automatiskt _hanteraren" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "Fe_l" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "Aktuell åte_rstående" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "Gen_omsnittligt återstående" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Katalog" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "_Detaljerad statistik" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "Ta bo_rt / Mata ut" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "_Importera" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "Ak_tivitets hanterare" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "F_ilnamn" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "T_yp" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "M_ål" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "_Mall" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "Öppna _URL" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "# SpaceFM Session Fil\n\n# Den här filen är inte avsedd att redigeras - det kommer att läsas och skrivas över\n\n# Om du tar bort alla sessions* filer, kommer SpaceFM återställas till fabriksinställningarna. \n" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "Fel vid sparande av fil" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "SpaceFM Fel: Kunde inte autospara sessionsfilen (%s)\n" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "\nVälj menyobjekt '%s' som hanterare\n" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "Fel vid läsning av root inställningar från %s/spacefm/ Kommandon som körs som root kan utgöra en säkerhetsrisk" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "Inga root inställningar hittades i %s/spacefm/ Inställning av en root editor i Inställningar bör ta bort denna varning vid start. Annars kan kommandon som körs som root kan utgöra en säkerhetsrisk." #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "Hjälp inte tillgänglig" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "Denna plugin inkluderar inte en README-fil." #: ../src/settings.c:4346 msgid "Create README" msgstr "Skapa README" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "Ingen README fil finns för detta kommando.\n\nSkapa en standard README fil åt dig att fylla i?" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "Skapandet misslyckades" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "Ett fel uppstod vid skapandet av README-filen för detta kommando." #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "Ett fel uppstod vid kopiering av kommando filer\n\n%s" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "Kopiera kommando fel" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "Ett fel uppstod vid kopiering av kommando datafiler\n\n%s" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "Fel vid läsning av plugin-fil %s" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "Den importerade plugin mappen innehåller inte ett giltigt plugin.\n\n(% s/)" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "Ogiltig plugin" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "Denna '%s' plugin har kopierats till design urklipp. Använd Visa|Designläge för att klistra in en meny \n\nEftersom det inte har installerats, kommer denna plugin inte visas i Plugins-menyn." #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "Plugin '%s' har kopierats till design urklipp. Använd Visa|Designläge för att klistra in en meny \n\nEftersom den inte har installerats, kommer denna plugin inte att visas i Plugin-menyn och dess innehåll skyddas inte av root (har den en gång klistrats in kommer den att sparas med normalt ägande). \n\nOm denna plugin innehåller su kommandon eller kommer den att köras som root, installera och kör det endast från Plugin-menyn rekommenderas för att förbättra säkerheten i ditt system." #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "Avinstallera '%s' plugin?\n\n( %s )" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Avinstallera tillägg" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Installera tillägg" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "Spara som tilläggsfil" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Eportera tillägg" #: ../src/settings.c:5601 msgid "Export Error" msgstr "Exportfel" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "Kunde inte skapa temporärfiler" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "Bokmärkes målet '%s' saknas eller är ogiltig." #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "Ogiltigt bokmärkesmål" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "Ändra objektnamn" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "Editor är inte angivet" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "Vänligen ange din redaktör Visa | Inställningar | Avancerat" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "Root Editor är inte angivet" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "Vänligen ange roots editor i Visa | Inställningar | Avancerat" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "Redigera %s" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "Bruksanvisning hittades inte" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "Läsa bruksanvisningen på nätet?\n\nDen lokala kopian av SpaceFM bruksanvisningen hittades inte. Klicka på Ja för att läsa den på nätet, eller klicka på Nej och sedan ange rätt plats i Hjälp | Alternativ | Manual Plats." #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "Manual öppnad?" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "SpaceFM bruksanvisningen borde ha öppnats i din webbläsare. Om den inte öppnas, eller om du vill använda en annan webbläsare, ställ in din webbläsare i Hjälp | Alternativ | Webbläsare.\n\nDetta meddelande kommer inte att upprepas." #: ../src/settings.c:6627 msgid "( none )" msgstr "( ingen )" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tKeycode: %#4x Modifier: %#x\n\n%s är redan tilldelad till '%s'.\n\nTryck på en annan tangent eller klicka på Ange för att ersätta den nuvarande tangenttilldelningen." #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "\t%s\n\tKeycode: %#4x [%#4x] Modifier: %#x\n\n%s är redan tilldelad \"%s\".\n\nTryck på en annan tangent eller klicka på Ställ in för att ersätta den nuvarande nyckeltilldelning." #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "\t%s\n\tKeycode: %#4x Modifier: %#x" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "Tryck din tangentkombinationen för posten '%s' och klicka sedan på Ställ in. För att ta bort den aktuella nyckeltilldelning klickar Nollställ." #: ../src/settings.c:6820 msgid "Cancel" msgstr "Avbryt" #: ../src/settings.c:6826 msgid "Unset" msgstr "Nollställ" #: ../src/settings.c:6839 msgid "Set" msgstr "Ange" #: ../src/settings.c:6853 msgid "Set Key" msgstr "Ange tangentkombination" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "Sätt ikon" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "Redigera kommandoraden" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "Välj anpassad körbar fil" #: ../src/settings.c:7041 msgid "Run As User" msgstr "Kör som användare" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "Kör detta kommando som:\n\n(Lämna blankt för nuvarande användare)" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Du lägger till ett anpassat kommando till Standard menyalternativet. Denna post kommer automatiskt att få ett pre-sammanhang - det kommer bara att visas när den MIME-typen för den första valda filen matchar den aktuella typen '% s'.\n\nLägg kommandon eller menyer här som du bara vill ska visas för den här MIME-typ." #: ../src/settings.c:7050 msgid "New Context Command" msgstr "Ny kontext Kommando" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "Ange föremålsnamn" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "Välj katalog" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "Du lägger till en anpassad undermeny till Standard menyalternativet. Denna post kommer automatiskt att få en pre-sammanhang - den kommer bara att visas när den MIME-typen för den första valda filen matchar den aktuella typen '%s'.\n\nLägg kommandon eller menyer här som du bara vill ska visas för den här MIME-typen." #: ../src/settings.c:7140 msgid "(none)" msgstr "(ingen)" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "Ange undermenynamn" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "Ange undermeny namn:\n\nFöregå ett tecken med ett understreck (_) för att understryka ett tecknet som ett kortkommando om så önskas." #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "Ny _undermeny" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "GTK bokmärken (%s) kommer att importeras till nuvarande eller vald undermeny. Observera att importera ett stort antal bokmärken (t.ex. mer än 500) kan påverka prestandan." #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "Importera GTK bokmärken" #: ../src/settings.c:7346 msgid "( no name )" msgstr "(inget namn)" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "Permanent ta bort '%s' UNDERMENY OCH ALLA OBJEKT I DEN?\n\nDenna åtgärd kommer att radera alla inställningar och filer associerade med dessa objekt." #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "Permanent ta bort '%s' objekten?\n\nDenna åtgärd kommer att radera alla inställningar och filer som hör till detta objekt." #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "Bekräfta borttagning" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Är du säker?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "Dialog meddelande" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "Ange meddelandet som ska visas i den här dialogrutan:\n\nAnvändning:\n\t\\n\tny rad\n\t\\t\ttabb" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "Klipp _ut" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "_Kopiera" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "Klistra _in" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "_Ta bort" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "E_xportera" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "_Ny" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Bokmärken" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "Progr_am" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "_Kommando" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "Under_meny" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "Avgränsar_e" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "_URL" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "_GTK bokmärken" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "Lä_gg till" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "V_erktygstips" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "Tangentgenväg" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "_Redigera skript" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "_Redigera som root" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "_Redigera kommando" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "_Egenskaper" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "Välj ikon" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Redigera" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "Ange fönsterikon" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "V_älj" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "Stan_dard" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "Din inmatning är ogiltig eftersom den innehåller radmatningar" #: ../src/settings.c:9372 msgid "_OK" msgstr "_OK" #: ../src/settings.c:9509 msgid "_Unset" msgstr "_Nollställ" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "A_vmontera" #: ../src/settings.c:10640 msgid "Re_load" msgstr "_Ladda om" #: ../src/settings.c:10644 msgid "_Sync" msgstr "_Synkronisera" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Öppna" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "Öppna i _flik" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "_Montera" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "Åter_/montera" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "_Root" #: ../src/settings.c:10693 msgid "_Label" msgstr "E_tikett" #: ../src/settings.c:10743 msgid "_Check" msgstr "_Kontrollera" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "R_edigera fstab" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "Redigera u_devil.conf" #: ../src/settings.c:10755 msgid "_Format" msgstr "_Format" #: ../src/settings.c:10815 msgid "_Backup" msgstr "_Backupp" #: ../src/settings.c:10837 msgid "_Restore" msgstr "Åte_rställ" #: ../src/settings.c:10842 msgid "_From File" msgstr "_Från fil" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "Fil _info" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "I_nställningar" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "_Visa" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "_Interna enheter" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "Toma _enheter" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "_Partitions tabell" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "Monterade _nätverk" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "M_onterad övrigt" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "_Volymer..." #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "Visa/Göm volymer" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Att tvinga visa eller dölj vissa volymer, för att tvinga andra inställningar kan du ange enheterna, etiketter volym eller ID enhet i blankstegsavgränsad listan nedanför.\n\nExempel: + /dev/sdd1 -etikett med mellanslag +ata-OCZ-part4\nDetta skulle leda till att /dev/sdd1 och OCZ enheten ska visas, och volymen med etiketten \"etikett med mellanslag\" skall döljas.\n\nDet måste finnas ett utrymme mellan aktörer och ett plus-eller minustecken direkt innan varje föremål. Denna lista är skiftlägeskänsligt.\n\n" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "V_isa namn" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "Ange visningsnamns format" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "Ange enhet visningsnamn format:\n\nAnvändning:\n\t %%v\tenhet filnamn (t.ex. sdd1)\n\t %%s\ttotal storlek (t.ex. 800 G)\n\t %%t\tfstyp (t.ex. ext4)\n\t %%l\tvolume etikett (t.ex. Etikett eller [inget media])\n\t %% m\tmonterings punkt om monterat, eller---\n\t %%i\tenhets ID\n\t %%n\tmajor:minor enhetsnummer (t.ex. 15: 3)\n" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "_Automontera" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "Montera _optiska" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "_Montera flyttbara" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "Montera _volym..." #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "Automontera volymer" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "Att tvinga eller förhindra automounting av vissa volymer, tvingande andra inställningar kan du ange enheterna, etiketter volym eller ID enhet i blankstegsavgränsad listan nedan. \n\nExempel: + / dev/sdd1 -etikett med mellanslag +ata-OCZ-part4 \nDetta skulle leda till att /dev/sdd1 och OCZ enheten skall vara automatiskt monterad när de upptäcks, och volymen med etiketten \"etikett med mellanslag\" kommer att ignoreras. \n\nDet måste finnas ett utrymme mellan aktörer och ett plus-eller minustecken direkt innan varje föremål. Denna lista är skiftlägeskänsligt.\n" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "Montera kataloger..." #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "Automatisk monteringskataloger" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "Ange katalogen där SpaceFM automatiskt ska skapa monteringskataloger för fuse och liknande filsystem (%%a i handler kommandon). Denna katalog måste existera och vara skrivbar av användare (använd INTE /media), och tomma underkataloger kommer att tas bort. Om det lämnas tomt används, ~/.cache/spacefm/ (eller $XDG_CACHE_HOME/spacefm/).\n\nObservera att vissa hanterare eller monteringsprogram kanske inte lyder denna inställning.\n" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "Öppna _flik" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "A_vmontera vid avslut" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "Kö_r automatiskt" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "Vid _montering" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "Kör automatiskt vid montering" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Ange program eller bash kommando som ska köras automatiskt när en flyttbar enhet eller dataskiva automatiskt monteras:\n\nAnvändning:\n\t%%v\t\tenhet (t.ex. /dev/sda1)\n\t%%L\t\tenhetsetikett\n\t%%m\tenhet monteringspunkt (t.ex. /media/disk)" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "Vid ljudskiv_a" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "Kör automatiskt vid ljudskiva" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Ange program eller bash kommando som ska köras automatiskt när en CD sätts i en kvalificerad enhet:\n\nAnvändning:\n\t%%v\t\tenhet (t.ex. /dev/sda1)\n\t%%L\t\tenhetsetikett\n\t%%m\tenhet monteringspunkt (t.ex. /media/disk)" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "Vid _video DVD" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "Kör automatiskt vid video DVD" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Ange program eller bash kommando som ska köras automatiskt när en video-DVD automatiskt monteras: \n\nAnvändning:\n\t%%v\t\tenhet (t.ex. /dev/sda1)\n\t%%L\t\tenhetsetikett\n\t%%m\tenhet monteringspunkt (t.ex. /media/disk)" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "Vid _insättning" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "Kör automatiskt vid insättning" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Ange program eller bash kommando som ska köras automatiskt när en enhet sätts in:\n\nAnvändning:\n\t%%v\t\tenhet läggs till (t.ex. /dev/sda1)\n\t%%L\t\tenhetsetikett\n\t%%m\tenhetmonteringspunkt (t.ex. /media/disk)" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "Vid a_vmontering" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "Automatisk körning vid avmontering" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Ange program eller bash kommando som ska köras automatiskt när en enhet avmonteras på något sätt:\n\nAnvändning:\n\t%%v\t\tenhet omonterade (t.ex. /dev/sda1)\n\t%%L\t\tenhetsetikett\n\t%%m\tenhet monteringspunkt (t.ex. /media/disk)" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "Vid bo_rttagning" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "Kör automatiskt vid borttagning" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "Ange program eller bash kommando som ska köras automatiskt när en enhet tas bort (utmatning av media inte kvalificerat):\n\nAnvändning:\n\t%%v\t\tenhet bort (t.ex. /dev/sda1)\n\t%%L\t\tenhetsetikett\n\t%%m\tenhet monteringspunkt (t.ex. /media/disk)" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "_Monterings alternativ" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "Ange ditt komma eller mellanslags separerad lista på standardmonteringsalternativ nedan (%%o hanterare).\n\nFörutom vanliga alternativ, kan du även ange alternativ som ska läggas till eller tas bort för ett visst filsystem genom att använda formatet ALTERNATIV+filsystemstyp eller ALTERNATIV-filsystemstyp.\n\nExempel: nosuid, synk+vfat, synk+ntfs, noatime, noatime-ext4\nDetta kommer att lägga nosuid och noatime för alla filsystemstyper, lägga till synk för vfat och endast ntfs och ta bort noatime för ext4.\n\nObs! Vissa alternativ, t.ex. nosuid, kan läggas till av monteringsprogrammet även om du inte inkludera dem. Alternativ i fstab har företräde. pmount och vissa hanterare kan ignorera alternativen här." #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "Standard monteringsalternativ" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "Åter/Montera med alternativ" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "Enhet kommer att (åter)monteras med hjälp av alternativen nedan.\n\nUtöver ordinarie alternativ, kan du även ange alternativ som ska läggas till eller tas bort för ett visst filsystem genom att använda formuläret OPTION+FSTYPE eller OPTION-FSTYPE.\n\nExempel: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nDetta kommer att lägga nosuid och noatime för alla filsystem typer, tillsätt sync för vfat och ntfs bara, och ta bort noatime för ext4.\n\nObs: Vissa alternativ, såsom nosuid, kan läggas till av mount-programmet även om du inte inkludera dem. Alternativ i fstab har företräde. pmount ignorerar alternativen här." #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "Ändra detektering" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "Ange ditt komma eller mellanslag separerad lista av filsystem som inte ska övervakas för förändringar. Den här inställningen påverkar endast icke-blockenheter (exempelvis nfs eller fuse), och används vanligen för att förhindra SpaceFM att inte svarar med nätverksfilsystem. Laddning av miniatyrer kommer också att inaktiveras." #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "Ändra detekteringssvartlista" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "_Enhetshanterare" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "_Protokollhanterare" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "_Ikon" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "Ljud-cd" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "Optisk monterad" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "Optisk har media" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "Optisk inget media" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "Diskett monterad" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "Diskett avmonterad" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "Flyttbar monterad" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "Flyttbar avmonterad" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "Interna monterad" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "Interna avmonterad" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "Monterade nätverk" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "Monterad övrigt" #: ../src/settings.c:11148 msgid "_Settings" msgstr "_Inställningar" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "Bokmärkes_ikon" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "Under_menyikon" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "Vi_sa bokmärken" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "Nytt _bokmärke" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "_Namn" #: ../src/settings.c:11185 msgid "_Parent" msgstr "_Föregående" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "Sök_väg" #: ../src/settings.c:11204 msgid "_Option" msgstr "_Alternativ" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "_Länk" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "Kopiera _mål" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "Län_k mål" #: ../src/settings.c:11222 msgid "_As Root" msgstr "S_om root" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "_Teckensnitt" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "Flytta dialog teckensnitt" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "/home/user/Exempel filnamn.ext" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "Bekräfta s_kapa" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "Markerings_färg statusrad" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "Färg på markerad statusrad" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "Markera _text" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "Textfärg på statusrad" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "_Mellanklick" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "Kopiera _namn" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "Kopiera _sökväg" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "_Dölj panel" #: ../src/settings.c:11283 msgid "New _Window" msgstr "Nytt _fönster" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "R_ootfönster" #: ../src/settings.c:11289 msgid "_File Search" msgstr "_Filsökning" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "_Terminal" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "_Root terminal" #: ../src/settings.c:11302 msgid "Open URL" msgstr "Öppna URL" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "Ange URL i formatet: \n\tPROTOKOLL://användarnamn:lösenord@HOST:PORT/UTDELNING\n\nExempel: \n\tftp://mirrors.kernel.org\n\tsmb://user:pass@10.0.0.1:50/docs\n\tssh://user@sys.domain\n\nInklusive ett lösenord är osäkert. För att bokmärka en URL, högerklicka på dett monterade nätverket i Enheter och välj Bokmärk.\n" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "Spara _flikar" #: ../src/settings.c:11310 msgid "E_xit" msgstr "A_vsluta" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "Panel _1" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "Panel _2" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "Panel _3" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "Panel _4" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "Panel _verktygsrad" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "F_okus" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "_Föregående" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "_Nästa" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "_Göm" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "Händ_elsehanterare" #: ../src/settings.c:11391 msgid "_Instance" msgstr "_Instans" #: ../src/settings.c:11396 msgid "_Startup" msgstr "Upp_start" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "Ställ in instans Startkommando" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "Ange program eller bash kommando som ska köras automatiskt när en SpaceFM instans startar:\n\nAnvändning:\n\t%%e\thändelsetyp (evt_start)\n" #: ../src/settings.c:11402 msgid "_Exit" msgstr "_Avsluta" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "Ställ in Kommando vid instans avslut" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "Ange program eller bash kommando som ska köras automatiskt när en SpaceFM instans avslutas:\n\nAnvändning:\n\t%%e\thändelsetyp (evt_exit)\n" #: ../src/settings.c:11408 msgid "_Window" msgstr "_Fönster" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "_Ny" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "Ange nytt fönster kommando" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommandorad som ska köras automatiskt varje gång ett nytt SpaceFM öppnas:\n\nAnvändning:\n\t%%e\thändelsetyp (evt_win_new)\n\t%%w\tfönster id (se spacefm -s help)\n\t%%p\tpanel\n\t%%t\tfliken\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando." #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "_Fokus" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "Ange fönsterfokus kommando" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommandorad som ska köras automatiskt när en SpaceFM fönster får fokus:\n\nAnvändning:\n\t%%e\thändelsetyp (evt_win_focus)\n\t%%w\tfönster id (se spacefm -s help)\n\t%%p\tpanel\n\t%%t\tfliken\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando." #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "_Flytta/Ändra storlek" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "Ange fönste flytta/ändra storlek kommando" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "Ange program eller bash kommandorad som ska köras automatiskt när en SpaceFM fönster flyttas eller ändrar storlek:\n\nAnvändning:\n\t%%e\thändelsetyp (evt_win_move) \n\t%%w\tfönster id (se spacefm -s help)\n\t%%p\tpanel\n\t%%t\tfliken\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando.\n\nNotera: Detta kommando kan köras flera gånger under storleksändring." #: ../src/settings.c:11431 msgid "_Click" msgstr "Kli_ck" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "Sätt click kommando" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "Ange program eller bash kommando som ska köras automatiskt när musen klickas:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_win_click)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t flik\n\t%%b \t knapp (musknappen nedtryckt)\n\t%%m \t modifierare (specialtangenter)\n\t%%f \t fokus (element som fått klick)\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando när ingen asterisk prefix används.\n\nPrefixa ditt kommando med en asterisk (*) och villkorligt returnera 0 exit status för att hämma standardhanterare. Till exempel:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMitt knappen tryktes ner %%f\" --button ok &" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "_Knapptryckning" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "Ange fönster tangenttryckning kommanfo" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "Ange program eller bash kommando som ska köras automatiskt varje gång en knapp trycks:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_win_key)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t flik\n\t%%k \t nyckelkod (knapp intryckt)\n\t%%m \t modifierare (specialtangenter)\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando när ingen asterisk prefix används.\n\nPrefixa ditt kommando med en asterisk (*) och villkorligt returnera 0 exit status för att hämma standardhanterare. Till exempel:\n*if [\"%%k\" != \"0xffc5\"], then exit 1, fi, spacefm -g --label \"\\nkey F8 trycktes\" --button OK &" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "S_täng" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "Sätt stäng fönster kommando" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommando som ska köras automatiskt när SpaceFM stängs:\n\nAnvändning:\n\t%%e\thändelsetyp (evt_win_close)\n\t%%w\tfönster id (se spacefm -s help)\n\t%%p\tpanel\n\t%%t\t\tfliken\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando." #: ../src/settings.c:11449 msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "Ange panelfokus kommando" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommando som ska köras automatiskt när en panel får fokus:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_pnl_focus)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t flik\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando." #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "Vi_sa" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "Ange kommandot för visa panelen" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommando som ska köras automatiskt när en panel eller panel element visas eller göms:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_pnl_show)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t flik\n\t%%f \t fokus (element visas eller döljas)\n\t%%v \t synlig (1 eller 0)\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando." #: ../src/settings.c:11466 msgid "S_elect" msgstr "Väl_j" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "Ange panel val kommando" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "Ange program eller bash kommando som ska köras automatiskt när fil val ändras:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_pnl_sel)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t flik\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando.\n\nPrefixa ditt kommando med en asterisk (*) och villkorligt returnera 0 exit status för att hämma standardhanterare." #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "_Flik" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "Ange ny flik kommando" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommando som ska köras automatiskt varje gång en ny flik öppnas:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_tab_new)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t flik\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando." #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "_Ändra katalog" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "Ange flikförändrings kommando" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommando som ska köras automatiskt varje gång en flik ändras till en annan katalog:\n\nAnvändning:\n\t%%e\tevent typ (evt_tab_chdir)\n\t%%w\twindow id (se spacefm -s help)\n\t%%p\tpanel\n\t%%t\tflik\n\t%%d\tny katalogen\n\nExporterade bash variabler (t.ex. $fm_pwd, etc.) kan användas i detta kommando." #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "Ange flikfokus kommando" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "Ange program eller bash kommando som ska köras automatiskt varje gång en flik får fokus:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_tab_focus)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t flik\n\nExporterade bash variabler (t.ex. $fm_pwd, etc) kan användas i detta kommando." #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "_Stäng" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "Ange stäng flik kommando" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "Ange program eller bash kommando som ska köras automatiskt när en flik stängs:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_tab_close)\n\t%%w \t fönster id (se spacefm -s help)\n\t%%p \t panel\n\t%%t \t stängd flik" #: ../src/settings.c:11501 msgid "_Device" msgstr "_Enhet" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "Ange enhets kommando" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "Ange program eller bash kommando som ska köras automatiskt när en enhets tillstånd ändras:\n\nAnvändning:\n\t%%e \t händelsetyp (evt_device)\n\t%%f \t enhetsfil\n\t%%v \t förändring (tillsatt|borttagen|ändrad)\n" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "Fö_nstertitel" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "Ange fönstertitel format" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "Ange fönster titel format:\n\nAnvändning:\n\t%%n \t aktuell mapp (t.ex. bin)\n\t%%d \t aktuella sökvägen (t.ex. /usr/bin)\n\t%%p \t aktuella panelen nummer (1-4)\n\t%%t \t aktuella fliknummer\n\t%%p \t totala antalet paneler synliga\n\t%%T \t totala antalet flikar i aktuella panelen\n\t * \t asterisk visas om uppgifter som körs i fönster" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "F_önsterikon" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "Ange en ikon namn, ikon sökväg eller stock namn:\n\nEller klicka på Välj för att välja en ikon. Inte alla ikoner fungerar korrekt på grund av olika problem.\n\nFörutsatt alternativa SpaceFM ikoner:\n\tspacefm-[48|128]-[kub|pyramid]-[blue|green|red]\n\tspacefm-48-folder-[blue|red]\n\nTill exempel: spacefm-48-pyramid-geeön" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "_Fullskärm" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "_Designläge" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "_Alternativ" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Verktyg" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "Minia_tyrer (global)" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "_Installera" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "_Utförligt" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "In_kluderad" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "_Användarmanual" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "_Hemsida" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "SpaceFM _Nyheter" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "_Hämta tillägg" #: ../src/settings.c:11606 msgid "_Options" msgstr "_Alternativ" #: ../src/settings.c:11611 msgid "_Browser" msgstr "_Webbläsare" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "Välj webbläsare" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "Ange webbläsarens namn eller bash kommando som ska användas för att visa HTML-filer och webbadresser:\n\nAnvändning:\n\t%%u\turl\n\n(Lämna tomt för automatisk webbläsare upptäckt)" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "_Manual plats" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "Välj användarmanual plats" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "Ange lokal sökväg eller fjärr-URL för SpaceFM Användarmanual:\n\n(Lämna tomt för standard)\n" #: ../src/settings.c:11623 msgid "_About" msgstr "_Om" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "Vi_sa enhet" #: ../src/settings.c:11656 msgid "_Status" msgstr "_Status" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "_Räkna" #: ../src/settings.c:11673 msgid "_Item" msgstr "Ob_jekt" #: ../src/settings.c:11679 msgid "_To" msgstr "_Till" #: ../src/settings.c:11685 msgid "_Progress" msgstr "_Förlopp" #: ../src/settings.c:11692 msgid "T_otal" msgstr "T_otalt" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "Sta_rtad" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "_Förflutit" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "N_uvarande hastighet" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "Medelh_astighet" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "Or_dna om" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "Pa_usa" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "_Kö" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "Åte_ruppta" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "_Visa utmatning" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "_Alla aktiviteter" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "Teckensnitt aktivitetshanteraren" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "kopierar fil 1:15 65.2 M 30.2 M/s" #: ../src/settings.c:11789 msgid "_Columns" msgstr "_Kolumner" #: ../src/settings.c:11794 msgid "_Popups" msgstr "_Popupfönster" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "Visa _alla aktiviteter i popup-fönster" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "Visa övers_t" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "Över an_dra" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "Alla arbets_ytor" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "Ö_verskrivnings alternativ" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "F_el alternativ" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "Teckensnitt aktivitets popup-fönster (påverkar nya aktiviteter)" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "Exempel utmatning 0123456789" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "Stoppa om _först" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "Stopp_a på någon" #: ../src/settings.c:11857 msgid "_Continue" msgstr "_Fortsätt" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "_Kö" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "K_öa nya aktiviteter" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "_Smart kö" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "_Pausa vid fel" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "Ordna _ikoner" #: ../src/settings.c:11892 msgid "By _Name" msgstr "Efter _namn" #: ../src/settings.c:11895 msgid "By _Type" msgstr "Efter _typ" #: ../src/settings.c:11898 msgid "By _Date" msgstr "Efter _datum" #: ../src/settings.c:11901 msgid "By _Size" msgstr "Efter _storlek" #: ../src/settings.c:11904 msgid "_Custom" msgstr "A_npassad" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "_Stigande" #: ../src/settings.c:11910 msgid "D_escending" msgstr "Falland_e" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "Skrivbords inställninga_r" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "E_nheter" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "Skrivbor_ds katalog" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "Teckensnitt redigerare" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "Exempel inmatning 0123456789" #: ../src/settings.c:11964 msgid "Input Font" msgstr "Teckensnitt inmatning" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "K_ör" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "_Redigera" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Redigera som _Root" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "V_älj..." #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "Fil_hanterare..." #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "Öppna med stan_dard" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "I _flik" #: ../src/settings.c:11993 msgid "N_ew" msgstr "N_y" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "Flik _1" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "Flik _2" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "Flik _3" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "Flik _4" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "Flik _5" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "Flik _6" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "Flik _7" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "Flik _8" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "Flik _9" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "Flik 1_0" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "I _panel" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "Packa _upp" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Packa upp _till" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "_Visa innehåll" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "_Arkiv standard" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "_Öppna med program" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "Skapa _underkatalog" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "Skri_vbehörighet" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "Arkiv_hanterare" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "Kata_log" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Bokmärken" #: ../src/settings.c:12104 msgid "_Archive" msgstr "_Arkiv" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "_Flik" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "Flik _Här" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "Skrivbor_ds program" #: ../src/settings.c:12122 msgid "_Go" msgstr "_Gå" #: ../src/settings.c:12127 msgid "_Back" msgstr "_Bakåt" #: ../src/settings.c:12129 msgid "_Forward" msgstr "_Framåt" #: ../src/settings.c:12131 msgid "_Up" msgstr "_Upp" #: ../src/settings.c:12133 msgid "_Home" msgstr "_Hem" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "_Sätt som standard" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "Ver_klig sökväg" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "Fo_kus" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "Sökvägs_rad" #: ../src/settings.c:12149 msgid "_File List" msgstr "_Fillista" #: ../src/settings.c:12151 msgid "_Tree" msgstr "_Träd" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "_Flik" #: ../src/settings.c:12164 msgid "_Close" msgstr "_Stäng" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "St_il" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "K_olumner" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "Änd_ra ordning" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "_Gummibandsval" #: ../src/settings.c:12202 msgid "_Sort" msgstr "_Sortera" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "_Storlek" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "_Typ" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "_Rättighet" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "_Ägare" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "Ändr_ad" #: ../src/settings.c:12220 msgid "_Descending" msgstr "_Fallande" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "Nat_urlig" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "_Skiftlägeskänsligt" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "Kataloger fö_rst" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "F_iler först" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "B_landad" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "_Dolda först" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "Dolda _sist" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "_Uppdatera" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "Autosö_k" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "Sökvögsrad _Hjälp" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Döp om" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Ta bort" #: ../src/settings.c:12281 msgid "_Actions" msgstr "_Åtgärder" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "Kopie_ra överordnade" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "Klistar in _länk" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "Klis_tra in mål" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "Klistr_a in som" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "_Kopiera till" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "Plats" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "Senaste pl_atsen" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "_Flik" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12346 msgid "_Move To" msgstr "_Flytta till" #: ../src/settings.c:12350 msgid "_Location" msgstr "P_lats" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "_Flik" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "_Panel" #: ../src/settings.c:12383 msgid "_Select All" msgstr "Markera _alla" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "A_vmarkera alla" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Invertera markering" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "Välj g_enom mönster" #: ../src/settings.c:12392 msgid "R_oot" msgstr "R_oot" #: ../src/settings.c:12398 msgid "Move _To" msgstr "Flytta _till" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "_Egenskaper" #: ../src/settings.c:12414 msgid "_Quick" msgstr "S_nabb" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "_Rekursivt" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "Verk_tygsrad" #: ../src/settings.c:12526 msgid "T_ree" msgstr "T_räd" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "_Sidoverktygsfält" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "_Detaljerad" #: ../src/settings.c:12550 msgid "_Icons" msgstr "_Ikoner" #: ../src/settings.c:12555 msgid "_Compact" msgstr "_Kompakt" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "Stora ikoner" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "_Dolda filer" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "Teckensnitt fillista (panel %d)" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "Exempel 1.1 M fil -rwxr--r-- user:group 2011-01-01 01:11" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "Teckensnitt enhet (panel %d)" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "sr0 [inget media] :EXAMPEL" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "Teckensnitt bokmärke (panel %d)" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "Exempel bokmärkes namn" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "Teckensnitt sökvägsrad (panel %d)" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "$ cat /home/user/example" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "Teckensnitt flik (panel %d)" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "Teckensnitt statusrad (panel %d)" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "12 G fritt / 200 G 52 objekt" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "följ _katalog" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "_Ny flik" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "_Enkelklick" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "Katalog finns inte\n\n%s" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "Kan inte komma åt %s\n\n%s" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "Välj genom mönster" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "Ange mönster att välja filer och mappar:\n\nOm mönstret innehåller några versaler, kommer matchningen vara skiftlägeskänslig.\n\nExempel: ?*Sp*em*\n\nTIPS: Du kan också ange '%% MÖNSTER' i sökvägsfältet." #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "Välj placering..." #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "Ogiltig Destination" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "Källa och mål är samma." #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "Ogiltig Destination" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "Dölj fil" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "Namnen på de markerade filerna läggs till. \"hidden\" fil i den här mappen, som kommer att dölja dem i SpaceFM. Du kan behöva uppdatera vyn eller starta om SpaceFM för att filerna skall försvinna.\n\nOm du vill visa en fil, öppna .hidden filen i din textredigerare, ta bort namnet på filen och uppdatera." #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "Fel dölja filer" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "Inga filer valda" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Kan inte montera enhet" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Kan inte avmontera enhet" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Kan inte mata ut enhet" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "udev är inte konfigurerad" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "Montering av en nätverksresurs kräver en udev (--disable-hal) kompilering av SpaceFM." #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "Ogiltig URL" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "Den angivna URL är inte giltig" #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "Hittade ingen hanterare" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "Ingen nätverkshanterare har konfigurerats för denna URL, eller är inget monterings kommando inställt. Lägg till en hanterare i Enheter | Inställningar | protokollhanterare." #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "Öppna URL %s" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "montera" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "avmontera" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "Ingen hanterare är konfigurerad för denna typ av enhet, eller ingen %s kommando inställd. Lägg till en hanterare i Inställningar | Enhetshanterare eller protokollhanterare." #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "Montera %s" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "%s är för närvarande monterad. Du måste avmontera den innan du kan kontrollera den." #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "Enhet är monterad" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Ange filsystem kontroll kommando:\n\nAnvändning:\n\t%%%%v\tenhet (%s)\n\nRedigera med FÖRSIKTIGHET det här kommandot körs som root" #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "Kontrollera som root" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "KONTROLLERA SOM ROOT" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "Kontrollera som root %s" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Ange monterings kommandot: \n\nAnvändning:\n\t%%%%v \t enhetens fil ( %s )\n\t%%%%o \t volym-specifika monteringsalternativ\n\t \t ( %s )\n\nObs: fstab åsidosätter några alternativ\n\nREDIGERA MED OMSORG Det här kommandot körs som root" #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "Montera som root" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "MONTERA SOM ROOT" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "Montera som root %s" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Ange avmontera kommando:\n\nAnvändning:\n\t%%%%v \t enhetens fil ( %s )\n\nREDIGERA MED OMSORG Det här kommandot körs som root" #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "Avmontera som root" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "AVMONTERA SOM ROOT" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "Avmontera som root %s" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "\n\nVARNING: %s är monterad. Du kanske vill eller behöver avmontera den innan du ändrar etiketten." #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "Skriv in volym etikett för %s:%s" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "Ändra volym etikett" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Ange bort etiketten kommando för filsystemstyp '%s':\n\nAnvändning:\n\t%%%%v \t enhets fil ( %s )\n\t%%%%l \t ny etikett ( \"%s\")\n\nREDIGERA MED OMSORG det här kommandot körs som root %s" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "Ange byt etikett kommando för fstyp '%s':\n\nAnvändning:\n\t%%%%v \t enhets fil ( %s )\n\t%%%%l \t ny etikett ( \"%s\" )\n\nREDIGERA MED OMSORG det här kommandot körs som root %s" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "Ändra etikett som root" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "ETIKETT SOM ROOT" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "Etikett som root %s" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "Avmontera %s" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "Ta bort %s" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "Återmontera %s" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "Ladda om %s" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "Synka" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "%s är för närvarande monterad. Du måste avmontera den innan du kan formatera den." #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "( EN HEL ENHET )" #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Du håller på att radera %s %s- ALL DATA KOMMER ATT FÖRLORAS. Ha tålamod - det kan ta en stund och dd ger ingen feedback.\n\nAnge kommandot för att skriva över hela volymen med /dev/%s:\n\nAnvändning:\n\t%%%%v \t enheten fil ( %s )\n\nREDIGERA MED OMSORG Det här kommandot körs som root" #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Du håller på att formatera %s %s- ALL DATA KOMMER ATT FÖRLORAS.\n\nAnge %s format kommando:\n\nAnvändning:\n\t%%%%v \t enhet fil ( %s )\n\nREDIGERA MED OMSORG kommandot körs som root" #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "Format" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "WARNING DATAFÖRLUST" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "Format %s" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "%s är för närvarande monterad. Du måste avmontera den innan du kan återställa den." #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "Välj backupp för återställning" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "Du är på väg att skriva över MBR boot-koden på %s med %s.\n\nDenna förändring kan hindra datorn från att starta upp ordentligt. Alla viktiga data på hela enheten bör säkerhetskopieras först.\n\nFortsätta? (Om du trycker på Ja, har du fortfarande en möjlighet att avbryta innan disken modifieras.)" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "Återställ MBR" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "Okänd typ" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "Den valda filen är inte en igenkänd säkerhetskopia.\n\nFSArchiver filnamn innehåller 'fsarchiver' eller slutar på '.fsa'. Partimage filnamn innehåller 'partimage' eller slutar på '.000'. MBR filnamn slutar på '.mbr', '.mbr.bin', eller '-MBR-back' och är 512 byte i storlek. Om du är SÄKER på att den här filen är en giltig säkerhetskopia, kan du byta namn på den för att undvika detta fel." #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Du är på väg att återställa %s % sanvändning av %s - ALL DATA KOMMER ATT FÖRLORAS.\n\nAnge%s Kommandot restore:\n\nAnvändning:\n\t%%%%v \t enhet fil ( %s )\n\t%%%%s \t backup-fil ( %s )\n\nREDIGERA MED OMSORG det här kommandot körs som root" #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "Återställ" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "%s Återställ %s" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "%s katalogen hittades inte. Är udevil installerat?" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "Katalog saknas" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "Välj backupp för info" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "MBR fil" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "Utifrån sitt namn, verkar den valda filen vara en MBR backup-fil. Ingen annan information är tillgänglig för denna typ av backup." #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "Återställ info" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "\n\nVARNING: %s är monterad. Som standard kommer FSArchiver säkerhetskopiera endast volymer monterade skrivskyddad. För att kopiera en läs-skriv volym, måste du lägga till --allow-rw-mounted till kommandot. Se 'man fsarchiver' för detaljer." #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "%s är för närvarande monterad. Du måste avmontera den innan du kan skapa en säkerhetskopia med hjälp Partimage." #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "Spara %s backupp" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "Skriva över?" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "Den valda backuppen finns redan. Skriva över?" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "Ange %s backup kommando: \n\nAnvändning:\n\t%%%%v \t enhet fil ( %s )\n\t%%%%s \t backup-fil ( %s ) %s\n\nREDIGERA MED OMSORG Det här kommandot körs som root" #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "Reserv" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "%s Backupp %s" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "Egenskaper %s" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "%sNuvarande vald enhet: %s\nVolymetikett: %s\nEnhets-ID: %s" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "Mata _ut" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "Döda som annan" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "K_ö" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "Åter_uppta" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "Stoppa som annan" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "Fortsät som annan" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Flytta:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopiera:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "Papperskorg:" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Ta bort:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Länk:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "Ändra:" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "Kör:" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Flyttar..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopierar..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "Tar bort..." #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Tar bort..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Länkar..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "Ändrar..." #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "Körs..." #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "Från:" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Till:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "Progress:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "Status: " #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "Pausad" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "Köad" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "Fråga" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Skriv över alla" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Hoppa över alla" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "Byt namn automatiskt" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "Stoppa om fel först" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "Stoppa på något fel" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "Fortsätt" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "Stoppad" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "Fel" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "Färdigt" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "%s (%s) %s återstår" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "Fel ( Stoppa om först )" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "Fel (stoppa på någon)" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "Stoppade med %d fel" msgstr[1] "Stoppade med %d fel" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "Avslutades med %d fel" msgstr[1] "Avslutades med %d fel" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "Färdig men med fel ( avsluts status %d )" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "Färdig men med fel" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "Pausad ( pid %d )" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "Pausad ( avslutningsstatus %d )" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "Köad ( pid %d )" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "Köad ( avslutningsstatus %d )" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "Kör med %d fel" msgstr[1] "Kör med %d fel" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "Kör... ( pid %d )" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "Kör... ( avslutningsstatus %d )" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "avstannat" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "[SNIP - ytterligare fel ovan har trimmats från denna logg]\n" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "Flyttar från katalog:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "Länkar från katalog:" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "Kopierar från katalog:" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "Katalog finns" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "Katalog finns redan. Var vänlig byt namn eller välj ett alternativ." #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "\t( länk )" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "\t! skriv över fil med länk !" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "( samma storlek )" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "%s\t( %lu bytes )" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "större" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "mindre" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "( samma tid )\t" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "nyare" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "äldre" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "Filnamn finns" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "Filnamnet finns redan, Var vänlig byt namn eller välj en åtgärd." #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "Namnbyte krävs" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "I katalog:" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "S_kriv över" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "Skriv över alla" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "_Pausa" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "_Hoppa över" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "Hoppa ö_ver alla" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "Till katalog:" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "Katalog namn:" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "B_yt namn" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "Ändra namn a_utomatiskt" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "Ändra alla namn a_utomatiskt" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "Fel vid laddning av hanterare" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "Skapa arkiv" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "Konf_igurera" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "Ko_mprimerings kommando" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "Arkivhanterare - Skapa arkiv" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "Ingen arkivhanterare konfigurerad. Du måste lägga till en hanterare innan du kan skapa ett arkiv." #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "_Arkivformat:" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "Skapa arkiv kommando saknas. Var vänlig ange ett kommando." #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "Följande variabler ska vara i kommandot arkivskapande:\n\nEn av följande:\n\n%%%%n: Första vald fil/katalog till arkiv\n%%%%N: Alla valda filer/kataloger att arkiv\n\noch något av följande: \n\n%%%%o: Resulterar i ett arkiv\n%%%%O: Resulterar i ett arkiv per källfil/katalog (se %%%%n/%%%%N)\n" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "Fel vid sparandet av hanterare" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "kopia" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "Arkiv" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "Extrahera till" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "Sk_apa underkatalog(er)" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "Gör innehållet användar-_skrivbar" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "Inget arkivhanterare/kommando hittades för filen:" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "Extrahera %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nSlutförd!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Kommando:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Filsystem" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "( inga underkataloger )" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "Ta bort text typ association" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "OBS: När man sammanställer en lista över program som visas i öppna undermenyn för en textfil, kommer SpaceFM innehålla program som är associerade med MIME-typen (t.ex. text/html) och applikationer i samband med text/plain. Om du väljer Ta bort ett program, kommer det att tas bort som en tillhörande applikation för MIME-typen (t.ex. text/html), men kommer inte tas bort som ett tillhörande program för text/plain (såvida inte MIME-typen är text/plain) . Således tas inte programmet bort från Open undermenyn för denna typ, såvida du inte också tar bort det från text/plain." #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "Filen '%s' existerar inte.\n\nGenom att kopiera '%s' till '%s' och redigera det, kan du justera beteende och utseende för detta program för den aktuella användaren.\n\nSkapa denna kopia nu?" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "Kopiera Desktop-fil" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "Filen '%s' existerar inte.\n\nGenom att kopiera '%s' till '%s' och redigera den, kan du justera hur MIME-typen '%s' filer redovisas för den aktuella användaren.\n\nSkapa denna kopia nu?" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "Filen '%s' existerar inte.\n\nGenom att skapa en ny fil '%s' och redigera den, kan du definiera hur MIME-typen '%s' filer redovisas för den aktuella användaren.\n\nSkapa filen nu?" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "Skapa ny XML" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "_Ange som standard" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "_Lägg till..." #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "ny" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "Ta bort %d valda file?" msgstr[1] "Ta bort %d valda filer?" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "Bekräfta ta bort" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "S_ökväg: original" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "_Namn: original" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "_Filnamn: original" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "_Överligande: original" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "S_ökväg: finns som katalog" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "_Namn: finns som katalog" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "_Filnamn: finns som katalog" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "_Överligande" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "S_ökväg: finns som fil" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "_Namn: finns som fil" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "_Filnamn: finns som fil" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "S_ökväg: * skriv över existerande fil" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "_Namn: * skriv över existerande fil" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "_Filnamn: * skriv över existerande fil" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "S_ökväg: finns som fil" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "_Namn:" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "_Filnamn:" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr " _Överordande: överordnade existerar som fil" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "S_ökväg: * skapa överordnande" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "_Överordnande: * skapa överordnande" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "Sö_kväg:" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "_Flytta" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "Välj länk mål" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "Välj mallfil" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "Välj mallkatalog" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "Bläddra" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "Fil_namn" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "Öve_rordnade" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "Infoga som" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "S_kapa" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "Skapa ny" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "Fil" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Katalog" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "Länk" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "Flytta" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "K_opiera" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Kopiera" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "Skapa länk till" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "Länkmål" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "Mål" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr "Som root" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "Länk" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "Fil" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "Alternat_iv" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "Åters_täll" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "& _Öppna" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "Länk → %s" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "!Länk-> %s (saknas)" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "_Mål:" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "Ma_ll:" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "Tom fil" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "Tom mapp" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "Fil_ändelse:" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "Fl_ytta" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "K_opiera" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "Län_k" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "Länkmål" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "_Som root" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "_Fil" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "Kata_log" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "_Länk" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Ny" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "Sökväg innehåller radbrytninga" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "Skapa överliggande katalog" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "Den överliggande katalogen existerar inte. Skapa den?" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "Fel vid skapandet av överliggande katalog\n\n%s" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "Mkdir fel" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "Skriv över existerande fil" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "ÖVERSKRIVNINGS VARNING" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "Sökvägen till filen existerar. Skriva över befintlig fil?" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "Skapa länk%s" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "Mall saknas" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "Den angivna mallen existerar inte" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "Skapa ny fil%s" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "Skapa ny mapp%s" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "Kopia%s" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "Kopiera mål Fel" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "Fel fastställa länkens mål" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "Länkmåls fel" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "Flytta%s" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "Fel vid byta namn på filen\n\n%s" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "Ändra namn Fel" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Ny mapp" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "Ny mapp namn:" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Ny fil" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "Nytt filnamn:" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "Angivet filnamn finns redan.\nAnge ett nytt namn:" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "Den nya filen kan inte skapas!" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "Denna symboliska länkmål saknas eller så har du inte behörighet att komma åt den:\n%s\n\nMål: %s" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "Trasig länk" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "Ta bort %d vald fil som root?" msgstr[1] "Ta bort %d valda filer som root?" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "Bekräfta ta bort som root" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "TA BORT SOM ROOT" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "Ta bort som root" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "Flytta som root" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "Kopiera som root" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytes )" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "%d katalog" msgstr[1] "%d kataloger" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "%d fil, %s" msgstr[1] "%d filer, %s" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "%d fil" msgstr[1] "%d filer" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "( många filer )" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "( Flera typer )" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "Välj..." #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "Katalog namn:" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "%s ( %lu bytes )" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "1 fil" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "Länk namn:" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "( bruten länk )" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "( Läsfel länk )" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Beräknar..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "Ändra fildatum" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Ogiltig användare" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Ogiltig grupp" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "Förutom en mapp eller sökväg, kan kommandon skrivas in i sökvägsraden. Prefix:\n\t $ \t köras som aktivitet\n\t & \t kör och glömm\n\t + \t köras i terminal\n\t ! \t kör som root\nAnvändning:\n\t%%F \t valda filer eller %%f första vald fil\n\t%%N \t valda filnamn eller %%n första valda filnamn\n\t%%d \t nuvarande katalog\n\t%%v \t valda enheten (t.ex. /dev/sda1)\n\t%%m \t enhet monteringspunkt (t.ex. /media/dvd); %%l enhetsetikett\n\t%%b \t valda bokmärket\n\t%%t \t valda uppgiften katalog,%%p aktivitet pid\n\t%%a \t menyalternativ värde\n\t $fs_panel, $fm_tab, $fm_command osv.\n\nExempel: $ echo \"Nuvarande Katalog: %%d\"\nExempel: +! umount%%v" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "Arkivhanterare" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "Enhetshanterare" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "Protokollhanterare" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "Filhanterare" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "Arkivhante_rare" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "Enhetshante_rare" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "Protokollhante_rare" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "Filhante_rare" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "Fel: kan inte läsa in kommandot (internt fel)" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "Fel: kan inte spara kommandot (Kan inte hämta script sökvägen?)" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "Fel vid läsning av fil" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "Fel: kan inte spara kommandot (internt fel)" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "Fel vid skrivning till fil" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "Enhet" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "Protokoll" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "Den valda %s filhanteraren har importerats till %s hanterarlistan." #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "Hanterare importerad" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "(valfri)" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "(inaktiverad)" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "Permanent ta bort den valda hanteraren?" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "Verkställa ändringarna?" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "Tillämpa ändringar i nuvarande hanterare?" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "Återställ standardhanterare" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "Saknade standardhanterare kommer att återställas.\n\nOckså SKRIVA ÖVER ALLA BEFINTLIGA standardhanterare?" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "Ange ett giltigt hanterarnamn." #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "Ange en giltig MIME-typ eller sökvägs mönster." #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "Följande ersättningsvariabler bör nog finnas i kommandot komprimering:\n\nEn av följande:\n\n%%n: Först markerade filen/katalogen att arkivera\n%%N: Alla valda filer/kataloger att arkivera\n\noch något av följande:\n\n%%o: Resulterar i ett arkiv\n%%O: Resulterar i ett arkiv per källfil/katalog" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "Följande variabler bör nog finnas i extraheringskommandot:\n\n%%x: Arkiv att extrahera" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "Följande variabler bör nog finnas i listningskommandot:\n\n%%x: Arkiv att lista" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "Välj hanterar plugin fil" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "Ange hanterar plugin URL" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "Ange SpaceFM hanterar plugin URL:\n\n(wget används för att ladda ner pluginfilen)" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "_Exportera" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "Importera _fil" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "Importera _URL" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "Återställ stan_dardhanterare" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "Standa_rd" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "Lägg _till" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "_Verkställ" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "U_pp" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "_Ner" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "A_ktivera som standardöppnare" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "A_ktivera hanterare" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "_Namn:" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "MIM_E Typ:" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "Vitli_sta:" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "Sök_väg:" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "Sv_artlista:" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "_Ikon:" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "Ko_mprimera:" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "Öppna ko_mmando:" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "_Montera:" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "Packa u_pp:" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "Avmon_tera:" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "Li_sta:" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "Egen_skaper:" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "Kör i terminal" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "Kör som aktivitet" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "Redigera" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "Välj ett program:" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "Obs: MIME-typ '%s' är inställd att öppnas med '%s' filhanterare, snarare än med tillhörande MIME program.\n\nDu kan också behöva inaktivera hanteraren i Öppna|Arkivhanterare för att den här typen ska öppnas med tillhörande program som standard." #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "MIME-typ har hanterare" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "Obs: MIME-typ '%s' är inställd att öppnas med \"%s\" arkivhanterare, snarare än med ditt tillhörande MIME-program.\n\nDu kan också behöva inaktivera hanteraren i Öppna | Arkiv standard | Arkivhanterare eller välj global alternativet Öppna | Arkiv Standard | öppna med program, för denna typ ska öppnas med tillhörande program som standard." #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Kommandot hittades inte" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "T" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "G" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "M" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "K" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "B" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Destinations katalogen \"%1$s\" finns i källan \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "bearbetar" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "Tar bort" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "Skapar katalog" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "Skapar länk" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "Skriver" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "Skapar" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "Ändra namn" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "Vänligen installera /usr/bin/sha256sum så jag kan förbättra din säkerhet när du kör root-kommandon\n" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "Vänligen konfigurera ett giltigt Terminal SU kommando i Visa|Inställningar|Avancerat" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "Terminal SU Inte tillgänglig" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "Vänligen konfigurera ett giltigt Grafiskt SU kommando i Visa|Alternativ|Avancerat" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "Grafiskt SU Inte tillgängligt" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "Kan inte skapa temporär katalog" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "Vänligen ange ett giltigt terminalprogram i Visa|Alternativ|Avancerat" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "spacefm-auth hittades inte i sökvägen - det minskar din säkerhet" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "Fel vid körning av '%s'\nSe stdout (kör spacefm i en terminal) för debug info" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "Fel vid skrivning av tillfällig fil" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "Nådde tidsgränsen för beräkningen av den totala storleken\n" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "\n%s %s\nFel: %s\n" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s-volym" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s-enhet" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s-enhet" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Diskettenhet" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Compact Flash-enhet" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Memory Stick-enhet" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media-enhet" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC-enhet" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip-enhet" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz-enhet" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "USB-minne" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s-musikspelare" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s-digitalkamera" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Enhet" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Extern %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM-skiva" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Tom CD-R-skiva" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R-skiva" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Tom CD-RW-skiva" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW-skiva" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM-skiva" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Tom DVD-RAM-skiva" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM-skiva" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Tom DVD-R-skiva" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R-skiva" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Tom DVD-RW-skiva" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW-skiva" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Tom DVD+R-skiva" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R-skiva" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Tom DVD+RW-skiva" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW-skiva" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Ljudskiva" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "Flyttbar %s-volym" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Volym" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Kunde inte ansluta till HAL-tjänsten: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "\"%s\" är inte en volym eller enhet" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Enheten \"%s\" kunde inte hittas i filsystemets enhetstabell" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "Du har inte rättighet att montera volymen '%s'" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "Du har inte rättighet att avmontera volymen '%s'" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "Du har inte rättighet att mata ut volymen '%s'" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Ogiltigt monteringsalternativ vid försök att montera volymen \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Volymen \"%s\" använder filsystemet %s, men det stöds inte av ditt system" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Ett program hindrar volymen \"%s\" från att avmonteras" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Volymen \"%s\" är inte monterad" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Fel %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Volymen \"%s\" monterades antagligen manuellt på kommandoraden" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Tomma skivor kan inte monteras, använd ett cd-bränningsprogram för att skriva ljud- eller dataspår på skivan" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "Ljudskivor kan inte monteras, använd en musikspelare för att lyssna på ljudspåren" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr ":diskett" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr ":optisk" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "[blank]" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "[ljud]" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "[inget medium]" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "Vald enhetshanterare" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "Vald protokollhanterare" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "( ingen udev enhet )" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "\nAutokör: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "\nAuto öppna flik för %s i %s\n" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "\nAutoavmontera: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "\nAutoavmontering: fel: inget avmonterings kommando tillgängligt\n" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "\nAutomontera: %s\n" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "\nAutomontering: fel: inget monteringskommando tillgänglig\n" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "Avmontera-om-monterad: %s\n" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "Du har inte behörighet att redigera innehållet i filen %s\n\nÖverväg att kopiera filen till skrivbordet, eller länka till en kopia placerad i ~/.local/share/applications/" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "Det går inte att byta namn" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "ge det nya namnet desktop objekt:\n\nÄndra namnet på denna skrivbordsobjekt kräver ändring av innehållet i desktop-filen %s" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "Ändra Skrivbordsobjekt Namn" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "Ett fel uppstod vid byte av namn på det här skrivbordsobjektet." #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Öppna innehållade mappen" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Välj en mapp" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Bläddra..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "Lokala volymer" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Senast ändrad" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "Ange program eller bash kommandorad(er):\n\nAnvändning:\n\t%F \t valda filer eller %f första vald fil\n\t%N \t valda filnamn eller %n första valda filnamn\n\t%d \t nuvarande katalog\n\t%v \t valda enheten (t.ex. /dev/sda1)\n\t%m enhet monteringspunkt (t.ex. /media/dvd); %l enhetsetikett\n\t%b \t valda bokmärket\n\t%t \t valda uppgiften katalog, %p aktivitest pid\n\t%a \t menyalternativ värde\n\t $fm_panel, $fm_tab, $fm_command osv." #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "MIME typ" #: ../src/item-prop.c:107 msgid "Filename" msgstr "Filnamn" #: ../src/item-prop.c:108 msgid "Directory" msgstr "Katalog" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "Katalog skrivbehörighet" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "Fil är text" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "Fil är en katalog" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "Fil är en länk" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "Användare är root" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "Flera markerade" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "Urklipp har filer" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "Urklipp har text" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "Aktuell panel" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "Antal paneler" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "Nuvarande flik" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "Antal flikar" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "Bokmärke" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "Monteringspunkt enheter" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "Enhetens etikett" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "Enhets FSTyp" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "Enhets UDI" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Egenskaper enhet" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "Antal aktiviteter" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "Aktivitetskatalog" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "Aktivitetstyp" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "Aktivitetssnamn" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "Panel 1 Katalog" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "Panel 2 Katalog" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "Panel 3 Katalog" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "Panel 4 Katalog" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "Panel 1 har markering" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "Panel 2 har markering" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "Panel 3 har markering" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "Panel 4 har markering" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "Panel 1 enhet" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "Panel 2 enhet" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "Panel 3 enhet" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "Panel 4 enhet" #: ../src/item-prop.c:205 msgid "equals" msgstr "är lika med" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "är inte lika med" #: ../src/item-prop.c:207 msgid "contains" msgstr "innehåller" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "innehåller inte" #: ../src/item-prop.c:209 msgid "begins with" msgstr "börjar med" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "börjar inte med" #: ../src/item-prop.c:211 msgid "ends with" msgstr "slutar med" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "slutar inte med" #: ../src/item-prop.c:213 msgid "is less than" msgstr "är mindre än" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "är större än" #: ../src/item-prop.c:215 msgid "matches" msgstr "matchar" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "matchar inte" #: ../src/item-prop.c:222 msgid "Application" msgstr "Program" #: ../src/item-prop.c:223 msgid "Command" msgstr "Kommando" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "Nuvarande: Visa" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "Nuvarande: Göm" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "Nuvarande: Inaktivera" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "Nuvarande: Aktiverad" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "Spara ändrad skript?" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "Spara dina ändringar till kommando skriptet?" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "Skriva över skript?" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "Kommandot skript på disken har förändrats.\n\nVill du skriva över den?" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "Kommando katalog" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "(inga filer)" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "Kommandoraden börjar inte med en textfil (skript) som skall öppnas, eller skriptet hittades inte i din $PATH." #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "Mål: (en semikolon-separerad lista med sökvägar eller URLer)" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "Mål: (en .desktop eller körbar fil)" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "Välj körbar fil" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "Kommandorad för lång" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "Din kommandorad är större än 2000 tecken och kan avkortas vid sparandet. Överväg att använda ett kommandoskript i stället genom att välja Script på fliken Kommando." #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Verktygsfält objektegenskaper" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Menyalternativ Egenskaper" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Verk_tygsfält objekt" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "_Menypost" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "Typ:" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "Namn:" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "Tangent:" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "Ikon:" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "Sammanhang" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "_Verkställ" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "matchar någon regel:" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "matchar alla regler:" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "matchar inte någon regel:" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "matchar inte alla regler:" #: ../src/item-prop.c:1863 msgid "Show" msgstr "Visa" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "Aktivera" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "Dölj" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "Inaktivera" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "objekt om innehållet" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "Redigera regel" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "Värde:" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "Om aktiverad, använd som hanterare för:" #: ../src/item-prop.c:1962 msgid "none" msgstr "ingen" #: ../src/item-prop.c:1964 msgid "files" msgstr "filer" #: ../src/item-prop.c:1966 msgid "devices" msgstr "Enhet" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "_Ignorera sammanhang / Visa alla (global inställning)" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "Komm_ando" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "Kommandorad" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "_Skript" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "Öppna i _redigerare" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "_Root redigerare" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "Alter_nativ" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "Köralternativ" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "Visa aktivitet i popup-fönster" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "Visa fel i popup-fönster" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "Visa utmating i popup-fönster" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "Rulla utdata" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "Behåll terminalen öppnad" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "Kör som användare:" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "( lämna tomt för nuvarande användare )" #: ../src/item-prop.c:2184 msgid "Style" msgstr "Stil" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "Normal" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "Kryssruta" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "Bekräfta" #: ../src/item-prop.c:2204 msgid "Input" msgstr "Inmatning" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "Bekräftelse/Indatameddelande:" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "Öppna i webbläsare:" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "Data katalog" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "Insticksprograms katalog" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "Inbyggda verktygsfälts objekt" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "Undermeny" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "Separator" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "Inbyggt kommando" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "Följ tillstånd" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "Rendera annorlunda baserat på valstatus." #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "Ikon" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "Ikon att göra." #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "GIkon" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "GIkon att göra." #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "storlek" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "Storleken på ikonen att göra i pixlar." #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "Åtgärdsikoner" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Animeringar" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Programikoner" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Menyikoner" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Enhetsikoner" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "Emblem" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "Uttryckssymboler" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "Internationella Valörer" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "Filtypsikoner" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "Platsikoner" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "Statusikoner" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "Okategoriserade Ikoner" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Alla ikoner" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "Bildfiler" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "Välj _ikon från:" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "_Sök ikon:" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "Rensa sökfält" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Förhandsgranska" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "Ingen fil vald" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "Blockenhet" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "Tecken enhet" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "FIFO" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "Socket" spacefm-1.0.5/po/tr.po000066400000000000000000005212621264770501700145570ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # berte , 2015 # Batuhan Büyükgüzel , 2015 # Bekir SONAT , 2006 # berte , 2015 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-13 13:46+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Turkish (http://www.transifex.com/ignorantguru/spacefm/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM Klasör Aç" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "Klasör aç" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "SpaceFM Dosya Arama" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "Dosya ve klasör ara" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "Dosya Yöneticisi" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "Dosya sistemine gözat" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "IgnorantGuru tarafından" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Çeviri-Tanıtım" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "Uygulamayı Seç" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "Lütfen uygulamayı seçin ya da komut girin:" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "Dosya Türü:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "_İlişkili Ugulamalar" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "U_yg Uygulamalar" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "_Komut:" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Göz-at" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Uçbirimde Açıldı" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "Bu dosya türü için varsayılan uygulama olarak _ayarla" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Dosya Öznitelikleri" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "Dosya_Adı:" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "_Konum:" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "Bağlanacak _Hedef:" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "Tür:" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "Olarak _Aç:" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "Toplam Boyut:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "Disk Üzerindeki Boyut:" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "Sayı:" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "_Değiştirildi:" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "_Erişildi:" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "_Bilgi" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Sahibi:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Grup:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Sahip:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Grup:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "Diğer:" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Okuma" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Yazma" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Çalıştırma" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Set UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Set GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Yapışkan" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "Yinelenen(klasör ve içeriklerine değişiklikleri uygula)" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "i_zinler" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "Bayt" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "Herhangi" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "Bir Gün İçinde" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "Bir Hafta İçinde" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "Bir Ay İçinde" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "Bir Yıl İçinde" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "Seçilen Tarih Aralığı İçinde" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Dosyaları Bul" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "Dosya adı:" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Büyük/Küçük Harf Duyarlı" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Görüntü Dosyaları(avi, mpg, ...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Ses Dosyaları (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Resim Dosyaları (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Düz Metin Dosyaları" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Tüm Dosyalar ve Klasörler" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Aranacak dosya tipi" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "Alt dizinlerde ara" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "Gizli dosyalarda ara" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Aranacak yer" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Genel" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Dosya İçerikleri:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Kurallı İfadeler Kullan" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Dosya İçeriği" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "İçerik" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Büyüktür:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Küçüktür:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Dosya Boyutu" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Son Değişiklik" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Boyut & Tarih" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Arama Sonuçları:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Tekrar Ara" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Klasöre git" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "Şimdiki sekmede aç" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "Yeni sekmede aç" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "Genişlet" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "Sığdır" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "Ortala" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "Döşe" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "Yakınlaş" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "Şeffaf" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "Otomatik" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "Kopyala (Ctrl+Drag)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "Taşı (Shift+Drag)" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "Bağla (Ctrl+Shift+Drag)" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Tercihler" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "Küçük Simgeler:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "Büyük Simgeler:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "Araç çubuğu Simgeleri:" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "Sigmeler" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "Açmak için tek tıklama" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "Vurgulu seçim" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Yerİmleri:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "Küçük resim Göster" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "Küçük resim için en fazla resim boyutul:" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "Dosya Listesi" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Genel" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Sekme çubuğunu daima göster" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "'Kapatma Sekmesi' tuşlarını gizle" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "Silme/kaldırma onayı" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "Yürütülebilirleri tıklama ile çalıştır" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "SI Dosya Boyutu (1K = 1000) (yeniden başlatma gerekli)" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "root kullanıcısı gösterge rengini göster" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "Varsayılan Sürükleme Eylemi:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "A_rabirim" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Duvarkağıdı:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Lütfen bir resim dosyası seçin" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Mod:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Arkaplan:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Yazı:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Gölge:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "Yazı tipi:" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "Üst:" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "Sol:" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "Sağ:" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "Alt:" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "Kenar boşlukları" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "Sağ tıklama WM seçenek listesini gösterir" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "Klasörleri iligili MIME uygulamasını kullarak aç " #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Masaüstü" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Disk Yönetimi" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Terminal:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "Uçbirim SU:" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "Grafik arayüzü SU:" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "Dosya adı Kodlaması:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "Düzenleyici: " #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "Düzenleyiciyi uçbirimde çalıştır" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Root Düzenleyicisi:" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "Uçbirimde root düzenleyicisini çalıştır" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "Tarih Biçimi:" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "(tekrar yükleme gerekir)" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "Tarih Göstergesi" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Gelişmiş" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "(>%d) %s içerisinde çok fazla sütun" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "%s dosyası okuma hatası: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "'%s' dosyasının içeriği UTF-8 değil" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "'%s' doyası düz dosya değil" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "%s içsel komutu değişken gerektirir" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "'%s' öğesi mevcut değil" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "%s dosyası yazım hatası: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' içsel komut değil" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "%s dosyası yaratma hatası: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "'%s' veri yolu bilgisi UTF-8 değil" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "(dosya içeriği UTF-8 değil)" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "ön ek '%s' geçerli değişken adı değil" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Durdur" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "'%s' dosyası geçerli düz dosya ya da veri yolu değil" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: değişken UTF-8 değil\n" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:828 msgid "window ID" msgstr "" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:838 msgid "Examples" msgstr "" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "Dosya mevcut değil" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Dosyanın nasıl açılacağı bilinmiyor" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Açılamayan dosya:\n\"%s\"\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "" #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "Root Penceresi Aç" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Terminal kullanılamaz durumda" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "Lütfen Görünüm|Seçenekler|Gelişmiş'te terminal programınızı seçin" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Terminal Aç" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1903 msgid "Panel" msgstr "" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Yeni _Komut" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "%d panelini göster" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Dosya" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "Görü_nüm" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "_Cihazlar" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "_Yer imleri" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Eklentiler" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "_Araçlar" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "_Yardım" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "" #: ../src/main-window.c:4302 msgid "#" msgstr "" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "" #: ../src/main-window.c:4302 msgid "Item" msgstr "" #: ../src/main-window.c:4303 msgid "To" msgstr "" #: ../src/main-window.c:4303 msgid "Progress" msgstr "" #: ../src/main-window.c:4303 msgid "Total" msgstr "" #: ../src/main-window.c:4304 msgid "Started" msgstr "" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4304 msgid "Current" msgstr "" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "" #: ../src/main-window.c:4305 msgid "Average" msgstr "" #: ../src/main-window.c:4305 msgid "Remain" msgstr "" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5913 msgid "moving" msgstr "" #: ../src/main-window.c:5914 msgid "copying" msgstr "" #: ../src/main-window.c:5915 msgid "trashing" msgstr "" #: ../src/main-window.c:5916 msgid "deleting" msgstr "" #: ../src/main-window.c:5917 msgid "linking" msgstr "" #: ../src/main-window.c:5918 msgid "changing" msgstr "" #: ../src/main-window.c:5919 msgid "running" msgstr "" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Ad" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Büyüklük" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Tür" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Yetkiler" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: yazı UTF-8 değil\n" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "spacefm: '%s' dosyası geçerli UTF-8 yazısı barındırmıyor\n" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "" #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "" #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "" #: ../src/settings.c:156 msgid "Show Devices" msgstr "" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:158 msgid "Show Tree" msgstr "" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:161 msgid "Up" msgstr "" #: ../src/settings.c:162 msgid "Back" msgstr "Geriye" #: ../src/settings.c:163 msgid "Back History" msgstr "" #: ../src/settings.c:164 msgid "Forward" msgstr "İleriye" #: ../src/settings.c:165 msgid "Forward History" msgstr "" #: ../src/settings.c:166 msgid "Refresh" msgstr "Yenile" #: ../src/settings.c:167 msgid "New Tab" msgstr "Yeni Sekme" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "Buraya Yeni Sekme" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "Saklıları Göster" #: ../src/settings.c:171 msgid "Large Icons" msgstr "" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "" #: ../src/settings.c:462 msgid "file not found" msgstr "" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Dizin" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "İthal et" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "Görev Yöneticisi" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "URL'yi Aç" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "" #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4346 msgid "Create README" msgstr "" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "" #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "" #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5601 msgid "Export Error" msgstr "" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "" #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6627 msgid "( none )" msgstr "" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6820 msgid "Cancel" msgstr "" #: ../src/settings.c:6826 msgid "Unset" msgstr "" #: ../src/settings.c:6839 msgid "Set" msgstr "" #: ../src/settings.c:6853 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:7041 msgid "Run As User" msgstr "" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7050 msgid "New Context Command" msgstr "" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7140 msgid "(none)" msgstr "" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "" #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7346 msgid "( no name )" msgstr "" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "Emin misiniz?" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "Yeni" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "Yerİ_mleri" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "Ö_zellikler" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "" #: ../src/settings.c:9155 msgid "_Edit" msgstr "Dü_zen" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9372 msgid "_OK" msgstr "" #: ../src/settings.c:9509 msgid "_Unset" msgstr "" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "" #: ../src/settings.c:10640 msgid "Re_load" msgstr "" #: ../src/settings.c:10644 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Aç" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "" #: ../src/settings.c:10693 msgid "_Label" msgstr "" #: ../src/settings.c:10743 msgid "_Check" msgstr "" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10755 msgid "_Format" msgstr "" #: ../src/settings.c:10815 msgid "_Backup" msgstr "" #: ../src/settings.c:10837 msgid "_Restore" msgstr "" #: ../src/settings.c:10842 msgid "_From File" msgstr "" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "" #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "" #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "" #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11148 msgid "_Settings" msgstr "_Ayarlar" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "Yer imi ikonu" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "Alt menü ikonu" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "_Yer imlerini Göster" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "Yeni Yer imi" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "" #: ../src/settings.c:11185 msgid "_Parent" msgstr "" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11204 msgid "_Option" msgstr "" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11222 msgid "_As Root" msgstr "" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11283 msgid "New _Window" msgstr "Yeni _Pencere" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "Root Pencere" #: ../src/settings.c:11289 msgid "_File Search" msgstr "_Dosya Arama" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "_Root Terminal" #: ../src/settings.c:11302 msgid "Open URL" msgstr "URL Aç" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11310 msgid "E_xit" msgstr "" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "Odak" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "_Önceki" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "Sonraki" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "_Sakla" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "_Olay Yöneticisi" #: ../src/settings.c:11391 msgid "_Instance" msgstr "" #: ../src/settings.c:11396 msgid "_Startup" msgstr "" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11402 msgid "_Exit" msgstr "_Çık" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11408 msgid "_Window" msgstr "" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "Odakla" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11431 msgid "_Click" msgstr "" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11449 msgid "_Panel" msgstr "" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11466 msgid "S_elect" msgstr "" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11501 msgid "_Device" msgstr "" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "Pencere İsmi" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "Pencere İkonu" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "_Tam ekran" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "Tasarım Modu" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "_Seçenekler" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Araçlar" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "_Yükle" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "_Ayrıntılı" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "Kullanıcı El Kitabı" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "Ana Sayfa" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "SpaceFM _Yenilikleri" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "Plugin Edin" #: ../src/settings.c:11606 msgid "_Options" msgstr "Seçenekler" #: ../src/settings.c:11611 msgid "_Browser" msgstr "" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11623 msgid "_About" msgstr "_Hakkında" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "Cihazları Göster" #: ../src/settings.c:11656 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "" #: ../src/settings.c:11673 msgid "_Item" msgstr "" #: ../src/settings.c:11679 msgid "_To" msgstr "" #: ../src/settings.c:11685 msgid "_Progress" msgstr "" #: ../src/settings.c:11692 msgid "T_otal" msgstr "" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11789 msgid "_Columns" msgstr "" #: ../src/settings.c:11794 msgid "_Popups" msgstr "" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11857 msgid "_Continue" msgstr "" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11892 msgid "By _Name" msgstr "" #: ../src/settings.c:11895 msgid "By _Type" msgstr "" #: ../src/settings.c:11898 msgid "By _Date" msgstr "" #: ../src/settings.c:11901 msgid "By _Size" msgstr "" #: ../src/settings.c:11904 msgid "_Custom" msgstr "" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "" #: ../src/settings.c:11910 msgid "D_escending" msgstr "" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "Masaüstü _Seçenekleri" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "Masaüstü Klasörü" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11964 msgid "Input Font" msgstr "" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "Çalıştı_r" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "" #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "" #: ../src/settings.c:11993 msgid "N_ew" msgstr "" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Çıkartılacak _Yer" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "Yerİ_mleri" #: ../src/settings.c:12104 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:12122 msgid "_Go" msgstr "_Git" #: ../src/settings.c:12127 msgid "_Back" msgstr "" #: ../src/settings.c:12129 msgid "_Forward" msgstr "" #: ../src/settings.c:12131 msgid "_Up" msgstr "" #: ../src/settings.c:12133 msgid "_Home" msgstr "" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "" #: ../src/settings.c:12149 msgid "_File List" msgstr "" #: ../src/settings.c:12151 msgid "_Tree" msgstr "" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12164 msgid "_Close" msgstr "" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12202 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "" #: ../src/settings.c:12220 msgid "_Descending" msgstr "" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "Yeniden _Adlandır" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Sil" #: ../src/settings.c:12281 msgid "_Actions" msgstr "_Eylemler" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12346 msgid "_Move To" msgstr "" #: ../src/settings.c:12350 msgid "_Location" msgstr "" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12383 msgid "_Select All" msgstr "" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "Seçimi Tersine Çe_vir" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12392 msgid "R_oot" msgstr "" #: ../src/settings.c:12398 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "Özellikler" #: ../src/settings.c:12414 msgid "_Quick" msgstr "" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12526 msgid "T_ree" msgstr "" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "" #: ../src/settings.c:12550 msgid "_Icons" msgstr "" #: ../src/settings.c:12555 msgid "_Compact" msgstr "" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Ortama bağlanamadı" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Ortam ayrılamadı" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Ortam çıkartılamadı" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "Çı_kart" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Taşı:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Kopyala:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Sil:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Bağ:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Taşıyor..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Kopyalıyor..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Siliyor..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Bağlıyor..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "Hedef:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Tümünün Üzerine-yaz" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Tümünü Atla" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nTamamlandı!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Komut:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Dosya Sistemi" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "Yeni" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Yeni Dizin" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "Yeni dizin İsmi" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Yeni Dosya" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "Yeni dosya ismi" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Hesaplıyor..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Geçersiz Kullanıcı" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Geçersiz Grup" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Komut bulunamadı" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Hedef dizininiz \"%1$s\", zaten kaynak dizininiz içinde yer alıyor! : \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "Cihaz Özellikleri" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "Araç Çubuğu Madde Özellikleri" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "Menü Madde Özellikleri" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "Araç Çubuğu Maddesi" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "Menü Maddesi" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1863 msgid "Show" msgstr "" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1962 msgid "none" msgstr "" #: ../src/item-prop.c:1964 msgid "files" msgstr "" #: ../src/item-prop.c:1966 msgid "devices" msgstr "" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2184 msgid "Style" msgstr "" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2204 msgid "Input" msgstr "" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "" spacefm-1.0.5/po/uk.po000066400000000000000000005262451264770501700145570ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Max Lyashuk , 2013 # Yarema aka Knedlyk , 2009 # Григорій , 2015 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-13 13:36+0000\n" "PO-Revision-Date: 2015-09-29 16:37+0000\n" "Last-Translator: Григорій \n" "Language-Team: Ukrainian (http://www.transifex.com/ignorantguru/spacefm/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under the GNU General Public License and the GNU Lesser General Public License version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "Yarema aka Knedlyk " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11575 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_Розкрити" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "Відкрито в терміналі" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "Властивості файлу" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12408 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_Власник" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_Група:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "Власник:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "Група:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "Читати" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "Запис" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "Виконати" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Встановити UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Встановити GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Закріплення" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12411 msgid "_Permissions" msgstr "_Права доступу" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "Знайти файли" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "Чуттєвість до регістру" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "Відео файли (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "Аудіо файли (mp3, ogg, ...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "Файли зображень (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "Текстовий файл" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "Всі файли і каталоги" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "Типи файлів для пошуку" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "Місця де шукати" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "Загальне" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "Файл містить:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "Використовувати регулярний вираз" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "Вміст файлу" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "Вміст" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "Файли" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "Менше ніж:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "Размір файлу" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "Час останньої зміни" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "Размір & Дата" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "Результат пошуку:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "Шукати знову" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "Перейти в каталог" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "Параметри" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "Закладки:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:170 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_Загальне" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "Завжди показувати панель вкладок" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "_Інтерфейс" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "Шпалери:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "Будь-ласка, виберіть файл зображення" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "Режим:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "Тло:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "Текст:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "Тінь:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_Робочий стіл" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_Управління диском" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "Термінал:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_Додатково" #: ../src/cust-dialog.c:395 #, c-format msgid "Too many columns (>%d) in %s" msgstr "Забагато колонок (>%d) в %s" #: ../src/cust-dialog.c:632 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "помилка читання файлу %s: %s" #. modified = TRUE; #: ../src/cust-dialog.c:640 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:706 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:695 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:823 ../src/cust-dialog.c:912 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:995 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3470 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "елемент '%s' не існує" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "помилка запису файлу %s: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "помилка створення файлу %s: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( вміст файла не відповідає кодуванню UTF-8 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3638 #: ../src/cust-dialog.c:3698 msgid "Pause" msgstr "Пауза" #: ../src/cust-dialog.c:3018 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3759 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3760 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3761 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3762 #, c-format msgid "Example:\n" msgstr "Приклад:\n" #: ../src/cust-dialog.c:3763 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr " spacefm -g --label \"Повідомлення\" --button ok\n" #: ../src/cust-dialog.c:3764 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3765 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3776 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3777 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3778 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3779 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this file\n" " is monitored, so writing a new value to the file will update the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3780 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3781 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3782 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3784 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3786 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3797 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3798 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3800 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3801 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3802 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3829 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3876 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or #. string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND when an element is clicked or focused" msgstr "" #: ../src/cust-dialog.h:78 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:80 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:144 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:146 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:148 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:150 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:152 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:154 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:156 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:158 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:160 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:162 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:164 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:166 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "Приклад:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Runs custom command or shows submenu named NAME" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Refresh tab or specified DIR(s)" msgstr "" #: ../src/main.c:803 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:804 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:805 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:806 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:808 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:810 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:811 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:814 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:815 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:816 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:818 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:819 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab change dir %e %w %p %t %d" msgstr "" #: ../src/main.c:822 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:823 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:824 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:826 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:827 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:828 msgid "window ID" msgstr "" #: ../src/main.c:829 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:830 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:831 msgid "quoted directory ('/etc')" msgstr "" #: ../src/main.c:832 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:833 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:834 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:835 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:836 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:838 msgid "Examples" msgstr "Приклади" #: ../src/main.c:854 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:865 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1155 ../src/main.c:1418 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1196 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1267 msgid "File doesn't exist" msgstr "Файл не існує" #: ../src/main.c:1269 ../src/main.c:1347 ../src/main.c:1349 ../src/main.c:1457 #: ../src/main.c:1485 ../src/main.c:1487 ../src/main.c:1626 #: ../src/settings.c:5874 ../src/settings.c:9228 #: ../src/ptk/ptk-file-browser.c:2333 ../src/ptk/ptk-file-browser.c:2350 #: ../src/ptk/ptk-file-browser.c:5658 ../src/ptk/ptk-file-browser.c:5666 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2768 #: ../src/ptk/ptk-file-misc.c:3429 ../src/ptk/ptk-file-misc.c:3699 #: ../src/ptk/ptk-file-misc.c:3806 ../src/ptk/ptk-file-misc.c:4012 #: ../src/ptk/ptk-file-properties.c:885 ../src/ptk/ptk-file-properties.c:896 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "Помилка" #: ../src/main.c:1347 ../src/main.c:1485 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1349 ../src/main.c:1487 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "Помилка: Неможливо встановити з’єднання з FAM.\n\nЧи Ви встановили і запустили \"FAM\" або \"Gamin\"?" #: ../src/main.c:1403 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1410 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1455 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1621 msgid "Don't know how to open the file" msgstr "Не знаю, як відкрити цей файл" #: ../src/main.c:1623 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "Неможливо відкрити файл:\n\"%s\"\n%s" #: ../src/main-window.c:307 ../src/settings.c:7209 msgid "Choose Plugin File" msgstr "Оберіть файл доповнення" #. get url #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "Enter Plugin URL" msgstr "Вкажіть адресу доповнення" #: ../src/main-window.c:318 ../src/settings.c:7221 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:338 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:340 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:363 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different name." msgstr "" #: ../src/main-window.c:365 msgid "Overwrite Plugin ?" msgstr "Перезаписати доповнення?" #: ../src/main-window.c:386 ../src/settings.c:7229 #: ../src/ptk/ptk-handler.c:2769 msgid "Error Creating Temp Directory" msgstr "Помилка створення тимчасової папки" #: ../src/main-window.c:387 ../src/settings.c:7230 #: ../src/ptk/ptk-handler.c:2770 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:648 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:650 msgid "Save Session Error" msgstr "Зберегти помилку сесії" #. root task #: ../src/main-window.c:682 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:712 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "Термінал недоступний" #: ../src/main-window.c:713 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:724 msgid "Open Terminal" msgstr "Відкрити термінал" #: ../src/main-window.c:1053 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1053 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1903 msgid "Panel" msgstr "" #: ../src/main-window.c:1957 ../src/settings.c:5763 ../src/settings.c:6074 #: ../src/settings.c:7060 ../src/settings.c:7175 #, c-format msgid "New _Command" msgstr "Нова _команда" #: ../src/main-window.c:2067 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2095 ../src/settings.c:8170 ../src/settings.c:11548 #: ../src/settings.c:11564 ../src/settings.c:12088 msgid "_File" msgstr "_Файл" #: ../src/main-window.c:2098 ../src/settings.c:12177 msgid "_View" msgstr "_Вигляд" #: ../src/main-window.c:2101 ../src/settings.c:12520 msgid "_Devices" msgstr "" #: ../src/main-window.c:2105 ../src/settings.c:11172 ../src/settings.c:11921 #: ../src/settings.c:12153 ../src/settings.c:12532 msgid "_Bookmarks" msgstr "_Закладки" #: ../src/main-window.c:2108 msgid "_Plugins" msgstr "_Доповнення" #: ../src/main-window.c:2112 msgid "_Tools" msgstr "_Інструменти" #. Help #: ../src/main-window.c:2115 ../src/settings.c:1188 ../src/settings.c:8208 #: ../src/settings.c:8780 ../src/settings.c:9146 ../src/settings.c:11232 msgid "_Help" msgstr "_Довідка" #: ../src/main-window.c:2425 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2434 msgid "SpaceFM Error" msgstr "Помилка SpaceFM" #: ../src/main-window.c:2450 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2459 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3680 #, c-format msgid " %s free / %s " msgstr " Вільно %s / %s " #: ../src/main-window.c:3687 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3744 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3746 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3749 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3757 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3760 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3767 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3814 msgid "hidden" msgid_plural "hidden" msgstr[0] "прихований" msgstr[1] "приховані" msgstr[2] "прихованих" #: ../src/main-window.c:3817 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:3822 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/main-window.c:4079 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4302 ../src/main-window.c:5801 msgid "Status" msgstr "Статус" #: ../src/main-window.c:4302 msgid "#" msgstr "" #: ../src/main-window.c:4302 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 ../src/exo/exo-thumbnail-preview.c:273 msgid "Folder" msgstr "Директорія" #: ../src/main-window.c:4302 msgid "Item" msgstr "" #: ../src/main-window.c:4303 msgid "To" msgstr "" #: ../src/main-window.c:4303 msgid "Progress" msgstr "" #: ../src/main-window.c:4303 msgid "Total" msgstr "" #: ../src/main-window.c:4304 msgid "Started" msgstr "" #: ../src/main-window.c:4304 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4304 msgid "Current" msgstr "" #: ../src/main-window.c:4304 msgid "CRemain" msgstr "" #: ../src/main-window.c:4305 msgid "Average" msgstr "" #: ../src/main-window.c:4305 msgid "Remain" msgstr "" #: ../src/main-window.c:4318 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4318 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5913 msgid "moving" msgstr "" #: ../src/main-window.c:5914 msgid "copying" msgstr "" #: ../src/main-window.c:5915 msgid "trashing" msgstr "" #: ../src/main-window.c:5916 msgid "deleting" msgstr "" #: ../src/main-window.c:5917 msgid "linking" msgstr "" #: ../src/main-window.c:5918 msgid "changing" msgstr "" #: ../src/main-window.c:5919 msgid "running" msgstr "" #: ../src/main-window.c:5994 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5995 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:6011 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:6013 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:906 msgid "Name" msgstr "Назва" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:927 msgid "Size" msgstr "Размір" #: ../src/main-window.c:6346 ../src/ptk/ptk-file-browser.c:256 #: ../src/find-files.c:931 msgid "Type" msgstr "Тип" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Permission" msgstr "Права доступу" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Owner" msgstr "" #: ../src/main-window.c:6347 ../src/ptk/ptk-file-browser.c:257 msgid "Modified" msgstr "" #: ../src/main-window.c:6359 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6388 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6391 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6401 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6421 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6431 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6438 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6451 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6463 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6489 ../src/main-window.c:6796 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6522 ../src/main-window.c:6674 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6551 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6592 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6645 ../src/main-window.c:6980 #: ../src/main-window.c:7107 ../src/main-window.c:7385 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6694 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6730 ../src/main-window.c:6757 #: ../src/main-window.c:7173 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6867 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6884 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6890 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6896 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6937 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6943 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6989 ../src/main-window.c:8018 #: ../src/main-window.c:8045 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7393 ../src/main-window.c:7523 #: ../src/main-window.c:7627 ../src/main-window.c:7684 #: ../src/main-window.c:7735 ../src/main-window.c:8094 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7421 ../src/main-window.c:7551 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7426 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7478 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7495 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7513 ../src/main-window.c:7614 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7670 ../src/main-window.c:7900 #: ../src/main-window.c:7921 ../src/main-window.c:7999 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7677 ../src/main-window.c:7728 #: ../src/main-window.c:7763 ../src/main-window.c:7907 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7744 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7757 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7769 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7794 ../src/main-window.c:7817 #: ../src/main-window.c:7861 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7940 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7964 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:8009 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:8033 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:8052 #, c-format msgid "spacefm: custom command or submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:8064 #, c-format msgid "spacefm: item '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:8100 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:8126 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:8137 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:165 ../src/pref-dialog.c:177 ../src/settings.c:160 msgid "Default" msgstr "" #: ../src/pref-dialog.c:197 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:198 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:442 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:443 msgid "" "General Note: For desktop transparency to work, you need to be running a compositing window manager or separate compositor like compton or xcompmgr. You can then use use nitrogen or xwinwrap to set wallpaper on the background.\n" "\n" "This message will not repeat." msgstr "" #: ../src/pref-dialog.c:775 msgid "Limited Terminal Emulator Selected" msgstr "" #: ../src/pref-dialog.c:775 msgid "" "Due to limitations of gnome-terminal, konsole, lxterminal, and urxvtc, use " "of these terminals with SpaceFM may prevent the Run As Task and Run In " "Terminal options being used together to run commands. For example, this may" " cause protocols mounted in a terminal to fail to automatically open after " "being mounted. For full use of SpaceFM's features, selecting another " "terminal is recommended." msgstr "" #. task #: ../src/pref-dialog.c:825 #, c-format msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in %s/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #: ../src/pref-dialog.c:826 ../src/pref-dialog.c:828 msgid "Save Root Settings" msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:146 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:148 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues." msgstr "" #: ../src/settings.c:150 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:151 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design Menu." msgstr "" #: ../src/settings.c:156 msgid "Show Devices" msgstr "" #: ../src/settings.c:157 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:158 msgid "Show Tree" msgstr "" #: ../src/settings.c:159 ../src/ptk/ptk-location-view.c:4280 #: ../src/ptk/ptk-location-view.c:4742 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:161 msgid "Up" msgstr "" #: ../src/settings.c:162 msgid "Back" msgstr "Назад" #: ../src/settings.c:163 msgid "Back History" msgstr "" #: ../src/settings.c:164 msgid "Forward" msgstr "Вперед" #: ../src/settings.c:165 msgid "Forward History" msgstr "" #: ../src/settings.c:166 msgid "Refresh" msgstr "Оновити" #: ../src/settings.c:167 msgid "New Tab" msgstr "Нова вкладка" #: ../src/settings.c:168 msgid "New Tab Here" msgstr "" #: ../src/settings.c:169 msgid "Show Hidden" msgstr "" #: ../src/settings.c:171 msgid "Large Icons" msgstr "" #: ../src/settings.c:443 #, c-format msgid "%s: %s contains invalid characters - ignored" msgstr "" #: ../src/settings.c:448 #, c-format msgid "%s: tmp_dir '%s' does not exist - reverting to %s" msgstr "" #: ../src/settings.c:462 msgid "file not found" msgstr "" #: ../src/settings.c:1052 ../src/settings.c:10894 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1059 ../src/settings.c:10988 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1069 ../src/settings.c:11594 msgid "_FAQ" msgstr "_ЧаПи" #: ../src/settings.c:1079 ../src/settings.c:1084 ../src/settings.c:11738 #: ../src/settings.c:11758 msgid "_Stop" msgstr "" #: ../src/settings.c:1091 ../src/settings.c:11771 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1098 ../src/settings.c:11777 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1105 ../src/settings.c:11842 msgid "Err_ors" msgstr "" #: ../src/settings.c:1112 ../src/settings.c:11717 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1119 ../src/settings.c:11729 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1126 ../src/settings.c:11667 msgid "_Folder" msgstr "_Каталог" #: ../src/settings.c:1158 ../src/settings.c:11819 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1169 ../src/settings.c:10632 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1180 ../src/settings.c:8158 ../src/settings.c:11558 msgid "_Import" msgstr "" #: ../src/settings.c:1181 ../src/settings.c:11651 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1184 ../src/settings.c:11181 msgid "F_ilename" msgstr "" #: ../src/settings.c:1185 ../src/settings.c:11192 msgid "Typ_e" msgstr "" #: ../src/settings.c:1186 ../src/settings.c:11196 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1187 ../src/settings.c:11200 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1313 ../src/settings.c:11299 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1672 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory defaults.\n" "\n" msgstr "" #: ../src/settings.c:1847 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1928 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3381 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3466 #, c-format msgid "" "Error reading root settings from %s/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3468 #, c-format msgid "" "No root settings found in %s/spacefm/ Setting a root editor in Preferences " "should remove this warning on startup. Otherwise commands run as root may " "present a security risk." msgstr "" #: ../src/settings.c:4339 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4340 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4346 msgid "Create README" msgstr "" #: ../src/settings.c:4348 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4372 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4373 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4534 ../src/ptk/ptk-handler.c:1281 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #. due to dialog run causes low level thread lock #: ../src/settings.c:4536 ../src/settings.c:4571 ../src/ptk/ptk-handler.c:1284 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4569 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4962 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:5061 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:5063 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5162 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu." msgstr "" #: ../src/settings.c:5164 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security." msgstr "" #: ../src/settings.c:5196 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5199 ../src/settings.c:5207 msgid "Uninstall Plugin" msgstr "Видалити доповнення" #. task #: ../src/settings.c:5245 msgid "Install Plugin" msgstr "Встановити доповнення" #: ../src/settings.c:5499 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5567 msgid "Export Plugin" msgstr "Експортувати доповнення" #: ../src/settings.c:5601 msgid "Export Error" msgstr "" #: ../src/settings.c:5602 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5709 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5713 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5765 msgid "Change Item Name" msgstr "" #: ../src/settings.c:6342 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6343 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6354 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6355 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6376 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6557 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6559 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location." msgstr "" #: ../src/settings.c:6608 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6608 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6627 msgid "( none )" msgstr "" #: ../src/settings.c:6761 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6765 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x [%#4x] Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6777 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6807 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6820 msgid "Cancel" msgstr "" #: ../src/settings.c:6826 msgid "Unset" msgstr "" #: ../src/settings.c:6839 msgid "Set" msgstr "" #: ../src/settings.c:6853 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6936 ../src/settings.c:8712 ../src/settings.c:9166 msgid "Set Icon" msgstr "" #: ../src/settings.c:7004 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:7030 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:7041 msgid "Run As User" msgstr "" #: ../src/settings.c:7041 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:7049 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7050 msgid "New Context Command" msgstr "" #: ../src/settings.c:7061 msgid "Set Item Name" msgstr "" #: ../src/settings.c:7098 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7140 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME type." msgstr "" #: ../src/settings.c:7140 msgid "(none)" msgstr "" #: ../src/settings.c:7149 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7149 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a shortcut key if desired." msgstr "" #: ../src/settings.c:7149 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7260 #, c-format msgid "" "GTK bookmarks (%s) will be imported into the current or selected submenu. " "Note that importing large numbers of bookmarks (eg more than 500) may impact" " performance." msgstr "" #: ../src/settings.c:7262 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7346 msgid "( no name )" msgstr "" #: ../src/settings.c:7350 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7355 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7376 ../src/ptk/ptk-handler.c:1888 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7450 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7451 ../src/settings.c:7455 ../src/settings.c:7459 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:8078 ../src/settings.c:12256 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:8086 ../src/settings.c:11208 ../src/settings.c:12259 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:8094 ../src/settings.c:12262 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. menu is shown from right-click on list #. Treeview widgets #. list buttons #: ../src/settings.c:8102 ../src/ptk/ptk-file-menu.c:2306 #: ../src/ptk/ptk-handler.c:2849 ../src/ptk/ptk-handler.c:3073 #: ../src/item-prop.c:1804 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:8112 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:8120 ../src/settings.c:11477 ../src/settings.c:12083 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:8133 ../src/settings.c:10664 msgid "_Bookmark" msgstr "_Закладки" #. New > Application #: ../src/settings.c:8137 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8141 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8148 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8154 msgid "S_eparator" msgstr "" #: ../src/settings.c:8172 ../src/settings.c:11551 ../src/settings.c:11567 msgid "_URL" msgstr "" #: ../src/settings.c:8175 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8181 ../src/item-prop.c:1811 msgid "_Add" msgstr "" #: ../src/settings.c:8219 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8228 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8247 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8257 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8271 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8281 ../src/settings.c:10850 msgid "_Properties" msgstr "_Властивості" #: ../src/settings.c:9031 msgid "Choose Icon" msgstr "" #: ../src/settings.c:9155 msgid "_Edit" msgstr "_Правка" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9167 ../src/settings.c:11519 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9169 ../src/ptk/ptk-handler.c:3182 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9188 ../src/settings.c:9369 ../src/settings.c:12135 msgid "_Default" msgstr "" #: ../src/settings.c:9229 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9372 msgid "_OK" msgstr "" #: ../src/settings.c:9509 msgid "_Unset" msgstr "" #: ../src/settings.c:10636 ../src/settings.c:10688 #: ../src/ptk/ptk-location-view.c:3530 ../src/ptk/ptk-location-view.c:3946 msgid "_Unmount" msgstr "" #: ../src/settings.c:10640 msgid "Re_load" msgstr "" #: ../src/settings.c:10644 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #: ../src/settings.c:10648 ../src/settings.c:11144 ../src/settings.c:11967 #: ../src/find-files.c:278 msgid "_Open" msgstr "_Відкрити" #: ../src/settings.c:10652 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10656 ../src/settings.c:10683 #: ../src/ptk/ptk-location-view.c:3523 ../src/ptk/ptk-location-view.c:3940 msgid "_Mount" msgstr "" #: ../src/settings.c:10660 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10677 ../src/settings.c:12446 msgid "_Root" msgstr "" #: ../src/settings.c:10693 msgid "_Label" msgstr "" #: ../src/settings.c:10743 msgid "_Check" msgstr "" #: ../src/settings.c:10747 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10751 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10755 msgid "_Format" msgstr "" #: ../src/settings.c:10815 msgid "_Backup" msgstr "" #: ../src/settings.c:10837 msgid "_Restore" msgstr "" #: ../src/settings.c:10842 msgid "_From File" msgstr "" #: ../src/settings.c:10847 ../src/settings.c:11263 msgid "File _Info" msgstr "" #: ../src/settings.c:10854 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10860 msgid "S_how" msgstr "" #: ../src/settings.c:10865 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10870 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10875 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10879 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10884 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10889 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10890 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10891 msgid "" "To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10898 msgid "_Display Name" msgstr "" #: ../src/settings.c:10900 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10901 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10907 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10912 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10917 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10922 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10923 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10924 msgid "" "To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10927 msgid "Mount _Dirs..." msgstr "" #: ../src/settings.c:10928 msgid "Automatic Mount Point Dirs" msgstr "" #: ../src/settings.c:10930 #, c-format msgid "" "Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must exist and be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used.\n" "\n" "Note that some handlers or mount programs may not obey this setting.\n" "\n" msgstr "" #: ../src/settings.c:10933 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10938 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10946 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10952 msgid "On _Mount" msgstr "" #: ../src/settings.c:10954 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10955 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10958 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10960 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10961 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10964 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10966 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10967 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10970 msgid "On _Insert" msgstr "" #: ../src/settings.c:10972 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10973 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10976 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10978 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10979 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10982 msgid "On _Remove" msgstr "" #: ../src/settings.c:10984 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10985 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10992 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10993 #, c-format msgid "" "Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here." msgstr "" #: ../src/settings.c:10995 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:11003 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:11004 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here." msgstr "" #: ../src/settings.c:11008 msgid "_Change Detection" msgstr "" #: ../src/settings.c:11009 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be" " monitored for changes. This setting only affects non-block devices (such " "as nfs or fuse), and is usually used to prevent SpaceFM becoming " "unresponsive with network filesystems. Loading of thumbnails will also be " "disabled." msgstr "" #: ../src/settings.c:11011 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume- #. specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o #. %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b #. %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options #. %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a #. device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 #. )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount #. %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl #. unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #: ../src/settings.c:11033 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:11037 ../src/settings.c:12246 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:11054 ../src/settings.c:12603 ../src/settings.c:12615 msgid "_Icon" msgstr "" #: ../src/settings.c:11059 msgid "Audio CD" msgstr "" #: ../src/settings.c:11065 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:11070 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:11075 msgid "Optical No Media" msgstr "" #: ../src/settings.c:11080 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:11085 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:11090 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:11095 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:11100 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:11105 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:11110 msgid "Mounted Network" msgstr "" #: ../src/settings.c:11115 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11148 msgid "_Settings" msgstr "" #: ../src/settings.c:11153 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11158 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11163 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11168 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11178 ../src/settings.c:12206 ../src/settings.c:12621 msgid "_Name" msgstr "" #: ../src/settings.c:11185 msgid "_Parent" msgstr "" #: ../src/settings.c:11188 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11204 msgid "_Option" msgstr "" #: ../src/settings.c:11212 ../src/settings.c:12096 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11216 ../src/ptk/ptk-file-misc.c:2513 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11219 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11222 msgid "_As Root" msgstr "" #: ../src/settings.c:11226 ../src/settings.c:11782 ../src/settings.c:11834 #: ../src/settings.c:11932 ../src/settings.c:11961 ../src/settings.c:12570 #: ../src/settings.c:12576 ../src/settings.c:12583 ../src/settings.c:12590 #: ../src/settings.c:12597 ../src/settings.c:12607 msgid "_Font" msgstr "" #: ../src/settings.c:11229 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11230 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11235 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11243 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11244 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11248 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11249 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11253 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11257 ../src/settings.c:12286 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11260 ../src/settings.c:12289 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11267 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11283 msgid "New _Window" msgstr "Нове _вікно" #: ../src/settings.c:11286 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11289 msgid "_File Search" msgstr "" #: ../src/settings.c:11292 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11295 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11302 msgid "Open URL" msgstr "" #: ../src/settings.c:11303 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11306 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11310 msgid "E_xit" msgstr "" #: ../src/settings.c:11341 ../src/settings.c:11379 ../src/settings.c:12013 #: ../src/settings.c:12338 ../src/settings.c:12376 msgid "Panel _1" msgstr "" #: ../src/settings.c:11346 ../src/settings.c:11381 ../src/settings.c:12014 #: ../src/settings.c:12339 ../src/settings.c:12377 msgid "Panel _2" msgstr "" #: ../src/settings.c:11350 ../src/settings.c:11382 ../src/settings.c:12015 #: ../src/settings.c:12340 ../src/settings.c:12378 msgid "Panel _3" msgstr "" #: ../src/settings.c:11354 ../src/settings.c:11383 ../src/settings.c:12016 #: ../src/settings.c:12341 ../src/settings.c:12379 msgid "Panel _4" msgstr "" #: ../src/settings.c:11358 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11363 msgid "F_ocus" msgstr "" #: ../src/settings.c:11369 ../src/settings.c:11994 ../src/settings.c:12011 #: ../src/settings.c:12162 ../src/settings.c:12319 ../src/settings.c:12336 #: ../src/settings.c:12357 ../src/settings.c:12374 msgid "_Prev" msgstr "" #: ../src/settings.c:11371 ../src/settings.c:11995 ../src/settings.c:12012 #: ../src/settings.c:12163 ../src/settings.c:12320 ../src/settings.c:12337 #: ../src/settings.c:12358 ../src/settings.c:12375 msgid "_Next" msgstr "" #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #: ../src/settings.c:11378 ../src/settings.c:12381 msgid "_Hide" msgstr "" #: ../src/settings.c:11385 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11391 msgid "_Instance" msgstr "" #: ../src/settings.c:11396 msgid "_Startup" msgstr "" #: ../src/settings.c:11398 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11399 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11402 msgid "_Exit" msgstr "" #: ../src/settings.c:11404 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11405 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11408 msgid "_Window" msgstr "" #: ../src/settings.c:11413 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11415 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11416 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11419 ../src/settings.c:11454 ../src/settings.c:11489 msgid "_Focus" msgstr "" #: ../src/settings.c:11421 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11422 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11425 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11427 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11428 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11431 msgid "_Click" msgstr "" #: ../src/settings.c:11433 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11434 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11437 msgid "_Keypress" msgstr "" #: ../src/settings.c:11439 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11440 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11443 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11445 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11446 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11449 msgid "_Panel" msgstr "" #: ../src/settings.c:11456 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11457 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11460 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11462 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11463 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11466 msgid "S_elect" msgstr "" #: ../src/settings.c:11468 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11469 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11472 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11479 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11480 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11483 msgid "_Change Dir" msgstr "" #: ../src/settings.c:11485 msgid "Set Tab Change Dir Command" msgstr "" #: ../src/settings.c:11486 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_chdir)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%d\tnew directory\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11491 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11492 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11495 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11497 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11498 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11501 msgid "_Device" msgstr "" #: ../src/settings.c:11503 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11504 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11507 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11509 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11510 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11514 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11520 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11523 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11526 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11529 msgid "_Preferences" msgstr "" #: ../src/settings.c:11532 msgid "_Tool" msgstr "_Інструменти" #: ../src/settings.c:11538 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11542 msgid "_Install" msgstr "" #: ../src/settings.c:11570 msgid "_Verbose" msgstr "" #: ../src/settings.c:11577 msgid "In_cluded" msgstr "" #: ../src/settings.c:11591 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11597 msgid "_Homepage" msgstr "" #: ../src/settings.c:11600 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11603 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11606 msgid "_Options" msgstr "" #: ../src/settings.c:11611 msgid "_Browser" msgstr "" #: ../src/settings.c:11613 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11614 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11617 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11619 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11620 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11623 msgid "_About" msgstr "" #: ../src/settings.c:11626 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11656 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11662 msgid "_Count" msgstr "" #: ../src/settings.c:11673 msgid "_Item" msgstr "" #: ../src/settings.c:11679 msgid "_To" msgstr "" #: ../src/settings.c:11685 msgid "_Progress" msgstr "" #: ../src/settings.c:11692 msgid "T_otal" msgstr "" #: ../src/settings.c:11699 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11704 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11711 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11723 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11735 msgid "Reor_der" msgstr "" #: ../src/settings.c:11741 ../src/settings.c:11761 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11744 ../src/settings.c:11764 msgid "_Queue" msgstr "" #: ../src/settings.c:11747 ../src/settings.c:11767 msgid "_Resume" msgstr "" #: ../src/settings.c:11750 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11753 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11785 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11786 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11789 msgid "_Columns" msgstr "" #: ../src/settings.c:11794 msgid "_Popups" msgstr "" #: ../src/settings.c:11799 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11804 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11809 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11814 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11824 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11829 msgid "_Error Option" msgstr "" #: ../src/settings.c:11837 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11838 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11847 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11852 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11857 msgid "_Continue" msgstr "Продовжити" #: ../src/settings.c:11862 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11867 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11872 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11877 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11887 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11892 msgid "By _Name" msgstr "" #: ../src/settings.c:11895 msgid "By _Type" msgstr "" #: ../src/settings.c:11898 msgid "By _Date" msgstr "" #: ../src/settings.c:11901 msgid "By _Size" msgstr "" #: ../src/settings.c:11904 msgid "_Custom" msgstr "" #: ../src/settings.c:11907 ../src/settings.c:12218 msgid "_Ascending" msgstr "" #: ../src/settings.c:11910 msgid "D_escending" msgstr "" #: ../src/settings.c:11913 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11917 ../src/settings.c:12155 msgid "De_vices" msgstr "Пристрої" #: ../src/settings.c:11925 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11935 msgid "Editor Font" msgstr "" #: ../src/settings.c:11936 ../src/settings.c:11965 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11964 msgid "Input Font" msgstr "" #: ../src/settings.c:11971 msgid "E_xecute" msgstr "_Виконати" #: ../src/settings.c:11974 msgid "Edi_t" msgstr "Редагувати" #: ../src/settings.c:11977 msgid "Edit As _Root" msgstr "Редагувати від root" #: ../src/settings.c:11980 msgid "_Choose..." msgstr "" #: ../src/settings.c:11983 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11987 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11989 msgid "In _Tab" msgstr "" #: ../src/settings.c:11993 msgid "N_ew" msgstr "" #: ../src/settings.c:11996 ../src/settings.c:12166 ../src/settings.c:12321 #: ../src/settings.c:12359 msgid "Tab _1" msgstr "" #: ../src/settings.c:11997 ../src/settings.c:12167 ../src/settings.c:12322 #: ../src/settings.c:12360 msgid "Tab _2" msgstr "" #: ../src/settings.c:11998 ../src/settings.c:12168 ../src/settings.c:12323 #: ../src/settings.c:12361 msgid "Tab _3" msgstr "" #: ../src/settings.c:11999 ../src/settings.c:12169 ../src/settings.c:12324 #: ../src/settings.c:12362 msgid "Tab _4" msgstr "" #: ../src/settings.c:12000 ../src/settings.c:12170 ../src/settings.c:12325 #: ../src/settings.c:12363 msgid "Tab _5" msgstr "" #: ../src/settings.c:12001 ../src/settings.c:12171 ../src/settings.c:12326 #: ../src/settings.c:12364 msgid "Tab _6" msgstr "" #: ../src/settings.c:12002 ../src/settings.c:12172 ../src/settings.c:12327 #: ../src/settings.c:12365 msgid "Tab _7" msgstr "" #: ../src/settings.c:12003 ../src/settings.c:12173 ../src/settings.c:12328 #: ../src/settings.c:12366 msgid "Tab _8" msgstr "" #: ../src/settings.c:12004 ../src/settings.c:12174 ../src/settings.c:12329 #: ../src/settings.c:12367 msgid "Tab _9" msgstr "" #: ../src/settings.c:12005 ../src/settings.c:12175 ../src/settings.c:12330 #: ../src/settings.c:12368 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:12007 msgid "In _Panel" msgstr "" #: ../src/settings.c:12018 ../src/settings.c:12045 msgid "_Extract" msgstr "_Розпакувати" #: ../src/settings.c:12022 ../src/settings.c:12050 msgid "Extract _To" msgstr "Розпакувати _в" #: ../src/settings.c:12026 ../src/settings.c:12054 msgid "_List Contents" msgstr "" #: ../src/settings.c:12036 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:12041 msgid "_Open With App" msgstr "" #: ../src/settings.c:12058 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:12063 msgid "_Write Access" msgstr "" #: ../src/settings.c:12068 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:12092 msgid "Fol_der" msgstr "Тека" #: ../src/settings.c:12100 msgctxt "New|" msgid "_Bookmark" msgstr "_Закладки" #: ../src/settings.c:12104 msgid "_Archive" msgstr "Архів" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:12111 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:12113 msgid "Tab _Here" msgstr "" #: ../src/settings.c:12116 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:12122 msgid "_Go" msgstr "_Перехід" #: ../src/settings.c:12127 msgid "_Back" msgstr "Назад" #: ../src/settings.c:12129 msgid "_Forward" msgstr "Вперед" #: ../src/settings.c:12131 msgid "_Up" msgstr "Вгору" #: ../src/settings.c:12133 msgid "_Home" msgstr "Домівка" #: ../src/settings.c:12138 msgid "_Set Default" msgstr "" #: ../src/settings.c:12141 msgid "Re_al Path" msgstr "" #: ../src/settings.c:12143 msgid "Fo_cus" msgstr "" #: ../src/settings.c:12147 msgid "_Path Bar" msgstr "" #: ../src/settings.c:12149 msgid "_File List" msgstr "" #: ../src/settings.c:12151 msgid "_Tree" msgstr "" #: ../src/settings.c:12158 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12164 msgid "_Close" msgstr "" #: ../src/settings.c:12181 msgid "Styl_e" msgstr "Стиль" #: ../src/settings.c:12184 msgid "C_olumns" msgstr "" #: ../src/settings.c:12187 msgid "_Reorder" msgstr "" #: ../src/settings.c:12189 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12202 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12208 ../src/settings.c:12626 msgid "_Size" msgstr "" #: ../src/settings.c:12210 ../src/settings.c:12633 msgid "_Type" msgstr "" #: ../src/settings.c:12212 ../src/settings.c:12639 msgid "_Permission" msgstr "_Права доступу" #: ../src/settings.c:12214 ../src/settings.c:12476 ../src/settings.c:12645 msgid "_Owner" msgstr "_Власник" #: ../src/settings.c:12216 ../src/settings.c:12651 msgid "_Modified" msgstr "" #: ../src/settings.c:12220 msgid "_Descending" msgstr "" #: ../src/settings.c:12223 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12225 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12227 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12229 msgid "F_iles First" msgstr "" #: ../src/settings.c:12231 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12233 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12235 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12238 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12241 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12252 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12265 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "_Перейменувати" #: ../src/settings.c:12269 ../src/settings.c:12399 msgid "_Delete" msgstr "_Видалити" #: ../src/settings.c:12281 msgid "_Actions" msgstr "" #: ../src/settings.c:12292 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12295 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12298 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12301 msgid "Paste _As" msgstr "" #: ../src/settings.c:12307 ../src/settings.c:12397 msgid "_Copy To" msgstr "" #: ../src/settings.c:12311 msgid "L_ocation" msgstr "" #: ../src/settings.c:12312 ../src/settings.c:12351 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12315 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12332 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12346 msgid "_Move To" msgstr "" #: ../src/settings.c:12350 msgid "_Location" msgstr "" #: ../src/settings.c:12353 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12370 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12383 msgid "_Select All" msgstr "" #: ../src/settings.c:12386 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12388 msgid "_Invert Selection" msgstr "_Відмінити виділення" #: ../src/settings.c:12390 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12392 msgid "R_oot" msgstr "" #: ../src/settings.c:12398 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12403 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12414 msgid "_Quick" msgstr "" #: ../src/settings.c:12436 ../src/settings.c:12466 ../src/settings.c:12492 msgid "_Recursive" msgstr "" #: ../src/settings.c:12514 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12526 msgid "T_ree" msgstr "" #: ../src/settings.c:12538 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12544 msgid "_Detailed" msgstr "" #: ../src/settings.c:12550 msgid "_Icons" msgstr "І_конки" #: ../src/settings.c:12555 msgid "_Compact" msgstr "" #: ../src/settings.c:12560 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12565 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12573 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12574 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12579 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12580 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12586 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12587 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12593 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12594 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12600 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12610 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12611 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12663 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12672 ../src/settings.c:12681 msgid "_New Tab" msgstr "" #: ../src/settings.c:12676 ../src/settings.c:12686 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2330 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2346 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3228 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3230 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5566 ../src/ptk/ptk-file-misc.c:4085 #: ../src/desktop/desktop-window.c:3285 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5599 ../src/ptk/ptk-file-browser.c:5633 #: ../src/desktop/desktop-window.c:3318 ../src/desktop/desktop-window.c:3349 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5600 ../src/desktop/desktop-window.c:3319 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5634 ../src/desktop/desktop-window.c:3350 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5641 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5643 msgid "" "The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5658 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5666 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:939 ../src/ptk/ptk-location-view.c:1019 msgid "Unable to mount device" msgstr "Неможливо підключити пристрій" #: ../src/ptk/ptk-location-view.c:959 msgid "Unable to unmount device" msgstr "Неможливо відключити пристрій" #: ../src/ptk/ptk-location-view.c:981 ../src/ptk/ptk-location-view.c:995 msgid "Unable to eject device" msgstr "Неможливо витягнути пристрій" #: ../src/ptk/ptk-location-view.c:1041 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:1042 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1146 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1147 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1205 ../src/ptk/ptk-location-view.c:1329 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1206 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1263 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1325 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1327 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1328 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add" " a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1361 ../src/ptk/ptk-location-view.c:1927 #: ../src/ptk/ptk-location-view.c:2002 ../src/ptk/ptk-location-view.c:2079 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1401 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1402 ../src/ptk/ptk-location-view.c:2313 #: ../src/ptk/ptk-location-view.c:2392 ../src/ptk/ptk-location-view.c:2744 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1409 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1417 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1427 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1460 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1466 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1469 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1485 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1515 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1520 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1523 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1535 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1591 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1595 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1597 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1622 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1628 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1631 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1634 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1649 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1713 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1847 ../src/ptk/ptk-location-view.c:1860 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2151 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2250 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2278 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2312 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2324 ../src/ptk/ptk-location-view.c:2484 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2330 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2333 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2334 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2337 ../src/ptk/ptk-location-view.c:2434 #: ../src/ptk/ptk-location-view.c:2491 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2346 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2391 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2399 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2433 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2434 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2446 ../src/ptk/ptk-location-view.c:2666 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2487 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2488 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2529 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2586 #, c-format msgid "The %s directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2591 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2607 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2660 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2660 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2676 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2735 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2743 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup" " using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2760 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2777 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2777 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2806 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2809 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2837 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2944 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3192 ../src/ptk/ptk-location-view.c:3219 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3539 ../src/ptk/ptk-location-view.c:3954 msgid "_Eject" msgstr "_Витягнути" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "Перемістити: " #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "Копіювати: " #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "Видалити: " #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "Посилання: " #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "Переміщення..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "Копіювання..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "Видалення..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "Створення посилань..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "До: " #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "Переписати все" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "Пропустити все" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:534 #: ../src/ptk/ptk-file-misc.c:3533 ../src/ptk/ptk-handler.c:1456 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:342 ../src/ptk/ptk-file-archiver.c:660 #: ../src/ptk/ptk-file-archiver.c:689 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:351 ../src/ptk/ptk-file-archiver.c:1127 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:387 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:417 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:501 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:661 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:690 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:765 ../src/ptk/ptk-handler.c:2027 msgid "Error Saving Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:862 ../src/ptk/ptk-file-archiver.c:1444 #: ../src/ptk/ptk-file-archiver.c:1499 ../src/ptk/ptk-file-menu.c:2331 #: ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:994 ../src/ptk/ptk-handler.c:1326 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1118 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1158 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1160 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1304 msgid "No archive handler/command found for file:" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1560 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "\nЗавершено!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "Команда:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "Файлова система" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1884 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1884 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu" " for a text file, SpaceFM will include applications associated with the MIME" " type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain)." " Thus using Remove may not remove the application from the Open submenu for" " this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1900 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1903 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:2001 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2003 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:2006 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2300 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2310 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2373 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2458 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2387 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2434 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2482 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "Директорія" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "Копіювати" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2813 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 ../src/ptk/ptk-handler.c:1332 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 ../src/ptk/ptk-handler.c:2976 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2252 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2298 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2314 ../src/ptk/ptk-file-misc.c:2917 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2344 ../src/ptk/ptk-file-misc.c:2995 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2412 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2507 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2516 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2518 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2520 msgctxt "New|Radio" msgid "Fol_der" msgstr "Тека" #: ../src/ptk/ptk-file-misc.c:2522 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2625 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2768 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2823 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2825 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2838 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2841 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2854 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2856 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2856 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2865 ../src/ptk/ptk-file-misc.c:3107 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2927 ../src/ptk/ptk-file-misc.c:3005 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2928 ../src/ptk/ptk-file-misc.c:3006 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2953 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3026 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3057 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3070 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3071 ../src/ptk/ptk-file-misc.c:3119 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3118 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3153 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3192 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3195 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New Folder" msgstr "Новий каталог" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3373 ../src/ptk/ptk-file-misc.c:3375 msgid "New File" msgstr "Новий файл" #: ../src/ptk/ptk-file-misc.c:3374 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3397 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3430 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3884 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3890 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4061 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-misc.c:4065 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4066 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4074 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4093 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4099 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:443 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:511 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:560 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:573 ../src/ptk/ptk-file-properties.c:580 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:584 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:621 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:636 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:640 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:651 msgid "Calculating..." msgstr "Підрахунок..." #: ../src/ptk/ptk-file-properties.c:841 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:885 msgid "Invalid User" msgstr "Неправильно вказано користувача" #: ../src/ptk/ptk-file-properties.c:896 msgid "Invalid Group" msgstr "Неправильно вказано групу" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:76 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:81 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:82 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:83 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:84 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:645 ../src/ptk/ptk-handler.c:657 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:671 ../src/ptk/ptk-handler.c:764 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:744 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:757 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:828 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1328 ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/ptk/ptk-handler.c:1330 msgid "Protocol" msgstr "" #. failsafe #: ../src/ptk/ptk-handler.c:1335 #, c-format msgid "" "The selected %s Handler file has been imported to the %s Handlers list." msgstr "" #. due to dialog run causes low level thread lock #: ../src/ptk/ptk-handler.c:1338 msgid "Handler Imported" msgstr "" #: ../src/ptk/ptk-handler.c:1353 ../src/ptk/ptk-handler.c:1537 #: ../src/ptk/ptk-handler.c:1747 ../src/ptk/ptk-handler.c:1813 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1354 ../src/ptk/ptk-handler.c:1538 #: ../src/ptk/ptk-handler.c:1748 ../src/ptk/ptk-handler.c:1814 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1890 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2126 ../src/ptk/ptk-handler.c:2163 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:2128 ../src/ptk/ptk-handler.c:2165 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2247 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2248 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2364 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2376 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2420 #, c-format msgid "" "The following substitution variables should probably be in the compression command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2448 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2467 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2749 msgid "Choose Handler Plugin File" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "Enter Handler Plugin URL" msgstr "" #: ../src/ptk/ptk-handler.c:2761 msgid "" "Enter SpaceFM Handler Plugin URL:\n" "\n" "(wget will be used to download the handler plugin file)" msgstr "" #: ../src/ptk/ptk-handler.c:2854 msgid "_Export" msgstr "" #: ../src/ptk/ptk-handler.c:2858 msgid "Import _File" msgstr "" #: ../src/ptk/ptk-handler.c:2860 msgid "Import _URL" msgstr "" #: ../src/ptk/ptk-handler.c:2862 msgid "Restore _Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2988 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:3082 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:3090 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:3099 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:3108 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:3120 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:3121 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:3128 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:3134 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:3135 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:3141 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:3142 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:3149 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:3157 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:3159 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:3161 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:3167 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:3168 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:3173 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:3174 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:3304 ../src/ptk/ptk-handler.c:3308 #: ../src/ptk/ptk-handler.c:3310 ../src/item-prop.c:2160 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:3307 ../src/item-prop.c:2140 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:3326 ../src/ptk/ptk-handler.c:3332 #: ../src/ptk/ptk-handler.c:3338 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "Команда не знайдено" #: ../src/vfs/vfs-file-info.c:485 ../src/vfs/vfs-file-info.c:490 #: ../src/vfs/vfs-file-info.c:584 ../src/vfs/vfs-file-info.c:589 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:503 ../src/vfs/vfs-file-info.c:508 #: ../src/vfs/vfs-file-info.c:602 ../src/vfs/vfs-file-info.c:607 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:522 ../src/vfs/vfs-file-info.c:527 #: ../src/vfs/vfs-file-info.c:621 ../src/vfs/vfs-file-info.c:626 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:540 ../src/vfs/vfs-file-info.c:545 #: ../src/vfs/vfs-file-info.c:639 ../src/vfs/vfs-file-info.c:644 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:550 ../src/vfs/vfs-file-info.c:650 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "Каталог призначення \"%1$s\" міститься в джерелі \"%2$s\"" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2106 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1835 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1938 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:2006 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2190 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2523 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s Том" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s Пристрій" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s Пристрій" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "Дискета" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "Пристрій Compact Flash " #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "Пристрій Memory Stick" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Пристрій Smart Media" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "Пристрій SD/MMC" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Пристрій Zip" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Пристрій Jaz" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Пристрій Pen" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s Програвач Музики" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s Цифрова камера" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "Пристрій" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "Зовнішні %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM Диск" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "Чистий CD-R Диск" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R Диск" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "Чистий CD-RW Диск" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW Диск" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM Диск" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "Чистий DVD-RAM Диск" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM Диск" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "Чистий DVD-R Диск" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R Диск" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "Чистий DVD-RW Диск" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW Диск" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "Чистий DVD+R Диск" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R Диск" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "Чистий DVD+RW Диск" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW Диск" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "Аудіо Диск" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s Змінний том" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "Том" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "Неможливо з’єднатися з HAL-демоном: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1936 ../src/vfs/vfs-volume-hal.c:1992 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "Даний пристрій \"%s \" не є диском або томом" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2068 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "Пристрій \"%s \" не знайдено в таблиці пристроїв файлової системи" #: ../src/vfs/vfs-volume-hal.c:2251 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "У Вас немає прав для підключення тому \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2252 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "У Вас немає прав для відключення тому \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2253 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "У Вас немає прав для витягнення тому \"%s\"" #. TODO: slim down mount options to what is allowed, cf. #. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2265 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "Неправильна опція підключення тому \"%s \"" #: ../src/vfs/vfs-volume-hal.c:2267 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "Том \"%s \" використовує %s файлову систему, яка не підтримується Вашою системою" #: ../src/vfs/vfs-volume-hal.c:2269 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "Програма не дозволяє відключити том \"%s \"" #: ../src/vfs/vfs-volume-hal.c:2271 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "Том \"%s\" не підключено" #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "Error %s" msgstr "Помилка %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2276 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "Том \"%s\" можливо підключений вручню або з допомогою командної стрічки" #: ../src/vfs/vfs-volume-hal.c:2284 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "Чистий диск не можна підключити, використайте програму для запису CD, щоб записати аудіо або дані на диск" #: ../src/vfs/vfs-volume-hal.c:2295 #, c-format msgid "" "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "Аудіо диски неможливо підключити, використайте програвач музики для прослуховування звукових доріжок" #: ../src/vfs/vfs-volume-nohal.c:2370 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2391 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2436 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2440 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2454 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3391 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3392 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3663 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3967 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4009 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4056 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4061 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4080 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4085 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4310 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "Відкрити вміщаючий _каталог" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "Вибрати директорію" #: ../src/find-files.c:825 msgid "Browse..." msgstr "Розкрити..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "Час останньої зміни" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2255 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2256 ../src/item-prop.c:2265 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1818 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1850 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1852 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1856 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1863 msgid "Show" msgstr "" #: ../src/item-prop.c:1865 msgid "Enable" msgstr "" #: ../src/item-prop.c:1867 msgid "Hide" msgstr "" #: ../src/item-prop.c:1869 msgid "Disable" msgstr "" #: ../src/item-prop.c:1899 msgid "item if context" msgstr "" #: ../src/item-prop.c:1927 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1944 msgid "Value:" msgstr "" #: ../src/item-prop.c:1957 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1962 msgid "none" msgstr "" #: ../src/item-prop.c:1964 msgid "files" msgstr "" #: ../src/item-prop.c:1966 msgid "devices" msgstr "" #: ../src/item-prop.c:1974 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2069 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2073 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2075 msgid "_Script" msgstr "" #: ../src/item-prop.c:2080 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2086 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2129 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2131 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2144 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2145 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2146 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2147 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2161 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2170 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2177 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2184 msgid "Style" msgstr "" #: ../src/item-prop.c:2195 msgid "Normal" msgstr "" #: ../src/item-prop.c:2198 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2201 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2204 msgid "Input" msgstr "" #: ../src/item-prop.c:2218 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2242 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2264 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2273 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2292 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2295 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2297 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2301 msgid "Built-In Command" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:189 #: ../src/exo/exo-cell-renderer-icon.c:170 msgid "Follow state" msgstr "" #: ../src/exo/exo-cell-renderer-ellipsized-text.c:190 #: ../src/exo/exo-cell-renderer-icon.c:171 msgid "Render differently based on the selection state." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:193 msgid "Icon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:194 msgid "The icon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:212 msgid "GIcon" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:213 msgid "The GIcon to render." msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:234 msgid "size" msgstr "" #: ../src/exo/exo-cell-renderer-icon.c:235 msgid "The size of the icon to render in pixels." msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_ACTIONS #: ../src/exo/exo-icon-chooser-dialog.c:125 msgid "Action Icons" msgstr "Значки дій" #. EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS #: ../src/exo/exo-icon-chooser-dialog.c:127 msgid "Animations" msgstr "Анімації" #. EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS #: ../src/exo/exo-icon-chooser-dialog.c:129 msgid "Application Icons" msgstr "Значки програм" #. EXO_ICON_CHOOSER_CONTEXT_CATEGORIES #: ../src/exo/exo-icon-chooser-dialog.c:131 msgid "Menu Icons" msgstr "Значки меню" #. EXO_ICON_CHOOSER_CONTEXT_DEVICES #: ../src/exo/exo-icon-chooser-dialog.c:133 msgid "Device Icons" msgstr "Значки пристроїв" #. EXO_ICON_CHOOSER_CONTEXT_EMBLEMS #: ../src/exo/exo-icon-chooser-dialog.c:135 msgid "Emblems" msgstr "Емблеми" #. EXO_ICON_CHOOSER_CONTEXT_EMOTES #: ../src/exo/exo-icon-chooser-dialog.c:137 msgid "Emoticons" msgstr "Емоційки" #. EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL #: ../src/exo/exo-icon-chooser-dialog.c:139 msgid "International Denominations" msgstr "" #. EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES #: ../src/exo/exo-icon-chooser-dialog.c:141 msgid "File Type Icons" msgstr "Значки типу файлів" #. EXO_ICON_CHOOSER_CONTEXT_PLACES #: ../src/exo/exo-icon-chooser-dialog.c:143 msgid "Location Icons" msgstr "Значки місць" #. EXO_ICON_CHOOSER_CONTEXT_STATUS #: ../src/exo/exo-icon-chooser-dialog.c:145 msgid "Status Icons" msgstr "Значки стану" #. EXO_ICON_CHOOSER_CONTEXT_OTHER #: ../src/exo/exo-icon-chooser-dialog.c:147 msgid "Uncategorized Icons" msgstr "Значки поза категоріями" #. EXO_ICON_CHOOSER_CONTEXT_ALL #: ../src/exo/exo-icon-chooser-dialog.c:151 msgid "All Icons" msgstr "Усі значки" #. EXO_ICON_CHOOSER_CONTEXT_FILE #: ../src/exo/exo-icon-chooser-dialog.c:155 #: ../src/exo/exo-icon-chooser-dialog.c:314 msgid "Image Files" msgstr "Файли зображень" #. setup the context combo box #: ../src/exo/exo-icon-chooser-dialog.c:226 msgid "Select _icon from:" msgstr "" #. search filter #: ../src/exo/exo-icon-chooser-dialog.c:242 msgid "_Search icon:" msgstr "" #: ../src/exo/exo-icon-chooser-dialog.c:253 msgid "Clear search field" msgstr "Спорожнити поле пошуку" #: ../src/exo/exo-thumbnail-preview.c:140 msgid "Preview" msgstr "Перегляд" #: ../src/exo/exo-thumbnail-preview.c:156 #: ../src/exo/exo-thumbnail-preview.c:245 msgid "No file selected" msgstr "Файли не обрано" #: ../src/exo/exo-thumbnail-preview.c:263 msgid "Block Device" msgstr "Блоковий пристрій" #: ../src/exo/exo-thumbnail-preview.c:268 msgid "Character Device" msgstr "" #: ../src/exo/exo-thumbnail-preview.c:278 msgid "FIFO" msgstr "FIFO" #: ../src/exo/exo-thumbnail-preview.c:283 msgid "Socket" msgstr "Сокет" spacefm-1.0.5/po/update-pot000077500000000000000000000025531264770501700155770ustar00rootroot00000000000000#!/bin/bash # This script updates spacefm.pot and modifies comments curdir=`pwd` if [ "$(basename "$curdir")" != "po" ] || [ ! -e POTFILES.in ]; then echo "spacefm: update-pot: This script must be run from spacefm's po subdirectory" exit 1 fi # get configure version ver=`grep -m 1 "^AC_INIT(\[spacefm\], \[" "../configure.ac" \ | sed "s/AC_INIT(\[spacefm\], \[\(.*\)\])/\1/"` if [ "$ver" = "" ]; then echo "spacefm: update-pot: cannot get configure.ac version" exit 1 fi rm -f spacefm.pot intltool-update --pot if [ $? -ne 0 ] || [ ! -s spacefm.pot ]; then echo "spacefm: update-pot: error creating spacefm.pot" exit 2 fi sed -i 's/# SOME DESCRIPTIVE TITLE\./# SpaceFM PO Template http:\/\/ignorantguru.github.io\/spacefm\//' spacefm.pot sed -i "/# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER/d" spacefm.pot sed -i 's/# This file is distributed under the same license as the PACKAGE package\./# This file is distributed under the same copyright and license as the SpaceFM\x0A# package./' spacefm.pot sed -i s/'"Project-Id-Version: PACKAGE VERSION\\n"'/"\"Project-Id-Version: spacefm ${ver}\\\n\""/ spacefm.pot sed -i s/'"POT-Creation-Date: .*\\n"'/"\"POT-Creation-Date: $(date -u '+%Y-%m-%d %H:%M+0000')\\\n\""/ spacefm.pot head -n 20 spacefm.pot echo # Check for unincluded files because this warning causes a Debian build error intltool-update --maintain spacefm-1.0.5/po/ur.po000066400000000000000000005045611264770501700145630ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Urdu (http://www.transifex.com/projects/p/spacefm/language/" "ur/)\n" "Language: ur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "محمد علی مکی\n" "makki.ma@gmail.com\n" "اردو کوڈر لینکس فورم\n" "http://www.urducoder.com\n" "مکی کا بلاگ\n" "http://makki.urducoder.com" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_انتخاب" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "ٹرمنل میں چلائیں" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "فائل کی خصوصیات" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_مالک:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_گروپ:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "مالک:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "گروپ:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "پڑھیں" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "لکھیں" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "اطلاق" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "مرتب UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "مرتب GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "چسپاں" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_اجازتیں" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "فائلیں تلاش کریں" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "حساس" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "ویڈیو فائلیں (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "صوتی فائلیں (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "تصاویر فائلیں (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "سادہ متن فائلیں" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "تمام فائلیں اور فولڈر" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "تلاش کے لیے فائلوں کی نوعیت" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "مقامات برائے تلاش" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "عام" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "فائل میں شامل ہے:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "عام تاثر استعمال کریں" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "فائل کا مواد" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "مواد" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "بڑی ہو:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "چھوٹی ہو:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "فائل کا حجم" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "آخری تبدیلی" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "حجم اور تاریخ" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "تلاش کا نتیجہ:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "دوبارہ تلاش کریں" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "منتقل تا فولڈر" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "ترجیحات" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "پسندیدہ:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_عام" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "ٹیب پٹی ہمیشہ ظاہر رکھیں" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "_مواجہ" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "وال پیپر:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "تصویر منتخب کریں" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "موڈ:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "پس منظر:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "متن:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "سایہ:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_ڈیسک ٹاپ" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_والیم ادارت" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "ٹرمنل:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_اعلی" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "فائل وجود نہیں رکھتی" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "غلطی" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "غلطی: FAM سے اتصال قائم نہیں کیا جاسکا.\n" "\n" "کیا آپ کے پاس \"FAM\" اور \"Gamin\" نصب ہیں اور چل رہے ہیں؟" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "نہیں معلوم کہ فائل کیسے کھولی جائے" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "فائل نہیں کھولی جاسکتی:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_فائل" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_منظر" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_ہدایات" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "فولڈر" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "نام" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "حجم" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "نوعیت" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "اجازہ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "پیچھے" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "آگے" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "پھر تازہ" #: ../src/settings.c:160 msgid "New Tab" msgstr "نیا ٹیب" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_فولڈر" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_پسندیدہ" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_خصوصیات" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_تدوین" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "ک_ھولیں" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "نئی ونڈ_و" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_اوزار" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_چلائیں" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "تمام فائلیں اور فولڈر" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "ک_ھولیں تا" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_پسندیدہ" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_منتقلی" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "نام _بدلیں" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_حذف" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "انتخاب منعکس کریں" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_آئکن" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "ڈیوائس ماؤنٹ نہیں ہوسکی" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "ڈیوائس ان ماؤنٹ نہیں ہوسکی" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "ڈیوائس نہیں نکالی جاسکی" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_نکالیں" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "منتقل:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "کاپی:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "حذف:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "ربط:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "فائلیں منتقل کی جارہی ہیں..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "فائلیں کاپی کی جارہی ہیں..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "فائلیں حذف کی جارہی ہیں..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "ربط کاری..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "تا:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "سب پر لکھیں" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "نظر انداز تمام" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "مکمل!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "کمانڈ:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "فائل سسٹم" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "فولڈر" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "نیا فولڈر" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "نئی فائل" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "حساب لگایا جارہا ہے..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "غلط صارف" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "ناموزوں گروپ" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "تمام فائلیں اور فولڈر" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "کمانڈ نہیں پائی گئی" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "سمت ڈائریکٹری \"%1$s\" مصدر \"%2$s\" میں ہے" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "والیم %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "فلاپی ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "کومپیکٹ فلیش ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "میموری سٹک ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "سمارٹ میڈیا ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "رِپ ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "جیز ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "پِن ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s موسیقی پلیئر" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s رقمی کیمرا" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "خارجی %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "سی ڈی روم ڈسک" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "خالی CD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "خالی CD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM ڈسک" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "خالی DVD-RAM ڈسک" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM ڈسک" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "خالی DVD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "خالی DVD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "خالی DVD+R ڈسک" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R ڈسک" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "خالی DVD+RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "آڈیو ڈسک" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s قابلِ فصل والیم" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "والیم" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "اتصال HAL ڈائمن سے نہیں ہوسکا: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "دی گئی ڈیوائس \"%s\" کوئی والیم یا ڈرائیو نہیں ہے" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "ڈیوائس \"%s\" فائل سسٹم کی ڈیوائس ٹیبل میں نہیں پائی گئی" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "آپ کے پاس والیم \"%s\" کو ماؤنٹ کرنے کا استحقاق نہیں ہے" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "آپ کے پاس والیم \"%s\" کو ان ماؤنٹ کرنے کا استحقاق نہیں ہے" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "آپ کے پاس والیم \"%s\" کو نکالنے کا استحقاق نہیں ہے" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "والیم \"%s\" کو ماؤنٹ کرنے کی کوشش میں ناموزوں آپشن دیا گیا" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "والیم \"%s\" فائل سسٹم %s استعمال کرتا ہے جس کی آپ کے نظام میں معاونت " "نہیں ہے" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "کوئی اطلاقیہ والیم \"%s\" کو ان ماؤنٹ ہونے سے روک رہا ہے" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "والیم \"%s\" ماؤنٹ نہیں کیا گیا" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "غلطی %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "ممکنہ طور پر والیم \"%s\" کمانڈ لائن سے ماؤنٹ کیا گیا ہے" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "خالی سیڈیاں ماؤنٹ نہیں کی جاسکتیں، آڈیو یا کوئی ڈیٹا ریکارڈ کرنے کے لیے کوئی " "سی ڈی ریکارڈنگ اطلاقیہ استعمال کریں" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "آڈیو سیڈیاں ماؤنٹ نہیں کی جاسکتیں، آڈیو سی ڈی کو چلانے کے لیے کوئی آڈیو " "پلیئر استعمال کریں" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "حامل کردہ _فولڈر کھولیں" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "منتخب تمام" #: ../src/find-files.c:825 msgid "Browse..." msgstr "انتخاب..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "آخری تبدیلی" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "کمانڈ نہیں پائی گئی" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/ur_PK.po000066400000000000000000005046021264770501700151510ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/spacefm/" "language/ur_PK/)\n" "Language: ur_PK\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "محمد علی مکی\n" "makki.ma@gmail.com\n" "اردو کوڈر لینکس فورم\n" "http://www.urducoder.com\n" "مکی کا بلاگ\n" "http://makki.urducoder.com" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "_انتخاب" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "ٹرمنل میں چلائیں" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "فائل کی خصوصیات" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "_مالک:" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "_گروپ:" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "مالک:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "گروپ:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "پڑھیں" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "لکھیں" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "اطلاق" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "مرتب UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "مرتب GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "چسپاں" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "_اجازتیں" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "فائلیں تلاش کریں" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "حساس" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "ویڈیو فائلیں (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "صوتی فائلیں (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "تصاویر فائلیں (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "سادہ متن فائلیں" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "تمام فائلیں اور فولڈر" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "تلاش کے لیے فائلوں کی نوعیت" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "مقامات برائے تلاش" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "عام" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "فائل میں شامل ہے:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "عام تاثر استعمال کریں" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "فائل کا مواد" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "مواد" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "بڑی ہو:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "چھوٹی ہو:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "فائل کا حجم" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "آخری تبدیلی" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "حجم اور تاریخ" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "تلاش کا نتیجہ:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "دوبارہ تلاش کریں" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "منتقل تا فولڈر" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "ترجیحات" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "پسندیدہ:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "_عام" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "ٹیب پٹی ہمیشہ ظاہر رکھیں" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "_مواجہ" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "وال پیپر:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "تصویر منتخب کریں" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "موڈ:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "پس منظر:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "متن:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "سایہ:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "_ڈیسک ٹاپ" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "_والیم ادارت" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "ٹرمنل:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "_اعلی" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "فائل وجود نہیں رکھتی" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "غلطی" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "غلطی: FAM سے اتصال قائم نہیں کیا جاسکا.\n" "\n" "کیا آپ کے پاس \"FAM\" اور \"Gamin\" نصب ہیں اور چل رہے ہیں؟" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "نہیں معلوم کہ فائل کیسے کھولی جائے" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "فائل نہیں کھولی جاسکتی:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "_فائل" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "_منظر" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "_ہدایات" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" msgstr[1] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "فولڈر" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "نام" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "حجم" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "نوعیت" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "اجازہ" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "پیچھے" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "آگے" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "پھر تازہ" #: ../src/settings.c:160 msgid "New Tab" msgstr "نیا ٹیب" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "_فولڈر" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "_پسندیدہ" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "_خصوصیات" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "_تدوین" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "ک_ھولیں" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "نئی ونڈ_و" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "_اوزار" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "_چلائیں" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "تمام فائلیں اور فولڈر" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "ک_ھولیں تا" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "_پسندیدہ" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "_منتقلی" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "نام _بدلیں" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "_حذف" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "انتخاب منعکس کریں" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "_آئکن" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "ڈیوائس ماؤنٹ نہیں ہوسکی" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "ڈیوائس ان ماؤنٹ نہیں ہوسکی" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "ڈیوائس نہیں نکالی جاسکی" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "_نکالیں" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "منتقل:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "کاپی:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "حذف:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "ربط:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "فائلیں منتقل کی جارہی ہیں..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "فائلیں کاپی کی جارہی ہیں..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "فائلیں حذف کی جارہی ہیں..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "ربط کاری..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "تا:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "سب پر لکھیں" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "نظر انداز تمام" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "مکمل!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "کمانڈ:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "فائل سسٹم" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" msgstr[1] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "فولڈر" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "نیا فولڈر" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "نئی فائل" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" msgstr[1] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "حساب لگایا جارہا ہے..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "غلط صارف" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "ناموزوں گروپ" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "تمام فائلیں اور فولڈر" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "کمانڈ نہیں پائی گئی" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "سمت ڈائریکٹری \"%1$s\" مصدر \"%2$s\" میں ہے" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "والیم %s" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "فلاپی ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "کومپیکٹ فلیش ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "میموری سٹک ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "سمارٹ میڈیا ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "رِپ ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "جیز ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "پِن ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s موسیقی پلیئر" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s رقمی کیمرا" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "ڈرائیو" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "خارجی %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "سی ڈی روم ڈسک" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "خالی CD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "خالی CD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM ڈسک" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "خالی DVD-RAM ڈسک" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM ڈسک" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "خالی DVD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R ڈسک" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "خالی DVD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "خالی DVD+R ڈسک" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R ڈسک" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "خالی DVD+RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW ڈسک" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "آڈیو ڈسک" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s قابلِ فصل والیم" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "والیم" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "اتصال HAL ڈائمن سے نہیں ہوسکا: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "دی گئی ڈیوائس \"%s\" کوئی والیم یا ڈرائیو نہیں ہے" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "ڈیوائس \"%s\" فائل سسٹم کی ڈیوائس ٹیبل میں نہیں پائی گئی" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "آپ کے پاس والیم \"%s\" کو ماؤنٹ کرنے کا استحقاق نہیں ہے" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "آپ کے پاس والیم \"%s\" کو ان ماؤنٹ کرنے کا استحقاق نہیں ہے" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "آپ کے پاس والیم \"%s\" کو نکالنے کا استحقاق نہیں ہے" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "والیم \"%s\" کو ماؤنٹ کرنے کی کوشش میں ناموزوں آپشن دیا گیا" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" "والیم \"%s\" فائل سسٹم %s استعمال کرتا ہے جس کی آپ کے نظام میں معاونت " "نہیں ہے" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "کوئی اطلاقیہ والیم \"%s\" کو ان ماؤنٹ ہونے سے روک رہا ہے" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "والیم \"%s\" ماؤنٹ نہیں کیا گیا" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "غلطی %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "ممکنہ طور پر والیم \"%s\" کمانڈ لائن سے ماؤنٹ کیا گیا ہے" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" "خالی سیڈیاں ماؤنٹ نہیں کی جاسکتیں، آڈیو یا کوئی ڈیٹا ریکارڈ کرنے کے لیے کوئی " "سی ڈی ریکارڈنگ اطلاقیہ استعمال کریں" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" "آڈیو سیڈیاں ماؤنٹ نہیں کی جاسکتیں، آڈیو سی ڈی کو چلانے کے لیے کوئی آڈیو " "پلیئر استعمال کریں" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "حامل کردہ _فولڈر کھولیں" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "منتخب تمام" #: ../src/find-files.c:825 msgid "Browse..." msgstr "انتخاب..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "آخری تبدیلی" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "کمانڈ نہیں پائی گئی" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/vi.po000066400000000000000000004727121264770501700145550ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/spacefm/" "language/vi/)\n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "SpaceFM Open Folder" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/vi_VN.po000066400000000000000000004727101264770501700151560ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/projects/p/" "spacefm/language/vi_VN/)\n" "Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "" #: ../src/settings.c:160 msgid "New Tab" msgstr "" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 msgid "File _Handlers..." msgstr "" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "" #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "" #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "" #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "" #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "" #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 msgid "File Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "" #: ../src/find-files.c:825 msgid "Browse..." msgstr "" #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 msgid "Command Line Too Long" msgstr "" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/po/zh_CN.po000066400000000000000000005202731264770501700151340ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # Careone , 2009 # caretpi, 2013 # eriklaun, 2013 # Haifeng Chen , 2006 # iup , 2013 # mytbk , 2013 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/spacefm/" "language/zh_CN/)\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "打开目录" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "搜索文件和目录" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "SpaceFM" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "文件管理器" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "浏览文件系统" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "by IgnorantGuru" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "" "陈海峰 Haifeng Chen \n" "Careone " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "文件类型:" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "浏览(_B)" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "在终端中打开" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "文件属性" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "总大小:" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "所有者(_O):" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "群组(_G):" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "所有者:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "群组:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "读取" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "写入" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "执行" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "设置用户 ID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "设置群组 ID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "粘附" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "权限(_P)" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "一天以内" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "一周以内" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "一个月以内" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "一年以内" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "选择日期之内" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "查找文件" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "区分字母大小写" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "视频文件 (avi, mpg,...)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "音频文件 (mp3, ogg,...)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "图像文件 (jpg, png,...)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "文本文件" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "所有文件和文件夹" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "搜索指定类型的文件" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "在子目录搜索" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "搜索隐藏文件" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "搜索的位置" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "一般" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "文件包含:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "使用正则表达式" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "文件内容" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "内容" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "大于:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "小于:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "文件大小" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "最后修改" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "大小和日期" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "搜索结果:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "继续搜索" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "向上(_P)" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "在当前标签中打开" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "在新标签中打开" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "居中" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "紧凑" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "缩放" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "自动" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "复制 (Ctrl+拖动)" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "首选项" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "小图标:" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "大图标:" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "工具栏图标" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "单击打开文件" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "书签:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "一般(_G)" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "总是显示标签" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "默认拖动行为:" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "界面(_N)" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "壁纸:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "请选择图像文件" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "模式:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "背景颜色:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "文字:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "阴影:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "桌面(_D)" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "磁盘管理(_V)" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "终端:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "文件名编码:" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "编辑器:" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "在终端中运行编辑器" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "Root 编辑器" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "在终端中运行 Root 编辑器" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "日期格式" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "高级(_A)" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "(>%d) %s 中列太多" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "读取文件 %s 错误:%s" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "文件 '%s' 的内容不是有效UTF-8编码" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "无法设置丢失元素 \"%s\"" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "文件 '%s' 不是一个普通文件" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "动态放缩要求高宽 > 0" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "内部命令 %s 需要一个参数" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "元素 '%s' 不存在" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "对于非按钮 '%s' 内部命令点击不可用" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "对于 %s 内部命令取消/选中不可用" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "写入文件 %s 失败: %s" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "'%s' 不是一个内部命令" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "创建文件 '%s' 失败: %s" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "管道 '%s' 的内容不是有效UTF-8编码" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "[ 咔嚓 - 附加的输出已经从这个LOG中移除 ]\n" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "( 文件内容不是有效的UTF-8编码 )" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "前缀 '%s' 不是一个有效的变量名" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "暂停" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "文件 '%s' 不是普通文件或管道" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" "SpaceFM 创建一个定制的GTK提示框,这个提示\\n\n" "框使用你在命令行提供的可视元素,根据可修改\\n\n" "元素的内部/外部命令来输出可计算/可解析的结果\n" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "用法:\\n\n" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "例如:\n" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "spacefm -g --label \"A message\" --button ok\n" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" "\n" "元素: 选项 和 参数:\n" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "-------- --------------------\n" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" "\n" "以下参数可能被这样使用\n" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "待处理 %s\n" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "ICON 一个图标名,比如:gtk-open\n" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" "@将读取一个值的文本文件A,在一些情况下这个文件会被监测。\n" "所以写一个新值到这个文件中会修改元素。否则,这个文件会被\n" "指定一个初始值。\n" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "保存文件A 查看器或者编辑器的内容被保存在这个文件中。\n" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" "命令A 内部命令或者可执行文件后跟参数,使用参数 -- 分开多个命令。\n" "下面的替代内容可以用在命令中:\n" "%%n 当前对象名\n" "%%v 当前对象值\n" "%%NAME 对象名为NAME的值(例如:%%input1)\n" "%%(command) 从bash命令行产生的标准输出\n" "%%%% %%\n" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" "\n" "内部命令:\n" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" "\n" "样例脚本:\n" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" "\n" "如果需要完整的文档和例子,请查看SpaceFM的用户手册:\n" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "spacefm: 参数不是有效的UTF-8编码\n" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "无效的对话框选项" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "设置窗口标题" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "设置窗口图标" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "添加图标" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "添加图片" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "添加进度条" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "添加水平分隔线" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "添加垂直分隔线" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "关闭对话" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "在新窗口中打开" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "显示桌面设置" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "作为守护进程运行" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "显示文件搜索" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "把文件设为桌面背景" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "显示版本信息" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "用法:" #: ../src/main.c:679 msgid "Example:" msgstr "示例:" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "设置属性" #: ../src/main.c:687 msgid "Gets a property" msgstr "获取属性" #: ../src/main.c:690 msgid "Sets a task property" msgstr "设置任务属性" #: ../src/main.c:693 msgid "Gets a task property" msgstr "获取任务属性" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" "任务属性\n" "-----------" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "窗口ID" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "面板序号 (1-4)" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "标签序号 (1-...)" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "例子" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "这些文件已被复制到剪贴板" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "查看 SpaceFM 的用户手册以获得完整的文档及示例:" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" "spacefm: 错误: 无法保存会话\n" "%s\n" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "文件不存在" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "错误" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "错误:无法和 FAM 服务建立连接\n" "\n" "您是否已安装 \"FAM\" 或 \"Gamin\" 并正确运行?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "不知道如何打开这个文件" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "无法打开文件:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "选择插件文件" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "输入插件URL" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "无效的插件文件名" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "覆盖插件吗?" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "建立临时目录错误" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "无法建立临时目录" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" "错误:无法保存会话文件\n" "\n" "( %s )" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "保存会话错误" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "打开根窗口" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "终端不可用" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "请在 查看|首选项|高级 中设置终端程序" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "打开终端" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "设计模式帮助" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "新命令(_C)" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "显示面板 %d" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "文件(_F)" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "查看(_V)" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "设备(_D)" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "书签(_B)" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "插件(_P)" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "工具(_T)" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "帮助(_H)" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "SpaceFM出错" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "是否停止本窗口中的所有任务?" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "放弃任务中......" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr " %s 空闲 / %s " #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "链接 → %s" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "链接 → %s/" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "!链接 → %s/ (缺失)" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr " 链接 → %s (%s)" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr " !链接 → %s (缺失)" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr " !链接 → ( 读取目标错误 )" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "状态" #: ../src/main-window.c:4156 msgid "#" msgstr "#" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "文件夹" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "剩余" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "移动中" #: ../src/main-window.c:5746 msgid "copying" msgstr "复制中" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "删除中" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "已暂停" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "名称" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "大小" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "类型" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "权限" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "所有者" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "spacefm: 无效选项 '%s'\n" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "spacefm: 选项 %s 需要一个参数\n" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "spacefm: 无效窗口\n" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "spacefm: 无效面板 %d\n" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "spacefm: 面板 %d 不可见\n" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "spacefm: 面板数字无效\n" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "spacefm: 无效标签数字\n" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "spacefm: 无效属性 %s\n" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "spacefm: 列宽度无效\n" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "spacefm: 无效列名 '%s'\n" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "spacefm: 内容不是有效的 UTF-8 字符\n" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "spacefm: %s 需要文件路径\n" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "spacefm: 文件读取错误 '%s'\n" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" "spacefm: 文件 '%s' 未包含有效UTF-8字符\n" "\n" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "spacefm: %s需要一个目录路径\n" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "spacefm: 目录 '%s' 不存在\n" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "spacefm: 命令 %s 需要一项参数\n" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "spacefm: %s 需要两项参数\n" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "spacefm: 无效任务 %s\n" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "spacefm: 任务属性 '%s' 只读\n" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "spacefm: 无效队列状态 '%s'\n" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "spacefm: 无效任务属性 '%s'\n" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "spacefm: 没有 '%s' 这个目录\n" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "spacefm: 未找到事件控制器\n" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "spacefm: 无效的 socket 方法 '%s'\n" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "默认" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "上一页" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "下一页" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "刷新" #: ../src/settings.c:160 msgid "New Tab" msgstr "新标签" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "在此处创建新标签" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 #, fuzzy msgid "Large Icons" msgstr "大图标:" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "文件夹(_F)" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "SpaceFM错误:无法自动保存会话文件( %s )\n" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "帮助不可用" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "此插件没有包含 README 文件" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "创建失败" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "在为此命令创建 README 文件时出错" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "复制命令出错" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "读取插件文件错误 %s" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "卸载插件" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "安装插件" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "保存为插件文件" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "到处插件" #: ../src/settings.c:5495 msgid "Export Error" msgstr "导出错误" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "无法创建临时文件" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "修改菜单名称" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "未设置编辑器" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "请在 查看|首选项|高级 设置编辑器" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "Root 编辑器未设置" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "编辑 %s" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "找不到用户手册" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "手动打开?" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" "SpaceFM 的手册应已在浏览器中打开。若没有打开或希望用不同的浏览器打开,在 帮" "助|选项|浏览器 中设置浏览器。\n" "\n" "当前信息不再重复。" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "取消" #: ../src/settings.c:6703 msgid "Unset" msgstr "取消设置" #: ../src/settings.c:6716 msgid "Set" msgstr "设置" #: ../src/settings.c:6730 msgid "Set Key" msgstr "设置按键" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "编辑命令行" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "以用户身份运行" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 #, fuzzy msgid "Set Item Name" msgstr "设置菜单名称" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "设置子菜单名称" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "确认删除" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "确定吗?" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "对话信息" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "剪切(_t)" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "复制(_C)" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "粘贴(_P)" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "书签(_B)" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "子菜单(_m)" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "属性(_P)" #: ../src/settings.c:8873 #, fuzzy msgid "Choose Icon" msgstr "选择位置" #: ../src/settings.c:8993 msgid "_Edit" msgstr "编辑(_E)" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "设置窗口图标" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "你的输入是无效的,因为有换行符" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "卸载(_U)" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "打开(_O)" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "挂载(_M)" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "重新挂载" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "编辑fstab(_E)" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "编辑udevil.conf(_d)" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "挂载时自动运行" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "自动运行音频 CD" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "自动运行视频 DVD" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "卸载时自动运行" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "默认挂载选项" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "已挂载网络" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "新窗口(_W)" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "文件搜索(_F)" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "终端(_T)" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "Root终端(_R)" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "保存标签(_b)" #: ../src/settings.c:11162 msgid "E_xit" msgstr "退出(_x)" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "设置点击命令" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "标签(_T)" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "设置标签关闭命令" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "设置窗口标题格式" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "全屏(_F)" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "设计模式(_D)" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "首选项(_P)" #: ../src/settings.c:11378 msgid "_Tool" msgstr "工具(_T)" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "安装(_I)" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "用户手册(_U)" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "主页(_H)" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "SpaceFM新闻(_N)" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "获取插件(_G)" #: ../src/settings.c:11452 msgid "_Options" msgstr "选项(_O)" #: ../src/settings.c:11457 msgid "_Browser" msgstr "浏览器(_B)" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "选择HTML浏览器" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "选择用户手册位置" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "关于(_A)" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "暂停(_u)" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "继续(_R)" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "显示输出(_w)" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "所有任务(_A)" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "输入字体" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "执行(_X)" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "编辑(_t)" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "以root的身份编辑(_R)" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "选择...(_C)" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "所有文件和文件夹" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "解压缩到(_T)" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "列出内容(_L)" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "以指定程序打开(_O)" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "目录(_d)" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "书签(_B)" #: ../src/settings.c:11950 msgid "_Archive" msgstr "归档(_A)" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "标签(_T)" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "转到(_G)" #: ../src/settings.c:11973 msgid "_Back" msgstr "后退(_B)" #: ../src/settings.c:11975 msgid "_Forward" msgstr "前进(_F)" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "文件列表(_F)" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "标签(_T)" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "样式(_e)" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "排序(_S)" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "大小(_S)" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "许可(_P)" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "所有者(_O)" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "大小写敏感(_C)" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "目录优先(_r)" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "文件优先(_i)" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "混合(_x)" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "隐藏优先(_H)" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "隐藏最后(_L)" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "刷新(_f)" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "自动查找(_k)" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "重命名(_R)" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "删除(_D)" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "粘贴链接(_L)" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "粘贴目标(_T)" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "粘贴为(_A)" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "复制到(_C)" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "标签(_T)" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "标签(_T)" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "全部选择(_S)" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "全部不选(_U)" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "反向选择(_I)" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "图标(_I)" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" "目录不存在\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" "无法访问 %s\n" "\n" "%s" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "选择位置" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "目标位置无效" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "目标与源文件相同" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "目标无效" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "隐藏文件" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "隐藏文件出错" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "没有选择文件" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "无法挂载设备" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "无法卸载设备" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "无法弹出设备" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "恢复 MBR" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "未知类型" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "恢复" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "目录丢失" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "找不到 /etc/udevil 目录。udevil安装了吗?" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "MBR 文件" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "是否覆盖?" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "备份" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "弹出(_E)" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "移动:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "复制:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "删除:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "创建链接:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "移动中..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "复制中..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "正在刪除..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "正在创建链接..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "正在运行……" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "到:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "进度:" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "状态:" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "暂停" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "全部覆盖" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "全部跳过" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "已停止" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "错误" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "从目录移动:" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "文件名存在" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "需要重命名" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "解压到" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "复制" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "解压 %s" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "完成!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "命令行:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "文件系统" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "新建" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "确认删除" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "选择链接目标" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "选择模板文件" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "选择模板目录" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "文件" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "文件夹" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "链接" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "移动" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "复制" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "创建链接" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "链接目标" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "目标" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "以 Root 权限" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "链接" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "文件" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "空文件" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "空目录" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "目录(_d)" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "新建" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "创建父目录" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "父目录不存在,是否创建?" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" "创建父目录出错\n" "\n" "%s" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "覆盖已存在的文件" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "模板丢失" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "指定模板不存在" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "创建新文件 %s" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "创建新目录 %s" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "复制 %s" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "重命名出错" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "创建文件夹" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "新目录名:" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "创建文件" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "新文件名:" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "不能创建新文件" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "链接损坏" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "以 Root 权限删除" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "以 Root 权限移动" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "以 Root 权限复制" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "统计中..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "无效的用户" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "无效的群组" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 #, fuzzy msgid "Device Handlers" msgstr "设备标签" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "文件管理器" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "命令未找到" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "目标目录 \"%1$s\" 包含在源 \"%2$s\" 中" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "无法建立临时目录" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s 磁盘" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RM" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s 驱动器" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s 驱动器" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "软驱" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "CF 读卡器" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "记忆棒" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media 驱动器" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC 驱动器" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip 驱动器" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz 驱动器" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "Pen 驱动器" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s 音乐播放器" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s 数码相机" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "驱动器" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "外部 %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM 碟片" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "空白 CD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "空白 CD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM 碟片" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "空白 DVD-RAM 碟片" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM 碟片" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "空白 DVD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "空白 DVD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "空白 DVD+R 碟片" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R 碟片" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "空白 DVD+RW 碟片" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW 碟片" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "音频碟片" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s 可移动磁盘" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "磁盘" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "无法和连接到 HAL 服务:%s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "设备 \"%s\" 不是磁盘" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "文件系统设备表中找不到设备 \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "您没有权限挂载磁盘 \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "您没有权限卸载磁盘 \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "您没有权限弹出磁盘 \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "挂载磁盘 \"%s\" 时使用了无效的挂载参数" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "您的系统无法支持磁盘 \"%s\" 所使用的 %s 文件系统" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "其他程序正在访问磁盘 \"%s\",无法卸载" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "磁盘 \"%s\" 还没有被挂载" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "错误 %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "磁盘 \"%s\" 很有可能是通过命令行手动挂载的" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "无法挂载空白碟片,请使用刻录程序往碟片里写入音频或数据" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "无法挂载音频 CD,请使用音乐播放器来播放音轨" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "打开文件所在的文件夹(_F)" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "选择文件夹" #: ../src/find-files.c:825 msgid "Browse..." msgstr "浏览..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "本地磁盘" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "最后修改" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "文件名" #: ../src/item-prop.c:108 msgid "Directory" msgstr "目录" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "当前面板" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "当前标签" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "书签" #: ../src/item-prop.c:122 msgid "Device" msgstr "设备" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "设备挂载点" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "设备标签" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "设备属性" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "任务名称" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "包含" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "不包含" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 #, fuzzy msgid "Current: Enable" msgstr "当前标签" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "命令未找到" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "符合任一规则:" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "符合所有规则:" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "不符合任一规则:" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "不符合所有规则:" #: ../src/item-prop.c:1861 msgid "Show" msgstr "显示" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "启用" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "隐藏" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "停用" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "编辑规则" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "值:" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" #~ msgid "Change Icon" #~ msgstr "修改图标" spacefm-1.0.5/po/zh_TW.po000066400000000000000000005010011264770501700151520ustar00rootroot00000000000000# SpaceFM PO Template http://ignorantguru.github.io/spacefm/ # This file is distributed under the same copyright and license as the SpaceFM # package. # # Translators: # PCMan , 2008 msgid "" msgstr "" "Project-Id-Version: spacefm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-05-27 06:47-0600\n" "PO-Revision-Date: 2015-05-14 14:28+0000\n" "Last-Translator: IgnorantGuru \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/spacefm/" "language/zh_TW/)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/spacefm-folder-handler.desktop.in.h:1 msgid "SpaceFM Open Folder" msgstr "" #: ../data/spacefm-folder-handler.desktop.in.h:2 msgid "Open folder" msgstr "" #: ../data/spacefm-find.desktop.in.h:1 msgid "SpaceFM File Search" msgstr "" #: ../data/spacefm-find.desktop.in.h:2 msgid "Search for files and folders" msgstr "" #: ../data/spacefm.desktop.in.h:1 msgid "SpaceFM" msgstr "" #: ../data/spacefm.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../data/spacefm.desktop.in.h:3 msgid "Browse the file system" msgstr "" #: ../data/ui/about-dlg.ui.h:1 msgid "by IgnorantGuru" msgstr "" #: ../data/ui/about-dlg.ui.h:2 msgid "Copyright (C) 2015 GPL3+" msgstr "" #: ../data/ui/about-dlg.ui.h:3 msgid "" "SpaceFM - Copyright (C) 2015 GPL3+\n" "\n" "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 3 of the License, or (at your option) " "any later version.\n" "\n" "USE AT YOUR OWN RISK. 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.\n" "\n" "The 'exo' libraries and source code used by this software are licensed under " "the GNU General Public License and the GNU Lesser General Public License " "version 3 (LGPL3).\n" "\n" "You should have received a copy of the GNU General Public License and the " "GNU Lesser 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." msgstr "" #: ../data/ui/about-dlg.ui.h:12 msgid "" "IgnorantGuru \n" "\n" "Contributors:\n" " BwackNinja \n" " OmegaPhil \n" "\n" "Artwork:\n" " SpaceFM icons and logo by Goran Simovic\n" "\n" "Thanks to SpaceFM users for valuable feedback and to SpaceFM translators " "and\n" "packagers!\n" "\n" "Special thanks to:\n" " Jean-Philippe Fleury\n" " Vladimir Kudrya\n" " VastOne\n" " Hasufell\n" "\n" "SpaceFM is developed on geany, gcc, and git, with a little help from gdb.\n" "\n" "Source code taken from other projects:\n" " * pcmanfm-mod: IgnorantGuru\n" " * pcmanfm v0.5.2: Hon Jen Yee (PCMan)\n" " * libmd5-rfc: Aladdin Enterprises\n" " * Working area detection: Gary Kramlich\n" " * ExoIconView: os-cillation e.K, Anders Carlsson, Benedikt Meurer\n" " * Text and icon renderer uses code from Jonathan Blandford\n" " * Desktop icons use code from Brian Tarricone\n" " * HAL support (deprecated): gnome-vfs, thunar-vfs, libexo, gnome-mount" msgstr "" #: ../data/ui/about-dlg.ui.h:41 msgid "" "SpaceFM icons and logo by Goran Simovic\n" "\n" "Additional icons were taken from the Tango Desktop Project icon set" msgstr "" #: ../data/ui/about-dlg.ui.h:44 msgid "translator-credits" msgstr "洪任諭 (PCMan) " #: ../data/ui/appchooserdlg.ui.h:1 msgid "Choose Application" msgstr "" #: ../data/ui/appchooserdlg.ui.h:2 msgid "Please choose an application or enter a command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:3 msgid "File Type:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:4 msgid "_Associated Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:5 msgid "A_ll Apps" msgstr "" #: ../data/ui/appchooserdlg.ui.h:6 msgid "_Command:" msgstr "" #: ../data/ui/appchooserdlg.ui.h:7 ../src/settings.c:11421 #: ../src/ptk/ptk-file-misc.c:2131 ../src/item-prop.c:1744 msgid "_Browse" msgstr "瀏覽(_B)" #: ../data/ui/appchooserdlg.ui.h:8 msgid "Opened in Terminal" msgstr "在終端機中開啟" #: ../data/ui/appchooserdlg.ui.h:9 msgid "_Set as default application for this file type" msgstr "" #: ../data/ui/file_properties.ui.h:1 msgid "File Properties" msgstr "檔案屬性" #: ../data/ui/file_properties.ui.h:2 msgid "File _Name:" msgstr "" #: ../data/ui/file_properties.ui.h:3 msgid "_Location:" msgstr "" #: ../data/ui/file_properties.ui.h:4 msgid "Link _Target:" msgstr "" #: ../data/ui/file_properties.ui.h:5 ../src/ptk/ptk-file-misc.c:2183 msgid "Type:" msgstr "" #: ../data/ui/file_properties.ui.h:6 msgid "Opens _With:" msgstr "" #: ../data/ui/file_properties.ui.h:7 msgid "Total Size:" msgstr "" #: ../data/ui/file_properties.ui.h:8 msgid "Size On Disk:" msgstr "" #: ../data/ui/file_properties.ui.h:9 msgid "Count:" msgstr "" #: ../data/ui/file_properties.ui.h:10 msgid "_Modified:" msgstr "" #: ../data/ui/file_properties.ui.h:11 msgid "_Accessed:" msgstr "" #: ../data/ui/file_properties.ui.h:12 ../src/settings.c:12254 msgid "_Info" msgstr "" #: ../data/ui/file_properties.ui.h:13 msgid "_Owner:" msgstr "擁有者(_O):" #: ../data/ui/file_properties.ui.h:14 msgid "_Group:" msgstr "群組(_G):" #: ../data/ui/file_properties.ui.h:15 msgid "Owner:" msgstr "擁有者:" #: ../data/ui/file_properties.ui.h:16 msgid "Group:" msgstr "群組:" #: ../data/ui/file_properties.ui.h:17 msgid "Other:" msgstr "" #: ../data/ui/file_properties.ui.h:18 msgid "Read" msgstr "讀取" #: ../data/ui/file_properties.ui.h:19 msgid "Write" msgstr "寫入" #: ../data/ui/file_properties.ui.h:20 msgid "Execute" msgstr "執行" #: ../data/ui/file_properties.ui.h:21 msgid "Set UID" msgstr "Set UID" #: ../data/ui/file_properties.ui.h:22 msgid "Set GID" msgstr "Set GID" #: ../data/ui/file_properties.ui.h:23 msgid "Sticky" msgstr "Sticky" #: ../data/ui/file_properties.ui.h:24 msgid "Recursive (apply changes to folders and their contents)" msgstr "" #: ../data/ui/file_properties.ui.h:25 ../src/settings.c:12257 msgid "_Permissions" msgstr "權限(_P)" #: ../data/ui/find-files.ui.h:1 ../data/ui/find-files2.ui.h:1 msgid "Bytes" msgstr "位元組" #: ../data/ui/find-files.ui.h:2 ../data/ui/find-files2.ui.h:2 #: ../data/ui/prefdlg.ui.h:23 ../data/ui/prefdlg2.ui.h:23 msgid "KB" msgstr "KB" #: ../data/ui/find-files.ui.h:3 ../data/ui/find-files2.ui.h:3 msgid "MB" msgstr "MB" #: ../data/ui/find-files.ui.h:4 ../data/ui/find-files2.ui.h:4 msgid "GB" msgstr "GB" #: ../data/ui/find-files.ui.h:5 ../data/ui/find-files2.ui.h:5 msgid "Any" msgstr "任何" #: ../data/ui/find-files.ui.h:6 ../data/ui/find-files2.ui.h:6 msgid "Within One Day" msgstr "一天以內" #: ../data/ui/find-files.ui.h:7 ../data/ui/find-files2.ui.h:7 msgid "Within One Week" msgstr "一週以內" #: ../data/ui/find-files.ui.h:8 ../data/ui/find-files2.ui.h:8 msgid "Within One Month" msgstr "一個月以內" #: ../data/ui/find-files.ui.h:9 ../data/ui/find-files2.ui.h:9 msgid "Within One Year" msgstr "一年以內" #: ../data/ui/find-files.ui.h:10 ../data/ui/find-files2.ui.h:10 msgid "Within Selected Date Range" msgstr "在選擇的日期範圍內" #: ../data/ui/find-files.ui.h:11 ../data/ui/find-files2.ui.h:11 msgid "Find Files" msgstr "尋找檔案" #: ../data/ui/find-files.ui.h:12 ../data/ui/find-files2.ui.h:12 #: ../src/ptk/ptk-file-task.c:2413 msgid "Filename:" msgstr "" #: ../data/ui/find-files.ui.h:13 ../data/ui/find-files2.ui.h:13 msgid "Case Sensitive" msgstr "大小寫有別" #: ../data/ui/find-files.ui.h:14 ../data/ui/find-files2.ui.h:14 msgid "Video Files (avi, mpg,...)" msgstr "影像檔(avi, mpg,...等)" #: ../data/ui/find-files.ui.h:15 ../data/ui/find-files2.ui.h:15 msgid "Audio Files (mp3, ogg,...)" msgstr "音樂檔(mp3, ogg,...等)" #: ../data/ui/find-files.ui.h:16 ../data/ui/find-files2.ui.h:16 msgid "Image Files (jpg, png,...)" msgstr "圖片檔(jpg, png,...等)" #: ../data/ui/find-files.ui.h:17 ../data/ui/find-files2.ui.h:17 msgid "Plain Text Files" msgstr "純文字檔" #: ../data/ui/find-files.ui.h:18 ../data/ui/find-files2.ui.h:18 msgid "All Files and Folders" msgstr "所有檔案和資料夾" #: ../data/ui/find-files.ui.h:19 ../data/ui/find-files2.ui.h:19 msgid "File Types to Search" msgstr "要搜尋的檔案類型" #: ../data/ui/find-files.ui.h:20 ../data/ui/find-files2.ui.h:20 msgid "Search in subfolders" msgstr "" #: ../data/ui/find-files.ui.h:21 ../data/ui/find-files2.ui.h:21 msgid "Search hidden files" msgstr "" #: ../data/ui/find-files.ui.h:22 ../data/ui/find-files2.ui.h:22 msgid "Places to Search" msgstr "搜尋的位置" #: ../data/ui/find-files.ui.h:23 ../data/ui/find-files2.ui.h:23 msgid "General" msgstr "一般" #: ../data/ui/find-files.ui.h:24 ../data/ui/find-files2.ui.h:24 msgid "File Contains:" msgstr "檔案內包含:" #: ../data/ui/find-files.ui.h:25 ../data/ui/find-files2.ui.h:25 msgid "Use Regular Expression" msgstr "使用正規表示式" #: ../data/ui/find-files.ui.h:26 ../data/ui/find-files2.ui.h:26 msgid "File Content" msgstr "檔案內容" #: ../data/ui/find-files.ui.h:27 ../data/ui/find-files2.ui.h:27 msgid "Content" msgstr "內容" #: ../data/ui/find-files.ui.h:28 ../data/ui/find-files2.ui.h:28 msgid "Greater Than:" msgstr "大於:" #: ../data/ui/find-files.ui.h:29 ../data/ui/find-files2.ui.h:29 msgid "Smaller Than:" msgstr "小於:" #: ../data/ui/find-files.ui.h:30 ../data/ui/find-files2.ui.h:30 msgid "File Size" msgstr "檔案大小" #: ../data/ui/find-files.ui.h:31 ../data/ui/find-files2.ui.h:31 msgid "Last Modified" msgstr "最後修改" #: ../data/ui/find-files.ui.h:32 ../data/ui/find-files2.ui.h:32 msgid "Size & Date" msgstr "大小及日期" #: ../data/ui/find-files.ui.h:33 ../data/ui/find-files2.ui.h:33 msgid "Search Result:" msgstr "搜尋結果:" #: ../data/ui/find-files.ui.h:34 ../data/ui/find-files2.ui.h:34 msgid "Search Again" msgstr "再次搜尋" #: ../data/ui/godlg.ui.h:1 msgid "Go to folder" msgstr "" #: ../data/ui/prefdlg.ui.h:1 ../data/ui/prefdlg2.ui.h:1 msgid "Open In Current Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:2 ../data/ui/prefdlg2.ui.h:2 msgid "Open In New Tab" msgstr "" #: ../data/ui/prefdlg.ui.h:3 ../data/ui/prefdlg2.ui.h:3 msgid "Stretch" msgstr "" #: ../data/ui/prefdlg.ui.h:4 ../data/ui/prefdlg2.ui.h:4 msgid "Fit" msgstr "" #: ../data/ui/prefdlg.ui.h:5 ../data/ui/prefdlg2.ui.h:5 msgid "Center" msgstr "" #: ../data/ui/prefdlg.ui.h:6 ../data/ui/prefdlg2.ui.h:6 msgid "Tile" msgstr "" #: ../data/ui/prefdlg.ui.h:7 ../data/ui/prefdlg2.ui.h:7 msgid "Zoom" msgstr "" #: ../data/ui/prefdlg.ui.h:8 ../data/ui/prefdlg2.ui.h:8 msgid "Transparent" msgstr "" #: ../data/ui/prefdlg.ui.h:9 ../data/ui/prefdlg2.ui.h:9 msgid "Automatic" msgstr "" #: ../data/ui/prefdlg.ui.h:10 ../data/ui/prefdlg2.ui.h:10 msgid "Copy (Ctrl+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:11 ../data/ui/prefdlg2.ui.h:11 msgid "Move (Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:12 ../data/ui/prefdlg2.ui.h:12 msgid "Link (Ctrl+Shift+Drag)" msgstr "" #: ../data/ui/prefdlg.ui.h:13 ../data/ui/prefdlg2.ui.h:13 msgid "Preferences" msgstr "偏好設定" #: ../data/ui/prefdlg.ui.h:14 ../data/ui/prefdlg2.ui.h:14 msgid "Small Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:15 ../data/ui/prefdlg2.ui.h:15 msgid "Large Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:16 ../data/ui/prefdlg2.ui.h:16 msgid "Toolbar Icons:" msgstr "" #: ../data/ui/prefdlg.ui.h:17 ../data/ui/prefdlg2.ui.h:17 msgid "Icons" msgstr "" #: ../data/ui/prefdlg.ui.h:18 ../data/ui/prefdlg2.ui.h:18 msgid "Single click opens files" msgstr "" #: ../data/ui/prefdlg.ui.h:19 ../data/ui/prefdlg2.ui.h:19 msgid "Hover selects" msgstr "" #: ../data/ui/prefdlg.ui.h:20 ../data/ui/prefdlg2.ui.h:20 msgid "Bookmarks:" msgstr "書籤:" #: ../data/ui/prefdlg.ui.h:21 ../data/ui/prefdlg2.ui.h:21 #: ../src/settings.c:163 msgid "Show Thumbnails" msgstr "" #: ../data/ui/prefdlg.ui.h:22 ../data/ui/prefdlg2.ui.h:22 msgid "Max Pic Size To Thumbnail:" msgstr "" #: ../data/ui/prefdlg.ui.h:24 ../data/ui/prefdlg2.ui.h:24 msgid "File List" msgstr "" #: ../data/ui/prefdlg.ui.h:25 ../data/ui/prefdlg2.ui.h:25 msgid "_General" msgstr "一般(_G)" #: ../data/ui/prefdlg.ui.h:26 ../data/ui/prefdlg2.ui.h:26 msgid "Always show the tab bar" msgstr "永遠秀出分頁條" #: ../data/ui/prefdlg.ui.h:27 ../data/ui/prefdlg2.ui.h:27 msgid "Hide 'Close Tab' buttons" msgstr "" #: ../data/ui/prefdlg.ui.h:28 ../data/ui/prefdlg2.ui.h:28 msgid "Confirm delete/remove" msgstr "" #: ../data/ui/prefdlg.ui.h:29 ../data/ui/prefdlg2.ui.h:29 msgid "Click runs executables" msgstr "" #: ../data/ui/prefdlg.ui.h:30 ../data/ui/prefdlg2.ui.h:30 msgid "SI File Sizes (1K = 1000) (requires restart)" msgstr "" #: ../data/ui/prefdlg.ui.h:31 ../data/ui/prefdlg2.ui.h:31 msgid "Show root user indicator color" msgstr "" #: ../data/ui/prefdlg.ui.h:32 ../data/ui/prefdlg2.ui.h:32 msgid "Default Drag Action:" msgstr "" #: ../data/ui/prefdlg.ui.h:33 ../data/ui/prefdlg2.ui.h:33 msgid "I_nterface" msgstr "介面" #: ../data/ui/prefdlg.ui.h:34 ../data/ui/prefdlg2.ui.h:34 msgid "Wallpaper:" msgstr "桌布:" #: ../data/ui/prefdlg.ui.h:35 ../data/ui/prefdlg2.ui.h:35 msgid "Please select an image file" msgstr "請選擇一個圖檔" #: ../data/ui/prefdlg.ui.h:36 ../data/ui/prefdlg2.ui.h:36 msgid "Mode:" msgstr "模式:" #: ../data/ui/prefdlg.ui.h:37 ../data/ui/prefdlg2.ui.h:37 msgid "Background:" msgstr "背景:" #: ../data/ui/prefdlg.ui.h:38 ../data/ui/prefdlg2.ui.h:38 msgid "Text:" msgstr "文字:" #: ../data/ui/prefdlg.ui.h:39 ../data/ui/prefdlg2.ui.h:39 msgid "Shadow:" msgstr "陰影:" #: ../data/ui/prefdlg.ui.h:40 ../data/ui/prefdlg2.ui.h:40 msgid "Font:" msgstr "" #: ../data/ui/prefdlg.ui.h:41 ../data/ui/prefdlg2.ui.h:41 msgid "Top:" msgstr "" #: ../data/ui/prefdlg.ui.h:42 ../data/ui/prefdlg2.ui.h:42 msgid "Left:" msgstr "" #: ../data/ui/prefdlg.ui.h:43 ../data/ui/prefdlg2.ui.h:43 msgid "Right:" msgstr "" #: ../data/ui/prefdlg.ui.h:44 ../data/ui/prefdlg2.ui.h:44 msgid "Bottom:" msgstr "" #: ../data/ui/prefdlg.ui.h:45 ../data/ui/prefdlg2.ui.h:45 msgid "Pad:" msgstr "" #: ../data/ui/prefdlg.ui.h:46 ../data/ui/prefdlg2.ui.h:46 msgid "Margins" msgstr "" #: ../data/ui/prefdlg.ui.h:47 ../data/ui/prefdlg2.ui.h:47 msgid "Right click shows WM menu" msgstr "" #: ../data/ui/prefdlg.ui.h:48 ../data/ui/prefdlg2.ui.h:48 msgid "Open folders using associated MIME application" msgstr "" #: ../data/ui/prefdlg.ui.h:49 ../data/ui/prefdlg2.ui.h:49 msgid "_Desktop" msgstr "桌面(_D)" #: ../data/ui/prefdlg.ui.h:50 ../data/ui/prefdlg2.ui.h:50 msgid "_Volume Management" msgstr "磁碟管理(_V)" #: ../data/ui/prefdlg.ui.h:51 ../data/ui/prefdlg2.ui.h:51 msgid "Terminal:" msgstr "終端機:" #: ../data/ui/prefdlg.ui.h:52 ../data/ui/prefdlg2.ui.h:52 msgid "Terminal SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:53 ../data/ui/prefdlg2.ui.h:53 msgid "Graphical SU:" msgstr "" #: ../data/ui/prefdlg.ui.h:54 ../data/ui/prefdlg2.ui.h:54 msgid "Filename Encoding:" msgstr "" #: ../data/ui/prefdlg.ui.h:55 ../data/ui/prefdlg2.ui.h:55 msgid "Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:56 ../data/ui/prefdlg2.ui.h:56 msgid "Run editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:57 ../data/ui/prefdlg2.ui.h:57 msgid "Root's Editor:" msgstr "" #: ../data/ui/prefdlg.ui.h:58 ../data/ui/prefdlg2.ui.h:58 msgid "Run root's editor in terminal" msgstr "" #: ../data/ui/prefdlg.ui.h:59 ../data/ui/prefdlg2.ui.h:59 msgid "Date Format:" msgstr "" #: ../data/ui/prefdlg.ui.h:60 ../data/ui/prefdlg2.ui.h:60 msgid "(requires reload)" msgstr "" #: ../data/ui/prefdlg.ui.h:61 ../data/ui/prefdlg2.ui.h:61 msgid "Date Display" msgstr "" #: ../data/ui/prefdlg.ui.h:62 ../data/ui/prefdlg2.ui.h:62 msgid "_Advanced" msgstr "進階(_A)" #: ../src/cust-dialog.c:393 #, c-format msgid "Too many columns (>%d) in %s" msgstr "" #: ../src/cust-dialog.c:630 ../src/cust-dialog.c:1651 #: ../src/cust-dialog.c:1665 ../src/cust-dialog.c:1884 ../src/item-prop.c:799 #, c-format msgid "error reading file %s: %s" msgstr "" #. modified = TRUE; #: ../src/cust-dialog.c:638 ../src/cust-dialog.c:1685 #: ../src/cust-dialog.c:1898 ../src/ptk/ptk-handler.c:694 #: ../src/item-prop.c:811 #, c-format msgid "file '%s' contents are not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:693 #, c-format msgid "Cannot set missing element '%s'" msgstr "" #: ../src/cust-dialog.c:821 ../src/cust-dialog.c:910 #, c-format msgid "file '%s' is not a regular file" msgstr "" #: ../src/cust-dialog.c:993 ../src/cust-dialog.c:1329 #: ../src/cust-dialog.c:3422 msgid "Dynamic resize requires width and height > 0" msgstr "" #: ../src/cust-dialog.c:1302 #, c-format msgid "internal command %s requires an argument" msgstr "" #: ../src/cust-dialog.c:1350 #, c-format msgid "element '%s' does not exist" msgstr "" #: ../src/cust-dialog.c:1395 #, c-format msgid "internal command press is invalid for non-button %s" msgstr "" #: ../src/cust-dialog.c:1429 #, c-format msgid "internal command un/select is invalid for %s" msgstr "" #: ../src/cust-dialog.c:1463 ../src/cust-dialog.c:1612 #: ../src/cust-dialog.c:1619 #, c-format msgid "error writing file %s: %s" msgstr "" #: ../src/cust-dialog.c:1592 #, c-format msgid "'%s' is not an internal command" msgstr "" #: ../src/cust-dialog.c:1638 #, c-format msgid "error creating file %s: %s" msgstr "" #: ../src/cust-dialog.c:1754 #, c-format msgid "pipe '%s' data is not valid UTF-8" msgstr "" #: ../src/cust-dialog.c:1790 ../src/ptk/ptk-file-task.c:1778 msgid "[ SNIP - additional output above has been trimmed from this log ]\n" msgstr "" #: ../src/cust-dialog.c:1895 msgid "( file contents are not valid UTF-8 )" msgstr "" #: ../src/cust-dialog.c:2019 #, c-format msgid "prefix '%s' is not a valid variable name" msgstr "" #. pack timeout button first #: ../src/cust-dialog.c:2290 ../src/cust-dialog.c:3580 #: ../src/cust-dialog.c:3640 msgid "Pause" msgstr "" #: ../src/cust-dialog.c:2974 #, c-format msgid "file '%s' is not a regular file or a pipe" msgstr "" #: ../src/cust-dialog.c:3698 #, c-format msgid "" "SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\n" "specify on the command line, features run-time internal/external commands " "which\n" "can modify elements, and outputs evaluatable/parsable results.\n" msgstr "" #: ../src/cust-dialog.c:3699 #, c-format msgid "Usage:\n" msgstr "" #: ../src/cust-dialog.c:3700 #, c-format msgid " spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n" msgstr "" #: ../src/cust-dialog.c:3701 #, c-format msgid "Example:\n" msgstr "" #: ../src/cust-dialog.c:3702 #, c-format msgid " spacefm -g --label \"A message\" --button ok\n" msgstr "" #: ../src/cust-dialog.c:3703 #, c-format msgid "" "\n" "ELEMENT: OPTIONS & ARGUMENTS:\n" msgstr "" #: ../src/cust-dialog.c:3704 #, c-format msgid "-------- --------------------\n" msgstr "" #: ../src/cust-dialog.c:3715 #, c-format msgid "" "\n" "The following arguments may be used as shown above:\n" msgstr "" #: ../src/cust-dialog.c:3716 #, c-format msgid " STOCK %s\n" msgstr "" #: ../src/cust-dialog.c:3717 #, c-format msgid " ICON An icon name, eg: gtk-open\n" msgstr "" #: ../src/cust-dialog.c:3718 #, c-format msgid "" " @FILE A text file from which to read a value. In some cases this " "file\n" " is monitored, so writing a new value to the file will update " "the\n" " element. In other cases, the file specifies an initial value.\n" msgstr "" #: ../src/cust-dialog.c:3719 #, c-format msgid " SAVEFILE A viewer's or editor's contents are saved to this file.\n" msgstr "" #: ../src/cust-dialog.c:3720 #, c-format msgid "" " COMMAND An internal command or executable followed by arguments. " "Separate\n" " multiple commands with a -- argument.\n" " The following substitutions may be used in COMMANDs:\n" " %%n Name of the current element\n" " %%v Value of the current element\n" " %%NAME Value of element named NAME (eg: %%input1)\n" " %%(command) stdout from a bash command line\n" " %%%% %%\n" msgstr "" #: ../src/cust-dialog.c:3721 #, c-format msgid "" " LABEL The following escape sequences in LABEL are unescaped:\n" " \\n newline\n" " \\t tab\n" " \\\" \"\n" " \\\\ \\\n" " In --label elements only, if the first character in LABEL is a\n" " tilde (~), pango markup may be used. For example:\n" " --label '~This is plain. This is bold.'\n" msgstr "" #: ../src/cust-dialog.c:3723 #, c-format msgid "" "\n" "In addition to the OPTIONS listed above, --compact or --expand options may " "be\n" "added to any element. Also, a --font option may be used with most element\n" "types to change the element's font and font size. For example:\n" " --input --font \"Times New Roman 16\" \"Default Text\"\n" msgstr "" #: ../src/cust-dialog.c:3725 #, c-format msgid "" "\n" "INTERNAL COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3736 #, c-format msgid "" "\n" "EXAMPLE WITH COMMANDS:\n" msgstr "" #: ../src/cust-dialog.c:3737 #, c-format msgid "" " spacefm -g --label \"Enter some text and press Enter:\" \\\n" " --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n" " --label \\\n" " --button ok\n" msgstr "" #: ../src/cust-dialog.c:3739 #, c-format msgid "" "\n" "EXAMPLE SCRIPT:\n" msgstr "" #: ../src/cust-dialog.c:3740 #, c-format msgid "" " #!%s\n" " # This script shows a Yes/No dialog\n" " # Use QUOTED eval to read variables output by SpaceFM Dialog:\n" " eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`" "\"\n" " if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n" " echo \"User pressed Yes - take some action\"\n" " else\n" " echo \"User did NOT press Yes - abort\"\n" " fi\n" msgstr "" #: ../src/cust-dialog.c:3741 #, c-format msgid "" "\n" "For full documentation and examples see the SpaceFM User's Manual:\n" msgstr "" #: ../src/cust-dialog.c:3768 #, c-format msgid "spacefm: argument is not valid UTF-8\n" msgstr "" #: ../src/cust-dialog.c:3815 msgid "invalid dialog option" msgstr "" #: ../src/cust-dialog.h:12 msgid "Set window title" msgstr "" #: ../src/cust-dialog.h:14 msgid "Set window icon" msgstr "" #: ../src/cust-dialog.h:16 msgid "Add a text label" msgstr "" #: ../src/cust-dialog.h:18 msgid "Add STOCK dialog button, or LABEL button with ICON" msgstr "" #: ../src/cust-dialog.h:20 msgid "Add STOCK button, or LABEL button with ICON anywhere" msgstr "" #: ../src/cust-dialog.h:22 msgid "Add a text entry" msgstr "" #: ../src/cust-dialog.h:24 msgid "Add a large text entry" msgstr "" #: ../src/cust-dialog.h:26 msgid "Add a password entry" msgstr "" #: ../src/cust-dialog.h:28 msgid "Add a file or pipe viewer" msgstr "" #: ../src/cust-dialog.h:30 msgid "Add multi-line text editor" msgstr "" #: ../src/cust-dialog.h:32 msgid "Add a checkbox option" msgstr "" #: ../src/cust-dialog.h:34 msgid "Add a radio option" msgstr "" #: ../src/cust-dialog.h:36 msgid "Add an icon" msgstr "" #: ../src/cust-dialog.h:38 msgid "Add an image" msgstr "" #: ../src/cust-dialog.h:44 msgid "Add a progress bar" msgstr "" #: ../src/cust-dialog.h:46 msgid "Add a horizontal line separator" msgstr "" #: ../src/cust-dialog.h:48 msgid "Add a vertical line separator" msgstr "" #: ../src/cust-dialog.h:50 msgid "Automatically close window after DELAY seconds" msgstr "" #: ../src/cust-dialog.h:52 msgid "Add a drop-down list. COMMAND run when clicked." msgstr "" #: ../src/cust-dialog.h:54 msgid "Add a combo list. COMMAND run when Enter pressed." msgstr "" #. ^HIDE hidden column (must be first) for data return (int or double or string no progress) #. use --colwidth=W inside column list #: ../src/cust-dialog.h:58 msgid "Add a list box. COMMAND run when double-clicked." msgstr "" #: ../src/cust-dialog.h:60 msgid "Add a list box with multiple selections" msgstr "" #: ../src/cust-dialog.h:62 msgid "Options: [--save] [--dir] [--multi] [--filter F[:F...]]" msgstr "" #: ../src/cust-dialog.h:64 msgid "Set base variable name (Default: \"dialog\")" msgstr "" #: ../src/cust-dialog.h:66 msgid "Set minimum width, height, padding (-1 = don't change)" msgstr "" #: ../src/cust-dialog.h:68 msgid "Add following widgets to a horizontal box" msgstr "" #: ../src/cust-dialog.h:70 msgid "Add following widgets to a vertical box" msgstr "" #: ../src/cust-dialog.h:72 msgid "Close the current box of widgets" msgstr "" #: ../src/cust-dialog.h:74 msgid "Run COMMAND when a key combination is pressed" msgstr "" #: ../src/cust-dialog.h:76 msgid "Run COMMAND on window close attempt" msgstr "" #: ../src/cust-dialog.h:78 msgid "Read commands from FILE or PIPE. COMMAND for init." msgstr "" #: ../src/cust-dialog.h:141 msgid "No operation - does nothing but evaluate arguments" msgstr "" #. exit status ? #: ../src/cust-dialog.h:143 msgid "Close the dialog" msgstr "" #: ../src/cust-dialog.h:145 msgid "Press button named BUTTON-NAME" msgstr "" #: ../src/cust-dialog.h:147 msgid "Set element NAME to VALUE" msgstr "" #. also do for inputs? #: ../src/cust-dialog.h:149 msgid "Select item VALUE (or first/all) in element NAME" msgstr "" #: ../src/cust-dialog.h:151 msgid "Unselect item VALUE (or all) in element NAME" msgstr "" #: ../src/cust-dialog.h:153 msgid "Focus element NAME, or raise dialog window" msgstr "" #: ../src/cust-dialog.h:155 msgid "Hide element NAME" msgstr "" #: ../src/cust-dialog.h:157 msgid "Show element NAME if previously hidden" msgstr "" #: ../src/cust-dialog.h:159 msgid "Disable element NAME" msgstr "" #: ../src/cust-dialog.h:161 msgid "Enable element NAME if previously disabled" msgstr "" #: ../src/cust-dialog.h:163 msgid "Save files and write source output to FILE" msgstr "" #: ../src/main.c:128 msgid "Open folders in new tab of last window (default)" msgstr "" #: ../src/main.c:129 msgid "Open folder in current tab of last used window" msgstr "" #: ../src/main.c:130 msgid "Don't load saved tabs" msgstr "" #: ../src/main.c:131 msgid "Open folders in new window" msgstr "" #: ../src/main.c:132 msgid "Open folders in panel 'P' (1-4)" msgstr "" #: ../src/main.c:133 msgid "Launch desktop manager daemon" msgstr "" #: ../src/main.c:134 msgid "Show desktop settings" msgstr "" #: ../src/main.c:135 msgid "Show Preferences ('N' is the Pref tab number)" msgstr "" #: ../src/main.c:136 msgid "Run as a daemon" msgstr "" #: ../src/main.c:137 msgid "Use DIR as configuration directory" msgstr "" #: ../src/main.c:138 msgid "Show File Search" msgstr "" #: ../src/main.c:145 msgid "Set desktop wallpaper to FILE" msgstr "" #: ../src/main.c:147 msgid "Show a custom dialog (See -g help)" msgstr "" #: ../src/main.c:148 msgid "Send a socket command (See -s help)" msgstr "" #: ../src/main.c:149 ../src/main.c:150 msgid "No function - for compatibility only" msgstr "" #: ../src/main.c:151 msgid "Show version information" msgstr "" #: ../src/main.c:161 msgid "[DIR | FILE | URL]..." msgstr "" #: ../src/main.c:464 msgid "Option --config-dir ignored - an instance is already running" msgstr "" #: ../src/main.c:476 msgid "Option --config-dir contains invalid chars - cannot start" msgstr "" #: ../src/main.c:600 #, c-format msgid "spacefm: --socket-cmd requires an argument\n" msgstr "" #: ../src/main.c:607 #, c-format msgid "spacefm: could not create socket\n" msgstr "" #: ../src/main.c:622 #, c-format msgid "" "spacefm: could not connect to socket (not running? or DISPLAY not set?)\n" msgstr "" #: ../src/main.c:665 #, c-format msgid "spacefm: invalid response from socket\n" msgstr "" #. TRANSLATOR: These three lines should be limited to 80 chars each #: ../src/main.c:675 msgid "" "SpaceFM socket commands permit external processes (such as command scripts)\n" "to read and set GUI property values and execute methods inside running " "SpaceFM\n" "windows. To handle events see View|Events in the main menu bar." msgstr "" #: ../src/main.c:677 msgid "Usage:" msgstr "" #: ../src/main.c:679 msgid "Example:" msgstr "" #: ../src/main.c:682 msgid "" "METHODS\n" "-------" msgstr "" #: ../src/main.c:684 msgid "Sets a property" msgstr "" #: ../src/main.c:687 msgid "Gets a property" msgstr "" #: ../src/main.c:690 msgid "Sets a task property" msgstr "" #: ../src/main.c:693 msgid "Gets a task property" msgstr "" #: ../src/main.c:696 msgid "Starts a new task" msgstr "" #: ../src/main.c:699 msgid "Activates a menu item by emitting its shortcut key" msgstr "" #: ../src/main.c:702 msgid "Shows custom submenu named MENUNAME as a popup menu" msgstr "" #: ../src/main.c:705 msgid "Add asynchronous handler COMMAND to EVENT" msgstr "" #: ../src/main.c:708 msgid "Add synchronous handler COMMAND to EVENT, replacing default handler" msgstr "" #: ../src/main.c:711 msgid "Remove handler COMMAND from EVENT" msgstr "" #: ../src/main.c:714 msgid "Shows this help reference. (Also see manual link below.)" msgstr "" #: ../src/main.c:716 msgid "" "OPTIONS\n" "-------" msgstr "" #: ../src/main.c:717 msgid "" "Add options after METHOD to specify a specific window, panel, and/or tab." msgstr "" #: ../src/main.c:718 msgid "" "Otherwise the current tab of the current panel in the last window is used." msgstr "" #: ../src/main.c:721 msgid "Specify window. eg:" msgstr "" #: ../src/main.c:723 msgid "Specify panel 1-4. eg:" msgstr "" #: ../src/main.c:725 msgid "Specify tab 1-... eg:" msgstr "" #: ../src/main.c:727 msgid "" "PROPERTIES\n" "----------" msgstr "" #: ../src/main.c:728 msgid "Set properties with METHOD 'set', or get the value with 'get'." msgstr "" #: ../src/main.c:730 msgid "eg '800x600'" msgstr "" #: ../src/main.c:731 msgid "eg '100x50'" msgstr "" #: ../src/main.c:734 msgid "eg '1024x768' (read-only)" msgstr "" #: ../src/main.c:735 ../src/main.c:736 ../src/main.c:737 ../src/main.c:738 #: ../src/main.c:754 ../src/main.c:755 ../src/main.c:756 msgid "eg '100'" msgstr "" #: ../src/main.c:743 msgid "Open DIR or default in a new tab" msgstr "" #: ../src/main.c:766 msgid "eg 'Current Status: Example'" msgstr "" #: ../src/main.c:768 msgid "DIR eg '/etc'" msgstr "" #: ../src/main.c:769 msgid "[FILENAME...]" msgstr "" #: ../src/main.c:770 msgid "[PATTERN] eg '*.jpg'" msgstr "" #: ../src/main.c:771 ../src/main.c:772 msgid "eg 'Some\\nlines\\nof text'" msgstr "" #: ../src/main.c:773 ../src/main.c:774 msgid "eg '~/copy-file-contents-to-clipboard.txt'" msgstr "" #: ../src/main.c:775 msgid "FILE... Files copied to clipboard" msgstr "" #: ../src/main.c:776 msgid "FILE... Files cut to clipboard" msgstr "" #: ../src/main.c:778 msgid "" "TASK PROPERTIES\n" "---------------" msgstr "" #: ../src/main.c:779 msgid "contents of Status task column (read-only)" msgstr "" #: ../src/main.c:780 msgid "eg 'gtk-open'" msgstr "" #: ../src/main.c:781 msgid "text to show in Count task column" msgstr "" #: ../src/main.c:782 msgid "text to show in Folder task column" msgstr "" #: ../src/main.c:783 msgid "text to show in Item task column" msgstr "" #: ../src/main.c:784 msgid "text to show in To task column" msgstr "" #: ../src/main.c:785 msgid "progress percent (1..100) or '' to pulse" msgstr "" #: ../src/main.c:786 msgid "text to show in Total task column" msgstr "" #: ../src/main.c:787 msgid "text to show in Current task column" msgstr "" #: ../src/main.c:788 msgid "text to show in CRemain task column" msgstr "" #: ../src/main.c:789 msgid "text to show in Average task column" msgstr "" #: ../src/main.c:790 msgid "text to show in Remain task column" msgstr "" #: ../src/main.c:791 msgid "contents of Elapsed task column (read-only)" msgstr "" #: ../src/main.c:792 msgid "contents of Started task column (read-only)" msgstr "" #: ../src/main.c:794 msgid "COMMAND command to show a custom task dialog\n" msgstr "" #: ../src/main.c:796 msgid "" "TASK TYPES\n" "----------" msgstr "" #: ../src/main.c:798 msgid "Run COMMAND in DIR" msgstr "" #: ../src/main.c:800 msgid "Copy|Move|Link FILE(s) or DIR(s) to TARGET dir" msgstr "" #: ../src/main.c:801 msgid "Recursively delete FILE(s) or DIR(s)" msgstr "" #: ../src/main.c:802 msgid "Open FILE in user's or root's text editor" msgstr "" #: ../src/main.c:803 msgid "Open URL in user's web browser" msgstr "" #: ../src/main.c:804 msgid "Mount DEVICE or URL" msgstr "" #: ../src/main.c:805 msgid "Unmount DEVICE or mount point DIR" msgstr "" #: ../src/main.c:807 msgid "" "EVENTS\n" "------" msgstr "" #: ../src/main.c:808 #, c-format msgid "Instance start %e" msgstr "" #: ../src/main.c:809 #, c-format msgid "Instance exit %e" msgstr "" #: ../src/main.c:810 msgid "Window new %e %w %p %t" msgstr "" #: ../src/main.c:811 msgid "Window focus %e %w %p %t" msgstr "" #: ../src/main.c:812 msgid "Window move/resize %e %w %p %t" msgstr "" #: ../src/main.c:813 msgid "Mouse click %e %w %p %t %b %m %f" msgstr "" #: ../src/main.c:814 msgid "Window keypress %e %w %p %t %k %m" msgstr "" #: ../src/main.c:815 msgid "Window close %e %w %p %t" msgstr "" #: ../src/main.c:816 msgid "Panel focus %e %w %p %t" msgstr "" #: ../src/main.c:817 msgid "Panel show/hide %e %w %p %t %f %v" msgstr "" #: ../src/main.c:818 msgid "Selection changed %e %w %p %t" msgstr "" #: ../src/main.c:819 msgid "Tab new %e %w %p %t" msgstr "" #: ../src/main.c:820 msgid "Tab focus %e %w %p %t" msgstr "" #: ../src/main.c:821 msgid "Tab close %e %w %p %t" msgstr "" #: ../src/main.c:822 msgid "Device change %e %f %v" msgstr "" #: ../src/main.c:824 msgid "Event COMMAND Substitution Variables:" msgstr "" #: ../src/main.c:825 msgid "event type (evt_start|evt_exit|...)" msgstr "" #: ../src/main.c:826 msgid "window ID" msgstr "" #: ../src/main.c:827 msgid "panel number (1-4)" msgstr "" #: ../src/main.c:828 msgid "tab number (1-...)" msgstr "" #: ../src/main.c:829 msgid "mouse button (0=double 1=left 2=middle 3=right ...)" msgstr "" #: ../src/main.c:830 msgid "key code (eg 0x63)" msgstr "" #: ../src/main.c:831 msgid "modifier key (eg 0x4 used with clicks and keypresses)" msgstr "" #: ../src/main.c:832 msgid "focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)" msgstr "" #: ../src/main.c:833 msgid "focus element is visible (0 or 1, or device state change)" msgstr "" #: ../src/main.c:835 msgid "Examples" msgstr "" #: ../src/main.c:851 msgid "These files have been copied to the clipboard" msgstr "" #: ../src/main.c:862 msgid "For full documentation and examples see the SpaceFM User's Manual:" msgstr "" #: ../src/main.c:1152 ../src/main.c:1415 msgid "This build of SpaceFM has desktop integration disabled" msgstr "" #: ../src/main.c:1193 #, c-format msgid "" "spacefm: Error: Unable to save session\n" " %s\n" msgstr "" #: ../src/main.c:1264 msgid "File doesn't exist" msgstr "檔案不存在!" #: ../src/main.c:1266 ../src/main.c:1344 ../src/main.c:1346 ../src/main.c:1454 #: ../src/main.c:1482 ../src/main.c:1484 ../src/main.c:1623 #: ../src/settings.c:5768 ../src/settings.c:9070 #: ../src/ptk/ptk-file-browser.c:2171 ../src/ptk/ptk-file-browser.c:2188 #: ../src/ptk/ptk-file-browser.c:5688 ../src/ptk/ptk-file-browser.c:5696 #: ../src/ptk/ptk-console-output.c:232 ../src/ptk/ptk-file-misc.c:2761 #: ../src/ptk/ptk-file-misc.c:3422 ../src/ptk/ptk-file-misc.c:3692 #: ../src/ptk/ptk-file-misc.c:3799 ../src/ptk/ptk-file-misc.c:4002 #: ../src/ptk/ptk-file-properties.c:895 ../src/ptk/ptk-file-properties.c:906 #: ../src/vfs/vfs-file-task.c:1513 ../src/item-prop.c:979 #, c-format msgid "Error" msgstr "錯誤" #: ../src/main.c:1344 ../src/main.c:1482 msgid "" "Error: Unable to initialize inotify file change monitor.\n" "\n" "Do you have an inotify-capable kernel?" msgstr "" #: ../src/main.c:1346 ../src/main.c:1484 msgid "" "Error: Unable to establish connection with FAM.\n" "\n" "Do you have \"FAM\" or \"Gamin\" installed and running?" msgstr "" "錯誤:無法和 FAM (檔案變更監控) 服務建立連線\n" "\n" "你是否有安裝 \"FAM\" 或 \"Gamin\",並且正確執行?" #: ../src/main.c:1400 msgid "--dialog must be first option" msgstr "" #: ../src/main.c:1407 msgid "--socket-cmd must be first option" msgstr "" #: ../src/main.c:1452 #, c-format msgid "" "SpaceFM requires bash to be installed. Other shells are NOT equivalent as " "SpaceFM uses features only found in genuine bash (v4+).\n" "\n" "The program %s was not found. Install bash or use configure option --with-" "bash-path to specify a custom location at build time." msgstr "" #: ../src/main.c:1618 msgid "Don't know how to open the file" msgstr "不知道如何開啟這個檔案" #: ../src/main.c:1620 #, c-format msgid "" "Unable to open file:\n" "\"%s\"\n" "%s" msgstr "" "無法開啟檔案:\n" "\"%s\"\n" "%s" #: ../src/main-window.c:306 ../src/settings.c:7086 msgid "Choose Plugin File" msgstr "" #. get url #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "Enter Plugin URL" msgstr "" #: ../src/main-window.c:317 ../src/settings.c:7098 msgid "" "Enter SpaceFM Plugin URL:\n" "\n" "(wget will be used to download the plugin file)" msgstr "" #: ../src/main-window.c:337 #, c-format msgid "" "This plugin's filename is invalid. Please rename it using alpha-numeric " "ASCII characters and try again." msgstr "" #: ../src/main-window.c:339 msgid "Invalid Plugin Filename" msgstr "" #: ../src/main-window.c:362 #, c-format msgid "" "There is already a plugin installed as '%s'. Overwrite ?\n" "\n" "Tip: You can also rename this plugin file to install it under a different " "name." msgstr "" #: ../src/main-window.c:364 msgid "Overwrite Plugin ?" msgstr "" #: ../src/main-window.c:385 ../src/settings.c:7106 msgid "Error Creating Temp Directory" msgstr "" #: ../src/main-window.c:386 ../src/settings.c:7107 msgid "Unable to create temporary directory" msgstr "" #: ../src/main-window.c:647 #, c-format msgid "" "Error: Unable to save session file\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:649 msgid "Save Session Error" msgstr "" #. root task #: ../src/main-window.c:681 msgid "Open Root Window" msgstr "" #: ../src/main-window.c:711 ../src/vfs/vfs-file-task.c:1545 msgid "Terminal Not Available" msgstr "" #: ../src/main-window.c:712 msgid "Please set your terminal program in View|Preferences|Advanced" msgstr "" #: ../src/main-window.c:723 msgid "Open Terminal" msgstr "" #: ../src/main-window.c:1052 msgid "Design Mode Help" msgstr "" #: ../src/main-window.c:1052 msgid "" "Design Mode allows you to change the name, shortcut key and icon of menu, " "toolbar and bookmark items, show help for an item, and add your own custom " "commands and applications.\n" "\n" "To open the Design Menu, simply right-click on a menu item, bookmark, or " "toolbar item. To open the Design Menu for a submenu, first close the " "submenu (by clicking on it).\n" "\n" "For more information, click the Help button below." msgstr "" #: ../src/main-window.c:1810 msgid "Panel" msgstr "" #: ../src/main-window.c:1862 ../src/settings.c:5657 ../src/settings.c:5967 #: ../src/settings.c:6937 ../src/settings.c:7052 #, c-format msgid "New _Command" msgstr "" #: ../src/main-window.c:1972 #, c-format msgid "Show Panel %d" msgstr "" #: ../src/main-window.c:2000 ../src/settings.c:8032 ../src/settings.c:11394 #: ../src/settings.c:11410 ../src/settings.c:11934 msgid "_File" msgstr "檔案(_F)" #: ../src/main-window.c:2003 ../src/settings.c:12023 msgid "_View" msgstr "檢視(_V)" #: ../src/main-window.c:2006 ../src/settings.c:12366 msgid "_Devices" msgstr "" #: ../src/main-window.c:2010 ../src/settings.c:11024 ../src/settings.c:11767 #: ../src/settings.c:11999 ../src/settings.c:12378 msgid "_Bookmarks" msgstr "" #: ../src/main-window.c:2013 msgid "_Plugins" msgstr "" #: ../src/main-window.c:2017 msgid "_Tools" msgstr "" #. Help #: ../src/main-window.c:2020 ../src/settings.c:1155 ../src/settings.c:8070 #: ../src/settings.c:8633 ../src/settings.c:8984 ../src/settings.c:11084 msgid "_Help" msgstr "說明(_H)" #: ../src/main-window.c:2325 #, c-format msgid "" "Error: Unable to save session file. Do you want to exit without saving?\n" "\n" "( %s )" msgstr "" #: ../src/main-window.c:2334 msgid "SpaceFM Error" msgstr "" #: ../src/main-window.c:2350 msgid "Stop all tasks running in this window?" msgstr "" #: ../src/main-window.c:2359 msgid "Aborting tasks..." msgstr "" #: ../src/main-window.c:3562 #, c-format msgid " %s free / %s " msgstr "" #: ../src/main-window.c:3569 #, c-format msgid "%sReading %s ..." msgstr "" #: ../src/main-window.c:3626 #, c-format msgid " Link → %s" msgstr "" #: ../src/main-window.c:3628 #, c-format msgid " Link → %s/" msgstr "" #: ../src/main-window.c:3631 #, c-format msgid " !Link → %s/ (missing)" msgstr "" #: ../src/main-window.c:3639 #, c-format msgid " Link → %s (%s)" msgstr "" #: ../src/main-window.c:3642 #, c-format msgid " !Link → %s (missing)" msgstr "" #: ../src/main-window.c:3649 #, c-format msgid " !Link → ( error reading target )" msgstr "" #: ../src/main-window.c:3696 msgid "hidden" msgid_plural "hidden" msgstr[0] "" #: ../src/main-window.c:3699 #, c-format msgid "%s%d visible (%s) %s" msgid_plural "%s%d visible (%s) %s" msgstr[0] "" #: ../src/main-window.c:3704 #, c-format msgid "%s%d item %s" msgid_plural "%s%d items %s" msgstr[0] "" #: ../src/main-window.c:3940 msgid "Device manager key shortcuts are disabled in HAL mode" msgstr "" #. If you change "Status", also change it in on_task_button_press_event #: ../src/main-window.c:4156 ../src/main-window.c:5633 msgid "Status" msgstr "" #: ../src/main-window.c:4156 msgid "#" msgstr "" #: ../src/main-window.c:4156 ../src/ptk/ptk-file-misc.c:2086 #: ../src/find-files.c:921 msgid "Folder" msgstr "資料夾" #: ../src/main-window.c:4156 msgid "Item" msgstr "" #: ../src/main-window.c:4157 msgid "To" msgstr "" #: ../src/main-window.c:4157 msgid "Progress" msgstr "" #: ../src/main-window.c:4157 msgid "Total" msgstr "" #: ../src/main-window.c:4158 msgid "Started" msgstr "" #: ../src/main-window.c:4158 msgid "Elapsed" msgstr "" #: ../src/main-window.c:4158 msgid "Current" msgstr "" #: ../src/main-window.c:4158 msgid "CRemain" msgstr "" #: ../src/main-window.c:4159 msgid "Average" msgstr "" #: ../src/main-window.c:4159 msgid "Remain" msgstr "" #: ../src/main-window.c:4172 msgid "Reorder Columns Help" msgstr "" #: ../src/main-window.c:4172 msgid "" "To change the order of the columns, drag the column header to the desired " "location." msgstr "" #: ../src/main-window.c:5745 msgid "moving" msgstr "" #: ../src/main-window.c:5746 msgid "copying" msgstr "" #: ../src/main-window.c:5747 msgid "trashing" msgstr "" #: ../src/main-window.c:5748 msgid "deleting" msgstr "" #: ../src/main-window.c:5749 msgid "linking" msgstr "" #: ../src/main-window.c:5750 msgid "changing" msgstr "" #: ../src/main-window.c:5751 msgid "running" msgstr "" #: ../src/main-window.c:5826 #, c-format msgid "%d error %s" msgstr "" #: ../src/main-window.c:5827 #, c-format msgid "%d errors %s" msgstr "" #: ../src/main-window.c:5843 ../src/ptk/ptk-file-task.c:1671 #, c-format msgid "paused" msgstr "" #: ../src/main-window.c:5845 ../src/ptk/ptk-file-task.c:1673 #, c-format msgid "queued" msgstr "" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:906 msgid "Name" msgstr "名稱" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:927 msgid "Size" msgstr "大小" #: ../src/main-window.c:6178 ../src/ptk/ptk-file-browser.c:254 #: ../src/find-files.c:931 msgid "Type" msgstr "型態" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Permission" msgstr "權限" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Owner" msgstr "" #: ../src/main-window.c:6179 ../src/ptk/ptk-file-browser.c:255 msgid "Modified" msgstr "" #: ../src/main-window.c:6191 msgid "spacefm: invalid socket command\n" msgstr "" #: ../src/main-window.c:6220 #, c-format msgid "spacefm: invalid option '%s'\n" msgstr "" #: ../src/main-window.c:6223 #, c-format msgid "spacefm: option %s requires an argument\n" msgstr "" #: ../src/main-window.c:6233 msgid "spacefm: invalid window\n" msgstr "" #: ../src/main-window.c:6253 #, c-format msgid "spacefm: invalid window %s\n" msgstr "" #: ../src/main-window.c:6263 #, c-format msgid "spacefm: invalid panel %d\n" msgstr "" #: ../src/main-window.c:6270 #, c-format msgid "spacefm: panel %d is not visible\n" msgstr "" #: ../src/main-window.c:6283 #, c-format msgid "spacefm: invalid tab %d\n" msgstr "" #: ../src/main-window.c:6295 msgid "spacefm: command set requires an argument\n" msgstr "" #: ../src/main-window.c:6321 ../src/main-window.c:6628 #, c-format msgid "spacefm: invalid %s value\n" msgstr "" #: ../src/main-window.c:6354 ../src/main-window.c:6506 msgid "spacefm: invalid slider value\n" msgstr "" #: ../src/main-window.c:6383 msgid "spacefm: invalid panel number\n" msgstr "" #: ../src/main-window.c:6424 msgid "spacefm: invalid tab number\n" msgstr "" #: ../src/main-window.c:6477 ../src/main-window.c:6812 #: ../src/main-window.c:6939 ../src/main-window.c:7217 #, c-format msgid "spacefm: invalid property %s\n" msgstr "" #: ../src/main-window.c:6526 msgid "spacefm: invalid column width\n" msgstr "" #: ../src/main-window.c:6562 ../src/main-window.c:6589 #: ../src/main-window.c:7005 #, c-format msgid "spacefm: invalid column name '%s'\n" msgstr "" #: ../src/main-window.c:6699 msgid "spacefm: text is not valid UTF-8\n" msgstr "" #: ../src/main-window.c:6716 #, c-format msgid "spacefm: %s requires a file path\n" msgstr "" #: ../src/main-window.c:6722 #, c-format msgid "spacefm: error reading file '%s'\n" msgstr "" #: ../src/main-window.c:6728 #, c-format msgid "spacefm: file '%s' does not contain valid UTF-8 text\n" msgstr "" #: ../src/main-window.c:6769 #, c-format msgid "spacefm: %s requires a directory path\n" msgstr "" #: ../src/main-window.c:6775 #, c-format msgid "spacefm: directory '%s' does not exist\n" msgstr "" #: ../src/main-window.c:6821 ../src/main-window.c:7830 #: ../src/main-window.c:7856 #, c-format msgid "spacefm: command %s requires an argument\n" msgstr "" #: ../src/main-window.c:7225 ../src/main-window.c:7355 #: ../src/main-window.c:7459 ../src/main-window.c:7516 #: ../src/main-window.c:7567 ../src/main-window.c:7896 #, c-format msgid "spacefm: %s requires two arguments\n" msgstr "" #: ../src/main-window.c:7253 ../src/main-window.c:7383 #, c-format msgid "spacefm: invalid task '%s'\n" msgstr "" #: ../src/main-window.c:7258 #, c-format msgid "spacefm: internal task %s is read-only\n" msgstr "" #: ../src/main-window.c:7310 #, c-format msgid "spacefm: task property '%s' is read-only\n" msgstr "" #: ../src/main-window.c:7327 #, c-format msgid "spacefm: invalid queue_state '%s'\n" msgstr "" #: ../src/main-window.c:7345 ../src/main-window.c:7446 #, c-format msgid "spacefm: invalid task property '%s'\n" msgstr "" #: ../src/main-window.c:7502 ../src/main-window.c:7732 #: ../src/main-window.c:7753 #, c-format msgid "spacefm: no such directory '%s'\n" msgstr "" #: ../src/main-window.c:7509 ../src/main-window.c:7560 #: ../src/main-window.c:7595 ../src/main-window.c:7739 #, c-format msgid "spacefm: invalid %s task option '%s'\n" msgstr "" #: ../src/main-window.c:7576 #, c-format msgid "spacefm: no such file '%s'\n" msgstr "" #: ../src/main-window.c:7589 #, c-format msgid "spacefm: task type %s requires udev build\n" msgstr "" #: ../src/main-window.c:7601 #, c-format msgid "spacefm: task type %s requires TARGET argument\n" msgstr "" #. not a valid url #: ../src/main-window.c:7626 ../src/main-window.c:7649 #: ../src/main-window.c:7693 #, c-format msgid "spacefm: invalid TARGET '%s'\n" msgstr "" #: ../src/main-window.c:7772 #, c-format msgid "spacefm: relative path '%s' requires %s option --dir DIR\n" msgstr "" #: ../src/main-window.c:7796 #, c-format msgid "spacefm: task type %s requires FILE argument(s)\n" msgstr "" #: ../src/main-window.c:7821 #, c-format msgid "spacefm: invalid task type '%s'\n" msgstr "" #: ../src/main-window.c:7845 #, c-format msgid "spacefm: invalid keycode '%s'\n" msgstr "" #: ../src/main-window.c:7863 #, c-format msgid "spacefm: custom submenu '%s' not found\n" msgstr "" #: ../src/main-window.c:7875 #, c-format msgid "spacefm: menu '%s' context hidden or disabled\n" msgstr "" #: ../src/main-window.c:7902 #, c-format msgid "spacefm: invalid event type '%s'\n" msgstr "" #: ../src/main-window.c:7928 #, c-format msgid "spacefm: event handler not found\n" msgstr "" #: ../src/main-window.c:7939 #, c-format msgid "spacefm: invalid socket method '%s'\n" msgstr "" #: ../src/pref-dialog.c:163 ../src/pref-dialog.c:175 ../src/settings.c:153 msgid "Default" msgstr "" #: ../src/pref-dialog.c:195 msgid "Choose Desktop Font" msgstr "" #: ../src/pref-dialog.c:196 msgid "Example Item 0123456789" msgstr "" #: ../src/pref-dialog.c:440 msgid "Transparency Requirements" msgstr "" #: ../src/pref-dialog.c:441 msgid "" "General Note: For desktop transparency to work, you need to be running a " "compositing window manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper on the " "background.\n" "\n" "This message will not repeat." msgstr "" #. task #: ../src/pref-dialog.c:810 ../src/pref-dialog.c:811 msgid "Save Root Settings" msgstr "" #: ../src/pref-dialog.c:810 msgid "" "You will now be asked for your root password to save the root settings for " "this user to a file in /etc/spacefm/ Supplying the password in the next " "window is recommended. Because SpaceFM runs some commands as root via su, " "these settings are best protected by root." msgstr "" #. also in aboutdlg.ui #: ../src/settings.c:139 #, c-format msgid "" "Enter program or bash command line:\n" "\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/settings.c:141 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues." msgstr "" #: ../src/settings.c:143 msgid "" "Enter item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:144 msgid "" "Enter new item name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired.\n" "\n" "TIP: To change this item later, right-click on the item to open the Design " "Menu." msgstr "" #: ../src/settings.c:149 msgid "Show Devices" msgstr "" #: ../src/settings.c:150 msgid "Show Bookmarks" msgstr "" #: ../src/settings.c:151 msgid "Show Tree" msgstr "" #: ../src/settings.c:152 ../src/ptk/ptk-location-view.c:4126 #: ../src/ptk/ptk-location-view.c:4583 #, c-format msgid "Home" msgstr "" #: ../src/settings.c:154 msgid "Up" msgstr "" #: ../src/settings.c:155 msgid "Back" msgstr "上一頁" #: ../src/settings.c:156 msgid "Back History" msgstr "" #: ../src/settings.c:157 msgid "Forward" msgstr "下一頁" #: ../src/settings.c:158 msgid "Forward History" msgstr "" #: ../src/settings.c:159 msgid "Refresh" msgstr "重新整理" #: ../src/settings.c:160 msgid "New Tab" msgstr "新分頁" #: ../src/settings.c:161 msgid "New Tab Here" msgstr "" #: ../src/settings.c:162 msgid "Show Hidden" msgstr "" #: ../src/settings.c:164 msgid "Large Icons" msgstr "" #: ../src/settings.c:442 msgid "custom tmp_dir contains invalid chars - reverting to /tmp" msgstr "" #: ../src/settings.c:448 msgid "custom tmp_dir does not exist - reverting to /tmp" msgstr "" #: ../src/settings.c:1019 ../src/settings.c:10752 msgid "Ignore _Hide Policy" msgstr "" #: ../src/settings.c:1026 ../src/settings.c:10835 msgid "Ignore _No Policy" msgstr "" #: ../src/settings.c:1036 ../src/settings.c:11440 msgid "_FAQ" msgstr "" #: ../src/settings.c:1046 ../src/settings.c:1051 ../src/settings.c:11584 #: ../src/settings.c:11604 msgid "_Stop" msgstr "" #: ../src/settings.c:1058 ../src/settings.c:11617 msgid "Show _Manager" msgstr "" #. set->x used for task man height >=0.9.4 #: ../src/settings.c:1065 ../src/settings.c:11623 msgid "Auto-_Hide Manager" msgstr "" #: ../src/settings.c:1072 ../src/settings.c:11688 msgid "Err_ors" msgstr "" #: ../src/settings.c:1079 ../src/settings.c:11563 msgid "Current Re_main" msgstr "" #: ../src/settings.c:1086 ../src/settings.c:11575 msgid "A_verage Remain" msgstr "" #: ../src/settings.c:1093 ../src/settings.c:11513 msgid "_Folder" msgstr "資料夾(_F)" #: ../src/settings.c:1125 ../src/settings.c:11665 msgid "_Detailed Stats" msgstr "" #: ../src/settings.c:1136 ../src/settings.c:10490 msgid "Remo_ve / Eject" msgstr "" #. Note: this is the last config version which should require menu_label #. changes of this nature due to defaults no longer being saved #. in session file #. New > Import > #: ../src/settings.c:1147 ../src/settings.c:8020 ../src/settings.c:11404 msgid "_Import" msgstr "" #: ../src/settings.c:1148 ../src/settings.c:11497 msgid "_Task Manager" msgstr "" #. for rename dialog #: ../src/settings.c:1151 ../src/settings.c:11033 msgid "F_ilename" msgstr "" #: ../src/settings.c:1152 ../src/settings.c:11044 msgid "Typ_e" msgstr "" #: ../src/settings.c:1153 ../src/settings.c:11048 msgid "Ta_rget" msgstr "" #: ../src/settings.c:1154 ../src/settings.c:11052 msgid "Te_mplate" msgstr "" #. Change Save Session to Open URL - remove custom label/icon #. was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL #: ../src/settings.c:1280 ../src/settings.c:11151 msgid "Open _URL" msgstr "" #. General #: ../src/settings.c:1639 msgid "" "# SpaceFM Session File\n" "\n" "# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n" "\n" "# If you delete all session* files, SpaceFM will be reset to factory " "defaults.\n" "\n" msgstr "" #: ../src/settings.c:1814 #, c-format msgid "Error saving file" msgstr "" #: ../src/settings.c:1895 #, c-format msgid "SpaceFM Error: Unable to autosave session file ( %s )\n" msgstr "" #: ../src/settings.c:3329 #, c-format msgid "" "\n" "Selected Menu Item '%s' As Handler\n" msgstr "" #: ../src/settings.c:3424 msgid "" "Error reading root settings from /etc/spacefm/ Commands run as root may " "present a security risk" msgstr "" #: ../src/settings.c:3426 msgid "" "No root settings found in /etc/spacefm/ Setting a root editor in " "Preferences should remove this warning on startup. Otherwise commands run " "as root may present a security risk." msgstr "" #: ../src/settings.c:4297 msgid "Help Not Available" msgstr "" #: ../src/settings.c:4298 msgid "This plugin does not include a README file." msgstr "" #: ../src/settings.c:4304 msgid "Create README" msgstr "" #: ../src/settings.c:4306 msgid "" "No README file exists for this command.\n" "\n" "Create a default README file for you to fill in?" msgstr "" #: ../src/settings.c:4330 msgid "Creation Failed" msgstr "" #: ../src/settings.c:4331 msgid "An error occured creating a README file for this command." msgstr "" #: ../src/settings.c:4492 #, c-format msgid "" "An error occured copying command files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4494 ../src/settings.c:4529 msgid "Copy Command Error" msgstr "" #: ../src/settings.c:4527 #, c-format msgid "" "An error occured copying command data files\n" "\n" "%s" msgstr "" #: ../src/settings.c:4900 #, c-format msgid "Error reading plugin file %s" msgstr "" #: ../src/settings.c:4985 #, c-format msgid "" "The imported plugin folder does not contain a valid plugin.\n" "\n" "(%s/)" msgstr "" #: ../src/settings.c:4987 msgid "Invalid Plugin" msgstr "" #: ../src/settings.c:5070 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu." msgstr "" #: ../src/settings.c:5072 #, c-format msgid "" "The '%s' plugin has been copied to the design clipboard. Use View|Design " "Mode to paste it into a menu.\n" "\n" "Because it has not been installed, this plugin will not appear in the " "Plugins menu, and its contents are not protected by root (once pasted it " "will be saved with normal ownership).\n" "\n" "If this plugin contains su commands or will be run as root, installing it to " "and running it only from the Plugins menu is recommended to improve your " "system security." msgstr "" #: ../src/settings.c:5104 #, c-format msgid "" "Uninstall the '%s' plugin?\n" "\n" "( %s )" msgstr "" #: ../src/settings.c:5107 ../src/settings.c:5115 msgid "Uninstall Plugin" msgstr "" #. task #: ../src/settings.c:5152 msgid "Install Plugin" msgstr "" #: ../src/settings.c:5393 msgid "Save As Plugin File" msgstr "" #. tar and delete tmp files #. task #: ../src/settings.c:5461 msgid "Export Plugin" msgstr "" #: ../src/settings.c:5495 msgid "Export Error" msgstr "" #: ../src/settings.c:5496 msgid "Unable to create temporary files" msgstr "" #: ../src/settings.c:5603 #, c-format msgid "Bookmark target '%s' is missing or invalid." msgstr "" #: ../src/settings.c:5607 msgid "Invalid Bookmark Target" msgstr "" #: ../src/settings.c:5659 msgid "Change Menu Name" msgstr "" #: ../src/settings.c:6235 msgid "Editor Not Set" msgstr "" #: ../src/settings.c:6236 msgid "Please set your editor in View|Preferences|Advanced" msgstr "" #: ../src/settings.c:6247 msgid "Root Editor Not Set" msgstr "" #: ../src/settings.c:6248 msgid "Please set root's editor in View|Preferences|Advanced" msgstr "" #. task #: ../src/settings.c:6269 #, c-format msgid "Edit %s" msgstr "" #: ../src/settings.c:6450 msgid "User's Manual Not Found" msgstr "" #: ../src/settings.c:6452 msgid "" "Read the user's manual online?\n" "\n" "The local copy of the SpaceFM user's manual was not found. Click Yes to " "read it online, or click No and then set the correct location in Help|" "Options|Manual Location." msgstr "" #: ../src/settings.c:6501 msgid "Manual Opened ?" msgstr "" #: ../src/settings.c:6501 msgid "" "The SpaceFM user's manual should have opened in your browser. If it didn't " "open, or if you would like to use a different browser, set your browser in " "Help|Options|Browser.\n" "\n" "This message will not repeat." msgstr "" #: ../src/settings.c:6520 msgid "( none )" msgstr "" #: ../src/settings.c:6643 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x\n" "\n" "%s is already assigned to '%s'.\n" "\n" "Press a different key or click Set to replace the current key assignment." msgstr "" #: ../src/settings.c:6654 #, c-format msgid "" "\t%s\n" "\tKeycode: %#4x Modifier: %#x" msgstr "" #: ../src/settings.c:6684 #, c-format msgid "" "Press your key combination for item '%s' then click Set. To remove the " "current key assignment, click Unset." msgstr "" #: ../src/settings.c:6697 msgid "Cancel" msgstr "" #: ../src/settings.c:6703 msgid "Unset" msgstr "" #: ../src/settings.c:6716 msgid "Set" msgstr "" #: ../src/settings.c:6730 msgid "Set Key" msgstr "" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #. Special hack to add an icon chooser button when this dialog is called #. * to set icons - see xset_menu_cb() and set init "main_icon" #. * and xset_design_job #: ../src/settings.c:6813 ../src/settings.c:8565 ../src/settings.c:9004 msgid "Set Icon" msgstr "" #: ../src/settings.c:6881 msgid "Edit Command Line" msgstr "" #: ../src/settings.c:6907 msgid "Choose Custom Executable" msgstr "" #: ../src/settings.c:6918 msgid "Run As User" msgstr "" #: ../src/settings.c:6918 msgid "" "Run this command as username:\n" "\n" "( Leave blank for current user )" msgstr "" #: ../src/settings.c:6926 #, c-format msgid "" "You are adding a custom command to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:6927 msgid "New Context Command" msgstr "" #: ../src/settings.c:6938 msgid "Set Item Name" msgstr "" #: ../src/settings.c:6975 ../src/item-prop.c:1224 msgid "Choose Folder" msgstr "" #: ../src/settings.c:7017 #, c-format msgid "" "You are adding a custom submenu to the Default menu item. This item will " "automatically have a pre-context - it will only appear when the MIME type of " "the first selected file matches the current type '%s'.\n" "\n" "Add commands or menus here which you only want to appear for this one MIME " "type." msgstr "" #: ../src/settings.c:7017 msgid "(none)" msgstr "" #: ../src/settings.c:7026 msgid "Set Submenu Name" msgstr "" #: ../src/settings.c:7026 msgid "" "Enter submenu name:\n" "\n" "Precede a character with an underscore (_) to underline that character as a " "shortcut key if desired." msgstr "" #: ../src/settings.c:7026 msgid "New _Submenu" msgstr "" #: ../src/settings.c:7131 msgid "Import GTK Bookmarks" msgstr "" #: ../src/settings.c:7133 msgid "" "GTK bookmarks (~/.gtk-bookmarks) will be imported into the current or " "selected submenu. Note that importing large numbers of bookmarks (eg more " "than 500) may impact performance." msgstr "" #: ../src/settings.c:7213 msgid "( no name )" msgstr "" #: ../src/settings.c:7217 #, c-format msgid "" "Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n" "\n" "This action will delete all settings and files associated with these items." msgstr "" #: ../src/settings.c:7222 #, c-format msgid "" "Permanently remove the '%s' item?\n" "\n" "This action will delete all settings and files associated with this item." msgstr "" #: ../src/settings.c:7243 ../src/ptk/ptk-handler.c:1736 msgid "Confirm Remove" msgstr "" #: ../src/settings.c:7317 ../src/item-prop.c:705 ../src/item-prop.c:717 msgid "Are you sure?" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "Dialog Message" msgstr "" #: ../src/settings.c:7318 ../src/settings.c:7322 ../src/settings.c:7326 msgid "" "Enter the message to be displayed in this dialog:\n" "\n" "Use:\n" "\t\\n\tnewline\n" "\t\\t\ttab" msgstr "" #. Cut #. EDIT #: ../src/settings.c:7940 ../src/settings.c:12102 msgid "Cu_t" msgstr "" #. Copy #: ../src/settings.c:7948 ../src/settings.c:11060 ../src/settings.c:12105 msgid "_Copy" msgstr "" #. Paste #: ../src/settings.c:7956 ../src/settings.c:12108 msgid "_Paste" msgstr "" #. Remove #. gtk_widget_add_accelerator( newitem, "activate", accel_group, #. GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); #. Remove #. Treeview widgets #. list buttons #: ../src/settings.c:7964 ../src/ptk/ptk-file-menu.c:2278 #: ../src/ptk/ptk-handler.c:2642 ../src/item-prop.c:1802 msgid "_Remove" msgstr "" #. Export #: ../src/settings.c:7974 msgid "E_xport" msgstr "" #. // New submenu #: ../src/settings.c:7982 ../src/settings.c:11329 ../src/settings.c:11929 msgid "_New" msgstr "" #. New > Bookmark #: ../src/settings.c:7995 ../src/settings.c:10522 msgid "_Bookmark" msgstr "書籤(_B)" #. New > Application #: ../src/settings.c:7999 msgid "_Application" msgstr "" #. New > Command #: ../src/settings.c:8003 msgid "_Command" msgstr "" #. New > Submenu #: ../src/settings.c:8010 msgid "Sub_menu" msgstr "" #. New > Separator #: ../src/settings.c:8016 msgid "S_eparator" msgstr "" #: ../src/settings.c:8034 ../src/settings.c:11397 ../src/settings.c:11413 msgid "_URL" msgstr "" #: ../src/settings.c:8037 msgid "_GTK Bookmarks" msgstr "" #. "Add" submenu for builtin tool items #: ../src/settings.c:8043 ../src/item-prop.c:1809 msgid "_Add" msgstr "" #: ../src/settings.c:8081 msgid "T_ooltips" msgstr "" #. Key #: ../src/settings.c:8090 msgid "_Key Shortcut" msgstr "" #. edit as user #: ../src/settings.c:8109 msgid "_Edit Script" msgstr "" #. edit as root #: ../src/settings.c:8119 msgid "E_dit As Root" msgstr "" #. edit command line #: ../src/settings.c:8133 msgid "_Edit Command" msgstr "" #. Properties #: ../src/settings.c:8143 ../src/settings.c:10708 msgid "_Properties" msgstr "屬性(_P)" #: ../src/settings.c:8873 msgid "Choose Icon" msgstr "" #: ../src/settings.c:8993 msgid "_Edit" msgstr "編輯(_E)" #. Note: xset_text_dialog uses the title passed to know this is an #. icon chooser, so it adds a Choose button. If you change the title, #. change xset_text_dialog. #: ../src/settings.c:9005 ../src/settings.c:11365 msgid "Set Window Icon" msgstr "" #: ../src/settings.c:9007 ../src/ptk/ptk-handler.c:2751 #: ../src/item-prop.c:1683 ../src/item-prop.c:1734 msgid "C_hoose" msgstr "" #: ../src/settings.c:9030 ../src/settings.c:9211 ../src/settings.c:11981 msgid "_Default" msgstr "" #: ../src/settings.c:9071 msgid "Your input is invalid because it contains linefeeds" msgstr "" #: ../src/settings.c:9214 msgid "_OK" msgstr "" #: ../src/settings.c:9351 msgid "_Unset" msgstr "" #: ../src/settings.c:10494 ../src/settings.c:10546 #: ../src/ptk/ptk-location-view.c:3469 ../src/ptk/ptk-location-view.c:3804 msgid "_Unmount" msgstr "" #: ../src/settings.c:10498 msgid "Re_load" msgstr "" #: ../src/settings.c:10502 msgid "_Sync" msgstr "" #. Bookmark list #. Removed items config version 30 #. set = xset_get( "sep_bk1" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_get( "sep_bk2" ); #. set->menu_style = XSET_MENU_SEP; #. #. set = xset_set( "book_new", "lbl", _("_New") ); #. xset_set_set( set, "icn", "gtk-new" ); #. #. set = xset_set( "book_rename", "lbl", _("_Rename") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_edit", "lbl", _("_Edit") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. #. set = xset_set( "book_remove", "lbl", _("Re_move") ); #. xset_set_set( set, "icn", "gtk-remove" ); #. #. set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); #. xset_set_set( set, "icn", "gtk-add" ); #. #: ../src/settings.c:10506 ../src/settings.c:10996 ../src/settings.c:11813 #: ../src/find-files.c:278 msgid "_Open" msgstr "開啟(_O)" #: ../src/settings.c:10510 msgctxt "Devices|Open|" msgid "Open In _Tab" msgstr "" #: ../src/settings.c:10514 ../src/settings.c:10541 #: ../src/ptk/ptk-location-view.c:3462 ../src/ptk/ptk-location-view.c:3798 msgid "_Mount" msgstr "" #: ../src/settings.c:10518 msgid "Re_/mount" msgstr "" #: ../src/settings.c:10535 ../src/settings.c:12292 msgid "_Root" msgstr "" #: ../src/settings.c:10551 msgid "_Label" msgstr "" #: ../src/settings.c:10601 msgid "_Check" msgstr "" #: ../src/settings.c:10605 msgid "_Edit fstab" msgstr "" #: ../src/settings.c:10609 msgid "Edit u_devil.conf" msgstr "" #: ../src/settings.c:10613 msgid "_Format" msgstr "" #: ../src/settings.c:10673 msgid "_Backup" msgstr "" #: ../src/settings.c:10695 msgid "_Restore" msgstr "" #: ../src/settings.c:10700 msgid "_From File" msgstr "" #: ../src/settings.c:10705 ../src/settings.c:11115 msgid "File _Info" msgstr "" #: ../src/settings.c:10712 msgid "Setti_ngs" msgstr "" #. dev settings #: ../src/settings.c:10718 msgid "S_how" msgstr "" #: ../src/settings.c:10723 msgid "_Internal Drives" msgstr "" #: ../src/settings.c:10728 msgid "_Empty Drives" msgstr "" #: ../src/settings.c:10733 msgid "_Partition Tables" msgstr "" #: ../src/settings.c:10737 msgid "Mounted _Networks" msgstr "" #: ../src/settings.c:10742 msgid "Mounted _Other" msgstr "" #: ../src/settings.c:10747 msgid "_Volumes..." msgstr "" #: ../src/settings.c:10748 msgid "Show/Hide Volumes" msgstr "" #: ../src/settings.c:10749 msgid "" "To force showing or hiding of some volumes, overriding other settings, you " "can specify the devices, volume labels, or device IDs in the space-separated " "list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be shown, and the volume " "with label \"Label With Space\" to be hidden.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10756 msgid "_Display Name" msgstr "" #: ../src/settings.c:10758 msgid "Set Display Name Format" msgstr "" #: ../src/settings.c:10759 #, c-format msgid "" "Enter device display name format:\n" "\n" "Use:\n" "\t%%v\tdevice filename (eg sdd1)\n" "\t%%s\ttotal size (eg 800G)\n" "\t%%t\tfstype (eg ext4)\n" "\t%%l\tvolume label (eg Label or [no media])\n" "\t%%m\tmount point if mounted, or ---\n" "\t%%i\tdevice ID\n" "\t%%n\tmajor:minor device numbers (eg 15:3)\n" msgstr "" #: ../src/settings.c:10765 msgid "_Auto Mount" msgstr "" #: ../src/settings.c:10770 msgid "Mount _Optical" msgstr "" #: ../src/settings.c:10775 msgid "_Mount Removable" msgstr "" #: ../src/settings.c:10780 msgid "Open _Tab" msgstr "" #: ../src/settings.c:10785 msgid "_Unmount On Exit" msgstr "" #: ../src/settings.c:10793 msgid "Auto _Run" msgstr "" #: ../src/settings.c:10799 msgid "On _Mount" msgstr "" #: ../src/settings.c:10801 msgid "Auto Run On Mount" msgstr "" #: ../src/settings.c:10802 #, c-format msgid "" "Enter program or bash command line to be run automatically after a removable " "drive or data disc is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10805 msgid "On _Audio CD" msgstr "" #: ../src/settings.c:10807 msgid "Auto Run On Audio CD" msgstr "" #: ../src/settings.c:10808 #, c-format msgid "" "Enter program or bash command line to be run automatically when an audio CD " "is inserted in a qualified device:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10811 msgid "On _Video DVD" msgstr "" #: ../src/settings.c:10813 msgid "Auto Run On Video DVD" msgstr "" #: ../src/settings.c:10814 #, c-format msgid "" "Enter program or bash command line to be run automatically when a video DVD " "is auto-mounted:\n" "\n" "Use:\n" "\t%%v\tdevice (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10817 msgid "On _Insert" msgstr "" #: ../src/settings.c:10819 msgid "Auto Run On Insert" msgstr "" #: ../src/settings.c:10820 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is inserted:\n" "\n" "Use:\n" "\t%%v\tdevice added (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10823 msgid "On _Unmount" msgstr "" #: ../src/settings.c:10825 msgid "Auto Run On Unmount" msgstr "" #: ../src/settings.c:10826 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is unmounted by any means:\n" "\n" "Use:\n" "\t%%v\tdevice unmounted (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10829 msgid "On _Remove" msgstr "" #: ../src/settings.c:10831 msgid "Auto Run On Remove" msgstr "" #: ../src/settings.c:10832 #, c-format msgid "" "Enter program or bash command line to be run automatically when any device " "is removed (ejection of media does not qualify):\n" "\n" "Use:\n" "\t%%v\tdevice removed (eg /dev/sda1)\n" "\t%%l\tdevice label\n" "\t%%m\tdevice mount point (eg /media/disk)" msgstr "" #: ../src/settings.c:10839 msgid "Mount _Volumes..." msgstr "" #: ../src/settings.c:10840 msgid "Auto-Mount Volumes" msgstr "" #: ../src/settings.c:10841 msgid "" "To force or prevent automounting of some volumes, overriding other settings, " "you can specify the devices, volume labels, or device IDs in the space-" "separated list below.\n" "\n" "Example: +/dev/sdd1 -Label With Space +ata-OCZ-part4\n" "This would cause /dev/sdd1 and the OCZ device to be auto-mounted when " "detected, and the volume with label \"Label With Space\" to be ignored.\n" "\n" "There must be a space between entries and a plus or minus sign directly " "before each item. This list is case-sensitive.\n" "\n" msgstr "" #: ../src/settings.c:10844 msgid "_Mount Options" msgstr "" #: ../src/settings.c:10845 msgid "" "Enter your comma- or space-separated list of default mount options below (to " "be used for all mounts).\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10847 msgid "Default Mount Options" msgstr "" #: ../src/settings.c:10855 msgid "Re/mount With Options" msgstr "" #: ../src/settings.c:10856 msgid "" "Device will be (re)mounted using the options below.\n" "\n" "In addition to regular options, you can also specify options to be added or " "removed for a specific filesystem type by using the form OPTION+FSTYPE or " "OPTION-FSTYPE.\n" "\n" "Example: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\n" "This will add nosuid and noatime for all filesystem types, add sync for vfat " "and ntfs only, and remove noatime for ext4.\n" "\n" "Note: Some options, such as nosuid, may be added by the mount program even " "if you don't include them. Options in fstab take precedence. pmount " "ignores options set here." msgstr "" #: ../src/settings.c:10860 msgid "_Change Detection" msgstr "" #: ../src/settings.c:10861 msgid "" "Enter your comma- or space-separated list of filesystems which should NOT be " "monitored for changes. This setting only affects non-block devices (such as " "nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive " "with network filesystems. Loading of thumbnails will also be disabled." msgstr "" #: ../src/settings.c:10863 msgid "Change Detection Blacklist" msgstr "" #. Removed 0.9.4 #. set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Mount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-mcmd" ); #. #. set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); #. set->menu_style = XSET_MENU_STRING; #. xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); #. xset_set_set( set, "title", _("Unmount Command") ); #. xset_set_set( set, "icn", "gtk-edit" ); #. set->line = g_strdup( "#devices-settings-ucmd" ); #. #: ../src/settings.c:10885 msgid "_Device Handlers" msgstr "" #: ../src/settings.c:10889 ../src/settings.c:12092 msgid "_Protocol Handlers" msgstr "" #: ../src/settings.c:10906 ../src/settings.c:12449 ../src/settings.c:12461 msgid "_Icon" msgstr "" #: ../src/settings.c:10911 msgid "Audio CD" msgstr "" #: ../src/settings.c:10917 msgid "Optical Mounted" msgstr "" #: ../src/settings.c:10922 msgid "Optical Has Media" msgstr "" #: ../src/settings.c:10927 msgid "Optical No Media" msgstr "" #: ../src/settings.c:10932 msgid "Floppy Mounted" msgstr "" #: ../src/settings.c:10937 msgid "Floppy Unmounted" msgstr "" #: ../src/settings.c:10942 msgid "Removable Mounted" msgstr "" #: ../src/settings.c:10947 msgid "Removable Unmounted" msgstr "" #: ../src/settings.c:10952 msgid "Internal Mounted" msgstr "" #: ../src/settings.c:10957 msgid "Internal Unmounted" msgstr "" #: ../src/settings.c:10962 msgid "Mounted Network" msgstr "" #: ../src/settings.c:10967 msgid "Mounted Other" msgstr "" #: ../src/settings.c:11000 msgid "_Settings" msgstr "" #: ../src/settings.c:11005 msgid "Bookmark _Icon" msgstr "" #: ../src/settings.c:11010 msgid "Sub_menu Icon" msgstr "" #: ../src/settings.c:11015 msgid "_Show Bookmarks" msgstr "" #: ../src/settings.c:11020 msgid "New _Bookmark" msgstr "" #. Rename/Move Dialog #: ../src/settings.c:11030 ../src/settings.c:12052 ../src/settings.c:12467 msgid "_Name" msgstr "" #: ../src/settings.c:11037 msgid "_Parent" msgstr "" #: ../src/settings.c:11040 ../src/ptk/ptk-file-misc.c:1075 msgid "P_ath" msgstr "" #: ../src/settings.c:11056 msgid "_Option" msgstr "" #: ../src/settings.c:11064 ../src/settings.c:11942 #: ../src/ptk/ptk-file-misc.c:1256 ../src/ptk/ptk-file-misc.c:1267 msgid "_Link" msgstr "" #: ../src/settings.c:11068 ../src/ptk/ptk-file-misc.c:2506 msgid "Copy _Target" msgstr "" #: ../src/settings.c:11071 msgid "Lin_k Target" msgstr "" #: ../src/settings.c:11074 msgid "_As Root" msgstr "" #: ../src/settings.c:11078 ../src/settings.c:11628 ../src/settings.c:11680 #: ../src/settings.c:11778 ../src/settings.c:11807 ../src/settings.c:12416 #: ../src/settings.c:12422 ../src/settings.c:12429 ../src/settings.c:12436 #: ../src/settings.c:12443 ../src/settings.c:12453 msgid "_Font" msgstr "" #: ../src/settings.c:11081 msgid "Move Dialog Font" msgstr "" #: ../src/settings.c:11082 msgid "/home/user/Example Filename.ext" msgstr "" #: ../src/settings.c:11087 msgid "_Confirm Create" msgstr "" #: ../src/settings.c:11095 msgid "Highlight _Bar" msgstr "" #: ../src/settings.c:11096 msgid "Status Bar Highlight Color" msgstr "" #: ../src/settings.c:11100 msgid "Highlight _Text" msgstr "" #: ../src/settings.c:11101 msgid "Status Bar Text Highlight Color" msgstr "" #: ../src/settings.c:11105 msgid "_Middle Click" msgstr "" #: ../src/settings.c:11109 ../src/settings.c:12132 msgid "Copy _Name" msgstr "" #: ../src/settings.c:11112 ../src/settings.c:12135 msgid "Copy _Path" msgstr "" #: ../src/settings.c:11119 msgid "_Hide Panel" msgstr "" #: ../src/settings.c:11135 msgid "New _Window" msgstr "新視窗(_W)" #: ../src/settings.c:11138 msgid "R_oot Window" msgstr "" #: ../src/settings.c:11141 msgid "_File Search" msgstr "" #: ../src/settings.c:11144 msgid "_Terminal" msgstr "" #. discovery notification #: ../src/settings.c:11147 msgid "_Root Terminal" msgstr "" #: ../src/settings.c:11154 msgid "Open URL" msgstr "" #: ../src/settings.c:11155 msgid "" "Enter URL in the format:\n" "\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n" "\n" "Examples:\n" "\tftp://mirrors.kernel.org\n" "\tsmb://user:pass@10.0.0.1:50/docs\n" "\tssh://user@sys.domain\n" "\n" "Including a password is unsafe. To bookmark a URL, right-click on the " "mounted network in Devices and select Bookmark.\n" msgstr "" #: ../src/settings.c:11158 msgid "Save Ta_bs" msgstr "" #: ../src/settings.c:11162 msgid "E_xit" msgstr "" #: ../src/settings.c:11193 ../src/settings.c:11231 ../src/settings.c:11859 #: ../src/settings.c:12184 ../src/settings.c:12222 msgid "Panel _1" msgstr "" #: ../src/settings.c:11198 ../src/settings.c:11233 ../src/settings.c:11860 #: ../src/settings.c:12185 ../src/settings.c:12223 msgid "Panel _2" msgstr "" #: ../src/settings.c:11202 ../src/settings.c:11234 ../src/settings.c:11861 #: ../src/settings.c:12186 ../src/settings.c:12224 msgid "Panel _3" msgstr "" #: ../src/settings.c:11206 ../src/settings.c:11235 ../src/settings.c:11862 #: ../src/settings.c:12187 ../src/settings.c:12225 msgid "Panel _4" msgstr "" #: ../src/settings.c:11210 msgid "Panel _Bar" msgstr "" #: ../src/settings.c:11215 msgid "F_ocus" msgstr "" #: ../src/settings.c:11221 ../src/settings.c:11840 ../src/settings.c:11857 #: ../src/settings.c:12008 ../src/settings.c:12165 ../src/settings.c:12182 #: ../src/settings.c:12203 ../src/settings.c:12220 msgid "_Prev" msgstr "" #: ../src/settings.c:11223 ../src/settings.c:11841 ../src/settings.c:11858 #: ../src/settings.c:12009 ../src/settings.c:12166 ../src/settings.c:12183 #: ../src/settings.c:12204 ../src/settings.c:12221 msgid "_Next" msgstr "" #. #. xset_set( "panel_left", "lbl", _("_Left") ); #. xset_set( "panel_right", "lbl", _("_Right") ); #. xset_set( "panel_top", "lbl", _("_Top") ); #. xset_set( "panel_bottom", "lbl", _("_Bottom") ); #. #: ../src/settings.c:11230 ../src/settings.c:12227 msgid "_Hide" msgstr "" #: ../src/settings.c:11237 msgid "_Event Manager" msgstr "" #: ../src/settings.c:11243 msgid "_Instance" msgstr "" #: ../src/settings.c:11248 msgid "_Startup" msgstr "" #: ../src/settings.c:11250 msgid "Set Instance Startup Command" msgstr "" #: ../src/settings.c:11251 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance starts:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_start)\n" msgstr "" #: ../src/settings.c:11254 msgid "_Exit" msgstr "" #: ../src/settings.c:11256 msgid "Set Instance Exit Command" msgstr "" #: ../src/settings.c:11257 #, c-format msgid "" "Enter program or bash command line to be run automatically when a SpaceFM " "instance exits:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_exit)\n" msgstr "" #: ../src/settings.c:11260 msgid "_Window" msgstr "" #: ../src/settings.c:11265 msgctxt "View|Events|Window|" msgid "_New" msgstr "" #: ../src/settings.c:11267 msgid "Set New Window Command" msgstr "" #: ../src/settings.c:11268 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "SpaceFM window is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11271 ../src/settings.c:11306 ../src/settings.c:11335 msgid "_Focus" msgstr "" #: ../src/settings.c:11273 msgid "Set Window Focus Command" msgstr "" #: ../src/settings.c:11274 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11277 msgid "_Move/Resize" msgstr "" #: ../src/settings.c:11279 msgid "Set Window Move/Resize Command" msgstr "" #: ../src/settings.c:11280 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is moved or resized:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_move)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Note: This command may be run multiple times during resize." msgstr "" #: ../src/settings.c:11283 msgid "_Click" msgstr "" #: ../src/settings.c:11285 msgid "Set Click Command" msgstr "" #: ../src/settings.c:11286 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the " "mouse is clicked:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_click)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%b\tbutton (mouse button pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\t%%f\tfocus (element which received the click)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle " "button was clicked in %%f\" --button ok &" msgstr "" #: ../src/settings.c:11289 msgid "_Keypress" msgstr "" #: ../src/settings.c:11291 msgid "Set Window Keypress Command" msgstr "" #: ../src/settings.c:11292 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a key is " "pressed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_key)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%k\tkey code (key pressed)\n" "\t%%m\tmodifier (modifier keys)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command when " "no asterisk prefix is used.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler. For example:\n" "*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey " "F8 was pressed.\" --button ok &" msgstr "" #: ../src/settings.c:11295 msgid "Cl_ose" msgstr "" #: ../src/settings.c:11297 msgid "Set Window Close Command" msgstr "" #: ../src/settings.c:11298 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a " "SpaceFM window is closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_win_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11301 msgid "_Panel" msgstr "" #: ../src/settings.c:11308 msgid "Set Panel Focus Command" msgstr "" #: ../src/settings.c:11309 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11312 msgctxt "View|Events|Panel|" msgid "_Show" msgstr "" #: ../src/settings.c:11314 msgid "Set Panel Show Command" msgstr "" #: ../src/settings.c:11315 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a panel " "or panel element is shown or hidden:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_show)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\t%%f\tfocus (element shown or hidden)\n" "\t%%v\tvisible (1 or 0)\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11318 msgid "S_elect" msgstr "" #: ../src/settings.c:11320 msgid "Set Panel Select Command" msgstr "" #: ../src/settings.c:11321 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever the file " "selection changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_pnl_sel)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command.\n" "\n" "Prefix your command with an asterisk (*) and conditionally return exit " "status 0 to inhibit the default handler." msgstr "" #: ../src/settings.c:11324 msgctxt "View|Events|" msgid "_Tab" msgstr "" #: ../src/settings.c:11331 msgid "Set New Tab Command" msgstr "" #: ../src/settings.c:11332 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a new " "tab is opened:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_new)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11337 msgid "Set Tab Focus Command" msgstr "" #: ../src/settings.c:11338 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab " "gets focus:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_focus)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\ttab\n" "\n" "Exported bash variables (eg $fm_pwd, etc) can be used in this command." msgstr "" #: ../src/settings.c:11341 msgctxt "View|Events|Tab|" msgid "_Close" msgstr "" #: ../src/settings.c:11343 msgid "Set Tab Close Command" msgstr "" #: ../src/settings.c:11344 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a tab is " "closed:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_tab_close)\n" "\t%%w\twindow id (see spacefm -s help)\n" "\t%%p\tpanel\n" "\t%%t\tclosed tab" msgstr "" #: ../src/settings.c:11347 msgid "_Device" msgstr "" #: ../src/settings.c:11349 msgid "Set Device Command" msgstr "" #: ../src/settings.c:11350 #, c-format msgid "" "Enter program or bash command line to be run automatically whenever a device " "state changes:\n" "\n" "Use:\n" "\t%%e\tevent type (evt_device)\n" "\t%%f\tdevice file\n" "\t%%v\tchange (added|removed|changed)\n" msgstr "" #: ../src/settings.c:11353 msgid "Wi_ndow Title" msgstr "" #: ../src/settings.c:11355 msgid "Set Window Title Format" msgstr "" #: ../src/settings.c:11356 #, c-format msgid "" "Set window title format:\n" "\n" "Use:\n" "\t%%n\tcurrent folder name (eg bin)\n" "\t%%d\tcurrent folder path (eg /usr/bin)\n" "\t%%p\tcurrent panel number (1-4)\n" "\t%%t\tcurrent tab number\n" "\t%%P\ttotal number of panels visible\n" "\t%%T\ttotal number of tabs in current panel\n" "\t*\tasterisk shown if tasks running in window" msgstr "" #: ../src/settings.c:11360 msgid "_Window Icon" msgstr "" #: ../src/settings.c:11366 msgid "" "Enter an icon name, icon file path, or stock item name:\n" "\n" "Or click Choose to select an icon. Not all icons may work properly due to " "various issues.\n" "\n" "Provided alternate SpaceFM icons:\n" "\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n" "\tspacefm-48-folder-[blue|red]\n" "\n" "For example: spacefm-48-pyramid-green" msgstr "" #. x and y store global icon chooser dialog size #: ../src/settings.c:11369 msgid "_Fullscreen" msgstr "" #: ../src/settings.c:11372 msgid "_Design Mode" msgstr "" #: ../src/settings.c:11375 msgid "_Preferences" msgstr "" #: ../src/settings.c:11378 msgid "_Tool" msgstr "工具(_T)" #: ../src/settings.c:11384 msgid "_Thumbnails (global)" msgstr "" #. Plugins #: ../src/settings.c:11388 msgid "_Install" msgstr "" #: ../src/settings.c:11416 msgid "_Verbose" msgstr "" #: ../src/settings.c:11423 msgid "In_cluded" msgstr "" #: ../src/settings.c:11437 msgid "_User's Manual" msgstr "" #: ../src/settings.c:11443 msgid "_Homepage" msgstr "" #: ../src/settings.c:11446 msgid "SpaceFM _News" msgstr "" #: ../src/settings.c:11449 msgid "_Get Plugins" msgstr "" #: ../src/settings.c:11452 msgid "_Options" msgstr "" #: ../src/settings.c:11457 msgid "_Browser" msgstr "" #: ../src/settings.c:11459 msgid "Choose HTML Browser" msgstr "" #: ../src/settings.c:11460 #, c-format msgid "" "Enter browser name or bash command line to be used to display HTML files and " "URLs:\n" "\n" "Use:\n" "\t%%u\turl\n" "\n" "(Leave blank for automatic browser detection)" msgstr "" #: ../src/settings.c:11463 msgid "_Manual Location" msgstr "" #: ../src/settings.c:11465 msgid "Choose User's Manual Location" msgstr "" #: ../src/settings.c:11466 msgid "" "Enter local file path or remote URL for the SpaceFM User's Manual:\n" "\n" "(Leave blank for default)\n" msgstr "" #: ../src/settings.c:11469 msgid "_About" msgstr "" #: ../src/settings.c:11472 msgid "_Show Devices" msgstr "" #: ../src/settings.c:11502 msgid "_Status" msgstr "" #. column position #. column width #: ../src/settings.c:11508 msgid "_Count" msgstr "" #: ../src/settings.c:11519 msgid "_Item" msgstr "" #: ../src/settings.c:11525 msgid "_To" msgstr "" #: ../src/settings.c:11531 msgid "_Progress" msgstr "" #: ../src/settings.c:11538 msgid "T_otal" msgstr "" #: ../src/settings.c:11545 msgid "Sta_rted" msgstr "" #: ../src/settings.c:11550 msgid "_Elapsed" msgstr "" #: ../src/settings.c:11557 msgid "C_urrent Speed" msgstr "" #: ../src/settings.c:11569 msgid "_Average Speed" msgstr "" #: ../src/settings.c:11581 msgid "Reor_der" msgstr "" #: ../src/settings.c:11587 ../src/settings.c:11607 #: ../src/ptk/ptk-file-task.c:553 ../src/ptk/ptk-file-task.c:838 msgid "Pa_use" msgstr "" #: ../src/settings.c:11590 ../src/settings.c:11610 msgid "_Queue" msgstr "" #: ../src/settings.c:11593 ../src/settings.c:11613 msgid "_Resume" msgstr "" #: ../src/settings.c:11596 msgid "Sho_w Output" msgstr "" #: ../src/settings.c:11599 msgid "_All Tasks" msgstr "" #: ../src/settings.c:11631 msgid "Task Manager Font" msgstr "" #: ../src/settings.c:11632 msgid "copying File 1:15 65.2 M 30.2 M/s" msgstr "" #: ../src/settings.c:11635 msgid "_Columns" msgstr "" #: ../src/settings.c:11640 msgid "_Popups" msgstr "" #: ../src/settings.c:11645 msgid "Popup _All Tasks" msgstr "" #: ../src/settings.c:11650 msgid "Stay On _Top" msgstr "" #: ../src/settings.c:11655 msgid "A_bove Others" msgstr "" #: ../src/settings.c:11660 msgid "All _Workspaces" msgstr "" #: ../src/settings.c:11670 msgid "_Overwrite Option" msgstr "" #: ../src/settings.c:11675 msgid "_Error Option" msgstr "" #: ../src/settings.c:11683 msgid "Task Popup Font (affects new tasks)" msgstr "" #: ../src/settings.c:11684 msgid "Example Output 0123456789" msgstr "" #: ../src/settings.c:11693 msgid "Stop If _First" msgstr "" #: ../src/settings.c:11698 msgid "Stop On _Any" msgstr "" #: ../src/settings.c:11703 msgid "_Continue" msgstr "" #: ../src/settings.c:11708 msgid "Qu_eue" msgstr "" #: ../src/settings.c:11713 msgid "_Queue New Tasks" msgstr "" #: ../src/settings.c:11718 msgid "_Smart Queue" msgstr "" #: ../src/settings.c:11723 msgid "_Pause On Error" msgstr "" #: ../src/settings.c:11733 msgid "Arrange _Icons" msgstr "" #: ../src/settings.c:11738 msgid "By _Name" msgstr "" #: ../src/settings.c:11741 msgid "By _Type" msgstr "" #: ../src/settings.c:11744 msgid "By _Date" msgstr "" #: ../src/settings.c:11747 msgid "By _Size" msgstr "" #: ../src/settings.c:11750 msgid "_Custom" msgstr "" #: ../src/settings.c:11753 ../src/settings.c:12064 msgid "_Ascending" msgstr "" #: ../src/settings.c:11756 msgid "D_escending" msgstr "" #: ../src/settings.c:11759 msgid "Desktop _Settings" msgstr "" #. set->b keeps desktop prefs compositing wm info has been shown #: ../src/settings.c:11763 ../src/settings.c:12001 msgid "De_vices" msgstr "" #: ../src/settings.c:11771 msgid "_Desktop Folder" msgstr "" #: ../src/settings.c:11781 msgid "Editor Font" msgstr "" #: ../src/settings.c:11782 ../src/settings.c:11811 msgid "Example Input 0123456789" msgstr "" #: ../src/settings.c:11810 msgid "Input Font" msgstr "" #: ../src/settings.c:11817 msgid "E_xecute" msgstr "執行(_X)" #: ../src/settings.c:11820 msgid "Edi_t" msgstr "" #: ../src/settings.c:11823 msgid "Edit As _Root" msgstr "" #: ../src/settings.c:11826 msgid "_Choose..." msgstr "" #: ../src/settings.c:11829 #, fuzzy msgid "File _Handlers..." msgstr "所有檔案和資料夾" #: ../src/settings.c:11833 msgid "Open With _Default" msgstr "" #. virtual #: ../src/settings.c:11835 msgid "In _Tab" msgstr "" #: ../src/settings.c:11839 msgid "N_ew" msgstr "" #: ../src/settings.c:11842 ../src/settings.c:12012 ../src/settings.c:12167 #: ../src/settings.c:12205 msgid "Tab _1" msgstr "" #: ../src/settings.c:11843 ../src/settings.c:12013 ../src/settings.c:12168 #: ../src/settings.c:12206 msgid "Tab _2" msgstr "" #: ../src/settings.c:11844 ../src/settings.c:12014 ../src/settings.c:12169 #: ../src/settings.c:12207 msgid "Tab _3" msgstr "" #: ../src/settings.c:11845 ../src/settings.c:12015 ../src/settings.c:12170 #: ../src/settings.c:12208 msgid "Tab _4" msgstr "" #: ../src/settings.c:11846 ../src/settings.c:12016 ../src/settings.c:12171 #: ../src/settings.c:12209 msgid "Tab _5" msgstr "" #: ../src/settings.c:11847 ../src/settings.c:12017 ../src/settings.c:12172 #: ../src/settings.c:12210 msgid "Tab _6" msgstr "" #: ../src/settings.c:11848 ../src/settings.c:12018 ../src/settings.c:12173 #: ../src/settings.c:12211 msgid "Tab _7" msgstr "" #: ../src/settings.c:11849 ../src/settings.c:12019 ../src/settings.c:12174 #: ../src/settings.c:12212 msgid "Tab _8" msgstr "" #: ../src/settings.c:11850 ../src/settings.c:12020 ../src/settings.c:12175 #: ../src/settings.c:12213 msgid "Tab _9" msgstr "" #: ../src/settings.c:11851 ../src/settings.c:12021 ../src/settings.c:12176 #: ../src/settings.c:12214 msgid "Tab 1_0" msgstr "" #: ../src/settings.c:11853 msgid "In _Panel" msgstr "" #: ../src/settings.c:11864 ../src/settings.c:11891 msgid "_Extract" msgstr "" #: ../src/settings.c:11868 ../src/settings.c:11896 msgid "Extract _To" msgstr "解壓縮到(_T)" #: ../src/settings.c:11872 ../src/settings.c:11900 msgid "_List Contents" msgstr "" #: ../src/settings.c:11882 msgid "_Archive Defaults" msgstr "" #: ../src/settings.c:11887 msgid "_Open With App" msgstr "" #: ../src/settings.c:11904 msgid "_Create Subfolder" msgstr "" #: ../src/settings.c:11909 msgid "_Write Access" msgstr "" #: ../src/settings.c:11914 msgid "Archive _Handlers" msgstr "" #: ../src/settings.c:11938 msgid "Fol_der" msgstr "" #: ../src/settings.c:11946 msgctxt "New|" msgid "_Bookmark" msgstr "書籤(_B)" #: ../src/settings.c:11950 msgid "_Archive" msgstr "" #. Extract To - Create Subfolder #. Extract To - Write Access #: ../src/settings.c:11957 msgctxt "New|" msgid "_Tab" msgstr "" #: ../src/settings.c:11959 msgid "Tab _Here" msgstr "" #: ../src/settings.c:11962 msgid "_Desktop Application" msgstr "" #: ../src/settings.c:11968 msgid "_Go" msgstr "前往(_G)" #: ../src/settings.c:11973 msgid "_Back" msgstr "" #: ../src/settings.c:11975 msgid "_Forward" msgstr "" #: ../src/settings.c:11977 msgid "_Up" msgstr "" #: ../src/settings.c:11979 msgid "_Home" msgstr "" #: ../src/settings.c:11984 msgid "_Set Default" msgstr "" #: ../src/settings.c:11987 msgid "Re_al Path" msgstr "" #: ../src/settings.c:11989 msgid "Fo_cus" msgstr "" #: ../src/settings.c:11993 msgid "_Path Bar" msgstr "" #: ../src/settings.c:11995 msgid "_File List" msgstr "" #: ../src/settings.c:11997 msgid "_Tree" msgstr "" #: ../src/settings.c:12004 msgctxt "Go|" msgid "_Tab" msgstr "" #: ../src/settings.c:12010 msgid "_Close" msgstr "" #: ../src/settings.c:12027 msgid "Styl_e" msgstr "" #: ../src/settings.c:12030 msgid "C_olumns" msgstr "" #: ../src/settings.c:12033 msgid "_Reorder" msgstr "" #: ../src/settings.c:12035 msgid "_Rubberband Select" msgstr "" #: ../src/settings.c:12048 msgid "_Sort" msgstr "" #. visible #. position #: ../src/settings.c:12054 ../src/settings.c:12472 msgid "_Size" msgstr "" #: ../src/settings.c:12056 ../src/settings.c:12479 msgid "_Type" msgstr "" #: ../src/settings.c:12058 ../src/settings.c:12485 msgid "_Permission" msgstr "" #: ../src/settings.c:12060 ../src/settings.c:12322 ../src/settings.c:12491 msgid "_Owner" msgstr "" #: ../src/settings.c:12062 ../src/settings.c:12497 msgid "_Modified" msgstr "" #: ../src/settings.c:12066 msgid "_Descending" msgstr "" #: ../src/settings.c:12069 msgid "Nat_ural" msgstr "" #: ../src/settings.c:12071 msgid "_Case Sensitive" msgstr "" #: ../src/settings.c:12073 msgid "Folders Fi_rst" msgstr "" #: ../src/settings.c:12075 msgid "F_iles First" msgstr "" #: ../src/settings.c:12077 msgid "Mi_xed" msgstr "" #: ../src/settings.c:12079 msgid "_Hidden First" msgstr "" #: ../src/settings.c:12081 msgid "Hidden _Last" msgstr "" #: ../src/settings.c:12084 msgid "Re_fresh" msgstr "" #: ../src/settings.c:12087 msgid "Auto See_k" msgstr "" #. set->s was custom protocol handler in sfm<=0.9.3 - retained #: ../src/settings.c:12098 msgid "Path Bar _Help" msgstr "" #: ../src/settings.c:12111 ../src/ptk/ptk-file-misc.c:710 #: ../src/ptk/ptk-file-misc.c:1246 ../src/ptk/ptk-file-misc.c:2155 msgid "_Rename" msgstr "重新命名" #: ../src/settings.c:12115 ../src/settings.c:12245 msgid "_Delete" msgstr "刪除(_D)" #: ../src/settings.c:12127 msgid "_Actions" msgstr "" #: ../src/settings.c:12138 msgid "Copy Pa_rent" msgstr "" #: ../src/settings.c:12141 msgid "Paste _Link" msgstr "" #: ../src/settings.c:12144 msgid "Paste _Target" msgstr "" #: ../src/settings.c:12147 msgid "Paste _As" msgstr "" #: ../src/settings.c:12153 ../src/settings.c:12243 msgid "_Copy To" msgstr "" #: ../src/settings.c:12157 msgid "L_ocation" msgstr "" #: ../src/settings.c:12158 ../src/settings.c:12197 msgid "L_ast Location" msgstr "" #: ../src/settings.c:12161 msgctxt "Edit|CopyTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12178 msgctxt "Edit|CopyTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12192 msgid "_Move To" msgstr "" #: ../src/settings.c:12196 msgid "_Location" msgstr "" #: ../src/settings.c:12199 msgctxt "Edit|MoveTo|" msgid "_Tab" msgstr "" #: ../src/settings.c:12216 msgctxt "Edit|MoveTo|" msgid "_Panel" msgstr "" #: ../src/settings.c:12229 msgid "_Select All" msgstr "" #: ../src/settings.c:12232 msgid "_Unselect All" msgstr "" #: ../src/settings.c:12234 msgid "_Invert Selection" msgstr "反相選取(_I)" #: ../src/settings.c:12236 msgid "S_elect By Pattern" msgstr "" #: ../src/settings.c:12238 msgid "R_oot" msgstr "" #: ../src/settings.c:12244 msgid "Move _To" msgstr "" #. Properties #: ../src/settings.c:12249 msgid "Propert_ies" msgstr "" #: ../src/settings.c:12260 msgid "_Quick" msgstr "" #: ../src/settings.c:12282 ../src/settings.c:12312 ../src/settings.c:12338 msgid "_Recursive" msgstr "" #: ../src/settings.c:12360 msgid "_Toolbar" msgstr "" #: ../src/settings.c:12372 msgid "T_ree" msgstr "" #: ../src/settings.c:12384 msgid "_Side Toolbar" msgstr "" #: ../src/settings.c:12390 msgid "_Detailed" msgstr "" #: ../src/settings.c:12396 msgid "_Icons" msgstr "圖示(_I)" #: ../src/settings.c:12401 msgid "_Compact" msgstr "" #: ../src/settings.c:12406 msgid "_Large Icons" msgstr "" #: ../src/settings.c:12411 msgid "_Hidden Files" msgstr "" #: ../src/settings.c:12419 #, c-format msgid "File List Font (Panel %d)" msgstr "" #: ../src/settings.c:12420 msgid "Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11" msgstr "" #: ../src/settings.c:12425 #, c-format msgid "Devices Font (Panel %d)" msgstr "" #: ../src/settings.c:12426 msgid "sr0 [no media] :EXAMPLE" msgstr "" #: ../src/settings.c:12432 #, c-format msgid "Bookmarks Font (Panel %d)" msgstr "" #: ../src/settings.c:12433 msgid "Example Bookmark Name" msgstr "" #: ../src/settings.c:12439 #, c-format msgid "Path Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12440 msgid "$ cat /home/user/example" msgstr "" #: ../src/settings.c:12446 #, c-format msgid "Tab Font (Panel %d)" msgstr "" #: ../src/settings.c:12456 #, c-format msgid "Status Bar Font (Panel %d)" msgstr "" #: ../src/settings.c:12457 msgid "12 G free / 200 G 52 items" msgstr "" #. sort_natural #. sort_case #. PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h #. sort_hidden_first #: ../src/settings.c:12509 msgid "Follow _Dir" msgstr "" #. speed #: ../src/settings.c:12518 ../src/settings.c:12527 msgid "_New Tab" msgstr "" #: ../src/settings.c:12522 ../src/settings.c:12532 msgid "_Single Click" msgstr "" #: ../src/ptk/ptk-file-browser.c:2168 #, c-format msgid "" "Directory doesn't exist\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:2184 #, c-format msgid "" "Unable to access %s\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-browser.c:3013 ../src/desktop/desktop-window.c:2216 msgid "Select By Pattern" msgstr "" #: ../src/ptk/ptk-file-browser.c:3015 ../src/desktop/desktop-window.c:2216 #, c-format msgid "" "Enter pattern to select files and folders:\n" "\n" "If your pattern contains any uppercase characters, the matching will be case " "sensitive.\n" "\n" "Example: *sp*e?m*\n" "\n" "TIP: You can also enter '%% PATTERN' in the path bar." msgstr "" #: ../src/ptk/ptk-file-browser.c:5596 ../src/ptk/ptk-file-misc.c:4075 #: ../src/desktop/desktop-window.c:3256 msgid "Choose Location" msgstr "" #: ../src/ptk/ptk-file-browser.c:5629 ../src/ptk/ptk-file-browser.c:5663 #: ../src/desktop/desktop-window.c:3289 ../src/desktop/desktop-window.c:3320 msgid "Invalid Destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5630 ../src/desktop/desktop-window.c:3290 msgid "Destination same as source" msgstr "" #: ../src/ptk/ptk-file-browser.c:5664 ../src/desktop/desktop-window.c:3321 msgid "Invalid destination" msgstr "" #: ../src/ptk/ptk-file-browser.c:5671 msgid "Hide File" msgstr "" #: ../src/ptk/ptk-file-browser.c:5673 msgid "" "The names of the selected files will be added to the '.hidden' file located " "in this folder, which will hide them from view in SpaceFM. You may need to " "refresh the view or restart SpaceFM for the files to disappear.\n" "\n" "To unhide a file, open the .hidden file in your text editor, remove the name " "of the file, and refresh." msgstr "" #: ../src/ptk/ptk-file-browser.c:5688 msgid "Error hiding files" msgstr "" #: ../src/ptk/ptk-file-browser.c:5696 msgid "No files are selected" msgstr "" #: ../src/ptk/ptk-location-view.c:850 ../src/ptk/ptk-location-view.c:930 msgid "Unable to mount device" msgstr "無法掛載裝置" #: ../src/ptk/ptk-location-view.c:870 msgid "Unable to unmount device" msgstr "無法卸載裝置" #: ../src/ptk/ptk-location-view.c:892 ../src/ptk/ptk-location-view.c:906 msgid "Unable to eject device" msgstr "無法退出裝置" #: ../src/ptk/ptk-location-view.c:952 msgid "udev Not Configured" msgstr "" #: ../src/ptk/ptk-location-view.c:953 msgid "" "Mounting a network share requires a udev (--disable-hal) build of SpaceFM." msgstr "" #: ../src/ptk/ptk-location-view.c:1054 msgid "Invalid URL" msgstr "" #: ../src/ptk/ptk-location-view.c:1055 msgid "The entered URL is not valid." msgstr "" #: ../src/ptk/ptk-location-view.c:1113 ../src/ptk/ptk-location-view.c:1228 msgid "Handler Not Found" msgstr "" #: ../src/ptk/ptk-location-view.c:1114 msgid "" "No network handler is configured for this URL, or no mount command is set. " "Add a handler in Devices|Settings|Protocol Handlers." msgstr "" #: ../src/ptk/ptk-location-view.c:1171 #, c-format msgid "Open URL %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1224 msgid "mount" msgstr "" #: ../src/ptk/ptk-location-view.c:1226 msgid "unmount" msgstr "" #: ../src/ptk/ptk-location-view.c:1227 #, c-format msgid "" "No handler is configured for this device type, or no %s command is set. Add " "a handler in Settings|Device Handlers or Protocol Handlers." msgstr "" #. task #: ../src/ptk/ptk-location-view.c:1260 ../src/ptk/ptk-location-view.c:1825 #: ../src/ptk/ptk-location-view.c:1900 ../src/ptk/ptk-location-view.c:1977 #, c-format msgid "Mount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1300 #, c-format msgid "%s is currently mounted. You must unmount it before you can check it." msgstr "" #: ../src/ptk/ptk-location-view.c:1301 ../src/ptk/ptk-location-view.c:2211 #: ../src/ptk/ptk-location-view.c:2290 ../src/ptk/ptk-location-view.c:2632 msgid "Device Is Mounted" msgstr "" #: ../src/ptk/ptk-location-view.c:1308 #, c-format msgid "" "Enter filesystem check command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1313 msgid "Check As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1316 msgid "CHECK AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1326 #, c-format msgid "Check As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1359 #, c-format msgid "" "Enter mount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%o\tvolume-specific mount options\n" "\t\t( %s )\n" "\n" "Note: fstab overrides some options\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1365 msgid "Mount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1368 msgid "MOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1384 #, c-format msgid "Mount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1414 #, c-format msgid "" "Enter unmount command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:1419 msgid "Unmount As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1422 msgid "UNMOUNT AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1434 #, c-format msgid "Unmount As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1490 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. You may want or need to unmount it before changing " "the label." msgstr "" #: ../src/ptk/ptk-location-view.c:1494 #, c-format msgid "Enter volume label for %s:%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1496 msgid "Change Volume Label" msgstr "" #: ../src/ptk/ptk-location-view.c:1521 #, c-format msgid "" "Enter remove label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1527 #, c-format msgid "" "Enter change label command for fstype '%s':\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%l\tnew label ( \"%s\" )\n" "\n" "EDIT WITH CARE This command is run as root%s" msgstr "" #: ../src/ptk/ptk-location-view.c:1530 msgid "Change Label As Root" msgstr "" #: ../src/ptk/ptk-location-view.c:1533 msgid "LABEL AS ROOT" msgstr "" #: ../src/ptk/ptk-location-view.c:1548 #, c-format msgid "Label As Root %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1612 #, c-format msgid "Unmount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:1746 ../src/ptk/ptk-location-view.c:1759 #, c-format msgid "Remove %s" msgstr "" #. task #: ../src/ptk/ptk-location-view.c:2049 #, c-format msgid "Remount %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2148 #, c-format msgid "Reload %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2176 msgid "Sync" msgstr "" #: ../src/ptk/ptk-location-view.c:2210 #, c-format msgid "%s is currently mounted. You must unmount it before you can format it." msgstr "" #: ../src/ptk/ptk-location-view.c:2222 ../src/ptk/ptk-location-view.c:2382 #, c-format msgid " ( AN ENTIRE DEVICE ) " msgstr "" #: ../src/ptk/ptk-location-view.c:2228 #, c-format msgid "" "You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can " "take awhile and dd gives no feedback.\n" "\n" "Enter command to overwrite entire volume with /dev/%s:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2231 #, c-format msgid "" "You are about to format %s %s- ALL DATA WILL BE LOST.\n" "\n" "Enter %s format command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2232 msgid "Format" msgstr "" #: ../src/ptk/ptk-location-view.c:2235 ../src/ptk/ptk-location-view.c:2332 #: ../src/ptk/ptk-location-view.c:2389 msgid "DATA LOSS WARNING" msgstr "" #: ../src/ptk/ptk-location-view.c:2244 #, c-format msgid "Format %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2289 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can restore it." msgstr "" #: ../src/ptk/ptk-location-view.c:2297 msgid "Choose Backup For Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2331 #, c-format msgid "" "You are about to overwrite the MBR boot code of %s using %s.\n" "\n" "This change may prevent your computer from booting properly. All important " "data on the entire device should be backed up first.\n" "\n" "Proceed? (If you press Yes, you still have one more opportunity to abort " "before the disk is modified.)" msgstr "" #: ../src/ptk/ptk-location-view.c:2332 msgid "Restore MBR" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "Unknown Type" msgstr "" #: ../src/ptk/ptk-location-view.c:2344 ../src/ptk/ptk-location-view.c:2554 msgid "" "The selected file is not a recognized backup file.\n" "\n" "FSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage " "filenames contain 'partimage' or end in '.000'. MBR filenames end in '." "mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE " "this file is a valid backup, you can rename it to avoid this error." msgstr "" #: ../src/ptk/ptk-location-view.c:2385 #, c-format msgid "" "You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n" "\n" "Enter %s restore command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2386 msgid "Restore" msgstr "" #: ../src/ptk/ptk-location-view.c:2427 #, c-format msgid "%s Restore %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2481 msgid "Directory Missing" msgstr "" #: ../src/ptk/ptk-location-view.c:2482 msgid "The /etc/udevil directory was not found. Is udevil installed?" msgstr "" #: ../src/ptk/ptk-location-view.c:2495 msgid "Choose Backup For Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "MBR File" msgstr "" #: ../src/ptk/ptk-location-view.c:2548 msgid "" "Based on its name, the selected file appears to be an MBR backup file. No " "other information is available for this type of backup." msgstr "" #: ../src/ptk/ptk-location-view.c:2564 msgid "Restore Info" msgstr "" #: ../src/ptk/ptk-location-view.c:2623 #, c-format msgid "" "\n" "\n" "WARNING: %s is mounted. By default, FSArchiver will only backup volumes " "mounted read-only. To backup a read-write volume, you need to add --allow-" "rw-mounted to the command. See 'man fsarchiver' for details." msgstr "" #: ../src/ptk/ptk-location-view.c:2631 #, c-format msgid "" "%s is currently mounted. You must unmount it before you can create a backup " "using Partimage." msgstr "" #: ../src/ptk/ptk-location-view.c:2648 #, c-format msgid "Save %s Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2665 msgid "The selected backup already exists. Overwrite?" msgstr "" #: ../src/ptk/ptk-location-view.c:2694 #, c-format msgid "" "Enter %s backup command:\n" "\n" "Use:\n" "\t%%%%v\tdevice file ( %s )\n" "\t%%%%s\tbackup file ( %s )%s\n" "\n" "EDIT WITH CARE This command is run as root" msgstr "" #: ../src/ptk/ptk-location-view.c:2697 msgid "Backup" msgstr "" #: ../src/ptk/ptk-location-view.c:2725 #, c-format msgid "%s Backup %s" msgstr "" #: ../src/ptk/ptk-location-view.c:2832 #, c-format msgid "Properties %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3075 ../src/ptk/ptk-location-view.c:3102 #, c-format msgid "" "%sCurrently Selected Device: %s\n" "Volume Label: %s\n" "Device ID: %s" msgstr "" #: ../src/ptk/ptk-location-view.c:3478 ../src/ptk/ptk-location-view.c:3812 msgid "_Eject" msgstr "退出(_E)" #: ../src/ptk/ptk-file-task.c:483 msgid "Kill As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:541 msgid "Q_ueue" msgstr "" #: ../src/ptk/ptk-file-task.c:547 msgid "Res_ume" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Stop As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:628 msgid "Cont As Other" msgstr "" #: ../src/ptk/ptk-file-task.c:798 msgid "Move: " msgstr "移動:" #: ../src/ptk/ptk-file-task.c:799 msgid "Copy: " msgstr "複製:" #: ../src/ptk/ptk-file-task.c:800 msgid "Trash: " msgstr "" #: ../src/ptk/ptk-file-task.c:801 msgid "Delete: " msgstr "刪除:" #: ../src/ptk/ptk-file-task.c:802 msgid "Link: " msgstr "建立連結:" #: ../src/ptk/ptk-file-task.c:803 msgid "Change: " msgstr "" #: ../src/ptk/ptk-file-task.c:804 msgid "Run: " msgstr "" #: ../src/ptk/ptk-file-task.c:808 msgid "Moving..." msgstr "正在移動..." #: ../src/ptk/ptk-file-task.c:809 msgid "Copying..." msgstr "正在複製..." #: ../src/ptk/ptk-file-task.c:810 msgid "Trashing..." msgstr "" #: ../src/ptk/ptk-file-task.c:811 msgid "Deleting..." msgstr "正在刪除..." #: ../src/ptk/ptk-file-task.c:812 msgid "Linking..." msgstr "正在建立連結..." #: ../src/ptk/ptk-file-task.c:813 msgid "Changing..." msgstr "" #: ../src/ptk/ptk-file-task.c:814 ../src/ptk/ptk-file-task.c:984 #: ../src/ptk/ptk-file-task.c:1502 #, c-format msgid "Running..." msgstr "" #: ../src/ptk/ptk-file-task.c:900 msgid "From:" msgstr "" #: ../src/ptk/ptk-file-task.c:917 msgid "To:" msgstr "到:" #: ../src/ptk/ptk-file-task.c:935 msgid "Progress: " msgstr "" #: ../src/ptk/ptk-file-task.c:973 msgid "Status: " msgstr "" #: ../src/ptk/ptk-file-task.c:980 ../src/ptk/ptk-file-task.c:1463 #, c-format msgid "Paused" msgstr "" #: ../src/ptk/ptk-file-task.c:982 ../src/ptk/ptk-file-task.c:1479 #, c-format msgid "Queued" msgstr "" #: ../src/ptk/ptk-file-task.c:1038 msgid "Ask" msgstr "" #: ../src/ptk/ptk-file-task.c:1039 msgid "Overwrite All" msgstr "全部覆寫" #: ../src/ptk/ptk-file-task.c:1040 msgid "Skip All" msgstr "全部略過" #: ../src/ptk/ptk-file-task.c:1041 msgid "Auto Rename" msgstr "" #: ../src/ptk/ptk-file-task.c:1045 msgid "Stop If Error First" msgstr "" #: ../src/ptk/ptk-file-task.c:1046 msgid "Stop On Any Error" msgstr "" #: ../src/ptk/ptk-file-task.c:1047 msgid "Continue" msgstr "" #: ../src/ptk/ptk-file-task.c:1216 ../src/ptk/ptk-file-task.c:1434 #, c-format msgid "Stopped" msgstr "" #: ../src/ptk/ptk-file-task.c:1220 msgid "Errors" msgstr "" #: ../src/ptk/ptk-file-task.c:1222 ../src/ptk/ptk-file-task.c:1446 #: ../src/ptk/ptk-file-task.c:1456 #, c-format msgid "Done" msgstr "" #: ../src/ptk/ptk-file-task.c:1377 #, c-format msgid "%s (%s) %s remaining" msgstr "" #: ../src/ptk/ptk-file-task.c:1424 #, c-format msgid "Error ( Stop If First )" msgstr "" #: ../src/ptk/ptk-file-task.c:1426 #, c-format msgid "Error ( Stop On Any )" msgstr "" #: ../src/ptk/ptk-file-task.c:1428 #, c-format msgid "Stopped with %d error" msgid_plural "Stopped with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1441 #, c-format msgid "Finished with %d error" msgid_plural "Finished with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1451 #, c-format msgid "Finished with error ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1454 #, c-format msgid "Finished with error" msgstr "" #: ../src/ptk/ptk-file-task.c:1467 #, c-format msgid "Paused ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1470 #, c-format msgid "Paused ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1483 #, c-format msgid "Queued ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1486 #, c-format msgid "Queued ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1497 #, c-format msgid "Running with %d error" msgid_plural "Running with %d errors" msgstr[0] "" #: ../src/ptk/ptk-file-task.c:1507 #, c-format msgid "Running... ( pid %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1510 #, c-format msgid "Running... ( exit status %d )" msgstr "" #: ../src/ptk/ptk-file-task.c:1675 ../src/ptk/ptk-file-task.c:2472 #, c-format msgid "stalled" msgstr "" #: ../src/ptk/ptk-file-task.c:1780 msgid "[ SNIP - additional errors above have been trimmed from this log ]\n" msgstr "" #: ../src/ptk/ptk-file-task.c:2131 msgid "Moving from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2133 msgid "Linking from folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2135 msgid "Copying from folder:" msgstr "" #. Ask the user whether to overwrite dir content or not #: ../src/ptk/ptk-file-task.c:2151 msgid "Folder Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2152 msgid "Folder already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2169 ../src/ptk/ptk-file-task.c:2173 msgid "\t( link )" msgstr "" #: ../src/ptk/ptk-file-task.c:2177 msgid "\t! overwrite file with link !" msgstr "" #: ../src/ptk/ptk-file-task.c:2182 msgid "( same size )" msgstr "" #: ../src/ptk/ptk-file-task.c:2188 ../src/ptk/ptk-file-task.c:2211 #, c-format msgid "%s\t( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-task.c:2190 msgid "larger" msgstr "" #: ../src/ptk/ptk-file-task.c:2192 msgid "smaller" msgstr "" #: ../src/ptk/ptk-file-task.c:2196 msgid "( same time )\t" msgstr "" #: ../src/ptk/ptk-file-task.c:2206 msgid "newer" msgstr "" #: ../src/ptk/ptk-file-task.c:2208 msgid "older" msgstr "" #: ../src/ptk/ptk-file-task.c:2229 msgid "Filename Exists" msgstr "" #: ../src/ptk/ptk-file-task.c:2230 ../src/ptk/ptk-file-task.c:2245 msgid "Filename already exists. Please rename or select an action." msgstr "" #: ../src/ptk/ptk-file-task.c:2242 msgid "Rename Required" msgstr "" #: ../src/ptk/ptk-file-task.c:2244 msgid "In folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2324 msgid "_Overwrite" msgstr "" #: ../src/ptk/ptk-file-task.c:2325 msgid "Overwrite _All" msgstr "" #: ../src/ptk/ptk-file-task.c:2330 msgid "_Pause" msgstr "" #: ../src/ptk/ptk-file-task.c:2332 msgid "_Skip" msgstr "" #: ../src/ptk/ptk-file-task.c:2333 msgid "S_kip All" msgstr "" #: ../src/ptk/ptk-file-task.c:2386 msgid "To folder:" msgstr "" #: ../src/ptk/ptk-file-task.c:2413 msgid "Folder Name:" msgstr "" #. extra buttons #: ../src/ptk/ptk-file-task.c:2441 msgid " _Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2445 msgid " A_uto Rename " msgstr "" #: ../src/ptk/ptk-file-task.c:2449 msgid " Auto Re_name All " msgstr "" #: ../src/ptk/ptk-file-archiver.c:208 ../src/ptk/ptk-file-archiver.c:533 #: ../src/ptk/ptk-file-misc.c:3526 ../src/ptk/ptk-handler.c:1304 msgid "Error Loading Handler" msgstr "" #: ../src/ptk/ptk-file-archiver.c:341 ../src/ptk/ptk-file-archiver.c:659 #: ../src/ptk/ptk-file-archiver.c:688 msgid "Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:350 ../src/ptk/ptk-file-archiver.c:1058 msgid "Conf_igure" msgstr "" #: ../src/ptk/ptk-file-archiver.c:386 msgid "Co_mpress Commands:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:415 msgid "Archive Handlers - Create Archive" msgstr "" #: ../src/ptk/ptk-file-archiver.c:416 msgid "" "No archive handlers configured. You must add a handler before creating an " "archive." msgstr "" #: ../src/ptk/ptk-file-archiver.c:500 msgid "_Archive Format:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:660 msgid "The archive creation command is empty. Please enter a command." msgstr "" #: ../src/ptk/ptk-file-archiver.c:689 #, c-format msgid "" "The following variables should be in the archive creation command:\n" "\n" "One of the following:\n" "\n" "%%%%n: First selected file/directory to archive\n" "%%%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source file/directory (see %%%%n/%%%%N)\n" msgstr "" #: ../src/ptk/ptk-file-archiver.c:764 ../src/ptk/ptk-handler.c:1875 msgid "Error Saving Handler" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:967 #, c-format msgid "Archive" msgstr "" #. It hasn't - generating dialog to ask user. Only dealing with #. * user-writable contents if the user isn't root #: ../src/ptk/ptk-file-archiver.c:1049 msgid "Extract To" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1089 msgid "Cre_ate subfolder(s)" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1091 msgid "Make contents user-_writable" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1237 msgid "No archive handler/command found for file:" msgstr "" #: ../src/ptk/ptk-file-archiver.c:1377 ../src/ptk/ptk-file-archiver.c:1432 #: ../src/ptk/ptk-file-menu.c:2303 ../src/vfs/vfs-file-task.c:137 msgid "copy" msgstr "" #. Creating task #: ../src/ptk/ptk-file-archiver.c:1493 #, c-format msgid "Extract %s" msgstr "" #: ../src/ptk/ptk-console-output.c:74 msgid "" "\n" "Complete!" msgstr "" "\n" "完成!" #: ../src/ptk/ptk-console-output.c:178 msgid "Command:" msgstr "指令:" #: ../src/ptk/ptk-dir-tree.c:174 msgid "File System" msgstr "檔案系統" #: ../src/ptk/ptk-dir-tree.c:405 msgid "( no subfolder )" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "Remove Text Type Association" msgstr "" #: ../src/ptk/ptk-file-menu.c:1858 msgid "" "NOTE: When compiling the list of applications to appear in the Open submenu " "for a text file, SpaceFM will include applications associated with the MIME " "type (eg text/html) AND applications associated with text/plain. If you " "select Remove on an application, it will be removed as an associated " "application for the MIME type (eg text/html), but will NOT be removed as an " "associated application for text/plain (unless the MIME type is text/plain). " "Thus using Remove may not remove the application from the Open submenu for " "this type, unless you also remove it from text/plain." msgstr "" #: ../src/ptk/ptk-file-menu.c:1874 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust the behavior and " "appearance of this application for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1877 msgid "Copy Desktop File" msgstr "" #: ../src/ptk/ptk-file-menu.c:1975 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this copy now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1977 #, c-format msgid "" "The file '%s' does not exist.\n" "\n" "By creating new file '%s' and editing it, you can define how MIME type '%s' " "files are recognized for the current user.\n" "\n" "Create this file now?" msgstr "" #: ../src/ptk/ptk-file-menu.c:1980 msgid "Create New XML" msgstr "" #. Set Default #: ../src/ptk/ptk-file-menu.c:2272 msgid "_Set As Default" msgstr "" #. Add #: ../src/ptk/ptk-file-menu.c:2282 msgid "_Add..." msgstr "" #: ../src/ptk/ptk-file-menu.c:2345 ../src/ptk/ptk-file-misc.c:1794 msgid "new" msgstr "" #: ../src/ptk/ptk-file-misc.c:160 #, c-format msgid "Delete %d selected item ?" msgid_plural "Delete %d selected items ?" msgstr[0] "" #. MOD #: ../src/ptk/ptk-file-misc.c:169 msgid "Confirm Delete" msgstr "" #: ../src/ptk/ptk-file-misc.c:623 msgid "P_ath: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:625 msgid "_Name: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:627 msgid "_Filename: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:629 msgid "_Parent: original" msgstr "" #: ../src/ptk/ptk-file-misc.c:635 msgid "P_ath: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:637 msgid "_Name: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:639 msgid "_Filename: exists as folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:640 ../src/ptk/ptk-file-misc.c:653 #: ../src/ptk/ptk-file-misc.c:664 ../src/ptk/ptk-file-misc.c:701 #: ../src/ptk/ptk-file-misc.c:2451 msgid "_Parent:" msgstr "" #: ../src/ptk/ptk-file-misc.c:648 msgid "P_ath: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:650 msgid "_Name: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:652 msgid "_Filename: exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:659 msgid "P_ath: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:661 msgid "_Name: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:663 msgid "_Filename: * overwrite existing file" msgstr "" #: ../src/ptk/ptk-file-misc.c:671 msgid "P_ath: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:673 ../src/ptk/ptk-file-misc.c:685 #: ../src/ptk/ptk-file-misc.c:697 ../src/ptk/ptk-file-misc.c:2380 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:675 ../src/ptk/ptk-file-misc.c:687 #: ../src/ptk/ptk-file-misc.c:699 ../src/ptk/ptk-file-misc.c:2427 msgid "_Filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:677 msgid "_Parent: parent exists as file" msgstr "" #: ../src/ptk/ptk-file-misc.c:683 msgid "P_ath: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:689 msgid "_Parent: * create parent" msgstr "" #: ../src/ptk/ptk-file-misc.c:695 ../src/ptk/ptk-file-misc.c:2475 msgid "P_ath:" msgstr "" #: ../src/ptk/ptk-file-misc.c:710 ../src/ptk/ptk-file-misc.c:1246 msgid "_Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:861 msgid "Select Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:877 msgid "Select Template File" msgstr "" #: ../src/ptk/ptk-file-misc.c:896 msgid "Select Template Folder" msgstr "" #. action create folder does not work properly so not used: #. it creates a folder by default with no way to stop it #. it gives 'folder already exists' error popup #: ../src/ptk/ptk-file-misc.c:1038 msgid "Browse" msgstr "" #: ../src/ptk/ptk-file-misc.c:1071 msgid "Fil_ename" msgstr "" #: ../src/ptk/ptk-file-misc.c:1073 msgid "Pa_rent" msgstr "" #: ../src/ptk/ptk-file-misc.c:1078 msgid "Insert as" msgstr "" #: ../src/ptk/ptk-file-misc.c:1223 msgid "C_reate" msgstr "" #: ../src/ptk/ptk-file-misc.c:1224 msgctxt "Title|" msgid "Create New" msgstr "" #: ../src/ptk/ptk-file-misc.c:1226 msgctxt "Title|CreateNew|" msgid "File" msgstr "" #: ../src/ptk/ptk-file-misc.c:1228 msgctxt "Title|CreateNew|" msgid "Folder" msgstr "資料夾" #: ../src/ptk/ptk-file-misc.c:1230 msgctxt "Title|CreateNew|" msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:1247 ../src/ptk/ptk-file-misc.c:2115 msgid "Move" msgstr "" #: ../src/ptk/ptk-file-misc.c:1251 ../src/ptk/ptk-file-misc.c:1261 msgid "C_opy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1252 ../src/ptk/ptk-file-misc.c:1262 msgid "Copy" msgstr "" #: ../src/ptk/ptk-file-misc.c:1257 ../src/ptk/ptk-file-misc.c:1268 msgid "Create Link To" msgstr "" #: ../src/ptk/ptk-file-misc.c:1263 msgid "Link Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1269 msgid "Target" msgstr "" #: ../src/ptk/ptk-file-misc.c:1274 ../src/ptk/ptk-file-misc.c:2806 msgid " As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2084 msgid "Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2088 msgid "File" msgstr "" #. Buttons #: ../src/ptk/ptk-file-misc.c:2123 msgid "Opt_ions" msgstr "" #: ../src/ptk/ptk-file-misc.c:2139 msgid "Re_vert" msgstr "" #: ../src/ptk/ptk-file-misc.c:2159 msgid "& _Open" msgstr "" #: ../src/ptk/ptk-file-misc.c:2193 #, c-format msgid "Link-> %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2196 #, c-format msgid "!Link-> %s (missing)" msgstr "" #: ../src/ptk/ptk-file-misc.c:2245 msgid "_Target:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2291 msgid "_Template:" msgstr "" #: ../src/ptk/ptk-file-misc.c:2307 ../src/ptk/ptk-file-misc.c:2910 msgid "Empty File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2337 ../src/ptk/ptk-file-misc.c:2988 msgid "Empty Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2405 msgid "E_xtension:" msgstr "" #. Options #: ../src/ptk/ptk-file-misc.c:2500 msgid "Mov_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2502 msgid "Cop_y" msgstr "" #: ../src/ptk/ptk-file-misc.c:2504 msgid "Lin_k" msgstr "" #: ../src/ptk/ptk-file-misc.c:2508 msgid "Link Tar_get" msgstr "" #: ../src/ptk/ptk-file-misc.c:2509 msgid "A_s Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:2511 msgctxt "New|Radio" msgid "Fil_e" msgstr "" #: ../src/ptk/ptk-file-misc.c:2513 msgctxt "New|Radio" msgid "Fol_der" msgstr "" #: ../src/ptk/ptk-file-misc.c:2515 msgctxt "New|Radio" msgid "_Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:2618 msgid "New" msgstr "" #: ../src/ptk/ptk-file-misc.c:2761 msgid "Path contains linefeeds" msgstr "" #: ../src/ptk/ptk-file-misc.c:2816 msgid "Create Parent Folder" msgstr "" #: ../src/ptk/ptk-file-misc.c:2818 msgid "The parent folder does not exist. Create it?" msgstr "" #: ../src/ptk/ptk-file-misc.c:2831 #, c-format msgid "" "Error creating parent folder\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2834 msgid "Mkdir Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:2847 msgid "Overwrite Existing File" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "OVERWRITE WARNING" msgstr "" #: ../src/ptk/ptk-file-misc.c:2849 msgid "The file path exists. Overwrite existing file?" msgstr "" #. new link task #. link task #: ../src/ptk/ptk-file-misc.c:2858 ../src/ptk/ptk-file-misc.c:3100 #, c-format msgid "Create Link%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:2920 ../src/ptk/ptk-file-misc.c:2998 msgid "Template Missing" msgstr "" #: ../src/ptk/ptk-file-misc.c:2921 ../src/ptk/ptk-file-misc.c:2999 msgid "The specified template does not exist" msgstr "" #: ../src/ptk/ptk-file-misc.c:2946 #, c-format msgid "Create New File%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3019 #, c-format msgid "Create New Folder%s" msgstr "" #. copy task #: ../src/ptk/ptk-file-misc.c:3050 #, c-format msgid "Copy%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3063 msgid "Copy Target Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3064 ../src/ptk/ptk-file-misc.c:3112 msgid "Error determining link's target" msgstr "" #: ../src/ptk/ptk-file-misc.c:3111 msgid "Link Target Error" msgstr "" #. move task - this is jumped to from the below rename block on #. EXDEV error #: ../src/ptk/ptk-file-misc.c:3146 #, c-format msgid "Move%s" msgstr "" #. Unknown error has occurred - alert user as usual #: ../src/ptk/ptk-file-misc.c:3185 #, c-format msgid "" "Error renaming file\n" "\n" "%s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3188 ../src/desktop/desktop-window.c:2049 msgid "Rename Error" msgstr "" #: ../src/ptk/ptk-file-misc.c:3359 ../src/ptk/ptk-file-misc.c:3361 msgid "New Folder" msgstr "新資料夾" #: ../src/ptk/ptk-file-misc.c:3360 msgid "New folder name:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3366 ../src/ptk/ptk-file-misc.c:3368 msgid "New File" msgstr "新文字檔" #: ../src/ptk/ptk-file-misc.c:3367 msgid "New filename:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3390 msgid "" "Name already exists.\n" "\n" "Please input a new one:" msgstr "" #: ../src/ptk/ptk-file-misc.c:3423 msgid "The new file cannot be created" msgstr "" #: ../src/ptk/ptk-file-misc.c:3874 #, c-format msgid "" "This symlink's target is missing or you do not have permission to access " "it:\n" "%s\n" "\n" "Target: %s" msgstr "" #: ../src/ptk/ptk-file-misc.c:3880 msgid "Broken Link" msgstr "" #: ../src/ptk/ptk-file-misc.c:4051 #, c-format msgid "Delete %d selected item as root ?" msgid_plural "Delete %d selected items as root ?" msgstr[0] "" #: ../src/ptk/ptk-file-misc.c:4055 msgid "Confirm Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4056 msgid "DELETE AS ROOT" msgstr "" #: ../src/ptk/ptk-file-misc.c:4064 msgid "Delete As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4083 msgid "Move As Root" msgstr "" #: ../src/ptk/ptk-file-misc.c:4089 msgid "Copy As Root" msgstr "" #: ../src/ptk/ptk-file-properties.c:168 ../src/ptk/ptk-file-properties.c:172 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:179 #, c-format msgid "%d folder" msgid_plural "%d folders" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:183 #, c-format msgid "%d file, %s" msgid_plural "%d files, %s" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:190 #, c-format msgid "%d files" msgid_plural "%d files" msgstr[0] "" #: ../src/ptk/ptk-file-properties.c:341 msgid "( multiple files )" msgstr "" #: ../src/ptk/ptk-file-properties.c:456 msgid "( multiple types )" msgstr "" #: ../src/ptk/ptk-file-properties.c:524 msgid "Choose..." msgstr "" #: ../src/ptk/ptk-file-properties.c:573 msgid "Folder _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:586 ../src/ptk/ptk-file-properties.c:593 #, c-format msgid "%s ( %lu bytes )" msgstr "" #: ../src/ptk/ptk-file-properties.c:597 msgid "1 file" msgstr "" #: ../src/ptk/ptk-file-properties.c:634 msgid "Link _Name:" msgstr "" #: ../src/ptk/ptk-file-properties.c:649 msgid "( broken link )" msgstr "" #: ../src/ptk/ptk-file-properties.c:653 msgid "( read link error )" msgstr "" #. The total file size displayed in "File Properties" is not #. completely calculated yet. So "Calculating..." is displayed. #: ../src/ptk/ptk-file-properties.c:664 msgid "Calculating..." msgstr "計算中..." #: ../src/ptk/ptk-file-properties.c:854 msgid "Change File Date" msgstr "" #: ../src/ptk/ptk-file-properties.c:895 msgid "Invalid User" msgstr "無效的使用者" #: ../src/ptk/ptk-file-properties.c:906 msgid "Invalid Group" msgstr "無效的群組" #: ../src/ptk/ptk-path-entry.c:632 #, c-format msgid "" "In addition to a folder or file path, commands can be entered in the Path " "Bar. Prefixes:\n" "\t$\trun as task\n" "\t&\trun and forget\n" "\t+\trun in terminal\n" "\t!\trun as root\n" "Use:\n" "\t%%F\tselected files or %%f first selected file\n" "\t%%N\tselected filenames or %%n first selected filename\n" "\t%%d\tcurrent directory\n" "\t%%v\tselected device (eg /dev/sda1)\n" "\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n" "\t%%b\tselected bookmark\n" "\t%%t\tselected task directory; %%p task pid\n" "\t%%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc\n" "\n" "Example: $ echo \"Current Directory: %%d\"\n" "Example: +! umount %%v" msgstr "" #: ../src/ptk/ptk-handler.c:64 msgid "Archive Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:65 msgid "Device Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:66 msgid "Protocol Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:67 #, fuzzy msgid "File Handlers" msgstr "所有檔案和資料夾" #: ../src/ptk/ptk-handler.c:72 msgid "Archive Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:73 msgid "Device Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:74 msgid "Protocol Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:75 msgid "File Hand_lers" msgstr "" #: ../src/ptk/ptk-handler.c:633 ../src/ptk/ptk-handler.c:645 msgid "Error: unable to load command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:659 ../src/ptk/ptk-handler.c:752 msgid "Error: unable to save command (can't get script path?)" msgstr "" #: ../src/ptk/ptk-handler.c:732 msgid "Error reading file" msgstr "" #: ../src/ptk/ptk-handler.c:745 msgid "Error: unable to save command (internal error)" msgstr "" #: ../src/ptk/ptk-handler.c:816 msgid "Error writing to file" msgstr "" #: ../src/ptk/ptk-handler.c:1385 ../src/ptk/ptk-handler.c:1595 #: ../src/ptk/ptk-handler.c:1661 msgid "(optional)" msgstr "" #: ../src/ptk/ptk-handler.c:1386 ../src/ptk/ptk-handler.c:1596 #: ../src/ptk/ptk-handler.c:1662 msgid "(disabled)" msgstr "" #: ../src/ptk/ptk-handler.c:1738 msgid "Permanently remove the selected handler?" msgstr "" #: ../src/ptk/ptk-handler.c:1974 ../src/ptk/ptk-handler.c:2018 msgid "Apply Changes ?" msgstr "" #: ../src/ptk/ptk-handler.c:1976 ../src/ptk/ptk-handler.c:2020 msgid "Apply changes to the current handler?" msgstr "" #: ../src/ptk/ptk-handler.c:2079 msgid "Restore Default Handlers" msgstr "" #: ../src/ptk/ptk-handler.c:2080 msgid "" "Missing default handlers will be restored.\n" "\n" "Also OVERWRITE ALL EXISTING default handlers?" msgstr "" #: ../src/ptk/ptk-handler.c:2196 msgid "Please enter a valid handler name." msgstr "" #: ../src/ptk/ptk-handler.c:2208 msgid "Please enter a valid MIME Type or Pathname pattern." msgstr "" #: ../src/ptk/ptk-handler.c:2252 #, c-format msgid "" "The following substitution variables should probably be in the compression " "command:\n" "\n" "One of the following:\n" "\n" "%%n: First selected file/directory to archive\n" "%%N: All selected files/directories to archive\n" "\n" "and one of the following:\n" "\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source file/directory" msgstr "" #: ../src/ptk/ptk-handler.c:2280 #, c-format msgid "" "The following variables should probably be in the extraction command:\n" "\n" "%%x: Archive to extract" msgstr "" #: ../src/ptk/ptk-handler.c:2299 #, c-format msgid "" "The following variables should probably be in the list command:\n" "\n" "%%x: Archive to list" msgstr "" #: ../src/ptk/ptk-handler.c:2552 msgid "All De_faults" msgstr "" #: ../src/ptk/ptk-handler.c:2559 msgid "Defa_ults" msgstr "" #: ../src/ptk/ptk-handler.c:2651 msgid "A_dd" msgstr "" #: ../src/ptk/ptk-handler.c:2659 msgid "Appl_y" msgstr "" #: ../src/ptk/ptk-handler.c:2668 msgid "U_p" msgstr "" #: ../src/ptk/ptk-handler.c:2677 msgid "Do_wn" msgstr "" #: ../src/ptk/ptk-handler.c:2689 msgid "Ena_ble as a default opener" msgstr "" #: ../src/ptk/ptk-handler.c:2690 msgid "Ena_ble Handler" msgstr "" #: ../src/ptk/ptk-handler.c:2697 msgid "_Name:" msgstr "" #: ../src/ptk/ptk-handler.c:2703 msgid "MIM_E Type:" msgstr "" #: ../src/ptk/ptk-handler.c:2704 msgid "Whit_elist:" msgstr "" #: ../src/ptk/ptk-handler.c:2710 msgid "P_athname:" msgstr "" #: ../src/ptk/ptk-handler.c:2711 msgid "Bl_acklist:" msgstr "" #: ../src/ptk/ptk-handler.c:2718 msgid "_Icon:" msgstr "" #: ../src/ptk/ptk-handler.c:2726 msgid "Co_mpress:" msgstr "" #: ../src/ptk/ptk-handler.c:2728 msgid "Open Co_mmand:" msgstr "" #: ../src/ptk/ptk-handler.c:2730 msgid "_Mount:" msgstr "" #: ../src/ptk/ptk-handler.c:2736 msgid "Ex_tract:" msgstr "" #: ../src/ptk/ptk-handler.c:2737 msgid "Unmoun_t:" msgstr "" #: ../src/ptk/ptk-handler.c:2742 msgid "Li_st:" msgstr "" #: ../src/ptk/ptk-handler.c:2743 msgid "Propertie_s:" msgstr "" #: ../src/ptk/ptk-handler.c:2877 ../src/ptk/ptk-handler.c:2881 #: ../src/ptk/ptk-handler.c:2883 ../src/item-prop.c:2155 msgid "Run In Terminal" msgstr "" #: ../src/ptk/ptk-handler.c:2880 ../src/item-prop.c:2135 msgid "Run As Task" msgstr "" #: ../src/ptk/ptk-handler.c:2899 ../src/ptk/ptk-handler.c:2905 #: ../src/ptk/ptk-handler.c:2911 msgid "Edit" msgstr "" #: ../src/ptk/ptk-app-chooser.c:242 msgid "Please choose an application:" msgstr "" #: ../src/ptk/ptk-app-chooser.c:499 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' file handler, " "rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|File Handlers for this " "type to be opened with your associated application by default." msgstr "" #: ../src/ptk/ptk-app-chooser.c:502 ../src/ptk/ptk-app-chooser.c:518 msgid "MIME Type Has Handler" msgstr "" #: ../src/ptk/ptk-app-chooser.c:515 #, c-format msgid "" "Note: MIME type '%s' is currently set to open with the '%s' archive " "handler, rather than with your associated MIME application.\n" "\n" "You may also need to disable this handler in Open|Archive Defaults|Archive " "Handlers, OR select global option Open|Archive Defaults|Open With App, for " "this type to be opened with your associated application by default." msgstr "" #: ../src/vfs/vfs-app-desktop.c:594 msgid "Command not found" msgstr "找不到指令" #: ../src/vfs/vfs-file-info.c:465 ../src/vfs/vfs-file-info.c:470 #: ../src/vfs/vfs-file-info.c:564 ../src/vfs/vfs-file-info.c:569 msgid "T" msgstr "" #: ../src/vfs/vfs-file-info.c:483 ../src/vfs/vfs-file-info.c:488 #: ../src/vfs/vfs-file-info.c:582 ../src/vfs/vfs-file-info.c:587 msgid "G" msgstr "" #: ../src/vfs/vfs-file-info.c:502 ../src/vfs/vfs-file-info.c:507 #: ../src/vfs/vfs-file-info.c:601 ../src/vfs/vfs-file-info.c:606 msgid "M" msgstr "" #: ../src/vfs/vfs-file-info.c:520 ../src/vfs/vfs-file-info.c:525 #: ../src/vfs/vfs-file-info.c:619 ../src/vfs/vfs-file-info.c:624 msgid "K" msgstr "" #. unit = size > 1 ? "Bytes" : "Byte"; #: ../src/vfs/vfs-file-info.c:530 ../src/vfs/vfs-file-info.c:630 msgid "B" msgstr "" #: ../src/vfs/vfs-file-task.c:294 #, c-format msgid "Destination directory \"%1$s\" is contained in source \"%2$s\"" msgstr "目標目錄 \"%1$s\" 包含在來源 \"%2$s\" 內" #: ../src/vfs/vfs-file-task.c:381 ../src/vfs/vfs-file-task.c:526 #: ../src/vfs/vfs-file-task.c:634 ../src/vfs/vfs-file-task.c:687 #: ../src/vfs/vfs-file-task.c:835 ../src/vfs/vfs-file-task.c:866 #: ../src/vfs/vfs-file-task.c:951 ../src/vfs/vfs-file-task.c:1093 #: ../src/vfs/vfs-file-task.c:2098 msgid "Accessing" msgstr "" #: ../src/vfs/vfs-file-task.c:456 ../src/vfs/vfs-file-task.c:492 #: ../src/vfs/vfs-file-task.c:510 ../src/vfs/vfs-file-task.c:555 #: ../src/vfs/vfs-file-task.c:595 ../src/vfs/vfs-file-task.c:619 #: ../src/vfs/vfs-file-task.c:899 ../src/vfs/vfs-file-task.c:908 #: ../src/vfs/vfs-file-task.c:976 msgid "Removing" msgstr "" #: ../src/vfs/vfs-file-task.c:465 msgid "Creating Dir" msgstr "" #: ../src/vfs/vfs-file-task.c:520 ../src/vfs/vfs-file-task.c:984 msgid "Creating Link" msgstr "" #: ../src/vfs/vfs-file-task.c:584 msgid "Writing" msgstr "" #: ../src/vfs/vfs-file-task.c:627 msgid "Creating" msgstr "" #: ../src/vfs/vfs-file-task.c:751 msgid "Renaming" msgstr "" #: ../src/vfs/vfs-file-task.c:1386 msgid "" "Please install /usr/bin/sha256sum so I can improve your security while " "running root commands\n" msgstr "" #: ../src/vfs/vfs-file-task.c:1478 msgid "" "Please configure a valid Terminal SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1483 msgid "Terminal SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1489 msgid "" "Please configure a valid Graphical SU command in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1494 msgid "Graphical SU Not Available" msgstr "" #: ../src/vfs/vfs-file-task.c:1508 msgid "Cannot create temporary directory" msgstr "" #: ../src/vfs/vfs-file-task.c:1540 msgid "Please set a valid terminal program in View|Preferences|Advanced" msgstr "" #: ../src/vfs/vfs-file-task.c:1828 msgid "spacefm-auth not found in path - this reduces your security" msgstr "" #: ../src/vfs/vfs-file-task.c:1930 #, c-format msgid "" "Error executing '%s'\n" "See stdout (run spacefm in a terminal) for debug info" msgstr "" #: ../src/vfs/vfs-file-task.c:1998 msgid "Error writing temporary file" msgstr "" #: ../src/vfs/vfs-file-task.c:2182 msgid "Timed out calculating total size\n" msgstr "" #: ../src/vfs/vfs-file-task.c:2514 #, c-format msgid "" "\n" "%s %s\n" "Error: %s\n" msgstr "" #: ../src/vfs/vfs-volume-hal.c:467 ../src/vfs/vfs-volume-hal.c:690 #, c-format msgid "%s Volume" msgstr "%s 磁碟" #: ../src/vfs/vfs-volume-hal.c:482 msgid "CD-ROM" msgstr "CD-ROM" #: ../src/vfs/vfs-volume-hal.c:484 msgid "CD-R" msgstr "CD-R" #: ../src/vfs/vfs-volume-hal.c:486 msgid "CD-RW" msgstr "CD-RW" #: ../src/vfs/vfs-volume-hal.c:490 msgid "DVD-ROM" msgstr "DVD-ROM" #: ../src/vfs/vfs-volume-hal.c:492 msgid "DVD+R" msgstr "DVD+R" #: ../src/vfs/vfs-volume-hal.c:494 msgid "DVD+RW" msgstr "DVD+RW" #: ../src/vfs/vfs-volume-hal.c:496 msgid "DVD-R" msgstr "DVD-R" #: ../src/vfs/vfs-volume-hal.c:498 msgid "DVD-RW" msgstr "DVD-RW" #: ../src/vfs/vfs-volume-hal.c:500 msgid "DVD-RAM" msgstr "DVD-RAM" #: ../src/vfs/vfs-volume-hal.c:509 #, c-format msgid "%s/%s Drive" msgstr "%s/%s 磁碟機" #: ../src/vfs/vfs-volume-hal.c:511 #, c-format msgid "%s Drive" msgstr "%s 磁碟機" #: ../src/vfs/vfs-volume-hal.c:516 msgid "Floppy Drive" msgstr "軟碟機" #: ../src/vfs/vfs-volume-hal.c:519 msgid "Compact Flash Drive" msgstr "CF 磁碟機" #: ../src/vfs/vfs-volume-hal.c:521 msgid "Memory Stick Drive" msgstr "MS 記憶卡" #: ../src/vfs/vfs-volume-hal.c:523 msgid "Smart Media Drive" msgstr "Smart Media 磁碟機" #: ../src/vfs/vfs-volume-hal.c:525 msgid "SD/MMC Drive" msgstr "SD/MMC 磁碟機" #: ../src/vfs/vfs-volume-hal.c:527 msgid "Zip Drive" msgstr "Zip 磁碟機" #: ../src/vfs/vfs-volume-hal.c:530 msgid "Jaz Drive" msgstr "Jaz 磁碟機" #: ../src/vfs/vfs-volume-hal.c:533 msgid "Pen Drive" msgstr "隨身碟" #: ../src/vfs/vfs-volume-hal.c:539 #, c-format msgid "%s %s Music Player" msgstr "%s %s 音樂播放器" #: ../src/vfs/vfs-volume-hal.c:547 #, c-format msgid "%s %s Digital Camera" msgstr "%s %s 數位相機" #: ../src/vfs/vfs-volume-hal.c:578 msgid "Drive" msgstr "磁碟機" #: ../src/vfs/vfs-volume-hal.c:583 #, c-format msgid "External %s" msgstr "外部 %s" #: ../src/vfs/vfs-volume-hal.c:617 msgid "CD-ROM Disc" msgstr "CD-ROM 碟片" #: ../src/vfs/vfs-volume-hal.c:622 msgid "Blank CD-R Disc" msgstr "空白 CD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:624 msgid "CD-R Disc" msgstr "CD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:629 msgid "Blank CD-RW Disc" msgstr "空白 CD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:631 msgid "CD-RW Disc" msgstr "CD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:635 msgid "DVD-ROM Disc" msgstr "DVD-ROM 碟片" #: ../src/vfs/vfs-volume-hal.c:640 msgid "Blank DVD-RAM Disc" msgstr "空白 DVD-RAM 碟片" #: ../src/vfs/vfs-volume-hal.c:642 msgid "DVD-RAM Disc" msgstr "DVD-RAM 碟片" #: ../src/vfs/vfs-volume-hal.c:647 msgid "Blank DVD-R Disc" msgstr "空白 DVD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:649 msgid "DVD-R Disc" msgstr "DVD-R 碟片" #: ../src/vfs/vfs-volume-hal.c:654 msgid "Blank DVD-RW Disc" msgstr "空白 DVD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:656 msgid "DVD-RW Disc" msgstr "DVD-RW 碟片" #: ../src/vfs/vfs-volume-hal.c:662 msgid "Blank DVD+R Disc" msgstr "空白 DVD+R 碟片" #: ../src/vfs/vfs-volume-hal.c:664 msgid "DVD+R Disc" msgstr "DVD+R 碟片" #: ../src/vfs/vfs-volume-hal.c:669 msgid "Blank DVD+RW Disc" msgstr "空白 DVD+RW 碟片" #: ../src/vfs/vfs-volume-hal.c:671 msgid "DVD+RW Disc" msgstr "DVD+RW 碟片" #: ../src/vfs/vfs-volume-hal.c:678 msgid "Audio Disc" msgstr "音樂光碟" #: ../src/vfs/vfs-volume-hal.c:688 #, c-format msgid "%s Removable Volume" msgstr "%s 可卸除式磁碟" #: ../src/vfs/vfs-volume-hal.c:696 msgid "Volume" msgstr "磁碟" #: ../src/vfs/vfs-volume-hal.c:1092 #, c-format msgid "Failed to connect to the HAL daemon: %s" msgstr "無法連線到 HAL 服務: %s" #. definitely not a device that we're able to mount, eject or unmount #: ../src/vfs/vfs-volume-hal.c:1933 ../src/vfs/vfs-volume-hal.c:1989 #, c-format msgid "Given device \"%s\" is not a volume or drive" msgstr "裝置 \"%s\" 不是磁碟" #. tell the caller that no matching device was found #: ../src/vfs/vfs-volume-hal.c:2065 #, c-format msgid "Device \"%s\" not found in file system device table" msgstr "在系統上找不到 \"%s\" 裝置" #: ../src/vfs/vfs-volume-hal.c:2248 #, c-format msgid "You are not privileged to mount the volume \"%s\"" msgstr "你沒有足夠的權限掛載磁碟 \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2249 #, c-format msgid "You are not privileged to unmount the volume \"%s\"" msgstr "你沒有足夠的權限卸載磁碟 \"%s\"" #: ../src/vfs/vfs-volume-hal.c:2250 #, c-format msgid "You are not privileged to eject the volume \"%s\"" msgstr "你沒有足夠的權限退出磁碟 \"%s\"" #. TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options #: ../src/vfs/vfs-volume-hal.c:2262 #, c-format msgid "Invalid mount option when attempting to mount the volume \"%s\"" msgstr "掛載磁碟 \"%s\" 時使用了無效的掛載選項" #: ../src/vfs/vfs-volume-hal.c:2264 #, c-format msgid "" "The volume \"%s\" uses the %s file system which is not supported by " "your system" msgstr "你的系統無法支援磁碟 \"%s\" 所使用的 %s 檔案系統" #: ../src/vfs/vfs-volume-hal.c:2266 #, c-format msgid "An application is preventing the volume \"%s\" from being unmounted" msgstr "有其他應用程式正在使用磁碟 \"%s\",無法卸載" #: ../src/vfs/vfs-volume-hal.c:2268 #, c-format msgid "The volume \"%s\" is not mounted" msgstr "磁碟 \"%s\" 尚未掛載" #: ../src/vfs/vfs-volume-hal.c:2270 #, c-format msgid "Error %s" msgstr "錯誤 %s" #. TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. #: ../src/vfs/vfs-volume-hal.c:2273 #, c-format msgid "The volume \"%s\" was probably mounted manually on the command line" msgstr "磁碟 \"%s\" 可能是經由命令列手動掛載的" #: ../src/vfs/vfs-volume-hal.c:2281 #, c-format msgid "" "Blank discs cannot be mounted, use a CD recording application to record " "audio or data on the disc" msgstr "無法掛載空白碟片,要在碟片上儲存資料或音樂,請使用光碟燒錄軟體" #: ../src/vfs/vfs-volume-hal.c:2292 #, c-format msgid "Audio CDs cannot be mounted, use music players to play the audio tracks" msgstr "無法掛載音樂光碟,請用音樂播放程式來播放音軌" #: ../src/vfs/vfs-volume-nohal.c:2369 #, c-format msgid ":floppy" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2390 #, c-format msgid ":optical" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2435 #, c-format msgid "[blank]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2439 #, c-format msgid "[audio]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:2453 #, c-format msgid "[no media]" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3407 msgid "Selected Device Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3408 msgid "Selected Protocol Handler" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3679 #, c-format msgid "( no udev device )" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:3983 #, c-format msgid "" "\n" "Autoexec: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4023 #, c-format msgid "" "\n" "Auto Open Tab for %s in %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4069 #, c-format msgid "" "\n" "Auto-Unmount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4074 #, c-format msgid "" "\n" "Auto-Unmount: error: no unmount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4093 #, c-format msgid "" "\n" "Automount: %s\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4098 #, c-format msgid "" "\n" "Automount: error: no mount command available\n" msgstr "" #: ../src/vfs/vfs-volume-nohal.c:4277 #, c-format msgid "Unmount-If-Mounted: %s\n" msgstr "" #: ../src/desktop/desktop-window.c:2015 #, c-format msgid "" "You do not have permission to edit the contents of file %s\n" "\n" "Consider copying the file to the desktop, or link to a copy placed in ~/." "local/share/applications/" msgstr "" #: ../src/desktop/desktop-window.c:2016 msgid "Unable To Rename" msgstr "" #: ../src/desktop/desktop-window.c:2025 #, c-format msgid "" "Enter new desktop item name:\n" "\n" "Changing the name of this desktop item requires modifying the contents of " "desktop file %s" msgstr "" #: ../src/desktop/desktop-window.c:2027 msgid "Change Desktop Item Name" msgstr "" #: ../src/desktop/desktop-window.c:2049 msgid "An error occured renaming this desktop item." msgstr "" #: ../src/find-files.c:279 msgid "Open Containing _Folder" msgstr "開啟檔案所在的資料夾" #: ../src/find-files.c:776 msgid "Select a folder" msgstr "選擇一個資料夾" #: ../src/find-files.c:825 msgid "Browse..." msgstr "瀏覽..." #: ../src/find-files.c:849 msgid "Local Volumes" msgstr "" #: ../src/find-files.c:937 msgid "Last Modified" msgstr "最後修改" #: ../src/item-prop.c:22 msgid "" "Enter program or bash command line(s):\n" "\n" "Use:\n" "\t%F\tselected files or %f first selected file\n" "\t%N\tselected filenames or %n first selected filename\n" "\t%d\tcurrent directory\n" "\t%v\tselected device (eg /dev/sda1)\n" "\t%m\tdevice mount point (eg /media/dvd); %l device label\n" "\t%b\tselected bookmark\n" "\t%t\tselected task directory; %p task pid\n" "\t%a\tmenu item value\n" "\t$fm_panel, $fm_tab, $fm_command, etc" msgstr "" #: ../src/item-prop.c:106 msgid "MIME Type" msgstr "" #: ../src/item-prop.c:107 msgid "Filename" msgstr "" #: ../src/item-prop.c:108 msgid "Directory" msgstr "" #: ../src/item-prop.c:109 msgid "Dir Write Access" msgstr "" #: ../src/item-prop.c:110 msgid "File Is Text" msgstr "" #: ../src/item-prop.c:111 msgid "File Is Dir" msgstr "" #: ../src/item-prop.c:112 msgid "File Is Link" msgstr "" #: ../src/item-prop.c:113 msgid "User Is Root" msgstr "" #: ../src/item-prop.c:114 msgid "Multiple Selected" msgstr "" #: ../src/item-prop.c:115 msgid "Clipboard Has Files" msgstr "" #: ../src/item-prop.c:116 msgid "Clipboard Has Text" msgstr "" #: ../src/item-prop.c:117 msgid "Current Panel" msgstr "" #: ../src/item-prop.c:118 msgid "Panel Count" msgstr "" #: ../src/item-prop.c:119 msgid "Current Tab" msgstr "" #: ../src/item-prop.c:120 msgid "Tab Count" msgstr "" #: ../src/item-prop.c:121 ../src/item-prop.c:221 msgid "Bookmark" msgstr "" #: ../src/item-prop.c:122 msgid "Device" msgstr "" #: ../src/item-prop.c:123 msgid "Device Mount Point" msgstr "" #: ../src/item-prop.c:124 msgid "Device Label" msgstr "" #: ../src/item-prop.c:125 msgid "Device FSType" msgstr "" #: ../src/item-prop.c:126 msgid "Device UDI" msgstr "" #: ../src/item-prop.c:127 msgid "Device Properties" msgstr "" #: ../src/item-prop.c:128 msgid "Task Count" msgstr "" #: ../src/item-prop.c:129 msgid "Task Directory" msgstr "" #: ../src/item-prop.c:130 msgid "Task Type" msgstr "" #: ../src/item-prop.c:131 msgid "Task Name" msgstr "" #: ../src/item-prop.c:132 msgid "Panel 1 Directory" msgstr "" #: ../src/item-prop.c:133 msgid "Panel 2 Directory" msgstr "" #: ../src/item-prop.c:134 msgid "Panel 3 Directory" msgstr "" #: ../src/item-prop.c:135 msgid "Panel 4 Directory" msgstr "" #: ../src/item-prop.c:136 msgid "Panel 1 Has Sel" msgstr "" #: ../src/item-prop.c:137 msgid "Panel 2 Has Sel" msgstr "" #: ../src/item-prop.c:138 msgid "Panel 3 Has Sel" msgstr "" #: ../src/item-prop.c:139 msgid "Panel 4 Has Sel" msgstr "" #: ../src/item-prop.c:140 msgid "Panel 1 Device" msgstr "" #: ../src/item-prop.c:141 msgid "Panel 2 Device" msgstr "" #: ../src/item-prop.c:142 msgid "Panel 3 Device" msgstr "" #: ../src/item-prop.c:143 msgid "Panel 4 Device" msgstr "" #: ../src/item-prop.c:205 msgid "equals" msgstr "" #: ../src/item-prop.c:206 msgid "doesn't equal" msgstr "" #: ../src/item-prop.c:207 msgid "contains" msgstr "" #: ../src/item-prop.c:208 msgid "doesn't contain" msgstr "" #: ../src/item-prop.c:209 msgid "begins with" msgstr "" #: ../src/item-prop.c:210 msgid "doesn't begin with" msgstr "" #: ../src/item-prop.c:211 msgid "ends with" msgstr "" #: ../src/item-prop.c:212 msgid "doesn't end with" msgstr "" #: ../src/item-prop.c:213 msgid "is less than" msgstr "" #: ../src/item-prop.c:214 msgid "is greater than" msgstr "" #: ../src/item-prop.c:215 msgid "matches" msgstr "" #: ../src/item-prop.c:216 msgid "doesn't match" msgstr "" #: ../src/item-prop.c:222 msgid "Application" msgstr "" #: ../src/item-prop.c:223 msgid "Command" msgstr "" #: ../src/item-prop.c:493 msgid "Current: Show" msgstr "" #: ../src/item-prop.c:498 msgid "Current: Hide" msgstr "" #: ../src/item-prop.c:500 msgid "Current: Disable" msgstr "" #: ../src/item-prop.c:504 msgid "Current: Enable" msgstr "" #: ../src/item-prop.c:839 msgid "Save Modified Script?" msgstr "" #: ../src/item-prop.c:841 msgid "Save your changes to the command script?" msgstr "" #: ../src/item-prop.c:846 msgid "Overwrite Script?" msgstr "" #: ../src/item-prop.c:848 msgid "" "The command script on disk has changed.\n" "\n" "Do you want to overwrite it?" msgstr "" #: ../src/item-prop.c:902 ../src/item-prop.c:2248 msgid "Command Dir" msgstr "" #: ../src/item-prop.c:903 ../src/item-prop.c:2249 ../src/item-prop.c:2258 msgid "(no files)" msgstr "" #: ../src/item-prop.c:980 msgid "" "The command line does not begin with a text file (script) to be opened, or " "the script was not found in your $PATH." msgstr "" #: ../src/item-prop.c:1100 msgid "Targets: (a semicolon-separated list of paths or URLs)" msgstr "" #: ../src/item-prop.c:1110 msgid "Target: (a .desktop or executable file)" msgstr "" #: ../src/item-prop.c:1269 msgid "Choose Executable" msgstr "" #: ../src/item-prop.c:1360 #, fuzzy msgid "Command Line Too Long" msgstr "找不到指令" #: ../src/item-prop.c:1362 msgid "" "Your command line is greater than 2000 characters and may be truncated when " "saved. Consider using a command script instead by selecting Script on the " "Command tab." msgstr "" #: ../src/item-prop.c:1599 msgid "Toolbar Item Properties" msgstr "" #: ../src/item-prop.c:1600 msgid "Menu Item Properties" msgstr "" #: ../src/item-prop.c:1638 msgid "_Toolbar Item" msgstr "" #: ../src/item-prop.c:1639 msgid "_Menu Item" msgstr "" #: ../src/item-prop.c:1647 msgid "Type:" msgstr "" #: ../src/item-prop.c:1658 msgid "Name:" msgstr "" #: ../src/item-prop.c:1667 msgid "Key:" msgstr "" #: ../src/item-prop.c:1677 msgid "Icon:" msgstr "" #: ../src/item-prop.c:1769 msgid "Con_text" msgstr "" #: ../src/item-prop.c:1816 msgid "A_pply" msgstr "" #: ../src/item-prop.c:1848 msgid "matches any rule:" msgstr "" #: ../src/item-prop.c:1850 msgid "matches all rules:" msgstr "" #: ../src/item-prop.c:1852 msgid "doesn't match any rule:" msgstr "" #: ../src/item-prop.c:1854 msgid "doesn't match all rules:" msgstr "" #: ../src/item-prop.c:1861 msgid "Show" msgstr "" #: ../src/item-prop.c:1863 msgid "Enable" msgstr "" #: ../src/item-prop.c:1865 msgid "Hide" msgstr "" #: ../src/item-prop.c:1867 msgid "Disable" msgstr "" #: ../src/item-prop.c:1897 msgid "item if context" msgstr "" #: ../src/item-prop.c:1925 msgid "Edit Rule" msgstr "" #: ../src/item-prop.c:1942 msgid "Value:" msgstr "" #: ../src/item-prop.c:1955 msgid "If enabled, use as handler for:" msgstr "" #: ../src/item-prop.c:1960 msgid "none" msgstr "" #: ../src/item-prop.c:1962 msgid "files" msgstr "" #: ../src/item-prop.c:1964 msgid "devices" msgstr "" #: ../src/item-prop.c:1972 msgid "_Ignore Context / Show All (global setting)" msgstr "" #: ../src/item-prop.c:2067 msgid "Comm_and" msgstr "" #: ../src/item-prop.c:2071 msgid "Command _Line" msgstr "" #: ../src/item-prop.c:2073 msgid "_Script" msgstr "" #: ../src/item-prop.c:2078 msgid "Open In _Editor" msgstr "" #: ../src/item-prop.c:2084 msgid "_Root Editor" msgstr "" #: ../src/item-prop.c:2124 msgid "Optio_ns" msgstr "" #: ../src/item-prop.c:2126 msgid "Run Options" msgstr "" #: ../src/item-prop.c:2139 msgid "Popup Task" msgstr "" #: ../src/item-prop.c:2140 msgid "Popup Error" msgstr "" #: ../src/item-prop.c:2141 msgid "Popup Output" msgstr "" #: ../src/item-prop.c:2142 msgid "Scroll Output" msgstr "" #: ../src/item-prop.c:2156 msgid "Keep Terminal Open" msgstr "" #: ../src/item-prop.c:2165 msgid "Run As User:" msgstr "" #: ../src/item-prop.c:2172 msgid "( leave blank for current user )" msgstr "" #: ../src/item-prop.c:2179 msgid "Style" msgstr "" #: ../src/item-prop.c:2190 msgid "Normal" msgstr "" #: ../src/item-prop.c:2193 msgid "Checkbox" msgstr "" #: ../src/item-prop.c:2196 msgid "Confirmation" msgstr "" #: ../src/item-prop.c:2199 msgid "Input" msgstr "" #: ../src/item-prop.c:2213 msgid "Confirmation/Input Message:" msgstr "" #: ../src/item-prop.c:2235 msgid "Open In Browser:" msgstr "" #: ../src/item-prop.c:2257 msgid "Data Dir" msgstr "" #: ../src/item-prop.c:2266 msgid "Plugin Dir" msgstr "" #: ../src/item-prop.c:2285 msgid "Built-In Toolbar Item" msgstr "" #: ../src/item-prop.c:2288 msgid "Submenu" msgstr "" #: ../src/item-prop.c:2290 msgid "Separator" msgstr "" #. built-in #: ../src/item-prop.c:2294 msgid "Built-In Command" msgstr "" spacefm-1.0.5/release000077500000000000000000000223501264770501700145140ustar00rootroot00000000000000#!/bin/bash # Script: release This SpaceFM developer's script performs a release # License: GNU GENERAL PUBLIC LICENSE Version 3 http://www.gnu.org/licenses/gpl-3.0.txt keyid='ignorantguru@gmx.com' # default key used for signing tag debian_id='IgnorantGuru ' # written to debian changelog make_opt='-sj2' prog="spacefm" configure="configure.ac" me_name='release' # name of this script # define branches to use (usually only change these for testing): next='next' master='master' curdir="$(pwd)" # deny root user if [ "$(whoami)" = "root" ]; then echo "$me_name: no root use" 1>&2 exit 1 fi cat << EOF SpaceFM Release This script is for use by developers. It interactively performs a release of SpaceFM by increasing the version number, preparing the source dir for distribution, commiting the $next branch, merging to $master, signing the release tag, pushing $master, starting the next version, and pushing $next. This script must be run from the git $next branch. Manual workflow BEFORE continuing: backup issues (optional) pull translations from Transifex (tx pull OR tx pull -fl LANG) update pot if needed (cd po && ./update-pot && cd .. && tx push -s) finalize Changelog build and install without warnings (GTK2 and GTK3) EOF # verify on next branch git_status=`git status` if [ "${git_status#On branch $next}" = "$git_status" ]; then echo "$me_name: not on branch $next" 1>&2 exit 1 fi if [ ! -e "$configure" ]; then echo "$me_name: $configure not found" 1>&2 exit 1 fi # get configure version ver=`grep -m 1 "^AC_INIT(\[$prog\], \[" "$configure" \ | sed "s/AC_INIT(\[$prog\], \[\(.*\)\])/\1/"` if [ "$ver" = "" ]; then echo "$me_name: cannot get version" 1>&2 exit 1 fi # get new version echo -n "Enter new release version (current is $ver): " read newver if [ -z "$newver" ] || [ "${newver/ /}" != "$newver" ]; then echo "Invalid version. Aborted." 1>&2 exit 1 fi # set configure version echo echo "Changing $configure version $ver to $newver..." #AC_INIT([spacefm], [1.0.0+next]) sed -i "s/^AC_INIT(\[$prog\], \[[0-9]\..*\])/AC_INIT(\[$prog\], \[$newver\])/" $configure # test configure version changed testver=`grep -m 1 "^AC_INIT(\[$prog\], \[" "$configure" \ | sed "s/AC_INIT(\[$prog\], \[\(.*\)\])/\1/"` if [ "$testver" != "$newver" ]; then echo "$me_name: change of version in $configure failed" 1>&2 exit 1 fi # set distros/debian/changelog version echo "Setting version in distros/debian/changelog..." cat << EOF > "distros/debian/changelog" $prog ($newver-1) unstable; urgency=low * release -- $debian_id $(date -uR) EOF if [ $? -ne 0 ]; then echo "$me_name: error writing distros/debian/changelog" 1>&2 exit 1 fi # Rebuild manual echo "Rebuilding manual with new version..." echo ">>> cd data" cd data || exit 1 rm -f spacefm-manual-en.html echo ">>> time ./build-manual > spacefm-manual-en.html" time ./build-manual > spacefm-manual-en.html || exit 1 if ( ! grep -q "SpaceFM version $newver" spacefm-manual-en.html ) || \ [ ! "$(stat -c %s spacefm-manual-en.html)" -gt 400000 ]; then echo "$me_name: manual missing new version or too small" 1>&2 exit 1 fi if [ -d ../../spacefm-gh-pages ]; then echo echo "Copying manual to spacefm-gh-pages..." cp spacefm-manual-en.html ../../spacefm-gh-pages || exit 1 cp spacefm-manual-en.html \ ../../spacefm-gh-pages/spacefm-manual-next-en.html || exit 1 fi echo ">>> cd .." cd .. || exit 1 # make spacefm.pot #echo #echo -n "Update spacefm.pot? [y/N] " #read potmsg #if [ "$potmsg" = "y" ] || [ "$potmsg" = "Y" ]; then # echo # cd po || exit 1 # rm -f spacefm.pot # ./update-pot # if [ $? -ne 0 ] || [ ! -s spacefm.pot ]; then # echo "$me_name: error creating po/spacefm.pot" 1>&2 # exit 1 # fi # cd .. || exit 1 #fi # Pull wiki if [ -d ../spacefm-wiki ]; then echo echo -n "Pull ../spacefm-wiki? [Y/n] " read pullwiki if [ -z "$pullwiki" ] || [ "$pullwiki" = "y" ] || [ "$pullwiki" = "Y" ]; then echo "Pulling ../spacefm-wiki" echo ">>> cd ../spacefm-wiki" cd ../spacefm-wiki || exit 1 git status echo ">>> git pull origin master" git pull origin master echo ">>> cd '$curdir'" cd "$curdir" || exit 1 fi fi # autoreconf echo echo "Running autoreconf..." rm -f configure aclocal.m4 config.log config.status Makefile Makefile.in #echo ">>> NOCONFIGURE=x ./autogen.sh" #NOCONFIGURE=x ./autogen.sh echo ">>> autoreconf" autoreconf || exit 1 # configure echo echo "Running configure..." echo ">>> env CFLAGS=-O3 ./configure --prefix=/usr" env CFLAGS=-O3 ./configure --prefix=/usr err=$? rm -rf autom4te.cache if [ $err -ne 0 ]; then echo "$me_name: configure returned error $err" 1>&2 exit 1 fi # make clean and test echo echo "Testing make..." echo ">>> make clean" make clean || exit 1 echo ">>> make $make_opt" make $make_opt || exit 1 echo ">>> make clean" make clean || exit 1 echo # commit echo "Release is ready to be commited and merged to $master." echo echo ">>> git status" git status echo "(all unstaged changes will be added - new files are not added)" echo msg_def="release $newver" echo -n "Enter commit message (blank='$msg_def' or custom or q=quit): " read msg if [ "$msg" != "q" ]; then if [ "$msg" = "" ]; then msg="$msg_def" fi echo echo ">>> git commit -am '$msg'" git commit -am "$msg" || exit 1 else echo echo "Run this script again to complete." exit 1 fi # merge to master echo echo "Merging to $master..." echo ">>> git checkout $master" git checkout $master || exit 1 echo ">>> git merge $next" git merge $next || exit 1 # signed tag echo echo "Adding signed tag..." while true; do echo echo -n "Enter signing keyid, or 'skip' [$keyid]: " read usekeyid if [ "$usekeyid" = "q" ]; then echo "Aborted." 1>&2 exit 1 elif [ "$usekeyid" = "skip" ]; then echo "No release tag was added." break elif [ -z "$usekeyid" ]; then usekeyid="$keyid" fi keyid="$usekeyid" echo ">>> git tag -u '$keyid' -s '$newver' -m 'release $newver'" git tag -u "$keyid" -s "$newver" -m "release $newver" if [ $? -eq 0 ]; then break fi echo "Retry... (enter q to quit)" done # push master echo echo "Pushing $master..." echo echo ">>> git gc" git gc || exit 1 echo ">>> git push --tags origin $master" git push --tags origin $master || exit 1 # push gh-pages if [ -d ../spacefm-gh-pages ]; then echo echo "Commiting and pushing ../spacefm-gh-pages..." echo cd ../spacefm-gh-pages || exit 1 echo ">>> git status" git status echo msg_def="release $newver" echo -n "Enter commit message (blank='$msg_def' or custom or skip=skip): " read msg if [ "$msg" != "skip" ]; then if [ "$msg" = "" ]; then msg="$msg_def" fi echo echo ">>> git add -A" git add -A echo ">>> git commit -am '$msg'" git commit -am "$msg" || exit 1 echo ">>> git push origin gh-pages" git push origin gh-pages || exit 1 fi cd "$curdir" || exit 1 fi # get next version echo echo "Starting next version..." echo echo -n "Enter next version [${newver}+next]: " read nextver if [ -z "$nextver" ]; then nextver="${newver}+next" elif [ "$nextver" = "q" ]; then echo "Aborted." 1>&2 exit 1 fi # start next version echo ">>> git checkout $next" git checkout $next || exit 1 echo ">>> git merge $master" git merge $master || exit 1 # set configure version echo "Changing $configure version $newver to $nextver..." #AC_INIT([spacefm], [1.0.0+next]) sed -i "s/^AC_INIT(\[$prog\], \[[0-9]\..*\])/AC_INIT(\[$prog\], \[$nextver\])/" $configure # test configure version changed testver=`grep -m 1 "^AC_INIT(\[$prog\], \[" "$configure" \ | sed "s/AC_INIT(\[$prog\], \[\(.*\)\])/\1/"` if [ "$testver" != "$nextver" ]; then echo "$me_name: change of version in $configure failed" 1>&2 exit 1 fi # set distros/debian/changelog version echo "Setting next version in distros/debian/changelog..." cat << EOF > "distros/debian/changelog" $prog ($nextver-1) unstable; urgency=low * release -- $debian_id $(date -uR) EOF if [ $? -ne 0 ]; then echo "$me_name: error writing distros/debian/changelog" 1>&2 exit 1 fi # autoreconf echo echo "Running autoreconf..." rm -f configure aclocal.m4 config.log config.status Makefile Makefile.in #echo ">>> NOCONFIGURE=x ./autogen.sh" #NOCONFIGURE=x ./autogen.sh echo ">>> autoreconf" autoreconf || exit 1 # configure echo echo "Running configure..." echo ">>> env CFLAGS=-O3 ./configure --prefix=/usr" env CFLAGS=-O3 ./configure --prefix=/usr err=$? rm -rf autom4te.cache if [ $err -ne 0 ]; then echo "$me_name: configure returned error $err" 1>&2 exit 1 fi # make clean echo echo ">>> make clean" make clean || exit 1 # commit echo "Next version is ready to be commited." msg_def="start $nextver" echo echo ">>> git status" git status echo "(all unstaged changes will be added)" echo echo -n "Enter commit message (blank='$msg_def' or custom or q=quit): " read msg if [ "$msg" != "q" ]; then if [ "$msg" = "" ]; then msg="$msg_def" fi echo echo ">>> git commit -am '$msg'" git commit -am "$msg" || exit 1 echo ">>> git push origin $next" git push origin $next || exit 1 else echo echo "SKIPPING $next commit and push" 1>&2 exit 1 fi echo echo "$me_name: Done." spacefm-1.0.5/spacefm-installer000077500000000000000000000501011264770501700165000ustar00rootroot00000000000000#!/bin/bash # spacefm-installer - http://ignorantguru.github.io/spacefm/#installer # License: GNU GENERAL PUBLIC LICENSE Version 3 http://www.gnu.org/licenses/gpl-3.0.txt default_branch='next' # If wget and curl are installed, used to download tarball_url='https://github.com/IgnorantGuru/spacefm/archive/' curl_options="-L -#" # Note: older wget versions don't support --show-progress option #wget_options="--no-verbose --show-progress" wget_options="" # If wget and curl are not installed, git is used to download git_root='git://github.com/IgnorantGuru/spacefm.git' git_name='spacefm' help () { cat << EOF Downloads, builds, and installs any version or branch of SpaceFM. Usage: spacefm-installer [--version=BRANCH] [CHOICES] [CONFIGURE OPTIONS] spacefm-installer --uninstall For interactive use, run: spacefm-installer When run by itself, spacefm-installer will act as a net installer, downloading the version of SpaceFM you choose. When run from within the source directory, it will skip the download step and install the sources it's run from. For automated download, specify an optional branch or version number. The --version option must be included BEFORE other options. Examples: spacefm-installer --version=next # downloads rolling release spacefm-installer --version=master # downloads last stable release spacefm-installer --version=1.0.3 # downloads release 1.0.3 spacefm-installer --version=1709b809 # downloads at commit For automated build and install, specify install choices and/or configure options. Example: spacefm-installer 1 6 --with-gtk2 # Choices 1 & 6 with configure option For automated download, build, and install: spacefm-installer --version=next --prefix=/usr # Download and install spacefm-installer --version=next 1 # Download with install choice Debug By default, --prefix is always set to /usr, unless you specify a prefix. A temporary directory is created in the directory the installer is run from, or in $TMPDIR (/tmp) if there is no write access to the current directory. To uninstall: If you installed from a package, use your package manager to remove SpaceFM. Otherwise, run: spacefm-installer --uninstall EOF exit } # Get command line options branch="" if [ "$1" = "--help" ] || [ "$1" = "help" ]; then help fi if [ "$1" = "--uninstall" ]; then echo "SpaceFM Uninstall" echo echo "This action deletes files installed by spacefm-installer or make install." echo echo "Note: If you installed from a package, use your package manager to remove" echo "SpaceFM instead of this script." echo echo -n "Enter installation prefix, or q to quit [/usr]: " read unprefix if [ -z "$unprefix" ]; then unprefix="/usr" elif [ "$unprefix" = "q" ]; then exit 0 fi if [ ! -d "$unprefix" ]; then echo "spacefm-installer: Invalid uninstall prefix '$unprefix' - directory is missing" exit 1 fi for spacefm_file in \ $unprefix/share/spacefm/spacefm-manual-en.html \ $unprefix/share/spacefm/ui/prefdlg.ui \ $unprefix/share/spacefm/ui/find-files.ui \ $unprefix/share/spacefm/ui/godlg.ui \ $unprefix/share/spacefm/ui/appchooserdlg.ui \ $unprefix/share/spacefm/ui/file_properties.ui \ $unprefix/share/spacefm/ui/about-dlg.ui \ $unprefix/share/spacefm/ui \ $unprefix/share/mime/packages/spacefm-mime.xml \ $unprefix/share/mime/packages \ $unprefix/share/applications/spacefm-find.desktop \ $unprefix/share/applications/spacefm-folder-handler.desktop \ $unprefix/share/applications/spacefm.desktop \ $unprefix/share/locale/*/LC_MESSAGES/spacefm.mo \ $unprefix/share/doc/spacefm/spacefm-manual-en.html \ $unprefix/share/doc/spacefm \ $unprefix/share/pixmaps/spacefm-48-pyramid-red.png \ $unprefix/share/pixmaps/spacefm-128-pyramid-red.png \ $unprefix/share/pixmaps/spacefm-128-pyramid-blue.png \ $unprefix/share/pixmaps/spacefm-48-folder-blue.png \ $unprefix/share/pixmaps/spacefm-48-cube-red.png \ $unprefix/share/pixmaps/spacefm-root.png \ $unprefix/share/pixmaps/spacefm-48-pyramid-green.png \ $unprefix/share/pixmaps/spacefm-128-cube-red.png \ $unprefix/share/pixmaps/spacefm-find.png \ $unprefix/share/pixmaps/spacefm-48-folder-red.png \ $unprefix/share/pixmaps/spacefm-128-pyramid-green.png \ $unprefix/share/pixmaps/spacefm-48-cube-green.png \ $unprefix/share/pixmaps/spacefm.png \ $unprefix/share/pixmaps/spacefm-128-cube-blue.png \ $unprefix/share/pixmaps/spacefm-48-pyramid-blue.png \ $unprefix/share/pixmaps/spacefm-48-cube-blue.png \ $unprefix/share/pixmaps/spacefm-128-cube-green.png \ $unprefix/share/pixmaps \ $unprefix/bin/spacefm \ $unprefix/bin/spacefm-auth do if [ -d "$spacefm_file" ]; then echo ">>> sudo rmdir --ignore-fail-on-non-empty \"$spacefm_file\"" sudo rmdir --ignore-fail-on-non-empty "$spacefm_file" else echo ">>> sudo rm -f \"$spacefm_file\"" sudo rm -f "$spacefm_file" fi done echo ">>> sudo update-mime-database /usr/share/mime > /dev/null" sudo update-mime-database /usr/share/mime > /dev/null echo ">>> sudo update-desktop-database -q" sudo update-desktop-database -q echo ">>> sudo gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor" sudo gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor echo echo "Uninstall complete. $unprefix/bin/spacefm-installer was NOT removed." echo "You can delete it manually, or run it to reinstall." echo exit fi if [ "${1:0:9}" = "--version" ]; then if [ "$1" = "--version" ]; then branch="$2" shift elif [ "${1:0:10}" = "--version=" ]; then branch="${1:10}" fi if [ -z "$branch" ] || [ ${#branch} -eq 1 ] \ || [ "${branch:0:1}" = "-" ]; then echo "spacefm-installer: --version option requires valid argument" 1>&2 exit 1 fi shift fi configure_options="$*" # Need download ? tdir="" if [ -n "$branch" ] || [ ! -e configure ]; then # user specified a branch to download, or configure is not present if [ -z "$branch" ]; then # Prompt for branch echo "SpaceFM Network Install" echo echo "Suggested branches:" echo " next ( Rolling Release )" echo " master ( Stable Release )" echo " alpha ( Testing - not always available )" echo # repeat until branch doesn't contain spaces while [ -z "$branch" ] || [ "$branch" != "${branch/ /}" ]; do echo -n "Download which branch, commit or version (eg 1.0.4) [${default_branch}]: " read branch if [ -z "$branch" ]; then branch="$default_branch" break elif [ "$branch" = "q" ]; then exit 0 fi done echo fi # Make temp dir if [ ! -w . ]; then # no write access in current dir so tell mktemp to use $TMPDIR echo ">>> mktemp -dt spacefm-$branch-XXXXXXXX.tmp" tdir="$(mktemp -dt spacefm-$branch-XXXXXXXX.tmp)" else echo ">>> mktemp -d spacefm-$branch-XXXXXXXX.tmp" tdir="$(pwd)/$(mktemp -d spacefm-$branch-XXXXXXXX.tmp)" fi source_archive="spacefm-$branch.tar.gz" if [ -z "$tdir" ] || [ ! -d "$tdir" ]; then echo "spacefm-installer: creation of temporary dir failed" 1>&2 exit 1 fi echo ">>> cd $tdir" cd "$tdir" if [ $? -ne 0 ]; then if [ -n "$tdir" ]; then rm -rf "$tdir" fi exit 1 fi # Download download_url="${tarball_url}$branch.tar.gz" use_git=0 if ( which wget &>/dev/null ); then echo ">>> wget $wget_options -O $source_archive $download_url" wget $wget_options -O "$source_archive" "$download_url" elif ( which curl &>/dev/null ); then echo ">>> curl $curl_options -o $source_archive $download_url" curl $curl_options -o "$source_archive" "$download_url" elif ( which git &>/dev/null ); then use_git=1 echo ">>> git clone --depth 1 -b $branch $git_root $git_name" git clone --depth 1 -b "$branch" "$git_root" "$git_name" \ && cd "$git_name" && [[ -e configure ]] else echo echo "spacefm-installer: This script requires wget OR curl OR git to download files." 1>&2 if [ -n "$tdir" ]; then rm -rf "$tdir" fi exit 1 fi err=$? if [ $err -ne 0 ]; then if [ $err -eq 128 ] && [ "$branch" = "${branch/./}" ] \ && [ $use_git -eq 1 ]; then echo echo "Note: git can only download branches and versions (tags), not commits. Try" echo "installing wget or curl if you are downloading a commit." fi echo echo "spacefm-installer: Download failed." 1>&2 if [ -n "$tdir" ]; then rm -rf "$tdir" fi exit 1 fi if [ $use_git -eq 1 ]; then if [ "$branch" != "${branch/./}" ]; then # dot in branch name so check for signed version tag echo ">>> git tag -v $branch" git tag -v "$branch" #if [ $? -ne 0 ]; then # echo "! ! ! WARNING ! ! ! Unable to verify GPG signature on tag '$branch'." # echo "This means you do not have the signing key on your GPG keyring, this was not" # echo "a signed tag, or the signature is bad (files are corrupt). See error above" # echo "for details. git has built-in integrity protection, so you can probably" # echo "proceed with installation reasonably safely." #fi echo fi else # Extract echo ">>> tar xzf $source_archive" tar xzf "$source_archive" if [ $? -ne 0 ]; then echo echo "spacefm-installer: Extraction failed." 1>&2 if [ -n "$tdir" ]; then rm -rf "$tdir" fi exit 1 fi #rm -f "$source_archive" # Enter source dir srcdir=`find . -maxdepth 1 -type d -name '*spacefm-*' | head -n 1` srcdir=`basename "$srcdir"` if [ -n "$srcdir" ]; then echo ">>> cd $srcdir" cd "$srcdir" fi if [ $? -ne 0 ] || [ -z "$srcdir" ] || [ ! -e "configure" ]; then echo "spacefm-installer: Required files missing from downloaded archive - download may be corrupt" 1>&2 if [ -n "$tdir" ]; then rm -rf "$tdir" fi exit 1 fi fi fi # Choice and options choice[1]='Debug (for use with gdb)' choice_opt[1]='' choice[2]='Local (--prefix=/usr/local)' choice_opt[2]='--prefix=/usr/local' choice[3]='Force GTK3 use' choice_opt[3]='--with-gtk3' choice[4]='Use HAL instead of udev (very limited functionality)' choice_opt[4]='--enable-hal' choice[5]='Disable Desktop Manager Support' choice_opt[5]='--disable-desktop-integration' choice[6]="Disable Video Thumbnails (don't use ffmpeg)" choice_opt[6]='--disable-video-thumbnails' choice[7]='Disable Startup Notification' choice_opt[7]='--disable-startup-notification' if [ -z "$configure_options" ]; then # Get choices and options echo echo SpaceFM Installer echo echo "Just press Enter for a default install, or choose one or more install options:" echo x=1 while [ -n "${choice[$x]}" ]; do echo " ${x}) ${choice[$x]}" (( x++ )) done echo echo "Example: 1 6 --with-gtk2" echo echo "Enter space-separated choices and/or your own configure options, or press Enter" echo "for a default install, or q to quit:" read configure_options if [ "$configure_options" = "q" ]; then echo echo "For manual configure and make, see README in" echo " $(pwd)" echo exit 0 fi fi # Convert choices to options configure_options=" $configure_options " # catch Debug mode if [ "$configure_options" != "${configure_options/ 1 /}" ]; then debug_mode=1 else debug_mode=0 fi # catch no Local and no prefix - add --prefix=/usr if [ "$configure_options" = "${configure_options/ 2 /}" ] \ && [ "$configure_options" = "${configure_options/ --prefix/}" ]; then configure_options=" --prefix=/usr$configure_options" fi # replace choices with configure options x=1 while [ -n "${choice[$x]}" ]; do configure_options="${configure_options/ $x / ${choice_opt[$x]} }" (( x++ )) done configure_options="${configure_options// --/ --}" # Get deps deps_base="autotools-dev bash build-essential intltool pkg-config fakeroot shared-mime-info desktop-file-utils libc6 libcairo2 libglib2.0-0 libglib2.0-dev libpango1.0-0 libx11-6 libx11-6-dev" deps_udev="libudev0 (>=143) libudev-dev" deps_hal="hal libhal-dev libhal-storage-dev libhal-storage1 libhal1 libdbus-glib-1-2 libdbus-glib-1-dev" deps_gtk2="libgtk2.0-0 (>=2.18) libgtk2.0-dev libgtk2.0-bin" deps_gtk3="libgtk-3-0 libgtk-3-dev libgtk-3-bin" deps_ffmpeg="libffmpegthumbnailer-dev" deps_sn="libstartup-notification0 libstartup-notification0-dev" deps_dbus="dbus libdbus-1-3 libdbus-1-dev" deps_mount="fuseiso curlftpfs jmtpfs gphotofs ifuse" deps_debug="gdb libc6-dbg libglib2.0-0-dbg libgtk2.0-0-dbg|libgtk-3-0-dbg librsvg2-dbg" deps_rec="eject lsof wget udevil|pmount|udisks gksu|kdesu|lxqt-sudo|ktsuss" n=$'\n' deps="------ Dependencies -------------------------------------------------${n}The following packages are required for this build (below are Debian package${n}names - packages on other distros will be similar):${n}$deps_base" if [ "$configure_options" = "${configure_options/--enable-hal/}" ]; then deps="$deps $deps_udev" else deps="$deps $deps_hal $deps_dbus" fi if [ "$configure_options" = "${configure_options/--disable-video-thumbnails/}" ]; then deps="$deps $deps_ffmpeg" fi if [ "$configure_options" != "${configure_options/--with-gtk2/}" ]; then deps="$deps $deps_gtk2" elif [ "$configure_options" != "${configure_options/--with-gtk3/}" ]; then deps="$deps $deps_gtk3" else deps="$deps${n}${n}If using GTK2: $deps_gtk2${n}${n}OR if using GTK3: $deps_gtk3" fi if [ "$configure_options" = "${configure_options/--disable-startup-notification/}" ]; then deps="$deps${n}${n}For optional startup notification support: $deps_sn" fi deps="$deps${n}${n}RECOMMENDED: $deps_rec" if [ "$configure_options" = "${configure_options/--enable-hal/}" ]; then deps="$deps${n}${n}For optional dbus support: $deps_dbus" fi deps="$deps${n}${n}For additional mount support: $deps_mount" if [ $debug_mode -eq 1 ]; then deps="$deps${n}${n}For runtime gdb debugging: $deps_debug" fi deps="${deps}${n}---------------------------------------------------------------------" echo echo "$deps" # Run configure while true; do echo if [ $debug_mode -eq 1 ]; then echo ">>> CFLAGS='-ggdb3' STRIP='!strip' ./configure${configure_options}" CFLAGS='-ggdb3' STRIP='!strip' ./configure${configure_options} else echo ">>> ./configure${configure_options}" ./configure${configure_options} fi if [ $? -ne 0 ]; then echo echo "ERROR: configure was not successful, probably due to missing build" 1>&2 echo "dependencies. Examine the message above to determine what is missing" 1>&2 echo "on your system, install the appropriate package, and try again." 1>&2 echo echo "$deps" echo echo -n "Try configure again [Y/n]? " read s echo if [ -n "$s" ] && [ "$s" != "y" ] && [ "$s" != "Y" ]; then if [ -e spacefm-installer ]; then echo "To run this installer again with the same options, run:" if [ $debug_mode -eq 1 ]; then echo " cd \"$(pwd)\"" echo " ./spacefm-installer 1 $configure_options" else echo " cd \"$(pwd)\"" echo " ./spacefm-installer$configure_options" fi elif [ -n "$tdir" ]; then echo "Temporary dir '$tdir' has been retained." fi exit 1 fi else break fi done # Run make while true; do echo echo "Running make... (this can take a while)" rm -f src/spacefm echo ">>> make -s" make -s if [ ! -e src/spacefm ]; then echo echo "ERROR: make was not successful, possibly due to missing build" 1>&2 echo "dependencies. Examine the errors above to determine what is missing" 1>&2 echo "on your system, install the appropriate packages, and try this installer" 1>&2 echo "again. If no error is displayed, you may need to follow the manual" 1>&2 echo "build instructions in the README to see all of make's output." 1>&2 echo echo -n "Try make again [Y/n]? " read s echo if [ -n "$s" ] && [ "$s" != "y" ] && [ "$s" != "Y" ]; then if [ -e spacefm-installer ]; then echo "To run this installer again with the same options, run:" if [ $debug_mode -eq 1 ]; then echo " cd \"$(pwd)\" && ./spacefm-installer 1 $configure_options" else echo " cd \"$(pwd)\" && ./spacefm-installer$configure_options" fi fi exit 1 fi else break fi done # Run make install echo echo "SpaceFM appears to have been built successfully. To install it, you" echo "may need to enter your root or administrator password below..." echo wh_sudo="$( which sudo 2>/dev/null )" if [[ -z "$wh_sudo" ]]; then echo ">>> su -c \"make -s install\"" su -c "make -s install" else echo ">>> sudo make -s install" sudo make -s install fi if [[ $? -ne 0 ]]; then echo echo "ERROR: make install was not successful." 1>&2 echo if [ -n "$tdir" ]; then echo "Temporary dir '$tdir' has been retained." 1>&2 fi exit 1 fi # Update MIME and GTK echo echo "Updating MIME and GTK databases... (this can take a while)" database="update-mime-database /usr/share/mime > /dev/null; update-desktop-database -q; gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor" if [ -d /usr/share/icons/Faenza ]; then database="$database; gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza" fi if [ -d /usr/local/share/icons/hicolor ]; then database="$database; gtk-update-icon-cache -q -t -f /usr/local/share/icons/hicolor" fi if [ -d /usr/local/share/icons/Faenza ]; then database="$database; gtk-update-icon-cache -q -t -f /usr/local/share/icons/Faenza" fi if [ -z "$wh_sudo" ]; then echo ">>> su -c \"$database\"" su -c "$database" else echo ">>> sudo bash -c \"$database\"" sudo bash -c "$database" fi # Success if [ -n "$tdir" ]; then echo ">>> rm -rf \"$tdir\"" rm -rf "$tdir" fi echo echo "$deps" echo echo "Installation appears successful. To reinstall or upgrade, run this installer" echo "again. To repeat this same installation, run:" if [ -n "$branch" ]; then branch_redo="--version=$branch " fi if [ $debug_mode -eq 1 ]; then echo " spacefm-installer ${branch_redo}1 $configure_options" cat << EOF To run spacefm with the debugger (see Dependencies above), run: gdb spacefm In gdb, enter 'run' at the prompt. Or, to make gdb halt on any warnings, use 'run --g-fatal-warnings'. SpaceFM will start. When the crash occurs, gdb will freeze SpaceFM. Or if SpaceFM hangs, press Ctrl-C in gdb to interrupt it, or in another terminal run: killall -s KILL spacefm In gdb enter: thread apply all bt full Provide the output with your detailed bug report at https://github.com/IgnorantGuru/spacefm/issues NOTE: When SpaceFM is built this way, it may run more slowly and use more memory. Once you are done debugging, be sure to install a normal (optimized) build. EOF else echo " spacefm-installer ${branch_redo}$configure_options" fi echo spacefm-1.0.5/src/000077500000000000000000000000001264770501700137335ustar00rootroot00000000000000spacefm-1.0.5/src/Makefile.am000066400000000000000000000106711264770501700157740ustar00rootroot00000000000000## Process this file with automake to produce Makefile.in AM_CPPFLAGS = \ -I$(top_srcdir)/src/mime-type \ -I$(top_srcdir)/src/compat \ -I$(top_srcdir)/src/ptk \ -I$(top_srcdir)/src/vfs \ -I$(top_srcdir)/src/libmd5-rfc \ -I$(top_srcdir)/src/desktop \ -I$(top_srcdir)/src/exo \ -DPACKAGE_DATA_DIR=\""$(datadir)/spacefm"\" \ -DPACKAGE_UI_DIR=\""$(datadir)/spacefm/ui"\" \ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ -DSYSCONFDIR=\""$(sysconfdir)"\" bin_PROGRAMS = spacefm bin_SCRIPTS = spacefm-auth MIMETYE_SOURCES = \ mime-type/mime-type.c mime-type/mime-type.h \ mime-type/mime-action.c mime-type/mime-action.h \ mime-type/mime-cache.c mime-type/mime-cache.h MD5_SOURCES = \ libmd5-rfc/md5.c libmd5-rfc/md5.h VOLUME_HAL_SOURCES= \ vfs/vfs-volume-hal.c \ vfs/vfs-volume-hal-options.h \ vfs/vfs-volume-hal-options.c VOLUME_NOHAL_SOURCES= \ vfs/vfs-volume-nohal.c if USE_HAL VOLUME_SOURCES= \ $(VOLUME_HAL_SOURCES) else VOLUME_SOURCES= \ $(VOLUME_NOHAL_SOURCES) endif VFS_SOURCES = \ vfs/vfs-file-monitor.c vfs/vfs-file-monitor.h \ vfs/vfs-mime-type.c vfs/vfs-mime-type.h \ vfs/vfs-file-info.c vfs/vfs-file-info.h \ vfs/vfs-dir.c vfs/vfs-dir.h \ vfs/vfs-app-desktop.c vfs/vfs-app-desktop.h \ vfs/vfs-file-task.c vfs/vfs-file-task.h \ vfs/vfs-volume.h \ $(VOLUME_SOURCES) \ vfs/vfs-execute.c vfs/vfs-execute.h \ vfs/vfs-async-task.c vfs/vfs-async-task.h \ vfs/vfs-thumbnail-loader.c vfs/vfs-thumbnail-loader.h \ vfs/vfs-utils.c vfs/vfs-utils.h if DESKTOP_INTEGRATION DESKTOP_SOURCES = \ desktop/desktop-window.c desktop/desktop-window.h \ desktop/desktop.c desktop/desktop.h else DESKTOP_SOURCES = desktop/desktop.c desktop/desktop.h endif PTK_SOURCES = \ ptk/ptk-file-browser.c ptk/ptk-file-browser.h \ ptk/ptk-file-list.c ptk/ptk-file-list.h \ ptk/ptk-path-entry.c ptk/ptk-path-entry.h \ ptk/ptk-text-renderer.c ptk/ptk-text-renderer.h \ ptk/ptk-file-icon-renderer.c ptk/ptk-file-icon-renderer.h \ ptk/ptk-utils.c ptk/ptk-utils.h \ desktop/working-area.c desktop/working-area.h \ ptk/ptk-dir-tree-view.c ptk/ptk-dir-tree-view.h \ ptk/ptk-dir-tree.c ptk/ptk-dir-tree.h \ ptk/ptk-location-view.c ptk/ptk-location-view.h \ ptk/ptk-input-dialog.c ptk/ptk-input-dialog.h \ ptk/ptk-file-task.c ptk/ptk-file-task.h \ ptk/ptk-file-archiver.c ptk/ptk-file-archiver.h \ ptk/ptk-handler.c ptk/ptk-handler.h \ ptk/ptk-clipboard.c ptk/ptk-clipboard.h \ ptk/ptk-file-menu.c ptk/ptk-file-menu.h \ ptk/ptk-file-misc.c ptk/ptk-file-misc.h \ ptk/ptk-file-properties.c ptk/ptk-file-properties.h \ ptk/ptk-app-chooser.c ptk/ptk-app-chooser.h EXO_SOURCES = \ exo/exo-icon-view.c exo/exo-icon-view.h \ exo/exo-tree-view.c exo/exo-tree-view.h \ exo/exo-private.c exo/exo-private.h \ exo/exo-string.c exo/exo-string.h \ exo/exo-marshal.c exo/exo-marshal.h \ exo/exo-cell-renderer-icon.c exo/exo-cell-renderer-icon.h \ exo/exo-gtk-extensions.c exo/exo-gtk-extensions.h \ exo/exo-icon-chooser-dialog.c exo/exo-icon-chooser-dialog.h \ exo/exo-icon-chooser-model.c exo/exo-icon-chooser-model.h \ exo/exo-gdk-pixbuf-extensions.c exo/exo-gdk-pixbuf-extensions.h \ exo/exo-thumbnail-preview.c exo/exo-thumbnail-preview.h \ exo/exo-utils.c exo/exo-utils.h \ exo/exo-binding.c exo/exo-binding.h \ exo/exo-cell-renderer-ellipsized-text.c exo/exo-cell-renderer-ellipsized-text.h \ exo/exo-common.h COMPAT_SOURCES = \ compat/glib-mem.h \ compat/glib-utils.h \ compat/glib-utils.c spacefm_SOURCES = \ $(MIMETYE_SOURCES) \ $(VFS_SOURCES) \ $(MD5_SOURCES) \ $(COMPAT_SOURCES) \ $(PTK_SOURCES) \ $(EXO_SOURCES) \ $(DESKTOP_SOURCES) \ private.h \ main.c pcmanfm.h \ main-window.c main-window.h \ settings.c settings.h \ pref-dialog.c pref-dialog.h \ find-files.c find-files.h \ go-dialog.c go-dialog.h \ cust-dialog.c cust-dialog.h \ item-prop.c item-prop.h spacefm_CFLAGS = \ @GTK_CFLAGS@ \ @SN_CFLAGS@ \ @HAL_CFLAGS@ \ @LIBUDEV_CFLAGS@ \ @FFMPEG_CFLAGS@ \ @G_CAST_CHECKS@ \ -Werror-implicit-function-declaration spacefm_LDADD = \ @GTK_LIBS@ \ $(INTLLIBS) \ @FAM_LIBS@ \ @HAL_LIBS@ \ @SN_LIBS@ \ @LIBUDEV_LIBS@ \ @FFMPEG_LIBS@ noinst_PROGRAMS=xml-purge xml_purge_SOURCES=xml-purge.c xml_purge_CFLAGS=@GTK_CFLAGS@ xml_purge_LDADD=@GTK_LIBS@ spacefm-1.0.5/src/Makefile.in000066400000000000000000005316771264770501700160230ustar00rootroot00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = spacefm$(EXEEXT) noinst_PROGRAMS = xml-purge$(EXEEXT) subdir = src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am__spacefm_SOURCES_DIST = mime-type/mime-type.c mime-type/mime-type.h \ mime-type/mime-action.c mime-type/mime-action.h \ mime-type/mime-cache.c mime-type/mime-cache.h \ vfs/vfs-file-monitor.c vfs/vfs-file-monitor.h \ vfs/vfs-mime-type.c vfs/vfs-mime-type.h vfs/vfs-file-info.c \ vfs/vfs-file-info.h vfs/vfs-dir.c vfs/vfs-dir.h \ vfs/vfs-app-desktop.c vfs/vfs-app-desktop.h \ vfs/vfs-file-task.c vfs/vfs-file-task.h vfs/vfs-volume.h \ vfs/vfs-volume-nohal.c vfs/vfs-volume-hal.c \ vfs/vfs-volume-hal-options.h vfs/vfs-volume-hal-options.c \ vfs/vfs-execute.c vfs/vfs-execute.h vfs/vfs-async-task.c \ vfs/vfs-async-task.h vfs/vfs-thumbnail-loader.c \ vfs/vfs-thumbnail-loader.h vfs/vfs-utils.c vfs/vfs-utils.h \ libmd5-rfc/md5.c libmd5-rfc/md5.h compat/glib-mem.h \ compat/glib-utils.h compat/glib-utils.c ptk/ptk-file-browser.c \ ptk/ptk-file-browser.h ptk/ptk-file-list.c ptk/ptk-file-list.h \ ptk/ptk-path-entry.c ptk/ptk-path-entry.h \ ptk/ptk-text-renderer.c ptk/ptk-text-renderer.h \ ptk/ptk-file-icon-renderer.c ptk/ptk-file-icon-renderer.h \ ptk/ptk-utils.c ptk/ptk-utils.h desktop/working-area.c \ desktop/working-area.h ptk/ptk-dir-tree-view.c \ ptk/ptk-dir-tree-view.h ptk/ptk-dir-tree.c ptk/ptk-dir-tree.h \ ptk/ptk-location-view.c ptk/ptk-location-view.h \ ptk/ptk-input-dialog.c ptk/ptk-input-dialog.h \ ptk/ptk-file-task.c ptk/ptk-file-task.h \ ptk/ptk-file-archiver.c ptk/ptk-file-archiver.h \ ptk/ptk-handler.c ptk/ptk-handler.h ptk/ptk-clipboard.c \ ptk/ptk-clipboard.h ptk/ptk-file-menu.c ptk/ptk-file-menu.h \ ptk/ptk-file-misc.c ptk/ptk-file-misc.h \ ptk/ptk-file-properties.c ptk/ptk-file-properties.h \ ptk/ptk-app-chooser.c ptk/ptk-app-chooser.h \ exo/exo-icon-view.c exo/exo-icon-view.h exo/exo-tree-view.c \ exo/exo-tree-view.h exo/exo-private.c exo/exo-private.h \ exo/exo-string.c exo/exo-string.h exo/exo-marshal.c \ exo/exo-marshal.h exo/exo-cell-renderer-icon.c \ exo/exo-cell-renderer-icon.h exo/exo-gtk-extensions.c \ exo/exo-gtk-extensions.h exo/exo-icon-chooser-dialog.c \ exo/exo-icon-chooser-dialog.h exo/exo-icon-chooser-model.c \ exo/exo-icon-chooser-model.h exo/exo-gdk-pixbuf-extensions.c \ exo/exo-gdk-pixbuf-extensions.h exo/exo-thumbnail-preview.c \ exo/exo-thumbnail-preview.h exo/exo-utils.c exo/exo-utils.h \ exo/exo-binding.c exo/exo-binding.h \ exo/exo-cell-renderer-ellipsized-text.c \ exo/exo-cell-renderer-ellipsized-text.h exo/exo-common.h \ desktop/desktop.c desktop/desktop.h desktop/desktop-window.c \ desktop/desktop-window.h private.h main.c pcmanfm.h \ main-window.c main-window.h settings.c settings.h \ pref-dialog.c pref-dialog.h find-files.c find-files.h \ go-dialog.c go-dialog.h cust-dialog.c cust-dialog.h \ item-prop.c item-prop.h am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = mime-type/spacefm-mime-type.$(OBJEXT) \ mime-type/spacefm-mime-action.$(OBJEXT) \ mime-type/spacefm-mime-cache.$(OBJEXT) am__objects_2 = vfs/spacefm-vfs-volume-nohal.$(OBJEXT) am__objects_3 = vfs/spacefm-vfs-volume-hal.$(OBJEXT) \ vfs/spacefm-vfs-volume-hal-options.$(OBJEXT) @USE_HAL_FALSE@am__objects_4 = $(am__objects_2) @USE_HAL_TRUE@am__objects_4 = $(am__objects_3) am__objects_5 = vfs/spacefm-vfs-file-monitor.$(OBJEXT) \ vfs/spacefm-vfs-mime-type.$(OBJEXT) \ vfs/spacefm-vfs-file-info.$(OBJEXT) \ vfs/spacefm-vfs-dir.$(OBJEXT) \ vfs/spacefm-vfs-app-desktop.$(OBJEXT) \ vfs/spacefm-vfs-file-task.$(OBJEXT) $(am__objects_4) \ vfs/spacefm-vfs-execute.$(OBJEXT) \ vfs/spacefm-vfs-async-task.$(OBJEXT) \ vfs/spacefm-vfs-thumbnail-loader.$(OBJEXT) \ vfs/spacefm-vfs-utils.$(OBJEXT) am__objects_6 = libmd5-rfc/spacefm-md5.$(OBJEXT) am__objects_7 = compat/spacefm-glib-utils.$(OBJEXT) am__objects_8 = ptk/spacefm-ptk-file-browser.$(OBJEXT) \ ptk/spacefm-ptk-file-list.$(OBJEXT) \ ptk/spacefm-ptk-path-entry.$(OBJEXT) \ ptk/spacefm-ptk-text-renderer.$(OBJEXT) \ ptk/spacefm-ptk-file-icon-renderer.$(OBJEXT) \ ptk/spacefm-ptk-utils.$(OBJEXT) \ desktop/spacefm-working-area.$(OBJEXT) \ ptk/spacefm-ptk-dir-tree-view.$(OBJEXT) \ ptk/spacefm-ptk-dir-tree.$(OBJEXT) \ ptk/spacefm-ptk-location-view.$(OBJEXT) \ ptk/spacefm-ptk-input-dialog.$(OBJEXT) \ ptk/spacefm-ptk-file-task.$(OBJEXT) \ ptk/spacefm-ptk-file-archiver.$(OBJEXT) \ ptk/spacefm-ptk-handler.$(OBJEXT) \ ptk/spacefm-ptk-clipboard.$(OBJEXT) \ ptk/spacefm-ptk-file-menu.$(OBJEXT) \ ptk/spacefm-ptk-file-misc.$(OBJEXT) \ ptk/spacefm-ptk-file-properties.$(OBJEXT) \ ptk/spacefm-ptk-app-chooser.$(OBJEXT) am__objects_9 = exo/spacefm-exo-icon-view.$(OBJEXT) \ exo/spacefm-exo-tree-view.$(OBJEXT) \ exo/spacefm-exo-private.$(OBJEXT) \ exo/spacefm-exo-string.$(OBJEXT) \ exo/spacefm-exo-marshal.$(OBJEXT) \ exo/spacefm-exo-cell-renderer-icon.$(OBJEXT) \ exo/spacefm-exo-gtk-extensions.$(OBJEXT) \ exo/spacefm-exo-icon-chooser-dialog.$(OBJEXT) \ exo/spacefm-exo-icon-chooser-model.$(OBJEXT) \ exo/spacefm-exo-gdk-pixbuf-extensions.$(OBJEXT) \ exo/spacefm-exo-thumbnail-preview.$(OBJEXT) \ exo/spacefm-exo-utils.$(OBJEXT) \ exo/spacefm-exo-binding.$(OBJEXT) \ exo/spacefm-exo-cell-renderer-ellipsized-text.$(OBJEXT) @DESKTOP_INTEGRATION_FALSE@am__objects_10 = \ @DESKTOP_INTEGRATION_FALSE@ desktop/spacefm-desktop.$(OBJEXT) @DESKTOP_INTEGRATION_TRUE@am__objects_10 = desktop/spacefm-desktop-window.$(OBJEXT) \ @DESKTOP_INTEGRATION_TRUE@ desktop/spacefm-desktop.$(OBJEXT) am_spacefm_OBJECTS = $(am__objects_1) $(am__objects_5) \ $(am__objects_6) $(am__objects_7) $(am__objects_8) \ $(am__objects_9) $(am__objects_10) spacefm-main.$(OBJEXT) \ spacefm-main-window.$(OBJEXT) spacefm-settings.$(OBJEXT) \ spacefm-pref-dialog.$(OBJEXT) spacefm-find-files.$(OBJEXT) \ spacefm-go-dialog.$(OBJEXT) spacefm-cust-dialog.$(OBJEXT) \ spacefm-item-prop.$(OBJEXT) spacefm_OBJECTS = $(am_spacefm_OBJECTS) am__DEPENDENCIES_1 = spacefm_DEPENDENCIES = $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = spacefm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(spacefm_CFLAGS) \ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ am_xml_purge_OBJECTS = xml_purge-xml-purge.$(OBJEXT) xml_purge_OBJECTS = $(am_xml_purge_OBJECTS) xml_purge_DEPENDENCIES = xml_purge_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(xml_purge_CFLAGS) \ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } SCRIPTS = $(bin_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(spacefm_SOURCES) $(xml_purge_SOURCES) DIST_SOURCES = $(am__spacefm_SOURCES_DIST) $(xml_purge_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FAM_CFLAGS = @FAM_CFLAGS@ FAM_LIBS = @FAM_LIBS@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ G_CAST_CHECKS = @G_CAST_CHECKS@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_EXPORT_OPTIONS = @LIBTOOL_EXPORT_OPTIONS@ LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@ LIBUDEV_LIBS = @LIBUDEV_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SN_CFLAGS = @SN_CFLAGS@ SN_LIBS = @SN_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/mime-type \ -I$(top_srcdir)/src/compat \ -I$(top_srcdir)/src/ptk \ -I$(top_srcdir)/src/vfs \ -I$(top_srcdir)/src/libmd5-rfc \ -I$(top_srcdir)/src/desktop \ -I$(top_srcdir)/src/exo \ -DPACKAGE_DATA_DIR=\""$(datadir)/spacefm"\" \ -DPACKAGE_UI_DIR=\""$(datadir)/spacefm/ui"\" \ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ -DSYSCONFDIR=\""$(sysconfdir)"\" bin_SCRIPTS = spacefm-auth MIMETYE_SOURCES = \ mime-type/mime-type.c mime-type/mime-type.h \ mime-type/mime-action.c mime-type/mime-action.h \ mime-type/mime-cache.c mime-type/mime-cache.h MD5_SOURCES = \ libmd5-rfc/md5.c libmd5-rfc/md5.h VOLUME_HAL_SOURCES = \ vfs/vfs-volume-hal.c \ vfs/vfs-volume-hal-options.h \ vfs/vfs-volume-hal-options.c VOLUME_NOHAL_SOURCES = \ vfs/vfs-volume-nohal.c @USE_HAL_FALSE@VOLUME_SOURCES = \ @USE_HAL_FALSE@ $(VOLUME_NOHAL_SOURCES) @USE_HAL_TRUE@VOLUME_SOURCES = \ @USE_HAL_TRUE@ $(VOLUME_HAL_SOURCES) VFS_SOURCES = \ vfs/vfs-file-monitor.c vfs/vfs-file-monitor.h \ vfs/vfs-mime-type.c vfs/vfs-mime-type.h \ vfs/vfs-file-info.c vfs/vfs-file-info.h \ vfs/vfs-dir.c vfs/vfs-dir.h \ vfs/vfs-app-desktop.c vfs/vfs-app-desktop.h \ vfs/vfs-file-task.c vfs/vfs-file-task.h \ vfs/vfs-volume.h \ $(VOLUME_SOURCES) \ vfs/vfs-execute.c vfs/vfs-execute.h \ vfs/vfs-async-task.c vfs/vfs-async-task.h \ vfs/vfs-thumbnail-loader.c vfs/vfs-thumbnail-loader.h \ vfs/vfs-utils.c vfs/vfs-utils.h @DESKTOP_INTEGRATION_FALSE@DESKTOP_SOURCES = desktop/desktop.c desktop/desktop.h @DESKTOP_INTEGRATION_TRUE@DESKTOP_SOURCES = \ @DESKTOP_INTEGRATION_TRUE@ desktop/desktop-window.c desktop/desktop-window.h \ @DESKTOP_INTEGRATION_TRUE@ desktop/desktop.c desktop/desktop.h PTK_SOURCES = \ ptk/ptk-file-browser.c ptk/ptk-file-browser.h \ ptk/ptk-file-list.c ptk/ptk-file-list.h \ ptk/ptk-path-entry.c ptk/ptk-path-entry.h \ ptk/ptk-text-renderer.c ptk/ptk-text-renderer.h \ ptk/ptk-file-icon-renderer.c ptk/ptk-file-icon-renderer.h \ ptk/ptk-utils.c ptk/ptk-utils.h \ desktop/working-area.c desktop/working-area.h \ ptk/ptk-dir-tree-view.c ptk/ptk-dir-tree-view.h \ ptk/ptk-dir-tree.c ptk/ptk-dir-tree.h \ ptk/ptk-location-view.c ptk/ptk-location-view.h \ ptk/ptk-input-dialog.c ptk/ptk-input-dialog.h \ ptk/ptk-file-task.c ptk/ptk-file-task.h \ ptk/ptk-file-archiver.c ptk/ptk-file-archiver.h \ ptk/ptk-handler.c ptk/ptk-handler.h \ ptk/ptk-clipboard.c ptk/ptk-clipboard.h \ ptk/ptk-file-menu.c ptk/ptk-file-menu.h \ ptk/ptk-file-misc.c ptk/ptk-file-misc.h \ ptk/ptk-file-properties.c ptk/ptk-file-properties.h \ ptk/ptk-app-chooser.c ptk/ptk-app-chooser.h EXO_SOURCES = \ exo/exo-icon-view.c exo/exo-icon-view.h \ exo/exo-tree-view.c exo/exo-tree-view.h \ exo/exo-private.c exo/exo-private.h \ exo/exo-string.c exo/exo-string.h \ exo/exo-marshal.c exo/exo-marshal.h \ exo/exo-cell-renderer-icon.c exo/exo-cell-renderer-icon.h \ exo/exo-gtk-extensions.c exo/exo-gtk-extensions.h \ exo/exo-icon-chooser-dialog.c exo/exo-icon-chooser-dialog.h \ exo/exo-icon-chooser-model.c exo/exo-icon-chooser-model.h \ exo/exo-gdk-pixbuf-extensions.c exo/exo-gdk-pixbuf-extensions.h \ exo/exo-thumbnail-preview.c exo/exo-thumbnail-preview.h \ exo/exo-utils.c exo/exo-utils.h \ exo/exo-binding.c exo/exo-binding.h \ exo/exo-cell-renderer-ellipsized-text.c exo/exo-cell-renderer-ellipsized-text.h \ exo/exo-common.h COMPAT_SOURCES = \ compat/glib-mem.h \ compat/glib-utils.h \ compat/glib-utils.c spacefm_SOURCES = \ $(MIMETYE_SOURCES) \ $(VFS_SOURCES) \ $(MD5_SOURCES) \ $(COMPAT_SOURCES) \ $(PTK_SOURCES) \ $(EXO_SOURCES) \ $(DESKTOP_SOURCES) \ private.h \ main.c pcmanfm.h \ main-window.c main-window.h \ settings.c settings.h \ pref-dialog.c pref-dialog.h \ find-files.c find-files.h \ go-dialog.c go-dialog.h \ cust-dialog.c cust-dialog.h \ item-prop.c item-prop.h spacefm_CFLAGS = \ @GTK_CFLAGS@ \ @SN_CFLAGS@ \ @HAL_CFLAGS@ \ @LIBUDEV_CFLAGS@ \ @FFMPEG_CFLAGS@ \ @G_CAST_CHECKS@ \ -Werror-implicit-function-declaration spacefm_LDADD = \ @GTK_LIBS@ \ $(INTLLIBS) \ @FAM_LIBS@ \ @HAL_LIBS@ \ @SN_LIBS@ \ @LIBUDEV_LIBS@ \ @FFMPEG_LIBS@ xml_purge_SOURCES = xml-purge.c xml_purge_CFLAGS = @GTK_CFLAGS@ xml_purge_LDADD = @GTK_LIBS@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list mime-type/$(am__dirstamp): @$(MKDIR_P) mime-type @: > mime-type/$(am__dirstamp) mime-type/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) mime-type/$(DEPDIR) @: > mime-type/$(DEPDIR)/$(am__dirstamp) mime-type/spacefm-mime-type.$(OBJEXT): mime-type/$(am__dirstamp) \ mime-type/$(DEPDIR)/$(am__dirstamp) mime-type/spacefm-mime-action.$(OBJEXT): mime-type/$(am__dirstamp) \ mime-type/$(DEPDIR)/$(am__dirstamp) mime-type/spacefm-mime-cache.$(OBJEXT): mime-type/$(am__dirstamp) \ mime-type/$(DEPDIR)/$(am__dirstamp) vfs/$(am__dirstamp): @$(MKDIR_P) vfs @: > vfs/$(am__dirstamp) vfs/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) vfs/$(DEPDIR) @: > vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-file-monitor.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-mime-type.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-file-info.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-dir.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-app-desktop.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-file-task.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-volume-nohal.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-volume-hal.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-volume-hal-options.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-execute.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-async-task.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-thumbnail-loader.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) vfs/spacefm-vfs-utils.$(OBJEXT): vfs/$(am__dirstamp) \ vfs/$(DEPDIR)/$(am__dirstamp) libmd5-rfc/$(am__dirstamp): @$(MKDIR_P) libmd5-rfc @: > libmd5-rfc/$(am__dirstamp) libmd5-rfc/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) libmd5-rfc/$(DEPDIR) @: > libmd5-rfc/$(DEPDIR)/$(am__dirstamp) libmd5-rfc/spacefm-md5.$(OBJEXT): libmd5-rfc/$(am__dirstamp) \ libmd5-rfc/$(DEPDIR)/$(am__dirstamp) compat/$(am__dirstamp): @$(MKDIR_P) compat @: > compat/$(am__dirstamp) compat/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) compat/$(DEPDIR) @: > compat/$(DEPDIR)/$(am__dirstamp) compat/spacefm-glib-utils.$(OBJEXT): compat/$(am__dirstamp) \ compat/$(DEPDIR)/$(am__dirstamp) ptk/$(am__dirstamp): @$(MKDIR_P) ptk @: > ptk/$(am__dirstamp) ptk/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) ptk/$(DEPDIR) @: > ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-browser.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-list.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-path-entry.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-text-renderer.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-icon-renderer.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-utils.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) desktop/$(am__dirstamp): @$(MKDIR_P) desktop @: > desktop/$(am__dirstamp) desktop/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) desktop/$(DEPDIR) @: > desktop/$(DEPDIR)/$(am__dirstamp) desktop/spacefm-working-area.$(OBJEXT): desktop/$(am__dirstamp) \ desktop/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-dir-tree-view.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-dir-tree.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-location-view.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-input-dialog.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-task.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-archiver.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-handler.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-clipboard.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-menu.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-misc.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-file-properties.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) ptk/spacefm-ptk-app-chooser.$(OBJEXT): ptk/$(am__dirstamp) \ ptk/$(DEPDIR)/$(am__dirstamp) exo/$(am__dirstamp): @$(MKDIR_P) exo @: > exo/$(am__dirstamp) exo/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) exo/$(DEPDIR) @: > exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-icon-view.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-tree-view.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-private.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-string.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-marshal.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-cell-renderer-icon.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-gtk-extensions.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-icon-chooser-dialog.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-icon-chooser-model.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-gdk-pixbuf-extensions.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-thumbnail-preview.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-utils.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-binding.$(OBJEXT): exo/$(am__dirstamp) \ exo/$(DEPDIR)/$(am__dirstamp) exo/spacefm-exo-cell-renderer-ellipsized-text.$(OBJEXT): \ exo/$(am__dirstamp) exo/$(DEPDIR)/$(am__dirstamp) desktop/spacefm-desktop.$(OBJEXT): desktop/$(am__dirstamp) \ desktop/$(DEPDIR)/$(am__dirstamp) desktop/spacefm-desktop-window.$(OBJEXT): desktop/$(am__dirstamp) \ desktop/$(DEPDIR)/$(am__dirstamp) spacefm$(EXEEXT): $(spacefm_OBJECTS) $(spacefm_DEPENDENCIES) $(EXTRA_spacefm_DEPENDENCIES) @rm -f spacefm$(EXEEXT) $(AM_V_CCLD)$(spacefm_LINK) $(spacefm_OBJECTS) $(spacefm_LDADD) $(LIBS) xml-purge$(EXEEXT): $(xml_purge_OBJECTS) $(xml_purge_DEPENDENCIES) $(EXTRA_xml_purge_DEPENDENCIES) @rm -f xml-purge$(EXEEXT) $(AM_V_CCLD)$(xml_purge_LINK) $(xml_purge_OBJECTS) $(xml_purge_LDADD) $(LIBS) install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f compat/*.$(OBJEXT) -rm -f desktop/*.$(OBJEXT) -rm -f exo/*.$(OBJEXT) -rm -f libmd5-rfc/*.$(OBJEXT) -rm -f mime-type/*.$(OBJEXT) -rm -f ptk/*.$(OBJEXT) -rm -f vfs/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-cust-dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-find-files.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-go-dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-item-prop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-main-window.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-pref-dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spacefm-settings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_purge-xml-purge.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@compat/$(DEPDIR)/spacefm-glib-utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@desktop/$(DEPDIR)/spacefm-desktop-window.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@desktop/$(DEPDIR)/spacefm-desktop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@desktop/$(DEPDIR)/spacefm-working-area.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-binding.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-cell-renderer-ellipsized-text.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-cell-renderer-icon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-gdk-pixbuf-extensions.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-gtk-extensions.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-icon-chooser-dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-icon-chooser-model.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-icon-view.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-marshal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-private.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-string.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-thumbnail-preview.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-tree-view.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@exo/$(DEPDIR)/spacefm-exo-utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libmd5-rfc/$(DEPDIR)/spacefm-md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@mime-type/$(DEPDIR)/spacefm-mime-action.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@mime-type/$(DEPDIR)/spacefm-mime-cache.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@mime-type/$(DEPDIR)/spacefm-mime-type.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-app-chooser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-clipboard.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-dir-tree-view.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-dir-tree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-archiver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-browser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-icon-renderer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-menu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-properties.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-file-task.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-handler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-input-dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-location-view.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-path-entry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-text-renderer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@ptk/$(DEPDIR)/spacefm-ptk-utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-app-desktop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-async-task.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-dir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-execute.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-file-info.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-file-monitor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-file-task.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-mime-type.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-thumbnail-loader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-volume-hal-options.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-volume-hal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vfs/$(DEPDIR)/spacefm-vfs-volume-nohal.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mime-type/spacefm-mime-type.o: mime-type/mime-type.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT mime-type/spacefm-mime-type.o -MD -MP -MF mime-type/$(DEPDIR)/spacefm-mime-type.Tpo -c -o mime-type/spacefm-mime-type.o `test -f 'mime-type/mime-type.c' || echo '$(srcdir)/'`mime-type/mime-type.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mime-type/$(DEPDIR)/spacefm-mime-type.Tpo mime-type/$(DEPDIR)/spacefm-mime-type.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mime-type/mime-type.c' object='mime-type/spacefm-mime-type.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o mime-type/spacefm-mime-type.o `test -f 'mime-type/mime-type.c' || echo '$(srcdir)/'`mime-type/mime-type.c mime-type/spacefm-mime-type.obj: mime-type/mime-type.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT mime-type/spacefm-mime-type.obj -MD -MP -MF mime-type/$(DEPDIR)/spacefm-mime-type.Tpo -c -o mime-type/spacefm-mime-type.obj `if test -f 'mime-type/mime-type.c'; then $(CYGPATH_W) 'mime-type/mime-type.c'; else $(CYGPATH_W) '$(srcdir)/mime-type/mime-type.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mime-type/$(DEPDIR)/spacefm-mime-type.Tpo mime-type/$(DEPDIR)/spacefm-mime-type.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mime-type/mime-type.c' object='mime-type/spacefm-mime-type.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o mime-type/spacefm-mime-type.obj `if test -f 'mime-type/mime-type.c'; then $(CYGPATH_W) 'mime-type/mime-type.c'; else $(CYGPATH_W) '$(srcdir)/mime-type/mime-type.c'; fi` mime-type/spacefm-mime-action.o: mime-type/mime-action.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT mime-type/spacefm-mime-action.o -MD -MP -MF mime-type/$(DEPDIR)/spacefm-mime-action.Tpo -c -o mime-type/spacefm-mime-action.o `test -f 'mime-type/mime-action.c' || echo '$(srcdir)/'`mime-type/mime-action.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mime-type/$(DEPDIR)/spacefm-mime-action.Tpo mime-type/$(DEPDIR)/spacefm-mime-action.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mime-type/mime-action.c' object='mime-type/spacefm-mime-action.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o mime-type/spacefm-mime-action.o `test -f 'mime-type/mime-action.c' || echo '$(srcdir)/'`mime-type/mime-action.c mime-type/spacefm-mime-action.obj: mime-type/mime-action.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT mime-type/spacefm-mime-action.obj -MD -MP -MF mime-type/$(DEPDIR)/spacefm-mime-action.Tpo -c -o mime-type/spacefm-mime-action.obj `if test -f 'mime-type/mime-action.c'; then $(CYGPATH_W) 'mime-type/mime-action.c'; else $(CYGPATH_W) '$(srcdir)/mime-type/mime-action.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mime-type/$(DEPDIR)/spacefm-mime-action.Tpo mime-type/$(DEPDIR)/spacefm-mime-action.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mime-type/mime-action.c' object='mime-type/spacefm-mime-action.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o mime-type/spacefm-mime-action.obj `if test -f 'mime-type/mime-action.c'; then $(CYGPATH_W) 'mime-type/mime-action.c'; else $(CYGPATH_W) '$(srcdir)/mime-type/mime-action.c'; fi` mime-type/spacefm-mime-cache.o: mime-type/mime-cache.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT mime-type/spacefm-mime-cache.o -MD -MP -MF mime-type/$(DEPDIR)/spacefm-mime-cache.Tpo -c -o mime-type/spacefm-mime-cache.o `test -f 'mime-type/mime-cache.c' || echo '$(srcdir)/'`mime-type/mime-cache.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mime-type/$(DEPDIR)/spacefm-mime-cache.Tpo mime-type/$(DEPDIR)/spacefm-mime-cache.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mime-type/mime-cache.c' object='mime-type/spacefm-mime-cache.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o mime-type/spacefm-mime-cache.o `test -f 'mime-type/mime-cache.c' || echo '$(srcdir)/'`mime-type/mime-cache.c mime-type/spacefm-mime-cache.obj: mime-type/mime-cache.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT mime-type/spacefm-mime-cache.obj -MD -MP -MF mime-type/$(DEPDIR)/spacefm-mime-cache.Tpo -c -o mime-type/spacefm-mime-cache.obj `if test -f 'mime-type/mime-cache.c'; then $(CYGPATH_W) 'mime-type/mime-cache.c'; else $(CYGPATH_W) '$(srcdir)/mime-type/mime-cache.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mime-type/$(DEPDIR)/spacefm-mime-cache.Tpo mime-type/$(DEPDIR)/spacefm-mime-cache.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mime-type/mime-cache.c' object='mime-type/spacefm-mime-cache.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o mime-type/spacefm-mime-cache.obj `if test -f 'mime-type/mime-cache.c'; then $(CYGPATH_W) 'mime-type/mime-cache.c'; else $(CYGPATH_W) '$(srcdir)/mime-type/mime-cache.c'; fi` vfs/spacefm-vfs-file-monitor.o: vfs/vfs-file-monitor.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-file-monitor.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-file-monitor.Tpo -c -o vfs/spacefm-vfs-file-monitor.o `test -f 'vfs/vfs-file-monitor.c' || echo '$(srcdir)/'`vfs/vfs-file-monitor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-file-monitor.Tpo vfs/$(DEPDIR)/spacefm-vfs-file-monitor.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-file-monitor.c' object='vfs/spacefm-vfs-file-monitor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-file-monitor.o `test -f 'vfs/vfs-file-monitor.c' || echo '$(srcdir)/'`vfs/vfs-file-monitor.c vfs/spacefm-vfs-file-monitor.obj: vfs/vfs-file-monitor.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-file-monitor.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-file-monitor.Tpo -c -o vfs/spacefm-vfs-file-monitor.obj `if test -f 'vfs/vfs-file-monitor.c'; then $(CYGPATH_W) 'vfs/vfs-file-monitor.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-file-monitor.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-file-monitor.Tpo vfs/$(DEPDIR)/spacefm-vfs-file-monitor.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-file-monitor.c' object='vfs/spacefm-vfs-file-monitor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-file-monitor.obj `if test -f 'vfs/vfs-file-monitor.c'; then $(CYGPATH_W) 'vfs/vfs-file-monitor.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-file-monitor.c'; fi` vfs/spacefm-vfs-mime-type.o: vfs/vfs-mime-type.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-mime-type.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-mime-type.Tpo -c -o vfs/spacefm-vfs-mime-type.o `test -f 'vfs/vfs-mime-type.c' || echo '$(srcdir)/'`vfs/vfs-mime-type.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-mime-type.Tpo vfs/$(DEPDIR)/spacefm-vfs-mime-type.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-mime-type.c' object='vfs/spacefm-vfs-mime-type.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-mime-type.o `test -f 'vfs/vfs-mime-type.c' || echo '$(srcdir)/'`vfs/vfs-mime-type.c vfs/spacefm-vfs-mime-type.obj: vfs/vfs-mime-type.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-mime-type.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-mime-type.Tpo -c -o vfs/spacefm-vfs-mime-type.obj `if test -f 'vfs/vfs-mime-type.c'; then $(CYGPATH_W) 'vfs/vfs-mime-type.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-mime-type.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-mime-type.Tpo vfs/$(DEPDIR)/spacefm-vfs-mime-type.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-mime-type.c' object='vfs/spacefm-vfs-mime-type.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-mime-type.obj `if test -f 'vfs/vfs-mime-type.c'; then $(CYGPATH_W) 'vfs/vfs-mime-type.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-mime-type.c'; fi` vfs/spacefm-vfs-file-info.o: vfs/vfs-file-info.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-file-info.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-file-info.Tpo -c -o vfs/spacefm-vfs-file-info.o `test -f 'vfs/vfs-file-info.c' || echo '$(srcdir)/'`vfs/vfs-file-info.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-file-info.Tpo vfs/$(DEPDIR)/spacefm-vfs-file-info.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-file-info.c' object='vfs/spacefm-vfs-file-info.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-file-info.o `test -f 'vfs/vfs-file-info.c' || echo '$(srcdir)/'`vfs/vfs-file-info.c vfs/spacefm-vfs-file-info.obj: vfs/vfs-file-info.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-file-info.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-file-info.Tpo -c -o vfs/spacefm-vfs-file-info.obj `if test -f 'vfs/vfs-file-info.c'; then $(CYGPATH_W) 'vfs/vfs-file-info.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-file-info.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-file-info.Tpo vfs/$(DEPDIR)/spacefm-vfs-file-info.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-file-info.c' object='vfs/spacefm-vfs-file-info.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-file-info.obj `if test -f 'vfs/vfs-file-info.c'; then $(CYGPATH_W) 'vfs/vfs-file-info.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-file-info.c'; fi` vfs/spacefm-vfs-dir.o: vfs/vfs-dir.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-dir.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-dir.Tpo -c -o vfs/spacefm-vfs-dir.o `test -f 'vfs/vfs-dir.c' || echo '$(srcdir)/'`vfs/vfs-dir.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-dir.Tpo vfs/$(DEPDIR)/spacefm-vfs-dir.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-dir.c' object='vfs/spacefm-vfs-dir.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-dir.o `test -f 'vfs/vfs-dir.c' || echo '$(srcdir)/'`vfs/vfs-dir.c vfs/spacefm-vfs-dir.obj: vfs/vfs-dir.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-dir.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-dir.Tpo -c -o vfs/spacefm-vfs-dir.obj `if test -f 'vfs/vfs-dir.c'; then $(CYGPATH_W) 'vfs/vfs-dir.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-dir.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-dir.Tpo vfs/$(DEPDIR)/spacefm-vfs-dir.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-dir.c' object='vfs/spacefm-vfs-dir.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-dir.obj `if test -f 'vfs/vfs-dir.c'; then $(CYGPATH_W) 'vfs/vfs-dir.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-dir.c'; fi` vfs/spacefm-vfs-app-desktop.o: vfs/vfs-app-desktop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-app-desktop.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-app-desktop.Tpo -c -o vfs/spacefm-vfs-app-desktop.o `test -f 'vfs/vfs-app-desktop.c' || echo '$(srcdir)/'`vfs/vfs-app-desktop.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-app-desktop.Tpo vfs/$(DEPDIR)/spacefm-vfs-app-desktop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-app-desktop.c' object='vfs/spacefm-vfs-app-desktop.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-app-desktop.o `test -f 'vfs/vfs-app-desktop.c' || echo '$(srcdir)/'`vfs/vfs-app-desktop.c vfs/spacefm-vfs-app-desktop.obj: vfs/vfs-app-desktop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-app-desktop.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-app-desktop.Tpo -c -o vfs/spacefm-vfs-app-desktop.obj `if test -f 'vfs/vfs-app-desktop.c'; then $(CYGPATH_W) 'vfs/vfs-app-desktop.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-app-desktop.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-app-desktop.Tpo vfs/$(DEPDIR)/spacefm-vfs-app-desktop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-app-desktop.c' object='vfs/spacefm-vfs-app-desktop.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-app-desktop.obj `if test -f 'vfs/vfs-app-desktop.c'; then $(CYGPATH_W) 'vfs/vfs-app-desktop.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-app-desktop.c'; fi` vfs/spacefm-vfs-file-task.o: vfs/vfs-file-task.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-file-task.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-file-task.Tpo -c -o vfs/spacefm-vfs-file-task.o `test -f 'vfs/vfs-file-task.c' || echo '$(srcdir)/'`vfs/vfs-file-task.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-file-task.Tpo vfs/$(DEPDIR)/spacefm-vfs-file-task.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-file-task.c' object='vfs/spacefm-vfs-file-task.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-file-task.o `test -f 'vfs/vfs-file-task.c' || echo '$(srcdir)/'`vfs/vfs-file-task.c vfs/spacefm-vfs-file-task.obj: vfs/vfs-file-task.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-file-task.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-file-task.Tpo -c -o vfs/spacefm-vfs-file-task.obj `if test -f 'vfs/vfs-file-task.c'; then $(CYGPATH_W) 'vfs/vfs-file-task.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-file-task.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-file-task.Tpo vfs/$(DEPDIR)/spacefm-vfs-file-task.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-file-task.c' object='vfs/spacefm-vfs-file-task.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-file-task.obj `if test -f 'vfs/vfs-file-task.c'; then $(CYGPATH_W) 'vfs/vfs-file-task.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-file-task.c'; fi` vfs/spacefm-vfs-volume-nohal.o: vfs/vfs-volume-nohal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-volume-nohal.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-volume-nohal.Tpo -c -o vfs/spacefm-vfs-volume-nohal.o `test -f 'vfs/vfs-volume-nohal.c' || echo '$(srcdir)/'`vfs/vfs-volume-nohal.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-volume-nohal.Tpo vfs/$(DEPDIR)/spacefm-vfs-volume-nohal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-volume-nohal.c' object='vfs/spacefm-vfs-volume-nohal.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-volume-nohal.o `test -f 'vfs/vfs-volume-nohal.c' || echo '$(srcdir)/'`vfs/vfs-volume-nohal.c vfs/spacefm-vfs-volume-nohal.obj: vfs/vfs-volume-nohal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-volume-nohal.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-volume-nohal.Tpo -c -o vfs/spacefm-vfs-volume-nohal.obj `if test -f 'vfs/vfs-volume-nohal.c'; then $(CYGPATH_W) 'vfs/vfs-volume-nohal.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-volume-nohal.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-volume-nohal.Tpo vfs/$(DEPDIR)/spacefm-vfs-volume-nohal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-volume-nohal.c' object='vfs/spacefm-vfs-volume-nohal.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-volume-nohal.obj `if test -f 'vfs/vfs-volume-nohal.c'; then $(CYGPATH_W) 'vfs/vfs-volume-nohal.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-volume-nohal.c'; fi` vfs/spacefm-vfs-volume-hal.o: vfs/vfs-volume-hal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-volume-hal.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-volume-hal.Tpo -c -o vfs/spacefm-vfs-volume-hal.o `test -f 'vfs/vfs-volume-hal.c' || echo '$(srcdir)/'`vfs/vfs-volume-hal.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-volume-hal.Tpo vfs/$(DEPDIR)/spacefm-vfs-volume-hal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-volume-hal.c' object='vfs/spacefm-vfs-volume-hal.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-volume-hal.o `test -f 'vfs/vfs-volume-hal.c' || echo '$(srcdir)/'`vfs/vfs-volume-hal.c vfs/spacefm-vfs-volume-hal.obj: vfs/vfs-volume-hal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-volume-hal.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-volume-hal.Tpo -c -o vfs/spacefm-vfs-volume-hal.obj `if test -f 'vfs/vfs-volume-hal.c'; then $(CYGPATH_W) 'vfs/vfs-volume-hal.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-volume-hal.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-volume-hal.Tpo vfs/$(DEPDIR)/spacefm-vfs-volume-hal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-volume-hal.c' object='vfs/spacefm-vfs-volume-hal.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-volume-hal.obj `if test -f 'vfs/vfs-volume-hal.c'; then $(CYGPATH_W) 'vfs/vfs-volume-hal.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-volume-hal.c'; fi` vfs/spacefm-vfs-volume-hal-options.o: vfs/vfs-volume-hal-options.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-volume-hal-options.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-volume-hal-options.Tpo -c -o vfs/spacefm-vfs-volume-hal-options.o `test -f 'vfs/vfs-volume-hal-options.c' || echo '$(srcdir)/'`vfs/vfs-volume-hal-options.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-volume-hal-options.Tpo vfs/$(DEPDIR)/spacefm-vfs-volume-hal-options.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-volume-hal-options.c' object='vfs/spacefm-vfs-volume-hal-options.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-volume-hal-options.o `test -f 'vfs/vfs-volume-hal-options.c' || echo '$(srcdir)/'`vfs/vfs-volume-hal-options.c vfs/spacefm-vfs-volume-hal-options.obj: vfs/vfs-volume-hal-options.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-volume-hal-options.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-volume-hal-options.Tpo -c -o vfs/spacefm-vfs-volume-hal-options.obj `if test -f 'vfs/vfs-volume-hal-options.c'; then $(CYGPATH_W) 'vfs/vfs-volume-hal-options.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-volume-hal-options.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-volume-hal-options.Tpo vfs/$(DEPDIR)/spacefm-vfs-volume-hal-options.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-volume-hal-options.c' object='vfs/spacefm-vfs-volume-hal-options.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-volume-hal-options.obj `if test -f 'vfs/vfs-volume-hal-options.c'; then $(CYGPATH_W) 'vfs/vfs-volume-hal-options.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-volume-hal-options.c'; fi` vfs/spacefm-vfs-execute.o: vfs/vfs-execute.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-execute.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-execute.Tpo -c -o vfs/spacefm-vfs-execute.o `test -f 'vfs/vfs-execute.c' || echo '$(srcdir)/'`vfs/vfs-execute.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-execute.Tpo vfs/$(DEPDIR)/spacefm-vfs-execute.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-execute.c' object='vfs/spacefm-vfs-execute.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-execute.o `test -f 'vfs/vfs-execute.c' || echo '$(srcdir)/'`vfs/vfs-execute.c vfs/spacefm-vfs-execute.obj: vfs/vfs-execute.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-execute.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-execute.Tpo -c -o vfs/spacefm-vfs-execute.obj `if test -f 'vfs/vfs-execute.c'; then $(CYGPATH_W) 'vfs/vfs-execute.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-execute.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-execute.Tpo vfs/$(DEPDIR)/spacefm-vfs-execute.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-execute.c' object='vfs/spacefm-vfs-execute.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-execute.obj `if test -f 'vfs/vfs-execute.c'; then $(CYGPATH_W) 'vfs/vfs-execute.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-execute.c'; fi` vfs/spacefm-vfs-async-task.o: vfs/vfs-async-task.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-async-task.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-async-task.Tpo -c -o vfs/spacefm-vfs-async-task.o `test -f 'vfs/vfs-async-task.c' || echo '$(srcdir)/'`vfs/vfs-async-task.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-async-task.Tpo vfs/$(DEPDIR)/spacefm-vfs-async-task.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-async-task.c' object='vfs/spacefm-vfs-async-task.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-async-task.o `test -f 'vfs/vfs-async-task.c' || echo '$(srcdir)/'`vfs/vfs-async-task.c vfs/spacefm-vfs-async-task.obj: vfs/vfs-async-task.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-async-task.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-async-task.Tpo -c -o vfs/spacefm-vfs-async-task.obj `if test -f 'vfs/vfs-async-task.c'; then $(CYGPATH_W) 'vfs/vfs-async-task.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-async-task.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-async-task.Tpo vfs/$(DEPDIR)/spacefm-vfs-async-task.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-async-task.c' object='vfs/spacefm-vfs-async-task.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-async-task.obj `if test -f 'vfs/vfs-async-task.c'; then $(CYGPATH_W) 'vfs/vfs-async-task.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-async-task.c'; fi` vfs/spacefm-vfs-thumbnail-loader.o: vfs/vfs-thumbnail-loader.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-thumbnail-loader.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-thumbnail-loader.Tpo -c -o vfs/spacefm-vfs-thumbnail-loader.o `test -f 'vfs/vfs-thumbnail-loader.c' || echo '$(srcdir)/'`vfs/vfs-thumbnail-loader.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-thumbnail-loader.Tpo vfs/$(DEPDIR)/spacefm-vfs-thumbnail-loader.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-thumbnail-loader.c' object='vfs/spacefm-vfs-thumbnail-loader.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-thumbnail-loader.o `test -f 'vfs/vfs-thumbnail-loader.c' || echo '$(srcdir)/'`vfs/vfs-thumbnail-loader.c vfs/spacefm-vfs-thumbnail-loader.obj: vfs/vfs-thumbnail-loader.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-thumbnail-loader.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-thumbnail-loader.Tpo -c -o vfs/spacefm-vfs-thumbnail-loader.obj `if test -f 'vfs/vfs-thumbnail-loader.c'; then $(CYGPATH_W) 'vfs/vfs-thumbnail-loader.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-thumbnail-loader.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-thumbnail-loader.Tpo vfs/$(DEPDIR)/spacefm-vfs-thumbnail-loader.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-thumbnail-loader.c' object='vfs/spacefm-vfs-thumbnail-loader.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-thumbnail-loader.obj `if test -f 'vfs/vfs-thumbnail-loader.c'; then $(CYGPATH_W) 'vfs/vfs-thumbnail-loader.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-thumbnail-loader.c'; fi` vfs/spacefm-vfs-utils.o: vfs/vfs-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-utils.o -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-utils.Tpo -c -o vfs/spacefm-vfs-utils.o `test -f 'vfs/vfs-utils.c' || echo '$(srcdir)/'`vfs/vfs-utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-utils.Tpo vfs/$(DEPDIR)/spacefm-vfs-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-utils.c' object='vfs/spacefm-vfs-utils.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-utils.o `test -f 'vfs/vfs-utils.c' || echo '$(srcdir)/'`vfs/vfs-utils.c vfs/spacefm-vfs-utils.obj: vfs/vfs-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT vfs/spacefm-vfs-utils.obj -MD -MP -MF vfs/$(DEPDIR)/spacefm-vfs-utils.Tpo -c -o vfs/spacefm-vfs-utils.obj `if test -f 'vfs/vfs-utils.c'; then $(CYGPATH_W) 'vfs/vfs-utils.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-utils.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vfs/$(DEPDIR)/spacefm-vfs-utils.Tpo vfs/$(DEPDIR)/spacefm-vfs-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vfs/vfs-utils.c' object='vfs/spacefm-vfs-utils.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o vfs/spacefm-vfs-utils.obj `if test -f 'vfs/vfs-utils.c'; then $(CYGPATH_W) 'vfs/vfs-utils.c'; else $(CYGPATH_W) '$(srcdir)/vfs/vfs-utils.c'; fi` libmd5-rfc/spacefm-md5.o: libmd5-rfc/md5.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT libmd5-rfc/spacefm-md5.o -MD -MP -MF libmd5-rfc/$(DEPDIR)/spacefm-md5.Tpo -c -o libmd5-rfc/spacefm-md5.o `test -f 'libmd5-rfc/md5.c' || echo '$(srcdir)/'`libmd5-rfc/md5.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmd5-rfc/$(DEPDIR)/spacefm-md5.Tpo libmd5-rfc/$(DEPDIR)/spacefm-md5.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libmd5-rfc/md5.c' object='libmd5-rfc/spacefm-md5.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o libmd5-rfc/spacefm-md5.o `test -f 'libmd5-rfc/md5.c' || echo '$(srcdir)/'`libmd5-rfc/md5.c libmd5-rfc/spacefm-md5.obj: libmd5-rfc/md5.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT libmd5-rfc/spacefm-md5.obj -MD -MP -MF libmd5-rfc/$(DEPDIR)/spacefm-md5.Tpo -c -o libmd5-rfc/spacefm-md5.obj `if test -f 'libmd5-rfc/md5.c'; then $(CYGPATH_W) 'libmd5-rfc/md5.c'; else $(CYGPATH_W) '$(srcdir)/libmd5-rfc/md5.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libmd5-rfc/$(DEPDIR)/spacefm-md5.Tpo libmd5-rfc/$(DEPDIR)/spacefm-md5.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libmd5-rfc/md5.c' object='libmd5-rfc/spacefm-md5.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o libmd5-rfc/spacefm-md5.obj `if test -f 'libmd5-rfc/md5.c'; then $(CYGPATH_W) 'libmd5-rfc/md5.c'; else $(CYGPATH_W) '$(srcdir)/libmd5-rfc/md5.c'; fi` compat/spacefm-glib-utils.o: compat/glib-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT compat/spacefm-glib-utils.o -MD -MP -MF compat/$(DEPDIR)/spacefm-glib-utils.Tpo -c -o compat/spacefm-glib-utils.o `test -f 'compat/glib-utils.c' || echo '$(srcdir)/'`compat/glib-utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) compat/$(DEPDIR)/spacefm-glib-utils.Tpo compat/$(DEPDIR)/spacefm-glib-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/glib-utils.c' object='compat/spacefm-glib-utils.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o compat/spacefm-glib-utils.o `test -f 'compat/glib-utils.c' || echo '$(srcdir)/'`compat/glib-utils.c compat/spacefm-glib-utils.obj: compat/glib-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT compat/spacefm-glib-utils.obj -MD -MP -MF compat/$(DEPDIR)/spacefm-glib-utils.Tpo -c -o compat/spacefm-glib-utils.obj `if test -f 'compat/glib-utils.c'; then $(CYGPATH_W) 'compat/glib-utils.c'; else $(CYGPATH_W) '$(srcdir)/compat/glib-utils.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) compat/$(DEPDIR)/spacefm-glib-utils.Tpo compat/$(DEPDIR)/spacefm-glib-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/glib-utils.c' object='compat/spacefm-glib-utils.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o compat/spacefm-glib-utils.obj `if test -f 'compat/glib-utils.c'; then $(CYGPATH_W) 'compat/glib-utils.c'; else $(CYGPATH_W) '$(srcdir)/compat/glib-utils.c'; fi` ptk/spacefm-ptk-file-browser.o: ptk/ptk-file-browser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-browser.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-browser.Tpo -c -o ptk/spacefm-ptk-file-browser.o `test -f 'ptk/ptk-file-browser.c' || echo '$(srcdir)/'`ptk/ptk-file-browser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-browser.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-browser.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-browser.c' object='ptk/spacefm-ptk-file-browser.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-browser.o `test -f 'ptk/ptk-file-browser.c' || echo '$(srcdir)/'`ptk/ptk-file-browser.c ptk/spacefm-ptk-file-browser.obj: ptk/ptk-file-browser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-browser.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-browser.Tpo -c -o ptk/spacefm-ptk-file-browser.obj `if test -f 'ptk/ptk-file-browser.c'; then $(CYGPATH_W) 'ptk/ptk-file-browser.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-browser.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-browser.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-browser.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-browser.c' object='ptk/spacefm-ptk-file-browser.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-browser.obj `if test -f 'ptk/ptk-file-browser.c'; then $(CYGPATH_W) 'ptk/ptk-file-browser.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-browser.c'; fi` ptk/spacefm-ptk-file-list.o: ptk/ptk-file-list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-list.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-list.Tpo -c -o ptk/spacefm-ptk-file-list.o `test -f 'ptk/ptk-file-list.c' || echo '$(srcdir)/'`ptk/ptk-file-list.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-list.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-list.c' object='ptk/spacefm-ptk-file-list.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-list.o `test -f 'ptk/ptk-file-list.c' || echo '$(srcdir)/'`ptk/ptk-file-list.c ptk/spacefm-ptk-file-list.obj: ptk/ptk-file-list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-list.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-list.Tpo -c -o ptk/spacefm-ptk-file-list.obj `if test -f 'ptk/ptk-file-list.c'; then $(CYGPATH_W) 'ptk/ptk-file-list.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-list.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-list.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-list.c' object='ptk/spacefm-ptk-file-list.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-list.obj `if test -f 'ptk/ptk-file-list.c'; then $(CYGPATH_W) 'ptk/ptk-file-list.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-list.c'; fi` ptk/spacefm-ptk-path-entry.o: ptk/ptk-path-entry.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-path-entry.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-path-entry.Tpo -c -o ptk/spacefm-ptk-path-entry.o `test -f 'ptk/ptk-path-entry.c' || echo '$(srcdir)/'`ptk/ptk-path-entry.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-path-entry.Tpo ptk/$(DEPDIR)/spacefm-ptk-path-entry.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-path-entry.c' object='ptk/spacefm-ptk-path-entry.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-path-entry.o `test -f 'ptk/ptk-path-entry.c' || echo '$(srcdir)/'`ptk/ptk-path-entry.c ptk/spacefm-ptk-path-entry.obj: ptk/ptk-path-entry.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-path-entry.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-path-entry.Tpo -c -o ptk/spacefm-ptk-path-entry.obj `if test -f 'ptk/ptk-path-entry.c'; then $(CYGPATH_W) 'ptk/ptk-path-entry.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-path-entry.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-path-entry.Tpo ptk/$(DEPDIR)/spacefm-ptk-path-entry.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-path-entry.c' object='ptk/spacefm-ptk-path-entry.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-path-entry.obj `if test -f 'ptk/ptk-path-entry.c'; then $(CYGPATH_W) 'ptk/ptk-path-entry.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-path-entry.c'; fi` ptk/spacefm-ptk-text-renderer.o: ptk/ptk-text-renderer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-text-renderer.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-text-renderer.Tpo -c -o ptk/spacefm-ptk-text-renderer.o `test -f 'ptk/ptk-text-renderer.c' || echo '$(srcdir)/'`ptk/ptk-text-renderer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-text-renderer.Tpo ptk/$(DEPDIR)/spacefm-ptk-text-renderer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-text-renderer.c' object='ptk/spacefm-ptk-text-renderer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-text-renderer.o `test -f 'ptk/ptk-text-renderer.c' || echo '$(srcdir)/'`ptk/ptk-text-renderer.c ptk/spacefm-ptk-text-renderer.obj: ptk/ptk-text-renderer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-text-renderer.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-text-renderer.Tpo -c -o ptk/spacefm-ptk-text-renderer.obj `if test -f 'ptk/ptk-text-renderer.c'; then $(CYGPATH_W) 'ptk/ptk-text-renderer.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-text-renderer.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-text-renderer.Tpo ptk/$(DEPDIR)/spacefm-ptk-text-renderer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-text-renderer.c' object='ptk/spacefm-ptk-text-renderer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-text-renderer.obj `if test -f 'ptk/ptk-text-renderer.c'; then $(CYGPATH_W) 'ptk/ptk-text-renderer.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-text-renderer.c'; fi` ptk/spacefm-ptk-file-icon-renderer.o: ptk/ptk-file-icon-renderer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-icon-renderer.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-icon-renderer.Tpo -c -o ptk/spacefm-ptk-file-icon-renderer.o `test -f 'ptk/ptk-file-icon-renderer.c' || echo '$(srcdir)/'`ptk/ptk-file-icon-renderer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-icon-renderer.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-icon-renderer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-icon-renderer.c' object='ptk/spacefm-ptk-file-icon-renderer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-icon-renderer.o `test -f 'ptk/ptk-file-icon-renderer.c' || echo '$(srcdir)/'`ptk/ptk-file-icon-renderer.c ptk/spacefm-ptk-file-icon-renderer.obj: ptk/ptk-file-icon-renderer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-icon-renderer.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-icon-renderer.Tpo -c -o ptk/spacefm-ptk-file-icon-renderer.obj `if test -f 'ptk/ptk-file-icon-renderer.c'; then $(CYGPATH_W) 'ptk/ptk-file-icon-renderer.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-icon-renderer.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-icon-renderer.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-icon-renderer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-icon-renderer.c' object='ptk/spacefm-ptk-file-icon-renderer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-icon-renderer.obj `if test -f 'ptk/ptk-file-icon-renderer.c'; then $(CYGPATH_W) 'ptk/ptk-file-icon-renderer.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-icon-renderer.c'; fi` ptk/spacefm-ptk-utils.o: ptk/ptk-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-utils.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-utils.Tpo -c -o ptk/spacefm-ptk-utils.o `test -f 'ptk/ptk-utils.c' || echo '$(srcdir)/'`ptk/ptk-utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-utils.Tpo ptk/$(DEPDIR)/spacefm-ptk-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-utils.c' object='ptk/spacefm-ptk-utils.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-utils.o `test -f 'ptk/ptk-utils.c' || echo '$(srcdir)/'`ptk/ptk-utils.c ptk/spacefm-ptk-utils.obj: ptk/ptk-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-utils.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-utils.Tpo -c -o ptk/spacefm-ptk-utils.obj `if test -f 'ptk/ptk-utils.c'; then $(CYGPATH_W) 'ptk/ptk-utils.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-utils.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-utils.Tpo ptk/$(DEPDIR)/spacefm-ptk-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-utils.c' object='ptk/spacefm-ptk-utils.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-utils.obj `if test -f 'ptk/ptk-utils.c'; then $(CYGPATH_W) 'ptk/ptk-utils.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-utils.c'; fi` desktop/spacefm-working-area.o: desktop/working-area.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT desktop/spacefm-working-area.o -MD -MP -MF desktop/$(DEPDIR)/spacefm-working-area.Tpo -c -o desktop/spacefm-working-area.o `test -f 'desktop/working-area.c' || echo '$(srcdir)/'`desktop/working-area.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) desktop/$(DEPDIR)/spacefm-working-area.Tpo desktop/$(DEPDIR)/spacefm-working-area.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='desktop/working-area.c' object='desktop/spacefm-working-area.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o desktop/spacefm-working-area.o `test -f 'desktop/working-area.c' || echo '$(srcdir)/'`desktop/working-area.c desktop/spacefm-working-area.obj: desktop/working-area.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT desktop/spacefm-working-area.obj -MD -MP -MF desktop/$(DEPDIR)/spacefm-working-area.Tpo -c -o desktop/spacefm-working-area.obj `if test -f 'desktop/working-area.c'; then $(CYGPATH_W) 'desktop/working-area.c'; else $(CYGPATH_W) '$(srcdir)/desktop/working-area.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) desktop/$(DEPDIR)/spacefm-working-area.Tpo desktop/$(DEPDIR)/spacefm-working-area.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='desktop/working-area.c' object='desktop/spacefm-working-area.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o desktop/spacefm-working-area.obj `if test -f 'desktop/working-area.c'; then $(CYGPATH_W) 'desktop/working-area.c'; else $(CYGPATH_W) '$(srcdir)/desktop/working-area.c'; fi` ptk/spacefm-ptk-dir-tree-view.o: ptk/ptk-dir-tree-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-dir-tree-view.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-dir-tree-view.Tpo -c -o ptk/spacefm-ptk-dir-tree-view.o `test -f 'ptk/ptk-dir-tree-view.c' || echo '$(srcdir)/'`ptk/ptk-dir-tree-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-dir-tree-view.Tpo ptk/$(DEPDIR)/spacefm-ptk-dir-tree-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-dir-tree-view.c' object='ptk/spacefm-ptk-dir-tree-view.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-dir-tree-view.o `test -f 'ptk/ptk-dir-tree-view.c' || echo '$(srcdir)/'`ptk/ptk-dir-tree-view.c ptk/spacefm-ptk-dir-tree-view.obj: ptk/ptk-dir-tree-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-dir-tree-view.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-dir-tree-view.Tpo -c -o ptk/spacefm-ptk-dir-tree-view.obj `if test -f 'ptk/ptk-dir-tree-view.c'; then $(CYGPATH_W) 'ptk/ptk-dir-tree-view.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-dir-tree-view.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-dir-tree-view.Tpo ptk/$(DEPDIR)/spacefm-ptk-dir-tree-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-dir-tree-view.c' object='ptk/spacefm-ptk-dir-tree-view.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-dir-tree-view.obj `if test -f 'ptk/ptk-dir-tree-view.c'; then $(CYGPATH_W) 'ptk/ptk-dir-tree-view.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-dir-tree-view.c'; fi` ptk/spacefm-ptk-dir-tree.o: ptk/ptk-dir-tree.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-dir-tree.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-dir-tree.Tpo -c -o ptk/spacefm-ptk-dir-tree.o `test -f 'ptk/ptk-dir-tree.c' || echo '$(srcdir)/'`ptk/ptk-dir-tree.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-dir-tree.Tpo ptk/$(DEPDIR)/spacefm-ptk-dir-tree.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-dir-tree.c' object='ptk/spacefm-ptk-dir-tree.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-dir-tree.o `test -f 'ptk/ptk-dir-tree.c' || echo '$(srcdir)/'`ptk/ptk-dir-tree.c ptk/spacefm-ptk-dir-tree.obj: ptk/ptk-dir-tree.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-dir-tree.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-dir-tree.Tpo -c -o ptk/spacefm-ptk-dir-tree.obj `if test -f 'ptk/ptk-dir-tree.c'; then $(CYGPATH_W) 'ptk/ptk-dir-tree.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-dir-tree.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-dir-tree.Tpo ptk/$(DEPDIR)/spacefm-ptk-dir-tree.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-dir-tree.c' object='ptk/spacefm-ptk-dir-tree.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-dir-tree.obj `if test -f 'ptk/ptk-dir-tree.c'; then $(CYGPATH_W) 'ptk/ptk-dir-tree.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-dir-tree.c'; fi` ptk/spacefm-ptk-location-view.o: ptk/ptk-location-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-location-view.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-location-view.Tpo -c -o ptk/spacefm-ptk-location-view.o `test -f 'ptk/ptk-location-view.c' || echo '$(srcdir)/'`ptk/ptk-location-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-location-view.Tpo ptk/$(DEPDIR)/spacefm-ptk-location-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-location-view.c' object='ptk/spacefm-ptk-location-view.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-location-view.o `test -f 'ptk/ptk-location-view.c' || echo '$(srcdir)/'`ptk/ptk-location-view.c ptk/spacefm-ptk-location-view.obj: ptk/ptk-location-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-location-view.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-location-view.Tpo -c -o ptk/spacefm-ptk-location-view.obj `if test -f 'ptk/ptk-location-view.c'; then $(CYGPATH_W) 'ptk/ptk-location-view.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-location-view.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-location-view.Tpo ptk/$(DEPDIR)/spacefm-ptk-location-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-location-view.c' object='ptk/spacefm-ptk-location-view.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-location-view.obj `if test -f 'ptk/ptk-location-view.c'; then $(CYGPATH_W) 'ptk/ptk-location-view.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-location-view.c'; fi` ptk/spacefm-ptk-input-dialog.o: ptk/ptk-input-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-input-dialog.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-input-dialog.Tpo -c -o ptk/spacefm-ptk-input-dialog.o `test -f 'ptk/ptk-input-dialog.c' || echo '$(srcdir)/'`ptk/ptk-input-dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-input-dialog.Tpo ptk/$(DEPDIR)/spacefm-ptk-input-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-input-dialog.c' object='ptk/spacefm-ptk-input-dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-input-dialog.o `test -f 'ptk/ptk-input-dialog.c' || echo '$(srcdir)/'`ptk/ptk-input-dialog.c ptk/spacefm-ptk-input-dialog.obj: ptk/ptk-input-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-input-dialog.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-input-dialog.Tpo -c -o ptk/spacefm-ptk-input-dialog.obj `if test -f 'ptk/ptk-input-dialog.c'; then $(CYGPATH_W) 'ptk/ptk-input-dialog.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-input-dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-input-dialog.Tpo ptk/$(DEPDIR)/spacefm-ptk-input-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-input-dialog.c' object='ptk/spacefm-ptk-input-dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-input-dialog.obj `if test -f 'ptk/ptk-input-dialog.c'; then $(CYGPATH_W) 'ptk/ptk-input-dialog.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-input-dialog.c'; fi` ptk/spacefm-ptk-file-task.o: ptk/ptk-file-task.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-task.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-task.Tpo -c -o ptk/spacefm-ptk-file-task.o `test -f 'ptk/ptk-file-task.c' || echo '$(srcdir)/'`ptk/ptk-file-task.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-task.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-task.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-task.c' object='ptk/spacefm-ptk-file-task.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-task.o `test -f 'ptk/ptk-file-task.c' || echo '$(srcdir)/'`ptk/ptk-file-task.c ptk/spacefm-ptk-file-task.obj: ptk/ptk-file-task.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-task.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-task.Tpo -c -o ptk/spacefm-ptk-file-task.obj `if test -f 'ptk/ptk-file-task.c'; then $(CYGPATH_W) 'ptk/ptk-file-task.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-task.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-task.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-task.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-task.c' object='ptk/spacefm-ptk-file-task.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-task.obj `if test -f 'ptk/ptk-file-task.c'; then $(CYGPATH_W) 'ptk/ptk-file-task.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-task.c'; fi` ptk/spacefm-ptk-file-archiver.o: ptk/ptk-file-archiver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-archiver.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-archiver.Tpo -c -o ptk/spacefm-ptk-file-archiver.o `test -f 'ptk/ptk-file-archiver.c' || echo '$(srcdir)/'`ptk/ptk-file-archiver.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-archiver.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-archiver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-archiver.c' object='ptk/spacefm-ptk-file-archiver.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-archiver.o `test -f 'ptk/ptk-file-archiver.c' || echo '$(srcdir)/'`ptk/ptk-file-archiver.c ptk/spacefm-ptk-file-archiver.obj: ptk/ptk-file-archiver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-archiver.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-archiver.Tpo -c -o ptk/spacefm-ptk-file-archiver.obj `if test -f 'ptk/ptk-file-archiver.c'; then $(CYGPATH_W) 'ptk/ptk-file-archiver.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-archiver.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-archiver.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-archiver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-archiver.c' object='ptk/spacefm-ptk-file-archiver.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-archiver.obj `if test -f 'ptk/ptk-file-archiver.c'; then $(CYGPATH_W) 'ptk/ptk-file-archiver.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-archiver.c'; fi` ptk/spacefm-ptk-handler.o: ptk/ptk-handler.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-handler.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-handler.Tpo -c -o ptk/spacefm-ptk-handler.o `test -f 'ptk/ptk-handler.c' || echo '$(srcdir)/'`ptk/ptk-handler.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-handler.Tpo ptk/$(DEPDIR)/spacefm-ptk-handler.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-handler.c' object='ptk/spacefm-ptk-handler.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-handler.o `test -f 'ptk/ptk-handler.c' || echo '$(srcdir)/'`ptk/ptk-handler.c ptk/spacefm-ptk-handler.obj: ptk/ptk-handler.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-handler.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-handler.Tpo -c -o ptk/spacefm-ptk-handler.obj `if test -f 'ptk/ptk-handler.c'; then $(CYGPATH_W) 'ptk/ptk-handler.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-handler.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-handler.Tpo ptk/$(DEPDIR)/spacefm-ptk-handler.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-handler.c' object='ptk/spacefm-ptk-handler.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-handler.obj `if test -f 'ptk/ptk-handler.c'; then $(CYGPATH_W) 'ptk/ptk-handler.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-handler.c'; fi` ptk/spacefm-ptk-clipboard.o: ptk/ptk-clipboard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-clipboard.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-clipboard.Tpo -c -o ptk/spacefm-ptk-clipboard.o `test -f 'ptk/ptk-clipboard.c' || echo '$(srcdir)/'`ptk/ptk-clipboard.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-clipboard.Tpo ptk/$(DEPDIR)/spacefm-ptk-clipboard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-clipboard.c' object='ptk/spacefm-ptk-clipboard.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-clipboard.o `test -f 'ptk/ptk-clipboard.c' || echo '$(srcdir)/'`ptk/ptk-clipboard.c ptk/spacefm-ptk-clipboard.obj: ptk/ptk-clipboard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-clipboard.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-clipboard.Tpo -c -o ptk/spacefm-ptk-clipboard.obj `if test -f 'ptk/ptk-clipboard.c'; then $(CYGPATH_W) 'ptk/ptk-clipboard.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-clipboard.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-clipboard.Tpo ptk/$(DEPDIR)/spacefm-ptk-clipboard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-clipboard.c' object='ptk/spacefm-ptk-clipboard.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-clipboard.obj `if test -f 'ptk/ptk-clipboard.c'; then $(CYGPATH_W) 'ptk/ptk-clipboard.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-clipboard.c'; fi` ptk/spacefm-ptk-file-menu.o: ptk/ptk-file-menu.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-menu.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-menu.Tpo -c -o ptk/spacefm-ptk-file-menu.o `test -f 'ptk/ptk-file-menu.c' || echo '$(srcdir)/'`ptk/ptk-file-menu.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-menu.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-menu.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-menu.c' object='ptk/spacefm-ptk-file-menu.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-menu.o `test -f 'ptk/ptk-file-menu.c' || echo '$(srcdir)/'`ptk/ptk-file-menu.c ptk/spacefm-ptk-file-menu.obj: ptk/ptk-file-menu.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-menu.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-menu.Tpo -c -o ptk/spacefm-ptk-file-menu.obj `if test -f 'ptk/ptk-file-menu.c'; then $(CYGPATH_W) 'ptk/ptk-file-menu.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-menu.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-menu.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-menu.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-menu.c' object='ptk/spacefm-ptk-file-menu.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-menu.obj `if test -f 'ptk/ptk-file-menu.c'; then $(CYGPATH_W) 'ptk/ptk-file-menu.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-menu.c'; fi` ptk/spacefm-ptk-file-misc.o: ptk/ptk-file-misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-misc.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-misc.Tpo -c -o ptk/spacefm-ptk-file-misc.o `test -f 'ptk/ptk-file-misc.c' || echo '$(srcdir)/'`ptk/ptk-file-misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-misc.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-misc.c' object='ptk/spacefm-ptk-file-misc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-misc.o `test -f 'ptk/ptk-file-misc.c' || echo '$(srcdir)/'`ptk/ptk-file-misc.c ptk/spacefm-ptk-file-misc.obj: ptk/ptk-file-misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-misc.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-misc.Tpo -c -o ptk/spacefm-ptk-file-misc.obj `if test -f 'ptk/ptk-file-misc.c'; then $(CYGPATH_W) 'ptk/ptk-file-misc.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-misc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-misc.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-misc.c' object='ptk/spacefm-ptk-file-misc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-misc.obj `if test -f 'ptk/ptk-file-misc.c'; then $(CYGPATH_W) 'ptk/ptk-file-misc.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-misc.c'; fi` ptk/spacefm-ptk-file-properties.o: ptk/ptk-file-properties.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-properties.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-properties.Tpo -c -o ptk/spacefm-ptk-file-properties.o `test -f 'ptk/ptk-file-properties.c' || echo '$(srcdir)/'`ptk/ptk-file-properties.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-properties.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-properties.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-properties.c' object='ptk/spacefm-ptk-file-properties.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-properties.o `test -f 'ptk/ptk-file-properties.c' || echo '$(srcdir)/'`ptk/ptk-file-properties.c ptk/spacefm-ptk-file-properties.obj: ptk/ptk-file-properties.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-file-properties.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-file-properties.Tpo -c -o ptk/spacefm-ptk-file-properties.obj `if test -f 'ptk/ptk-file-properties.c'; then $(CYGPATH_W) 'ptk/ptk-file-properties.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-properties.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-file-properties.Tpo ptk/$(DEPDIR)/spacefm-ptk-file-properties.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-file-properties.c' object='ptk/spacefm-ptk-file-properties.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-file-properties.obj `if test -f 'ptk/ptk-file-properties.c'; then $(CYGPATH_W) 'ptk/ptk-file-properties.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-file-properties.c'; fi` ptk/spacefm-ptk-app-chooser.o: ptk/ptk-app-chooser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-app-chooser.o -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-app-chooser.Tpo -c -o ptk/spacefm-ptk-app-chooser.o `test -f 'ptk/ptk-app-chooser.c' || echo '$(srcdir)/'`ptk/ptk-app-chooser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-app-chooser.Tpo ptk/$(DEPDIR)/spacefm-ptk-app-chooser.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-app-chooser.c' object='ptk/spacefm-ptk-app-chooser.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-app-chooser.o `test -f 'ptk/ptk-app-chooser.c' || echo '$(srcdir)/'`ptk/ptk-app-chooser.c ptk/spacefm-ptk-app-chooser.obj: ptk/ptk-app-chooser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT ptk/spacefm-ptk-app-chooser.obj -MD -MP -MF ptk/$(DEPDIR)/spacefm-ptk-app-chooser.Tpo -c -o ptk/spacefm-ptk-app-chooser.obj `if test -f 'ptk/ptk-app-chooser.c'; then $(CYGPATH_W) 'ptk/ptk-app-chooser.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-app-chooser.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ptk/$(DEPDIR)/spacefm-ptk-app-chooser.Tpo ptk/$(DEPDIR)/spacefm-ptk-app-chooser.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ptk/ptk-app-chooser.c' object='ptk/spacefm-ptk-app-chooser.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o ptk/spacefm-ptk-app-chooser.obj `if test -f 'ptk/ptk-app-chooser.c'; then $(CYGPATH_W) 'ptk/ptk-app-chooser.c'; else $(CYGPATH_W) '$(srcdir)/ptk/ptk-app-chooser.c'; fi` exo/spacefm-exo-icon-view.o: exo/exo-icon-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-icon-view.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-icon-view.Tpo -c -o exo/spacefm-exo-icon-view.o `test -f 'exo/exo-icon-view.c' || echo '$(srcdir)/'`exo/exo-icon-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-icon-view.Tpo exo/$(DEPDIR)/spacefm-exo-icon-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-icon-view.c' object='exo/spacefm-exo-icon-view.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-icon-view.o `test -f 'exo/exo-icon-view.c' || echo '$(srcdir)/'`exo/exo-icon-view.c exo/spacefm-exo-icon-view.obj: exo/exo-icon-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-icon-view.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-icon-view.Tpo -c -o exo/spacefm-exo-icon-view.obj `if test -f 'exo/exo-icon-view.c'; then $(CYGPATH_W) 'exo/exo-icon-view.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-icon-view.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-icon-view.Tpo exo/$(DEPDIR)/spacefm-exo-icon-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-icon-view.c' object='exo/spacefm-exo-icon-view.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-icon-view.obj `if test -f 'exo/exo-icon-view.c'; then $(CYGPATH_W) 'exo/exo-icon-view.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-icon-view.c'; fi` exo/spacefm-exo-tree-view.o: exo/exo-tree-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-tree-view.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-tree-view.Tpo -c -o exo/spacefm-exo-tree-view.o `test -f 'exo/exo-tree-view.c' || echo '$(srcdir)/'`exo/exo-tree-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-tree-view.Tpo exo/$(DEPDIR)/spacefm-exo-tree-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-tree-view.c' object='exo/spacefm-exo-tree-view.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-tree-view.o `test -f 'exo/exo-tree-view.c' || echo '$(srcdir)/'`exo/exo-tree-view.c exo/spacefm-exo-tree-view.obj: exo/exo-tree-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-tree-view.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-tree-view.Tpo -c -o exo/spacefm-exo-tree-view.obj `if test -f 'exo/exo-tree-view.c'; then $(CYGPATH_W) 'exo/exo-tree-view.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-tree-view.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-tree-view.Tpo exo/$(DEPDIR)/spacefm-exo-tree-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-tree-view.c' object='exo/spacefm-exo-tree-view.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-tree-view.obj `if test -f 'exo/exo-tree-view.c'; then $(CYGPATH_W) 'exo/exo-tree-view.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-tree-view.c'; fi` exo/spacefm-exo-private.o: exo/exo-private.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-private.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-private.Tpo -c -o exo/spacefm-exo-private.o `test -f 'exo/exo-private.c' || echo '$(srcdir)/'`exo/exo-private.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-private.Tpo exo/$(DEPDIR)/spacefm-exo-private.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-private.c' object='exo/spacefm-exo-private.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-private.o `test -f 'exo/exo-private.c' || echo '$(srcdir)/'`exo/exo-private.c exo/spacefm-exo-private.obj: exo/exo-private.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-private.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-private.Tpo -c -o exo/spacefm-exo-private.obj `if test -f 'exo/exo-private.c'; then $(CYGPATH_W) 'exo/exo-private.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-private.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-private.Tpo exo/$(DEPDIR)/spacefm-exo-private.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-private.c' object='exo/spacefm-exo-private.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-private.obj `if test -f 'exo/exo-private.c'; then $(CYGPATH_W) 'exo/exo-private.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-private.c'; fi` exo/spacefm-exo-string.o: exo/exo-string.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-string.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-string.Tpo -c -o exo/spacefm-exo-string.o `test -f 'exo/exo-string.c' || echo '$(srcdir)/'`exo/exo-string.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-string.Tpo exo/$(DEPDIR)/spacefm-exo-string.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-string.c' object='exo/spacefm-exo-string.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-string.o `test -f 'exo/exo-string.c' || echo '$(srcdir)/'`exo/exo-string.c exo/spacefm-exo-string.obj: exo/exo-string.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-string.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-string.Tpo -c -o exo/spacefm-exo-string.obj `if test -f 'exo/exo-string.c'; then $(CYGPATH_W) 'exo/exo-string.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-string.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-string.Tpo exo/$(DEPDIR)/spacefm-exo-string.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-string.c' object='exo/spacefm-exo-string.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-string.obj `if test -f 'exo/exo-string.c'; then $(CYGPATH_W) 'exo/exo-string.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-string.c'; fi` exo/spacefm-exo-marshal.o: exo/exo-marshal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-marshal.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-marshal.Tpo -c -o exo/spacefm-exo-marshal.o `test -f 'exo/exo-marshal.c' || echo '$(srcdir)/'`exo/exo-marshal.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-marshal.Tpo exo/$(DEPDIR)/spacefm-exo-marshal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-marshal.c' object='exo/spacefm-exo-marshal.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-marshal.o `test -f 'exo/exo-marshal.c' || echo '$(srcdir)/'`exo/exo-marshal.c exo/spacefm-exo-marshal.obj: exo/exo-marshal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-marshal.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-marshal.Tpo -c -o exo/spacefm-exo-marshal.obj `if test -f 'exo/exo-marshal.c'; then $(CYGPATH_W) 'exo/exo-marshal.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-marshal.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-marshal.Tpo exo/$(DEPDIR)/spacefm-exo-marshal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-marshal.c' object='exo/spacefm-exo-marshal.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-marshal.obj `if test -f 'exo/exo-marshal.c'; then $(CYGPATH_W) 'exo/exo-marshal.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-marshal.c'; fi` exo/spacefm-exo-cell-renderer-icon.o: exo/exo-cell-renderer-icon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-cell-renderer-icon.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-cell-renderer-icon.Tpo -c -o exo/spacefm-exo-cell-renderer-icon.o `test -f 'exo/exo-cell-renderer-icon.c' || echo '$(srcdir)/'`exo/exo-cell-renderer-icon.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-cell-renderer-icon.Tpo exo/$(DEPDIR)/spacefm-exo-cell-renderer-icon.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-cell-renderer-icon.c' object='exo/spacefm-exo-cell-renderer-icon.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-cell-renderer-icon.o `test -f 'exo/exo-cell-renderer-icon.c' || echo '$(srcdir)/'`exo/exo-cell-renderer-icon.c exo/spacefm-exo-cell-renderer-icon.obj: exo/exo-cell-renderer-icon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-cell-renderer-icon.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-cell-renderer-icon.Tpo -c -o exo/spacefm-exo-cell-renderer-icon.obj `if test -f 'exo/exo-cell-renderer-icon.c'; then $(CYGPATH_W) 'exo/exo-cell-renderer-icon.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-cell-renderer-icon.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-cell-renderer-icon.Tpo exo/$(DEPDIR)/spacefm-exo-cell-renderer-icon.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-cell-renderer-icon.c' object='exo/spacefm-exo-cell-renderer-icon.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-cell-renderer-icon.obj `if test -f 'exo/exo-cell-renderer-icon.c'; then $(CYGPATH_W) 'exo/exo-cell-renderer-icon.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-cell-renderer-icon.c'; fi` exo/spacefm-exo-gtk-extensions.o: exo/exo-gtk-extensions.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-gtk-extensions.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-gtk-extensions.Tpo -c -o exo/spacefm-exo-gtk-extensions.o `test -f 'exo/exo-gtk-extensions.c' || echo '$(srcdir)/'`exo/exo-gtk-extensions.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-gtk-extensions.Tpo exo/$(DEPDIR)/spacefm-exo-gtk-extensions.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-gtk-extensions.c' object='exo/spacefm-exo-gtk-extensions.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-gtk-extensions.o `test -f 'exo/exo-gtk-extensions.c' || echo '$(srcdir)/'`exo/exo-gtk-extensions.c exo/spacefm-exo-gtk-extensions.obj: exo/exo-gtk-extensions.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-gtk-extensions.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-gtk-extensions.Tpo -c -o exo/spacefm-exo-gtk-extensions.obj `if test -f 'exo/exo-gtk-extensions.c'; then $(CYGPATH_W) 'exo/exo-gtk-extensions.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-gtk-extensions.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-gtk-extensions.Tpo exo/$(DEPDIR)/spacefm-exo-gtk-extensions.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-gtk-extensions.c' object='exo/spacefm-exo-gtk-extensions.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-gtk-extensions.obj `if test -f 'exo/exo-gtk-extensions.c'; then $(CYGPATH_W) 'exo/exo-gtk-extensions.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-gtk-extensions.c'; fi` exo/spacefm-exo-icon-chooser-dialog.o: exo/exo-icon-chooser-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-icon-chooser-dialog.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-icon-chooser-dialog.Tpo -c -o exo/spacefm-exo-icon-chooser-dialog.o `test -f 'exo/exo-icon-chooser-dialog.c' || echo '$(srcdir)/'`exo/exo-icon-chooser-dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-icon-chooser-dialog.Tpo exo/$(DEPDIR)/spacefm-exo-icon-chooser-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-icon-chooser-dialog.c' object='exo/spacefm-exo-icon-chooser-dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-icon-chooser-dialog.o `test -f 'exo/exo-icon-chooser-dialog.c' || echo '$(srcdir)/'`exo/exo-icon-chooser-dialog.c exo/spacefm-exo-icon-chooser-dialog.obj: exo/exo-icon-chooser-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-icon-chooser-dialog.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-icon-chooser-dialog.Tpo -c -o exo/spacefm-exo-icon-chooser-dialog.obj `if test -f 'exo/exo-icon-chooser-dialog.c'; then $(CYGPATH_W) 'exo/exo-icon-chooser-dialog.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-icon-chooser-dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-icon-chooser-dialog.Tpo exo/$(DEPDIR)/spacefm-exo-icon-chooser-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-icon-chooser-dialog.c' object='exo/spacefm-exo-icon-chooser-dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-icon-chooser-dialog.obj `if test -f 'exo/exo-icon-chooser-dialog.c'; then $(CYGPATH_W) 'exo/exo-icon-chooser-dialog.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-icon-chooser-dialog.c'; fi` exo/spacefm-exo-icon-chooser-model.o: exo/exo-icon-chooser-model.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-icon-chooser-model.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-icon-chooser-model.Tpo -c -o exo/spacefm-exo-icon-chooser-model.o `test -f 'exo/exo-icon-chooser-model.c' || echo '$(srcdir)/'`exo/exo-icon-chooser-model.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-icon-chooser-model.Tpo exo/$(DEPDIR)/spacefm-exo-icon-chooser-model.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-icon-chooser-model.c' object='exo/spacefm-exo-icon-chooser-model.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-icon-chooser-model.o `test -f 'exo/exo-icon-chooser-model.c' || echo '$(srcdir)/'`exo/exo-icon-chooser-model.c exo/spacefm-exo-icon-chooser-model.obj: exo/exo-icon-chooser-model.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-icon-chooser-model.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-icon-chooser-model.Tpo -c -o exo/spacefm-exo-icon-chooser-model.obj `if test -f 'exo/exo-icon-chooser-model.c'; then $(CYGPATH_W) 'exo/exo-icon-chooser-model.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-icon-chooser-model.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-icon-chooser-model.Tpo exo/$(DEPDIR)/spacefm-exo-icon-chooser-model.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-icon-chooser-model.c' object='exo/spacefm-exo-icon-chooser-model.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-icon-chooser-model.obj `if test -f 'exo/exo-icon-chooser-model.c'; then $(CYGPATH_W) 'exo/exo-icon-chooser-model.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-icon-chooser-model.c'; fi` exo/spacefm-exo-gdk-pixbuf-extensions.o: exo/exo-gdk-pixbuf-extensions.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-gdk-pixbuf-extensions.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-gdk-pixbuf-extensions.Tpo -c -o exo/spacefm-exo-gdk-pixbuf-extensions.o `test -f 'exo/exo-gdk-pixbuf-extensions.c' || echo '$(srcdir)/'`exo/exo-gdk-pixbuf-extensions.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-gdk-pixbuf-extensions.Tpo exo/$(DEPDIR)/spacefm-exo-gdk-pixbuf-extensions.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-gdk-pixbuf-extensions.c' object='exo/spacefm-exo-gdk-pixbuf-extensions.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-gdk-pixbuf-extensions.o `test -f 'exo/exo-gdk-pixbuf-extensions.c' || echo '$(srcdir)/'`exo/exo-gdk-pixbuf-extensions.c exo/spacefm-exo-gdk-pixbuf-extensions.obj: exo/exo-gdk-pixbuf-extensions.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-gdk-pixbuf-extensions.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-gdk-pixbuf-extensions.Tpo -c -o exo/spacefm-exo-gdk-pixbuf-extensions.obj `if test -f 'exo/exo-gdk-pixbuf-extensions.c'; then $(CYGPATH_W) 'exo/exo-gdk-pixbuf-extensions.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-gdk-pixbuf-extensions.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-gdk-pixbuf-extensions.Tpo exo/$(DEPDIR)/spacefm-exo-gdk-pixbuf-extensions.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-gdk-pixbuf-extensions.c' object='exo/spacefm-exo-gdk-pixbuf-extensions.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-gdk-pixbuf-extensions.obj `if test -f 'exo/exo-gdk-pixbuf-extensions.c'; then $(CYGPATH_W) 'exo/exo-gdk-pixbuf-extensions.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-gdk-pixbuf-extensions.c'; fi` exo/spacefm-exo-thumbnail-preview.o: exo/exo-thumbnail-preview.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-thumbnail-preview.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-thumbnail-preview.Tpo -c -o exo/spacefm-exo-thumbnail-preview.o `test -f 'exo/exo-thumbnail-preview.c' || echo '$(srcdir)/'`exo/exo-thumbnail-preview.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-thumbnail-preview.Tpo exo/$(DEPDIR)/spacefm-exo-thumbnail-preview.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-thumbnail-preview.c' object='exo/spacefm-exo-thumbnail-preview.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-thumbnail-preview.o `test -f 'exo/exo-thumbnail-preview.c' || echo '$(srcdir)/'`exo/exo-thumbnail-preview.c exo/spacefm-exo-thumbnail-preview.obj: exo/exo-thumbnail-preview.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-thumbnail-preview.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-thumbnail-preview.Tpo -c -o exo/spacefm-exo-thumbnail-preview.obj `if test -f 'exo/exo-thumbnail-preview.c'; then $(CYGPATH_W) 'exo/exo-thumbnail-preview.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-thumbnail-preview.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-thumbnail-preview.Tpo exo/$(DEPDIR)/spacefm-exo-thumbnail-preview.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-thumbnail-preview.c' object='exo/spacefm-exo-thumbnail-preview.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-thumbnail-preview.obj `if test -f 'exo/exo-thumbnail-preview.c'; then $(CYGPATH_W) 'exo/exo-thumbnail-preview.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-thumbnail-preview.c'; fi` exo/spacefm-exo-utils.o: exo/exo-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-utils.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-utils.Tpo -c -o exo/spacefm-exo-utils.o `test -f 'exo/exo-utils.c' || echo '$(srcdir)/'`exo/exo-utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-utils.Tpo exo/$(DEPDIR)/spacefm-exo-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-utils.c' object='exo/spacefm-exo-utils.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-utils.o `test -f 'exo/exo-utils.c' || echo '$(srcdir)/'`exo/exo-utils.c exo/spacefm-exo-utils.obj: exo/exo-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-utils.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-utils.Tpo -c -o exo/spacefm-exo-utils.obj `if test -f 'exo/exo-utils.c'; then $(CYGPATH_W) 'exo/exo-utils.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-utils.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-utils.Tpo exo/$(DEPDIR)/spacefm-exo-utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-utils.c' object='exo/spacefm-exo-utils.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-utils.obj `if test -f 'exo/exo-utils.c'; then $(CYGPATH_W) 'exo/exo-utils.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-utils.c'; fi` exo/spacefm-exo-binding.o: exo/exo-binding.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-binding.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-binding.Tpo -c -o exo/spacefm-exo-binding.o `test -f 'exo/exo-binding.c' || echo '$(srcdir)/'`exo/exo-binding.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-binding.Tpo exo/$(DEPDIR)/spacefm-exo-binding.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-binding.c' object='exo/spacefm-exo-binding.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-binding.o `test -f 'exo/exo-binding.c' || echo '$(srcdir)/'`exo/exo-binding.c exo/spacefm-exo-binding.obj: exo/exo-binding.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-binding.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-binding.Tpo -c -o exo/spacefm-exo-binding.obj `if test -f 'exo/exo-binding.c'; then $(CYGPATH_W) 'exo/exo-binding.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-binding.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-binding.Tpo exo/$(DEPDIR)/spacefm-exo-binding.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-binding.c' object='exo/spacefm-exo-binding.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-binding.obj `if test -f 'exo/exo-binding.c'; then $(CYGPATH_W) 'exo/exo-binding.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-binding.c'; fi` exo/spacefm-exo-cell-renderer-ellipsized-text.o: exo/exo-cell-renderer-ellipsized-text.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-cell-renderer-ellipsized-text.o -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-cell-renderer-ellipsized-text.Tpo -c -o exo/spacefm-exo-cell-renderer-ellipsized-text.o `test -f 'exo/exo-cell-renderer-ellipsized-text.c' || echo '$(srcdir)/'`exo/exo-cell-renderer-ellipsized-text.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-cell-renderer-ellipsized-text.Tpo exo/$(DEPDIR)/spacefm-exo-cell-renderer-ellipsized-text.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-cell-renderer-ellipsized-text.c' object='exo/spacefm-exo-cell-renderer-ellipsized-text.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-cell-renderer-ellipsized-text.o `test -f 'exo/exo-cell-renderer-ellipsized-text.c' || echo '$(srcdir)/'`exo/exo-cell-renderer-ellipsized-text.c exo/spacefm-exo-cell-renderer-ellipsized-text.obj: exo/exo-cell-renderer-ellipsized-text.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT exo/spacefm-exo-cell-renderer-ellipsized-text.obj -MD -MP -MF exo/$(DEPDIR)/spacefm-exo-cell-renderer-ellipsized-text.Tpo -c -o exo/spacefm-exo-cell-renderer-ellipsized-text.obj `if test -f 'exo/exo-cell-renderer-ellipsized-text.c'; then $(CYGPATH_W) 'exo/exo-cell-renderer-ellipsized-text.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-cell-renderer-ellipsized-text.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) exo/$(DEPDIR)/spacefm-exo-cell-renderer-ellipsized-text.Tpo exo/$(DEPDIR)/spacefm-exo-cell-renderer-ellipsized-text.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='exo/exo-cell-renderer-ellipsized-text.c' object='exo/spacefm-exo-cell-renderer-ellipsized-text.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o exo/spacefm-exo-cell-renderer-ellipsized-text.obj `if test -f 'exo/exo-cell-renderer-ellipsized-text.c'; then $(CYGPATH_W) 'exo/exo-cell-renderer-ellipsized-text.c'; else $(CYGPATH_W) '$(srcdir)/exo/exo-cell-renderer-ellipsized-text.c'; fi` desktop/spacefm-desktop.o: desktop/desktop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT desktop/spacefm-desktop.o -MD -MP -MF desktop/$(DEPDIR)/spacefm-desktop.Tpo -c -o desktop/spacefm-desktop.o `test -f 'desktop/desktop.c' || echo '$(srcdir)/'`desktop/desktop.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) desktop/$(DEPDIR)/spacefm-desktop.Tpo desktop/$(DEPDIR)/spacefm-desktop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='desktop/desktop.c' object='desktop/spacefm-desktop.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o desktop/spacefm-desktop.o `test -f 'desktop/desktop.c' || echo '$(srcdir)/'`desktop/desktop.c desktop/spacefm-desktop.obj: desktop/desktop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT desktop/spacefm-desktop.obj -MD -MP -MF desktop/$(DEPDIR)/spacefm-desktop.Tpo -c -o desktop/spacefm-desktop.obj `if test -f 'desktop/desktop.c'; then $(CYGPATH_W) 'desktop/desktop.c'; else $(CYGPATH_W) '$(srcdir)/desktop/desktop.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) desktop/$(DEPDIR)/spacefm-desktop.Tpo desktop/$(DEPDIR)/spacefm-desktop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='desktop/desktop.c' object='desktop/spacefm-desktop.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o desktop/spacefm-desktop.obj `if test -f 'desktop/desktop.c'; then $(CYGPATH_W) 'desktop/desktop.c'; else $(CYGPATH_W) '$(srcdir)/desktop/desktop.c'; fi` desktop/spacefm-desktop-window.o: desktop/desktop-window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT desktop/spacefm-desktop-window.o -MD -MP -MF desktop/$(DEPDIR)/spacefm-desktop-window.Tpo -c -o desktop/spacefm-desktop-window.o `test -f 'desktop/desktop-window.c' || echo '$(srcdir)/'`desktop/desktop-window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) desktop/$(DEPDIR)/spacefm-desktop-window.Tpo desktop/$(DEPDIR)/spacefm-desktop-window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='desktop/desktop-window.c' object='desktop/spacefm-desktop-window.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o desktop/spacefm-desktop-window.o `test -f 'desktop/desktop-window.c' || echo '$(srcdir)/'`desktop/desktop-window.c desktop/spacefm-desktop-window.obj: desktop/desktop-window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT desktop/spacefm-desktop-window.obj -MD -MP -MF desktop/$(DEPDIR)/spacefm-desktop-window.Tpo -c -o desktop/spacefm-desktop-window.obj `if test -f 'desktop/desktop-window.c'; then $(CYGPATH_W) 'desktop/desktop-window.c'; else $(CYGPATH_W) '$(srcdir)/desktop/desktop-window.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) desktop/$(DEPDIR)/spacefm-desktop-window.Tpo desktop/$(DEPDIR)/spacefm-desktop-window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='desktop/desktop-window.c' object='desktop/spacefm-desktop-window.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o desktop/spacefm-desktop-window.obj `if test -f 'desktop/desktop-window.c'; then $(CYGPATH_W) 'desktop/desktop-window.c'; else $(CYGPATH_W) '$(srcdir)/desktop/desktop-window.c'; fi` spacefm-main.o: main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-main.o -MD -MP -MF $(DEPDIR)/spacefm-main.Tpo -c -o spacefm-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-main.Tpo $(DEPDIR)/spacefm-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='spacefm-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c spacefm-main.obj: main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-main.obj -MD -MP -MF $(DEPDIR)/spacefm-main.Tpo -c -o spacefm-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-main.Tpo $(DEPDIR)/spacefm-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='spacefm-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` spacefm-main-window.o: main-window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-main-window.o -MD -MP -MF $(DEPDIR)/spacefm-main-window.Tpo -c -o spacefm-main-window.o `test -f 'main-window.c' || echo '$(srcdir)/'`main-window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-main-window.Tpo $(DEPDIR)/spacefm-main-window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main-window.c' object='spacefm-main-window.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-main-window.o `test -f 'main-window.c' || echo '$(srcdir)/'`main-window.c spacefm-main-window.obj: main-window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-main-window.obj -MD -MP -MF $(DEPDIR)/spacefm-main-window.Tpo -c -o spacefm-main-window.obj `if test -f 'main-window.c'; then $(CYGPATH_W) 'main-window.c'; else $(CYGPATH_W) '$(srcdir)/main-window.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-main-window.Tpo $(DEPDIR)/spacefm-main-window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main-window.c' object='spacefm-main-window.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-main-window.obj `if test -f 'main-window.c'; then $(CYGPATH_W) 'main-window.c'; else $(CYGPATH_W) '$(srcdir)/main-window.c'; fi` spacefm-settings.o: settings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-settings.o -MD -MP -MF $(DEPDIR)/spacefm-settings.Tpo -c -o spacefm-settings.o `test -f 'settings.c' || echo '$(srcdir)/'`settings.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-settings.Tpo $(DEPDIR)/spacefm-settings.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='settings.c' object='spacefm-settings.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-settings.o `test -f 'settings.c' || echo '$(srcdir)/'`settings.c spacefm-settings.obj: settings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-settings.obj -MD -MP -MF $(DEPDIR)/spacefm-settings.Tpo -c -o spacefm-settings.obj `if test -f 'settings.c'; then $(CYGPATH_W) 'settings.c'; else $(CYGPATH_W) '$(srcdir)/settings.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-settings.Tpo $(DEPDIR)/spacefm-settings.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='settings.c' object='spacefm-settings.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-settings.obj `if test -f 'settings.c'; then $(CYGPATH_W) 'settings.c'; else $(CYGPATH_W) '$(srcdir)/settings.c'; fi` spacefm-pref-dialog.o: pref-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-pref-dialog.o -MD -MP -MF $(DEPDIR)/spacefm-pref-dialog.Tpo -c -o spacefm-pref-dialog.o `test -f 'pref-dialog.c' || echo '$(srcdir)/'`pref-dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-pref-dialog.Tpo $(DEPDIR)/spacefm-pref-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pref-dialog.c' object='spacefm-pref-dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-pref-dialog.o `test -f 'pref-dialog.c' || echo '$(srcdir)/'`pref-dialog.c spacefm-pref-dialog.obj: pref-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-pref-dialog.obj -MD -MP -MF $(DEPDIR)/spacefm-pref-dialog.Tpo -c -o spacefm-pref-dialog.obj `if test -f 'pref-dialog.c'; then $(CYGPATH_W) 'pref-dialog.c'; else $(CYGPATH_W) '$(srcdir)/pref-dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-pref-dialog.Tpo $(DEPDIR)/spacefm-pref-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pref-dialog.c' object='spacefm-pref-dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-pref-dialog.obj `if test -f 'pref-dialog.c'; then $(CYGPATH_W) 'pref-dialog.c'; else $(CYGPATH_W) '$(srcdir)/pref-dialog.c'; fi` spacefm-find-files.o: find-files.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-find-files.o -MD -MP -MF $(DEPDIR)/spacefm-find-files.Tpo -c -o spacefm-find-files.o `test -f 'find-files.c' || echo '$(srcdir)/'`find-files.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-find-files.Tpo $(DEPDIR)/spacefm-find-files.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='find-files.c' object='spacefm-find-files.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-find-files.o `test -f 'find-files.c' || echo '$(srcdir)/'`find-files.c spacefm-find-files.obj: find-files.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-find-files.obj -MD -MP -MF $(DEPDIR)/spacefm-find-files.Tpo -c -o spacefm-find-files.obj `if test -f 'find-files.c'; then $(CYGPATH_W) 'find-files.c'; else $(CYGPATH_W) '$(srcdir)/find-files.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-find-files.Tpo $(DEPDIR)/spacefm-find-files.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='find-files.c' object='spacefm-find-files.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-find-files.obj `if test -f 'find-files.c'; then $(CYGPATH_W) 'find-files.c'; else $(CYGPATH_W) '$(srcdir)/find-files.c'; fi` spacefm-go-dialog.o: go-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-go-dialog.o -MD -MP -MF $(DEPDIR)/spacefm-go-dialog.Tpo -c -o spacefm-go-dialog.o `test -f 'go-dialog.c' || echo '$(srcdir)/'`go-dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-go-dialog.Tpo $(DEPDIR)/spacefm-go-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='go-dialog.c' object='spacefm-go-dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-go-dialog.o `test -f 'go-dialog.c' || echo '$(srcdir)/'`go-dialog.c spacefm-go-dialog.obj: go-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-go-dialog.obj -MD -MP -MF $(DEPDIR)/spacefm-go-dialog.Tpo -c -o spacefm-go-dialog.obj `if test -f 'go-dialog.c'; then $(CYGPATH_W) 'go-dialog.c'; else $(CYGPATH_W) '$(srcdir)/go-dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-go-dialog.Tpo $(DEPDIR)/spacefm-go-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='go-dialog.c' object='spacefm-go-dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-go-dialog.obj `if test -f 'go-dialog.c'; then $(CYGPATH_W) 'go-dialog.c'; else $(CYGPATH_W) '$(srcdir)/go-dialog.c'; fi` spacefm-cust-dialog.o: cust-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-cust-dialog.o -MD -MP -MF $(DEPDIR)/spacefm-cust-dialog.Tpo -c -o spacefm-cust-dialog.o `test -f 'cust-dialog.c' || echo '$(srcdir)/'`cust-dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-cust-dialog.Tpo $(DEPDIR)/spacefm-cust-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cust-dialog.c' object='spacefm-cust-dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-cust-dialog.o `test -f 'cust-dialog.c' || echo '$(srcdir)/'`cust-dialog.c spacefm-cust-dialog.obj: cust-dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-cust-dialog.obj -MD -MP -MF $(DEPDIR)/spacefm-cust-dialog.Tpo -c -o spacefm-cust-dialog.obj `if test -f 'cust-dialog.c'; then $(CYGPATH_W) 'cust-dialog.c'; else $(CYGPATH_W) '$(srcdir)/cust-dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-cust-dialog.Tpo $(DEPDIR)/spacefm-cust-dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cust-dialog.c' object='spacefm-cust-dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-cust-dialog.obj `if test -f 'cust-dialog.c'; then $(CYGPATH_W) 'cust-dialog.c'; else $(CYGPATH_W) '$(srcdir)/cust-dialog.c'; fi` spacefm-item-prop.o: item-prop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-item-prop.o -MD -MP -MF $(DEPDIR)/spacefm-item-prop.Tpo -c -o spacefm-item-prop.o `test -f 'item-prop.c' || echo '$(srcdir)/'`item-prop.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-item-prop.Tpo $(DEPDIR)/spacefm-item-prop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='item-prop.c' object='spacefm-item-prop.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-item-prop.o `test -f 'item-prop.c' || echo '$(srcdir)/'`item-prop.c spacefm-item-prop.obj: item-prop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -MT spacefm-item-prop.obj -MD -MP -MF $(DEPDIR)/spacefm-item-prop.Tpo -c -o spacefm-item-prop.obj `if test -f 'item-prop.c'; then $(CYGPATH_W) 'item-prop.c'; else $(CYGPATH_W) '$(srcdir)/item-prop.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spacefm-item-prop.Tpo $(DEPDIR)/spacefm-item-prop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='item-prop.c' object='spacefm-item-prop.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spacefm_CFLAGS) $(CFLAGS) -c -o spacefm-item-prop.obj `if test -f 'item-prop.c'; then $(CYGPATH_W) 'item-prop.c'; else $(CYGPATH_W) '$(srcdir)/item-prop.c'; fi` xml_purge-xml-purge.o: xml-purge.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xml_purge_CFLAGS) $(CFLAGS) -MT xml_purge-xml-purge.o -MD -MP -MF $(DEPDIR)/xml_purge-xml-purge.Tpo -c -o xml_purge-xml-purge.o `test -f 'xml-purge.c' || echo '$(srcdir)/'`xml-purge.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xml_purge-xml-purge.Tpo $(DEPDIR)/xml_purge-xml-purge.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xml-purge.c' object='xml_purge-xml-purge.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xml_purge_CFLAGS) $(CFLAGS) -c -o xml_purge-xml-purge.o `test -f 'xml-purge.c' || echo '$(srcdir)/'`xml-purge.c xml_purge-xml-purge.obj: xml-purge.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xml_purge_CFLAGS) $(CFLAGS) -MT xml_purge-xml-purge.obj -MD -MP -MF $(DEPDIR)/xml_purge-xml-purge.Tpo -c -o xml_purge-xml-purge.obj `if test -f 'xml-purge.c'; then $(CYGPATH_W) 'xml-purge.c'; else $(CYGPATH_W) '$(srcdir)/xml-purge.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xml_purge-xml-purge.Tpo $(DEPDIR)/xml_purge-xml-purge.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xml-purge.c' object='xml_purge-xml-purge.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xml_purge_CFLAGS) $(CFLAGS) -c -o xml_purge-xml-purge.obj `if test -f 'xml-purge.c'; then $(CYGPATH_W) 'xml-purge.c'; else $(CYGPATH_W) '$(srcdir)/xml-purge.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f compat/$(DEPDIR)/$(am__dirstamp) -rm -f compat/$(am__dirstamp) -rm -f desktop/$(DEPDIR)/$(am__dirstamp) -rm -f desktop/$(am__dirstamp) -rm -f exo/$(DEPDIR)/$(am__dirstamp) -rm -f exo/$(am__dirstamp) -rm -f libmd5-rfc/$(DEPDIR)/$(am__dirstamp) -rm -f libmd5-rfc/$(am__dirstamp) -rm -f mime-type/$(DEPDIR)/$(am__dirstamp) -rm -f mime-type/$(am__dirstamp) -rm -f ptk/$(DEPDIR)/$(am__dirstamp) -rm -f ptk/$(am__dirstamp) -rm -f vfs/$(DEPDIR)/$(am__dirstamp) -rm -f vfs/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) compat/$(DEPDIR) desktop/$(DEPDIR) exo/$(DEPDIR) libmd5-rfc/$(DEPDIR) mime-type/$(DEPDIR) ptk/$(DEPDIR) vfs/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-binSCRIPTS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) compat/$(DEPDIR) desktop/$(DEPDIR) exo/$(DEPDIR) libmd5-rfc/$(DEPDIR) mime-type/$(DEPDIR) ptk/$(DEPDIR) vfs/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-binSCRIPTS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-binSCRIPTS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: spacefm-1.0.5/src/compat/000077500000000000000000000000001264770501700152165ustar00rootroot00000000000000spacefm-1.0.5/src/compat/glib-mem.h000066400000000000000000000013021264770501700170540ustar00rootroot00000000000000/* * C++ Interface: glib-mem * * Description: Compatibility macros for older versions of glib * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _GLIB_MEM_H_ #define _GLIB_MEM_H_ #include #if ! GLIB_CHECK_VERSION(2, 10, 0) /* older versions of glib don't provde g_slice API */ #define g_slice_alloc(size) g_malloc(size) #define g_slice_alloc0(size) g_malloc0(size) #define g_slice_new(type) g_new(type, 1) #define g_slice_new0(type) g_new0(type, 1) #define g_slice_free(type, mem) g_free(mem) #define g_slice_free1(size, mem) g_free(mem) #endif #endif spacefm-1.0.5/src/compat/glib-utils.c000066400000000000000000000033771264770501700174470ustar00rootroot00000000000000/* * C++ Interface: glib-mem * * Description: Compatibility macros for older versions of glib * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "glib-utils.h" /* older versions of glib don't provde these API */ #if ! GLIB_CHECK_VERSION(2, 8, 0) #include #include #include #include #include int g_mkdir_with_parents(const gchar *pathname, int mode) { struct stat statbuf; char *dir, *sep; dir = g_strdup( pathname ); sep = dir[0] == '/' ? dir + 1 : dir; do { sep = strchr( sep, '/' ); if( G_LIKELY( sep ) ) *sep = '\0'; if( stat( dir, &statbuf) == 0 ) { if( ! S_ISDIR(statbuf.st_mode) ) /* parent not dir */ goto err; } else /* stat failed */ { if( errno == ENOENT ) /* not exists */ { if( mkdir( dir, mode ) == -1 ) goto err; } else goto err; /* unknown error */ } if( G_LIKELY( sep ) ) { *sep = '/'; ++sep; } else break; }while( sep ); g_free( dir ); return 0; err: g_free( dir ); return -1; } #endif #if ! GLIB_CHECK_VERSION(2, 16, 0) #include int g_strcmp0(const char *str1, const char *str2) { if( G_UNLIKELY(str1 == str2) ) /* the same string or both NULL */ return 0; if( G_UNLIKELY(str1 == NULL) ) /* str2 is non-NULL */ return -1; else if( G_UNLIKELY(str2 == NULL) ) /* str1 is non-NULL */ return 1; return strcmp( str1, str2 ); } #endif spacefm-1.0.5/src/compat/glib-utils.h000066400000000000000000000010571264770501700174450ustar00rootroot00000000000000/* * C++ Interface: glib-mem * * Description: Compatibility macros for older versions of glib * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _GLIB_UTILS_H_ #define _GLIB_UTILS_H_ #include /* older versions of glib don't provde these API */ #if ! GLIB_CHECK_VERSION(2, 8, 0) int g_mkdir_with_parents(const gchar *pathname, int mode); #endif #if ! GLIB_CHECK_VERSION(2, 16, 0) int g_strcmp0(const char *str1, const char *str2); #endif #endif spacefm-1.0.5/src/cust-dialog.c000066400000000000000000004354501264770501700163250ustar00rootroot00000000000000/* * cust-dialog.c * */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include #include #include #include #include "settings.h" #include "cust-dialog.h" #include "gtk2-compat.h" #define DEFAULT_TITLE "SpaceFM Dialog" #define DEFAULT_ICON "spacefm-48-pyramid-blue" #define DEFAULT_PAD 4 #define DEFAULT_WIDTH 450 #define DEFAULT_HEIGHT 100 #define DEFAULT_LARGE_WIDTH 600 #define DEFAULT_LARGE_HEIGHT 400 #define MAX_LIST_COLUMNS 32 #define BASH_VALID "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_" #define DEFAULT_MANUAL "http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#dialog" static void update_element( CustomElement* el, GtkWidget* box, GSList** radio, int pad ); static char* replace_vars( CustomElement* el, char* value, char* xvalue ); static void fill_buffer_from_file( CustomElement* el, GtkTextBuffer* buf, char* path, gboolean watch ); static void write_source( GtkWidget* dlg, CustomElement* el_pressed, FILE* out, gboolean is_cancel ); static gboolean destroy_dlg( GtkWidget* dlg ); static void on_button_clicked( GtkButton *button, CustomElement* el ); void on_combo_changed( GtkComboBox* box, CustomElement* el ); static gboolean on_timeout_timer( CustomElement* el ); static gboolean press_last_button( GtkWidget* dlg ); static gboolean on_progress_timer( CustomElement* el ); // make these lists if supporting multiple dialogs GtkWidget* signal_dialog = NULL; gboolean enable_click_event = FALSE; static void set_font( GtkWidget* w, const char* font ) { if ( w && font ) { PangoFontDescription* font_desc = pango_font_description_from_string( font ); gtk_widget_modify_font( w, font_desc ); pango_font_description_free( font_desc ); } } static void dlg_warn( const char* msg, const char* a, const char* b ) { char* str = g_strdup_printf( "** spacefm-dialog: %s\n", msg ); fprintf( stderr, str, a, b ); g_free( str ); } static void get_window_size( GtkWidget* dlg, int* width, int* height ) { GtkAllocation allocation; gtk_widget_get_allocation( dlg, &allocation ); *width = allocation.width; *height = allocation.height; } static void get_width_height_pad( char* val, int* width, int* height, int* pad ) { // modifies val char* str; char* sep; int i; *width = *height = -1; if ( val ) { if ( sep = strchr( val, 'x' ) ) sep[0] = '\0'; else if ( sep = strchr( val, ' ' ) ) sep[0] = '\0'; *width = atoi( val ); if ( sep ) { sep[0] = 'x'; str = sep + 1; if ( sep = strchr( str, 'x' ) ) sep[0] = '\0'; else if ( sep = strchr( str, ' ' ) ) sep[0] = '\0'; *height = atoi( str ); if ( sep ) { sep[0] = ' '; i = atoi( sep + 1 ); // ignore pad == -1 if ( i != -1 && pad ) { *pad = i; if ( *pad < 0 ) *pad = 0; } } } } if ( *width <= 0 ) *width = -1; if ( *height <= 0 ) *height = -1; } static void fill_combo_box( CustomElement* el, GList* arglist ) { GList* l; GList* args; char* arg; char* str; GtkTreeIter iter; GtkTreeModel* model; char* default_value = NULL; int default_row = -1; int set_default = -1; if ( !el->widgets->next ) return; GtkWidget* combo = (GtkWidget*)el->widgets->next->data; if ( !GTK_IS_COMBO_BOX( combo ) ) return; // prepare default value if ( el->val ) { if ( el->val[0] == '+' && atoi( el->val + 1 ) >= 0 ) default_row = atoi( el->val + 1 ); else default_value = el->val; } // clear list model = gtk_combo_box_get_model( GTK_COMBO_BOX( combo ) ); while ( gtk_tree_model_get_iter_first( model, &iter ) ) gtk_list_store_remove( GTK_LIST_STORE( model ), &iter ); if ( el->type == CDLG_COMBO ) gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( combo ) ) ), "" ); // fill list args = arglist; int row = 0; while ( args ) { arg = (char*)args->data; args = args->next; if ( !strcmp( arg, "--" ) ) break; gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( combo ), arg ); if ( row == default_row || !g_strcmp0( arg, default_value ) ) set_default = row; row++; } // set default if ( set_default != -1 ) { if ( el->type == CDLG_DROP ) g_signal_handlers_block_matched( el->widgets->next->data, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_combo_changed, el ); gtk_combo_box_set_active( GTK_COMBO_BOX( combo ), set_default ); if ( el->type == CDLG_DROP ) g_signal_handlers_unblock_matched( el->widgets->next->data, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_combo_changed, el ); } else if ( default_value && el->type == CDLG_COMBO ) gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( combo ) ) ), default_value ); } static void select_in_combo_box( CustomElement* el, const char* value ) { GtkTreeIter iter; GtkTreeModel* model; char* str; if ( !el->widgets->next ) return; GtkWidget* combo = (GtkWidget*)el->widgets->next->data; if ( !GTK_IS_COMBO_BOX( combo ) ) return; model = gtk_combo_box_get_model( GTK_COMBO_BOX( combo ) ); if ( !model ) return; if ( !gtk_tree_model_get_iter_first( model, &iter ) ) return; do { gtk_tree_model_get( model, &iter, 0, &str, -1 ); if ( !g_strcmp0( str, value ) ) { gtk_combo_box_set_active_iter( GTK_COMBO_BOX( combo ), &iter ); g_free( str ); break; } g_free( str ); } while ( gtk_tree_model_iter_next( model, &iter ) ); } char* get_column_value( GtkTreeModel* model, GtkTreeIter* iter, int col_index ) { char* str = NULL; gint64 i64; gdouble d; int i; switch ( gtk_tree_model_get_column_type( model, col_index ) ) { case G_TYPE_INT64: gtk_tree_model_get( model, iter, col_index, &i64, -1 ); str = g_strdup_printf( "%ld", i64 ); break; case G_TYPE_INT: gtk_tree_model_get( model, iter, col_index, &i, -1 ); str = g_strdup_printf( "%d", i ); break; case G_TYPE_DOUBLE: gtk_tree_model_get( model, iter, col_index, &d, -1 ); str = g_strdup_printf( "%lf", d ); break; case G_TYPE_STRING: gtk_tree_model_get( model, iter, col_index, &str, -1 ); } return str; } char* get_tree_view_selected( CustomElement* el, const char* prefix ) { GtkTreeIter iter; GtkTreeModel* model; GtkTreeSelection* tree_sel; GtkTreePath* tree_path; char* selected = NULL; char* indices = NULL; char* str; if ( !el->widgets->next ) goto _return_value; GtkWidget* view = (GtkWidget*)el->widgets->next->data; if ( !GTK_IS_TREE_VIEW( view ) ) goto _return_value; tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( !GTK_IS_TREE_MODEL( model ) ) goto _return_value; int row = -1; char* value; gboolean valid_iter = gtk_tree_model_get_iter_first( model, &iter ); while ( valid_iter ) { row++; if ( gtk_tree_selection_iter_is_selected( tree_sel, &iter ) ) { str = get_column_value( model, &iter, 0 ); value = bash_quote( str ); g_free( str ); str = selected; selected = g_strdup_printf( "%s%s%s", str ? str : "", prefix ? ( str ? "\n" : "" ) : " ", value ); g_free( value ); g_free( str ); str = indices; indices = g_strdup_printf( "%s%s%d", str ? str : "", str ? " " : "", row ); g_free( str ); if ( el->type == CDLG_LIST ) break; } valid_iter = gtk_tree_model_iter_next( model, &iter ); } _return_value: if ( !prefix ) { g_free( indices ); return selected ? selected : g_strdup( "" ); } if ( !selected ) str = g_strdup_printf( "%s_%s=''\n%s_%s_index='%s'\n", prefix, el->name, prefix, el->name, el->type == CDLG_LIST ? "-1" : "" ); else if ( el->type == CDLG_LIST ) str = g_strdup_printf( "%s_%s=%s\n%s_%s_index=%s\n", prefix, el->name, selected, prefix, el->name, indices ); else str = g_strdup_printf( "%s_%s=(\n%s )\n%s_%s_index=( %s )\n", prefix, el->name, selected, prefix, el->name, indices ); g_free( selected ); g_free( indices ); return str; } static void fill_tree_view( CustomElement* el, GList* arglist ) { GList* l; GList* args; char* arg; char* sep; char* str; GtkTreeIter iter; GtkListStore* list; GtkTreeModel* model; GtkTreeViewColumn* col; GtkCellRenderer *renderer; GType coltypes[MAX_LIST_COLUMNS]; int colcount; int i; gboolean headers = FALSE; if ( !el->widgets->next ) return; GtkWidget* view = (GtkWidget*)el->widgets->next->data; if ( !GTK_IS_TREE_VIEW( view ) ) return; // clear list model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( model ) gtk_list_store_clear( GTK_LIST_STORE( model ) ); // remove columns args = gtk_tree_view_get_columns( GTK_TREE_VIEW( view ) ); for ( l = args; l; l = l->next ) { gtk_tree_view_remove_column( GTK_TREE_VIEW( view ), GTK_TREE_VIEW_COLUMN( (GtkTreeViewColumn*)l->data ) ); } g_list_free( args ); // fill list args = arglist; col = NULL; colcount = 0; while ( args ) { arg = (char*)args->data; args = args->next; if ( !strcmp( arg, "--" ) ) { el->cmd_args = args; break; } if ( g_str_has_prefix( arg, "--colwidth" ) ) { str = NULL; if ( g_str_has_prefix( arg, "--colwidth=" ) ) str = arg + strlen( "--colwidth=" ); else if ( !strcmp( arg, "--colwidth" ) && args ) { str = (char*)args->data; // next argument args = args->next; // skip next argument } if ( col && str && ( i = atoi( str ) ) > 0 ) gtk_tree_view_column_set_fixed_width( col, i ); continue; } if ( arg[0] == '^' || !col ) { // new column start if ( colcount == MAX_LIST_COLUMNS ) { str = g_strdup_printf( _("Too many columns (>%d) in %s"), MAX_LIST_COLUMNS, el->name ); dlg_warn( str, NULL, NULL ); g_free( str ); break; } col = gtk_tree_view_column_new(); gtk_tree_view_column_set_sort_indicator( col, TRUE ); gtk_tree_view_column_set_sort_column_id( col, colcount ); gtk_tree_view_append_column( GTK_TREE_VIEW( view ), col ); //if ( colcount == 0 ) gtk_tree_view_column_set_expand ( col, TRUE ); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_FIXED ); gtk_tree_view_column_set_resizable( col, TRUE ); gtk_tree_view_column_set_min_width( col, 50 ); colcount++; coltypes[colcount - 1] = G_TYPE_STRING; if ( arg[0] == '^' ) { // column header sep = strrchr( arg, ':' ); if ( sep && sep[1] == '\0' ) sep = NULL; if ( sep ) sep[0] = '\0'; gtk_tree_view_column_set_title( col, arg + 1 ); if ( !strcmp( arg + 1, "HIDE" ) && colcount == 1 ) gtk_tree_view_column_set_visible( col, FALSE ); if ( sep ) { sep[0] = ':'; sep++; if ( !strcmp( sep, "progress" ) && gtk_tree_view_column_get_visible( col ) ) coltypes[colcount - 1] = G_TYPE_INT; else if ( !strcmp( sep, "int" ) ) coltypes[colcount - 1] = G_TYPE_INT64; else if ( !strcmp( sep, "double" ) ) coltypes[colcount - 1] = G_TYPE_DOUBLE; } headers = TRUE; } // pack renderer switch ( coltypes[colcount - 1] ) { case G_TYPE_STRING: case G_TYPE_INT64: case G_TYPE_DOUBLE: renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", colcount - 1, NULL ); g_object_set( G_OBJECT( renderer ), /*"editable", TRUE,*/ "ellipsize", PANGO_ELLIPSIZE_END, NULL ); break; case G_TYPE_INT: renderer = gtk_cell_renderer_progress_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "value", colcount - 1, NULL ); } } } gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), headers ); if ( colcount == 0 ) return; // list store list = gtk_list_store_newv( colcount, coltypes ); gtk_tree_view_set_model( GTK_TREE_VIEW( view ), GTK_TREE_MODEL( list ) ); // gtk_tree_view_set_model adds a ref g_object_unref( list ); int colx = 0; gboolean start = FALSE; gboolean valid_iter = FALSE; args = arglist; while ( args ) { arg = (char*)args->data; args = args->next; if ( !strcmp( arg, "--" ) ) break; if ( arg[0] == '^' ) { // new column start if ( start ) { if ( colx == MAX_LIST_COLUMNS - 1 ) break; colx++; // set iter to first row - false if no rows valid_iter = gtk_tree_model_get_iter_first( GTK_TREE_MODEL( list ), &iter ); } } else if ( g_str_has_prefix( arg, "--colwidth=" ) ) continue; else if ( g_str_has_prefix( arg, "--colwidth" ) ) { args = args->next; continue; } else { if ( colx == 0 ) { // first column - add row start = TRUE; gtk_list_store_append( list, &iter ); } else { // non-first column - add row if needed if ( !valid_iter ) { // no row for this data, so add a row // non-first column was longer than first column gtk_list_store_append( list, &iter ); } } // set row data if ( coltypes[colx] == G_TYPE_INT ) { i = atoi( arg ); if ( i < 0 ) i = 0; if ( i > 100 ) i = 100; gtk_list_store_set( list, &iter, colx, i, -1 ); } else if ( coltypes[colx] == G_TYPE_INT64 ) gtk_list_store_set( list, &iter, colx, atoi( arg ), -1 ); else if ( coltypes[colx] == G_TYPE_DOUBLE ) gtk_list_store_set( list, &iter, colx, strtod( arg, NULL ), -1 ); else gtk_list_store_set( list, &iter, colx, arg, -1 ); if ( colx != 0 ) valid_iter = gtk_tree_model_iter_next( GTK_TREE_MODEL( list ), &iter ); } } // resize columns - none of this seems to do anything gtk_tree_view_columns_autosize( GTK_TREE_VIEW( view ) ); // doc: only works after realize /* args = gtk_tree_view_get_columns( GTK_TREE_VIEW( view ) ); for ( l = args; l; l = l->next ) { gtk_tree_view_column_queue_resize( GTK_TREE_VIEW_COLUMN( (GtkTreeViewColumn*)l->data ) ); } g_list_free( args ); */ } static void select_in_tree_view( CustomElement* el, const char* value, gboolean select ) { GtkTreeModel* model; GtkTreePath* tree_path; GtkTreeIter iter; GtkTreeSelection* tree_sel; char* str; if ( !el || !el->widgets->next || !value ) return; GtkWidget* view = (GtkWidget*)el->widgets->next->data; if ( !GTK_IS_TREE_VIEW( view ) ) return; model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( !model ) return; tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) ); if ( value[0] == '\0' ) { if ( select ) { if ( el->type == CDLG_MLIST ) gtk_tree_selection_select_all( tree_sel ); else if ( gtk_tree_model_get_iter_first( model, &iter ) ) { // select first tree_path = gtk_tree_model_get_path( model, &iter ); gtk_tree_selection_select_path( tree_sel, tree_path ); gtk_tree_view_set_cursor( GTK_TREE_VIEW( view ), tree_path, NULL, FALSE); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( view ), tree_path, NULL, TRUE, .25, 0 ); } } else gtk_tree_selection_unselect_all( tree_sel ); return; } if ( !gtk_tree_model_get_iter_first( model, &iter ) ) return; do { str = get_column_value( model, &iter, 0 ); if ( !g_strcmp0( str, value ) ) { if ( !!gtk_tree_selection_iter_is_selected( tree_sel, &iter ) != !!select ) { tree_path = gtk_tree_model_get_path( model, &iter ); if ( select ) { gtk_tree_selection_select_path( tree_sel, tree_path ); // scroll and set cursor if ( el->type == CDLG_LIST ) gtk_tree_view_set_cursor( GTK_TREE_VIEW( view ), tree_path, NULL, FALSE); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( view ), tree_path, NULL, TRUE, .25, 0 ); } else gtk_tree_selection_unselect_path( tree_sel, tree_path ); } g_free( str ); break; } g_free( str ); } while ( gtk_tree_model_iter_next( model, &iter ) ); } GList* args_from_file( const char* path ) { char line[ 2048 ]; GList* args = NULL; FILE* file = fopen( path, "r" ); if ( !file ) { dlg_warn( _("error reading file %s: %s"), path, g_strerror( errno ) ); return NULL; } while ( fgets( line, sizeof( line ), file ) ) { if ( !g_utf8_validate( line, -1, NULL ) ) { dlg_warn( _("file '%s' contents are not valid UTF-8"), path, NULL ); g_list_foreach( args, (GFunc)g_free, NULL ); g_list_free( args ); return NULL; } strtok( line, "\r\n" ); if ( !strcmp( line, "--" ) ) break; if ( line[0] != '\n' ) // skip blank lines args = g_list_prepend( args, g_strdup( line ) ); } fclose( file ); return ( args = g_list_reverse( args ) ); } static CustomElement* el_from_name( CustomElement* el, const char* name ) { GList* l; if ( !el || !name ) return NULL; GList* elements = (GList*)g_object_get_data( G_OBJECT( el->widgets->data ), "elements" ); CustomElement* el_name = NULL; for ( l = elements; l; l = l->next ) { if ( !strcmp( ((CustomElement*)l->data)->name, name ) ) { el_name = (CustomElement*)l->data; break; } } return el_name; } static void set_element_value( CustomElement* el, const char* name, char* value ) { GtkWidget* dlg = (GtkWidget*)el->widgets->data; GtkWidget* w; GdkPixbuf* pixbuf; GtkWidget* image_box; GtkTextBuffer* buf; char* sep; char* str; int i, width, height; GList* l; if ( !el || !name || !value ) return; CustomElement* el_name = el_from_name( el, name ); if ( !el_name ) { dlg_warn( _("Cannot set missing element '%s'"), name, NULL ); return; } switch ( el_name->type ) { case CDLG_TITLE: gtk_window_set_title( GTK_WINDOW( dlg ), value ); g_free( el_name->val ); el_name->val = g_strdup( value ); break; case CDLG_WINDOW_ICON: if ( value[0] != '\0' ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), value, 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else pixbuf = NULL; gtk_window_set_icon( GTK_WINDOW( dlg ), pixbuf ); g_free( el_name->val ); el_name->val = g_strdup( value ); break; case CDLG_LABEL: if ( el_name->widgets->next && ( w = GTK_WIDGET( el_name->widgets->next->data ) ) ) { g_free( el_name->val ); el_name->val = unescape( value ); if ( el_name->val[0] == '~' ) gtk_label_set_markup_with_mnemonic( GTK_LABEL( w ), el_name->val + 1 ); else gtk_label_set_text( GTK_LABEL( w ), el_name->val ); } break; case CDLG_BUTTON: case CDLG_FREE_BUTTON: if ( el_name->widgets->next && ( w = GTK_WIDGET( el_name->widgets->next->data ) ) ) { g_free( el_name->val ); el_name->val = unescape( value ); if ( sep = strrchr( el_name->val, ':' ) ) sep[0] = '\0'; else sep = NULL; gtk_button_set_image( GTK_BUTTON( w ), NULL ); if ( !sep && ( !g_strcmp0( el_name->val, "ok" ) || !g_strcmp0( el_name->val, "cancel" ) || !g_strcmp0( el_name->val, "close" ) || !g_strcmp0( el_name->val, "open" ) || !g_strcmp0( el_name->val, "yes" ) || !g_strcmp0( el_name->val, "no" ) || !g_strcmp0( el_name->val, "apply" ) || !g_strcmp0( el_name->val, "delete" ) || !g_strcmp0( el_name->val, "edit" ) || !g_strcmp0( el_name->val, "save" ) || !g_strcmp0( el_name->val, "help" ) || !g_strcmp0( el_name->val, "stop" ) ) ) { // stock button gtk_button_set_use_stock( GTK_BUTTON( w ), TRUE ); str = g_strdup_printf( "gtk-%s", el_name->val ); gtk_button_set_label( GTK_BUTTON( w ), str ); g_free( str ); } else { // custom button gtk_button_set_use_stock( GTK_BUTTON( w ), FALSE ); gtk_button_set_label( GTK_BUTTON( w ), el_name->val ); } // set icon if ( sep && sep[1] != '\0' ) gtk_button_set_image( GTK_BUTTON( w ), xset_get_image( sep + 1, GTK_ICON_SIZE_BUTTON ) ); if ( sep ) sep[0] = ':'; } break; case CDLG_ICON: case CDLG_IMAGE: // destroy old image if ( el_name->widgets->next && el_name->widgets->next->next && ( w = GTK_WIDGET( el_name->widgets->next->next->data ) ) ) { gtk_widget_destroy( w ); el_name->widgets = g_list_remove( el_name->widgets, w ); } // add image if ( el_name->widgets->next && !el_name->widgets->next->next && value && ( image_box = GTK_WIDGET( el_name->widgets->next->data ) ) ) { if ( el_name->type == CDLG_IMAGE ) w = gtk_image_new_from_file( value ); else w = gtk_image_new_from_icon_name( value, GTK_ICON_SIZE_DIALOG ); gtk_container_add( GTK_CONTAINER( image_box ), GTK_WIDGET( w ) ); el_name->widgets = g_list_append( el_name->widgets, w ); gtk_widget_show( w ); g_free( el_name->val ); el_name->val = g_strdup( value ); } break; case CDLG_INPUT: case CDLG_INPUT_LARGE: case CDLG_PASSWORD: // remove linefeeds str = replace_string( value, "\n", "", FALSE ); if ( el_name->type == CDLG_INPUT_LARGE ) { gtk_text_buffer_set_text( gtk_text_view_get_buffer( GTK_TEXT_VIEW( el_name->widgets->next->data ) ), str, -1 ); multi_input_select_region( el_name->widgets->next->data, 0, -1 ); } else { gtk_entry_set_text( GTK_ENTRY( el_name->widgets->next->data ), str ); gtk_editable_select_region( GTK_EDITABLE( el_name->widgets->next->data ), 0, -1 ); } g_free( el_name->val ); el_name->val = str; break; case CDLG_VIEWER: case CDLG_EDITOR: if ( !g_file_test( value, G_FILE_TEST_IS_REGULAR ) ) { dlg_warn( _("file '%s' is not a regular file"), value, NULL ); break; } if ( el_name->type == CDLG_VIEWER && el_name->widgets->next ) { // viewer buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( el_name->widgets->next->data ) ); // update viewer from file fill_buffer_from_file( el_name, buf, value, FALSE ); // scroll if ( el_name->option ) { //scroll to end if scrollbar is mostly down or new GtkAdjustment* adj = gtk_scrolled_window_get_vadjustment( GTK_SCROLLED_WINDOW( el_name->widgets->next->next->data ) ); if ( gtk_adjustment_get_upper( adj ) - gtk_adjustment_get_value( adj ) < gtk_adjustment_get_page_size( adj ) + 40 ) gtk_text_view_scroll_to_mark( GTK_TEXT_VIEW( el_name->widgets->next->data ), gtk_text_buffer_get_mark( buf, "end" ), 0.0, FALSE, 0, 0 ); } g_free( el_name->val ); el_name->val = g_strdup( value ); } else if ( el_name->type == CDLG_EDITOR && el_name->widgets->next ) { // new editor buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( el_name->widgets->next->data ) ); fill_buffer_from_file( el_name, buf, value, FALSE ); g_free( el_name->val ); el_name->val = g_strdup( value ); } break; case CDLG_CHECKBOX: case CDLG_RADIO: if ( el_name->widgets->next ) { if ( !strcmp( value, "1") || !strcmp( value, "true" ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( el_name->widgets->next->data ), TRUE ); else if ( !strcmp( value, "0") || !strcmp( value, "false" ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( el_name->widgets->next->data ), FALSE ); else { // update option label str = unescape( value ); gtk_button_set_label( GTK_BUTTON( el_name->widgets->next->data ), str ); g_free( str ); } } break; case CDLG_DROP: case CDLG_COMBO: if ( el_name->widgets->next ) { if ( g_file_test( value, G_FILE_TEST_IS_REGULAR ) ) { l = args_from_file( value ); // fill list from args fill_combo_box( el_name, l ); // free temp args g_list_foreach( l, (GFunc)g_free, NULL ); g_list_free( l ); } else if ( el_name->type == CDLG_COMBO ) gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( el_name->widgets->next->data ) ) ), value ); else select_in_combo_box( el_name, value ); } break; case CDLG_LIST: case CDLG_MLIST: if ( el_name->widgets->next ) { if ( g_file_test( value, G_FILE_TEST_IS_REGULAR ) ) { l = args_from_file( value ); // fill list from args fill_tree_view( el_name, l ); // free temp args g_list_foreach( l, (GFunc)g_free, NULL ); g_list_free( l ); } else dlg_warn( _("file '%s' is not a regular file"), value, NULL ); } break; /* if ( el_name->widgets->next ) { gtk_statusbar_push( GTK_STATUSBAR( el_name->widgets->next->data ), 0, * value ); } break; */ case CDLG_PROGRESS: if ( el_name->widgets->next ) { if ( !g_strcmp0( value, "pulse" ) ) { if ( el_name->timeout ) { g_source_remove( el_name->timeout ); el_name->timeout = 0; } gtk_progress_bar_pulse( GTK_PROGRESS_BAR( el_name->widgets->next->data ) ); } else if ( !g_strcmp0( value, "auto-pulse" ) ) { if ( !el_name->timeout ) el_name->timeout = g_timeout_add( 200, (GSourceFunc)on_progress_timer, el_name ); } else { i = value ? atoi( value ) : 0; if ( i < 0 ) i = 0; if ( i > 100 ) i = 100; if ( i != 0 || ( value && value[0] == '0' ) ) { if ( el_name->timeout ) { g_source_remove( el_name->timeout ); el_name->timeout = 0; } gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR( el_name->widgets->next->data ), (gdouble)i / 100 ); } str = value; while ( str && str[0] ) { if ( !g_ascii_isdigit( str[0] ) ) { gtk_progress_bar_set_text( GTK_PROGRESS_BAR( el_name->widgets->next->data ), value ); break; } str++; } if ( !( str && str[0] ) ) { if ( i != 0 || ( value && value[0] == '0' ) ) str = g_strdup_printf( "%d %%", i ); else str = g_strdup( " " ); gtk_progress_bar_set_text( GTK_PROGRESS_BAR( el_name->widgets->next->data ), str ); g_free( str ); } } } break; case CDLG_WINDOW_SIZE: width = -1; height = -1; get_width_height_pad( value, &width, &height, NULL ); if ( width > 0 && height > 0 ) { gtk_window_resize( GTK_WINDOW( dlg ), width, height ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); } else dlg_warn( _("Dynamic resize requires width and height > 0"), NULL, NULL ); break; case CDLG_TIMEOUT: if ( el_name->widgets->next && el_name->timeout ) { g_source_remove( el_name->timeout ); el_name->option = atoi( value ) + 1; if ( el_name->option <= 1 ) el_name->option = 21; on_timeout_timer( el_name ); el_name->timeout = g_timeout_add( 1000, (GSourceFunc)on_timeout_timer, el_name ); } break; case CDLG_CHOOSER: if ( el_name->widgets->next ) { i = gtk_file_chooser_get_action( GTK_FILE_CHOOSER( el_name->widgets->next->data ) ); if ( i == GTK_FILE_CHOOSER_ACTION_SAVE || i == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER ) { if ( strchr( value, '/' ) ) { str = g_path_get_dirname( value ); gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( el_name->widgets->next->data ), str ); g_free( str ); str = g_path_get_basename( value ); gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER( el_name->widgets->next->data ), str ); g_free( str ); } else gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER( el_name->widgets->next->data ), value ); } else if ( g_file_test( value, G_FILE_TEST_IS_DIR ) ) gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( el_name->widgets->next->data ), value ); else gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( el_name->widgets->next->data ), value ); } break; } } static char* get_element_value( CustomElement* el, const char* name ) { int width, height, pad; char* str; char* str2; GList* l; CustomElement* el_name; if ( !g_strcmp0( el->name, name ) ) el_name = el; else el_name = el_from_name( el, name ); if ( !el_name ) return g_strdup( "" ); char* ret = NULL; switch ( el_name->type ) { case CDLG_PREFIX: ret = g_strdup( el_name->args ? el_name->args->data : "dialog" ); break; case CDLG_TITLE: case CDLG_WINDOW_ICON: case CDLG_LABEL: case CDLG_IMAGE: case CDLG_ICON: case CDLG_BUTTON: case CDLG_FREE_BUTTON: case CDLG_VIEWER: case CDLG_EDITOR: ret = g_strdup( el_name->val ); break; case CDLG_TIMEOUT: ret = g_strdup_printf( "%d", el_name->option ); break; case CDLG_INPUT: case CDLG_INPUT_LARGE: case CDLG_PASSWORD: if ( el_name->type == CDLG_INPUT_LARGE ) ret = multi_input_get_text( el_name->widgets->next->data ); else ret = g_strdup( gtk_entry_get_text( GTK_ENTRY( el_name->widgets->next->data ) ) ); break; case CDLG_CHECKBOX: case CDLG_RADIO: ret = g_strdup( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( el_name->widgets->next->data ) ) ? "1" : "0" ); break; case CDLG_DROP: case CDLG_COMBO: // write text value ret = gtk_combo_box_text_get_active_text( GTK_COMBO_BOX_TEXT( el_name->widgets->next->data ) ); break; case CDLG_LIST: case CDLG_MLIST: ret = get_tree_view_selected( el_name, NULL ); break; case CDLG_PROGRESS: ret = g_strdup( gtk_progress_bar_get_text( GTK_PROGRESS_BAR( el_name->widgets->next->data ) ) ); break; case CDLG_WINDOW_SIZE: pad = -1; get_width_height_pad( el_name->val, &width, &height, &pad ); // get pad get_window_size( el_name->widgets->data, &width, &height ); if ( pad == -1 ) ret = g_strdup_printf( "%dx%d", width, height ); else ret = g_strdup_printf( "%dx%d %d", width, height, pad ); break; case CDLG_CHOOSER: if ( gtk_file_chooser_get_select_multiple( GTK_FILE_CHOOSER ( el_name->widgets->next->data ) ) ) { GSList* files = gtk_file_chooser_get_filenames( GTK_FILE_CHOOSER( el_name->widgets->next->data ) ); GSList* sl; if ( files ) { for ( sl = files; sl; sl = sl->next ) { str = ret; str2 = bash_quote( (char*)sl->data ); ret = g_strdup_printf( "%s%s%s", str ? str : "", str ? " " : "", str2 ); g_free( str ); g_free( str2 ); g_free( sl->data ); } g_slist_free( files ); } } else ret = g_strdup( gtk_file_chooser_get_filename( GTK_FILE_CHOOSER ( el_name->widgets->next->data ) ) ); break; } return ret ? ret : g_strdup( "" ); } static char* get_command_value( CustomElement* el, char* cmdline, char* xvalue ) { char* stdout = NULL; gboolean ret; gint exit_status; GError* error = NULL; char* argv[4]; char* line = replace_vars( el, cmdline, xvalue ); if ( line[0] == '\0' ) return line; //fprintf( stderr, "spacefm-dialog: SYNC=%s\n", line ); argv[0] = g_strdup( "bash" ); argv[1] = g_strdup( "-c" ); argv[2] = line; argv[3] = NULL; ret = g_spawn_sync( NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &stdout, NULL, NULL, &error ); if ( !ret && error ) { dlg_warn( "%s", error->message, NULL ); g_error_free( error ); } return ret && stdout ? stdout : g_strdup( "" ); } static char* replace_vars( CustomElement* el, char* value, char* xvalue ) { char* str; char* str2; char* str3; char* ptr; char* sep; char c; if ( !el || !value ) return g_strdup( value ); char* newval = NULL; ptr = value; while ( sep = strchr( ptr, '%' ) ) { sep[0] = '\0'; if ( ptr[0] != '\0' ) { str = newval; newval = g_strdup_printf( "%s%s", str ? str : "", ptr ); g_free( str ); } sep[0] = '%'; str = sep + 1; while ( str[0] != '\0' && strchr( BASH_VALID, str[0] ) ) str++; if ( sep[1] == '%' ) { // %% ptr = sep + 2; str2 = newval; newval = g_strdup_printf( "%s%s", str2 ? str2 : "", "%" ); g_free( str2 ); } else if ( sep[1] == '(' ) { // %(line) ptr = strrchr( sep, ')' ); if ( !ptr ) break; ptr[0] = '\0'; str3 = get_command_value( el, sep + 2, xvalue ); ptr[0] = ')'; ptr++; str2 = newval; newval = g_strdup_printf( "%s%s", str2 ? str2 : "", str3 ); g_free( str2 ); g_free( str3 ); } else if ( str == sep + 1 ) { // % ptr = sep + 1; str2 = newval; newval = g_strdup_printf( "%s%s", str2 ? str2 : "", "%" ); g_free( str2 ); } else { // %VAR ptr = str; c = str[0]; str[0] = '\0'; if ( !strcmp( sep + 1, "n" ) ) { // %n str2 = newval; newval = g_strdup_printf( "%s%s", str2 ? str2 : "", el->name ); g_free( str2 ); } else { if ( !strcmp( sep + 1, "v" ) || !g_strcmp0( sep + 1, el->name ) ) // %v or %self str3 = xvalue ? g_strdup( xvalue ) : get_element_value( el, el->name ); else // %NAME str3 = get_element_value( el, sep + 1 ); str2 = newval; newval = g_strdup_printf( "%s%s", str2 ? str2 : "", str3 ); g_free( str2 ); g_free( str3 ); } str[0] = c; } } str = newval; newval = g_strdup_printf( "%s%s", str ? str : "", ptr ); g_free( str ); return newval; } static void internal_command( CustomElement* el, int icmd, GList* args, char* xvalue ) { char* cname = NULL; char* cvalue = NULL; CustomElement* el_name = NULL; FILE* out; gboolean reverse = FALSE; if ( args->next ) { if ( icmd == CMD_CLOSE ) { if ( strcmp( (char*)args->next->data, "--" ) ) cvalue = replace_vars( el, (char*)args->next->data, xvalue ); } else { cname = replace_vars( el, (char*)args->next->data, xvalue ); if ( args->next->next && strcmp( (char*)args->next->next->data, "--" ) ) cvalue = replace_vars( el, (char*)args->next->next->data, xvalue ); } if ( cvalue && ( cvalue[0] == '\0' || !strcmp( cvalue, "0" ) || !strcmp( cvalue, "false" ) ) ) reverse = TRUE; } if ( icmd != CMD_NOOP && icmd != CMD_CLOSE && icmd != CMD_SOURCE && icmd != CMD_FOCUS && icmd != CMD_SHOW && !cname ) { dlg_warn( _("internal command %s requires an argument"), cdlg_cmd[icmd*3], NULL ); return; } if ( !cvalue ) cvalue = g_strdup( "" ); if ( icmd == CMD_SET && ( !strcmp( cname, "title" ) || !strcmp( cname, "windowtitle" ) || !strcmp( cname, "windowsize" ) || !strcmp( cname, "windowicon" ) ) ) { // generic - no element if ( !strcmp( cname, "title" ) || !strcmp( cname, "windowtitle" ) ) gtk_window_set_title( GTK_WINDOW( el->widgets->data ), cvalue ); else if ( !strcmp( cname, "windowsize" ) ) { int width = -1, height = -1; get_width_height_pad( cvalue, &width, &height, NULL ); if ( width > 0 && height > 0 ) { gtk_window_resize( GTK_WINDOW( el->widgets->data ), width, height ); gtk_window_set_position( GTK_WINDOW( el->widgets->data ), GTK_WIN_POS_CENTER ); } else dlg_warn( _("Dynamic resize requires width and height > 0"), NULL, NULL ); } else if ( !strcmp( cname, "windowicon" ) ) { GdkPixbuf* pixbuf; if ( cvalue[0] != '\0' ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), cvalue, 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else pixbuf = NULL; gtk_window_set_icon( GTK_WINDOW( el->widgets->data ), pixbuf ); } g_free( cname ); g_free( cvalue ); return; } if ( icmd != CMD_NOOP && icmd != CMD_SOURCE && icmd != CMD_CLOSE && cname && !( el_name = el_from_name( el, cname ) ) ) { if ( cname[0] != '\0' ) dlg_warn( _("element '%s' does not exist"), cname, NULL ); g_free( cname ); g_free( cvalue ); return; } // reversal of function if ( reverse ) { switch ( icmd ) { case CMD_FOCUS: case CMD_CLOSE: icmd = -1; break; case CMD_HIDE: icmd = CMD_SHOW; break; case CMD_SHOW: icmd = CMD_HIDE; break; case CMD_DISABLE: icmd = CMD_ENABLE; break; case CMD_ENABLE: icmd = CMD_DISABLE; break; } } //fprintf( stderr, "spacefm-dialog: INTERNAL=%s %s %s\n", cdlg_cmd[icmd*3], // cname, cvalue ); switch ( icmd ) { case CMD_CLOSE: write_source( el->widgets->data, NULL, stdout, TRUE ); g_idle_add( (GSourceFunc)destroy_dlg, el->widgets->data ); break; case CMD_SET: set_element_value( el, cname, cvalue ); break; case CMD_PRESS: if ( el_name->type == CDLG_BUTTON || el_name->type == CDLG_FREE_BUTTON ) on_button_clicked( NULL, el_name ); else dlg_warn( _("internal command press is invalid for non-button %s"), cname, NULL ); break; case CMD_SELECT: case CMD_UNSELECT: if ( el_name->type == CDLG_LIST || el_name->type == CDLG_MLIST ) select_in_tree_view( el_name, cvalue, icmd == CMD_SELECT ); else if ( el_name->type == CDLG_DROP ) { if ( icmd == CMD_SELECT ) select_in_combo_box( el_name, cvalue ); else gtk_combo_box_set_active( GTK_COMBO_BOX( el_name->widgets->next->data ), -1 ); } else if ( el_name->type == CDLG_COMBO ) { if ( icmd == CMD_SELECT ) gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( el_name->widgets->next->data ) ) ), cvalue ); else gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( el_name->widgets->next->data ) ) ), "" ); } else if ( el_name->type == CDLG_CHOOSER ) { if ( icmd == CMD_SELECT ) gtk_file_chooser_select_filename( GTK_FILE_CHOOSER( el_name->widgets->next->data ), cvalue ); else gtk_file_chooser_unselect_filename( GTK_FILE_CHOOSER( el_name->widgets->next->data ), cvalue ); } else dlg_warn( _("internal command un/select is invalid for %s"), cdlg_option[el_name->type * 3], NULL ); break; case CMD_HIDE: if ( el_name->widgets->next ) gtk_widget_hide( el_name->widgets->next->data ); break; case CMD_SHOW: if ( el_name && el_name->widgets->next ) gtk_widget_show( el_name->widgets->next->data ); else gtk_window_present( GTK_WINDOW( el->widgets->data ) ); break; case CMD_FOCUS: if ( el_name && el_name->widgets->next ) gtk_widget_grab_focus( el_name->widgets->next->data ); else gtk_window_present( GTK_WINDOW( el->widgets->data ) ); break; case CMD_DISABLE: if ( el_name->widgets->next ) gtk_widget_set_sensitive( el_name->widgets->next->data, FALSE ); break; case CMD_ENABLE: if ( el_name->widgets->next ) gtk_widget_set_sensitive( el_name->widgets->next->data, TRUE ); break; case CMD_SOURCE: if ( !cname || ( cname && cname[0] == '\0' ) ) out = stderr; else out = fopen( cname, "w" ); if ( !out ) { dlg_warn( _("error writing file %s: %s"), cname, g_strerror( errno ) ); break; } write_source( el->widgets->data, NULL, out, FALSE ); if ( out != stderr ) fclose( out ); break; } g_free( cname ); g_free( cvalue ); } static void run_command( CustomElement* el, GList* argslist, char* xvalue ) { char* str; char* line; char* arg; GList* l; int i, icmd = -1; GList* args; GError* error; if ( !argslist ) return; args = argslist; while ( args ) { icmd = -1; for ( i = 0; i < G_N_ELEMENTS( cdlg_cmd ) / 3; i++ ) { if ( !strcmp( (char*)args->data, cdlg_cmd[i*3] ) ) { icmd = i; break; } } if ( icmd == -1 ) { // external command gchar* argv[g_list_length( args ) + 1]; int a = 0; while ( args && strcmp( (char*)args->data, "--" ) ) { if ( a == 0 ) { if ( ((char*)args->data)[0] == '\0' ) break; argv[a++] = g_strdup( (char*)args->data ); } else argv[a++] = replace_vars( el, (char*)args->data, xvalue ); args = args->next; } if ( a != 0 ) { argv[a++] = NULL; /* fprintf( stderr, "spacefm-dialog: ASYNC=" ); for ( i = 0; i < a - 1; i++ ) fprintf( stderr, "%s%s", i == 0 ? "" : " ", argv[i] ); fprintf( stderr, "\n" ); */ error = NULL; if ( !g_spawn_async( NULL, argv, NULL, G_SPAWN_SEARCH_PATH | G_SPAWN_STDOUT_TO_DEV_NULL, NULL, NULL, NULL, &error ) ) { dlg_warn( "%s", error->message, NULL ); g_error_free( error ); } } } else { // internal command internal_command( el, icmd, args, xvalue ); while ( args && strcmp( (char*)args->data, "--" ) ) args = args->next; } while ( args && !strcmp( (char*)args->data, "--" ) ) args = args->next; } } static void run_command_line( CustomElement* el, char* line ) { char* sep; GList* args = NULL; char* str = line; int i = 0; // read internal command line into temp args while ( str ) { if ( i < 2 ) { if ( sep = strchr( str, ' ' ) ) sep[0] = '\0'; args = g_list_append( args, g_strdup( str ) ); if ( sep ) { sep[0] = ' '; str = sep + 1; } else str = NULL; } else { args = g_list_append( args, g_strdup( str ) ); str = NULL; } i++; } if ( args ) { int icmd = -1; for ( i = 0; i < G_N_ELEMENTS( cdlg_cmd ) / 3; i++ ) { if ( !strcmp( (char*)args->data, cdlg_cmd[i*3] ) ) { icmd = i; break; } } if ( icmd != -1 ) run_command( el, args, NULL ); else dlg_warn( _("'%s' is not an internal command"), (char*)args->data, NULL ); g_list_foreach( args, (GFunc)g_free, NULL ); g_list_free( args ); } } static void write_file_value( const char* path, const char* val ) { int f; int add = 0; if ( !path ) return; if ( path[0] == '@' ) add = 1; if ( ( f = open( path + add, O_CREAT | O_WRONLY | O_TRUNC, S_IRUSR | S_IWUSR ) ) == -1 ) { dlg_warn( _("error writing file %s: %s"), path + add, g_strerror( errno ) ); return; } if ( val ) { if ( write( f, val, strlen( val ) ) < strlen( val ) ) dlg_warn( _("error writing file %s: %s"), path + add, g_strerror( errno ) ); else if ( !strchr( val, '\n' ) ) write( f, "\n", 1 ); } close( f ); } static char* read_file_value( const char* path, gboolean multi ) { FILE* file; int f, bytes; const gchar* end; if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { // create file if ( ( f = open( path, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR ) ) == -1 ) { dlg_warn( _("error creating file %s: %s"), path, g_strerror( errno ) ); return NULL; } close( f ); } // read file char line[ 4096 ]; if ( multi ) { // read up to 4K of file if ( ( f = open( path, O_RDONLY ) ) == -1 ) { dlg_warn( _("error reading file %s: %s"), path, g_strerror( errno ) ); return NULL; } bytes = read( f, line, sizeof( line ) - 1 ); close(f); line[bytes] = '\0'; } else { // read first line of file file = fopen( path, "r" ); if ( !file ) { dlg_warn( _("error reading file %s: %s"), path, g_strerror( errno ) ); return NULL; } if ( !fgets( line, sizeof( line ), file ) ) { fclose( file ); return NULL; } fclose( file ); strtok( line, "\r\n" ); if ( line[0] == '\n' ) line[0] = '\0'; } if ( !g_utf8_validate( line, -1, &end ) ) { if ( multi && end > line ) ((char*)end)[0] = '\0'; else { dlg_warn( _("file '%s' contents are not valid UTF-8"), path, NULL ); return NULL; } } return line[0] != '\0' ? g_strdup( line ) : NULL; } static gboolean cb_pipe_watch( GIOChannel *channel, GIOCondition cond, CustomElement* el ) { /* fprintf( stderr, "cb_pipe_watch %d\n", channel); if ( cond & G_IO_IN ) fprintf( stderr, " G_IO_IN\n"); if ( cond & G_IO_OUT ) fprintf( stderr, " G_IO_OUT\n"); if ( cond & G_IO_PRI ) fprintf( stderr, " G_IO_PRI\n"); if ( cond & G_IO_ERR ) fprintf( stderr, " G_IO_ERR\n"); if ( cond & G_IO_HUP ) fprintf( stderr, " G_IO_HUP\n"); if ( cond & G_IO_NVAL ) fprintf( stderr, " G_IO_NVAL\n"); if ( !( cond & G_IO_NVAL ) ) { gint fd = g_io_channel_unix_get_fd( channel ); fprintf( stderr, " fd=%d\n", fd); if ( fcntl(fd, F_GETFL) != -1 || errno != EBADF ) { int flags = g_io_channel_get_flags( channel ); if ( flags & G_IO_FLAG_IS_READABLE ) fprintf( stderr, " G_IO_FLAG_IS_READABLE\n"); } else fprintf( stderr, " Invalid FD\n"); } */ if ( ( cond & G_IO_NVAL ) ) { g_io_channel_unref( channel ); return FALSE; } else if ( !( cond & G_IO_IN ) ) { if ( ( cond & G_IO_HUP ) ) { g_io_channel_unref( channel ); return FALSE; } else return TRUE; } else if ( !( fcntl( g_io_channel_unix_get_fd( channel ), F_GETFL ) != -1 || errno != EBADF ) ) { // bad file descriptor g_io_channel_unref( channel ); return FALSE; } //GError *error = NULL; gsize size; gchar line[2048]; if ( g_io_channel_read_chars( channel, line, sizeof( line ), &size, NULL ) == G_IO_STATUS_NORMAL && size > 0 ) { if ( !g_utf8_validate( line, size, NULL ) ) dlg_warn( _("pipe '%s' data is not valid UTF-8"), (char*)el->args->data, NULL ); else if ( el->type == CDLG_VIEWER && el->widgets->next ) { GtkTextIter iter, siter; GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( el->widgets->next->data ) ); gtk_text_buffer_get_end_iter( buf, &iter); gtk_text_buffer_insert( buf, &iter, line, size ); //scroll if ( el->option ) { GtkAdjustment* adj = gtk_scrolled_window_get_vadjustment( GTK_SCROLLED_WINDOW( el->widgets->next->next->data ) ); if ( gtk_adjustment_get_upper( adj ) - gtk_adjustment_get_value( adj ) < gtk_adjustment_get_page_size( adj ) + 40 ) gtk_text_view_scroll_to_mark( GTK_TEXT_VIEW( el->widgets->next->data ), gtk_text_buffer_get_mark( buf, "end" ), 0.0, FALSE, 0, 0 ); } // trim if ( gtk_text_buffer_get_char_count( buf ) > 64000 || gtk_text_buffer_get_line_count( buf ) > 800 ) { if ( gtk_text_buffer_get_char_count( buf ) > 64000 ) { // trim to 50000 characters - handles single line flood gtk_text_buffer_get_iter_at_offset( buf, &iter, gtk_text_buffer_get_char_count( buf ) - 50000 ); } else // trim to 700 lines gtk_text_buffer_get_iter_at_line( buf, &iter, gtk_text_buffer_get_line_count( buf ) - 700 ); gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_delete( buf, &siter, &iter ); gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_insert( buf, &siter, _("[ SNIP - additional output above has been trimmed from this log ]\n"), -1 ); } } else if ( el->type == CDLG_COMMAND ) { char* str = g_strndup( line, size ); char* sep; char* ptr = str; while ( ptr && ptr[0] != '\0' ) { sep = strchr( ptr, '\n' ); if ( sep ) sep[0] = '\0'; run_command_line( el, ptr ); ptr = sep ? sep + 1 : NULL; } g_free( str ); } } else g_warning( "cb_pipe_watch: g_io_channel_read_chars != G_IO_STATUS_NORMAL" ); return TRUE; } static gboolean delayed_update_false( CustomElement* el ) { if ( el->update_timeout ) { g_source_remove( el->update_timeout ); el->update_timeout = 0; } return FALSE; } static gboolean delayed_update( CustomElement* el ) { if ( el->update_timeout ) { g_source_remove( el->update_timeout ); el->update_timeout = 0; } update_element( el, NULL, NULL, 0 ); return FALSE; } static void cb_file_value_change( VFSFileMonitor* fm, VFSFileMonitorEvent event, const char* file_name, CustomElement* el ) { //printf( "cb_file_value_change %d %s\n", event, file_name ); switch( event ) { case VFS_FILE_MONITOR_DELETE: //printf (" DELETE\n"); if ( el->monitor ) vfs_file_monitor_remove( el->monitor, el->callback, el ); el->monitor = NULL; // update_element will add a new monitor if file re-created // use low priority since cb_file_value_change is called from another thread // otherwise segfault in vfs-file-monitor.c:351 break; case VFS_FILE_MONITOR_CHANGE: case VFS_FILE_MONITOR_CREATE: default: //printf (" CREATE/CHANGE\n"); break; } if ( !el->update_timeout ) { // don't update element more than once every 50ms - when a file is // changed multiple events are reported el->update_timeout = g_timeout_add_full( G_PRIORITY_DEFAULT_IDLE, 50, (GSourceFunc)delayed_update, el, NULL ); } } static void fill_buffer_from_file( CustomElement* el, GtkTextBuffer* buf, char* path, gboolean watch ) { char line[ 4096 ]; FILE* file; char* pathx = path; if ( pathx[0] == '@' ) pathx++; gtk_text_buffer_set_text( buf, "", -1 ); file = fopen( pathx, "r" ); if ( !file ) { dlg_warn( _("error reading file %s: %s"), pathx, g_strerror( errno ) ); return; } // read file one line at a time to prevent splitting UTF-8 characters while ( fgets( line, sizeof( line ), file ) ) { if ( !g_utf8_validate( line, -1, NULL ) ) { fclose( file ); if ( watch ) gtk_text_buffer_set_text( buf, _("( file contents are not valid UTF-8 )"), -1 ); else gtk_text_buffer_set_text( buf, "", -1 ); dlg_warn( _("file '%s' contents are not valid UTF-8"), pathx, NULL ); return; } gtk_text_buffer_insert_at_cursor( buf, line, -1 ); } fclose( file ); if ( watch && !el->monitor ) { // start monitoring file el->callback = (VFSFileMonitorCallback)cb_file_value_change; el->monitor = vfs_file_monitor_add( pathx, FALSE, el->callback, el ); } } static void get_text_value( CustomElement* el, const char* val, gboolean multi, gboolean watch ) { if ( !val ) return; if ( val[0] == '@' ) { // get value from file g_free( el->val ); el->val = read_file_value( val + 1, multi ); if ( multi ) // strip trailing linefeeds while ( g_str_has_suffix( el->val, "\n" ) ) el->val[strlen( el->val ) - 1] = '\0'; if ( watch && !el->monitor && g_file_test( val + 1, G_FILE_TEST_IS_REGULAR ) ) { // start monitoring file el->callback = (VFSFileMonitorCallback)cb_file_value_change; el->monitor = vfs_file_monitor_add( (char*)val + 1, FALSE, el->callback, el ); el->watch_file = val + 1; } } else { // get static value if ( !el->val ) el->val = g_strdup( val ); } } static void free_elements( GList* elements ) { GList* l; CustomElement* el; for ( l = elements; l; l = l->next ) { el = (CustomElement*)l->data; g_free( el->name ); g_free( el->val ); if ( el->monitor ) vfs_file_monitor_remove( el->monitor, el->callback, el ); g_list_free( el->widgets ); g_list_free( el->args ); } g_list_free( elements ); } static gboolean destroy_dlg( GtkWidget* dlg ) { GList* elements = (GList*)g_object_get_data( G_OBJECT( dlg ), "elements" ); gtk_widget_destroy( GTK_WIDGET( dlg ) ); free_elements( elements ); gtk_main_quit(); return FALSE; } static void write_value( FILE* file, const char* prefix, const char* name, const char* sub, const char* val ) { char* str; char* quoted = bash_quote( val ); if ( strchr( quoted, '\n' ) ) { str = quoted; quoted = replace_string( str, "\n", "'$'\\n''", FALSE ); g_free( str ); } if ( strchr( quoted, '\t' ) ) { str = quoted; quoted = replace_string( str, "\t", "'$'\\t''", FALSE ); g_free( str ); } fprintf( file, "%s_%s%s%s=%s\n", prefix, name, sub ? "_" : "", sub ? sub : "", quoted ); g_free( quoted ); } static void write_source( GtkWidget* dlg, CustomElement* el_pressed, FILE* out, gboolean is_cancel ) { GList* l; CustomElement* el; char* str; char* prefix = "dialog"; int width, height, pad = -1; GList* elements = (GList*)g_object_get_data( G_OBJECT( dlg ), "elements" ); // get custom prefix for ( l = elements; l; l = l->next ) { if ( ((CustomElement*)l->data)->type == CDLG_PREFIX ) { el = (CustomElement*)l->data; if ( el->args ) { get_text_value( el, (char*)el->args->data, FALSE, FALSE ); if ( el->val && el->val[0] != '\0' ) { str = g_strdup( el->val ); g_strcanon( str, BASH_VALID, ' ' ); if ( strcmp( str, el->val ) ) dlg_warn( _("prefix '%s' is not a valid variable name"), el->val, NULL ); else prefix = el->val; g_free( str ); } } break; } } // write values int button_count = 0; fprintf( out, "#!%s\n# SpaceFM Dialog source output - execute this output to set variables\n# Example: eval \"`spacefm --dialog --label \"Message\" --button ok`\"\n\n", BASHPATH ); if ( !el_pressed ) { // no button press caused dialog closure write_value( out, prefix, "pressed", NULL, NULL ); write_value( out, prefix, "pressed", "index", "-2" ); write_value( out, prefix, "pressed", "label", NULL ); } for ( l = elements; l; l = l->next ) { el = (CustomElement*)l->data; switch ( el->type ) { case CDLG_TITLE: case CDLG_WINDOW_ICON: case CDLG_LABEL: case CDLG_IMAGE: case CDLG_ICON: case CDLG_COMMAND: write_value( out, prefix, el->name, NULL, el->val ); break; case CDLG_BUTTON: button_count++; case CDLG_FREE_BUTTON: case CDLG_TIMEOUT: if ( el == el_pressed ) { // dialog was closed by user pressing this button if ( el->type == CDLG_BUTTON ) { write_value( out, prefix, "pressed", NULL, el->name ); str = g_strdup_printf( "%d", button_count - 1 ); write_value( out, prefix, "pressed", "index", str ); g_free( str ); write_value( out, prefix, "pressed", "label", el->val ); } else if ( el->type == CDLG_TIMEOUT ) { write_value( out, prefix, "pressed", NULL, el->name ); write_value( out, prefix, "pressed", "index", "-3" ); write_value( out, prefix, "pressed", "label", NULL ); } else { write_value( out, prefix, "pressed", NULL, el->name ); write_value( out, prefix, "pressed", "index", "-1" ); write_value( out, prefix, "pressed", "label", el->val ); } } if ( el->type == CDLG_TIMEOUT ) { str = g_strdup_printf( "%d", el->option ); write_value( out, prefix, el->name, NULL, str ); g_free( str ); } else write_value( out, prefix, el->name, NULL, el->val ); break; case CDLG_INPUT: case CDLG_INPUT_LARGE: case CDLG_PASSWORD: if ( el->type == CDLG_INPUT_LARGE ) str = multi_input_get_text( el->widgets->next->data ); else // do not free str = (char*)gtk_entry_get_text( GTK_ENTRY( el->widgets->next->data ) ); if ( !is_cancel && el->args && ((char*)el->args->data)[0] == '@' ) { // save file // skip detection of updates while saving file if ( el->update_timeout ) g_source_remove( el->update_timeout ); el->update_timeout = g_timeout_add_full( G_PRIORITY_DEFAULT_IDLE, 300, (GSourceFunc)delayed_update_false, el, NULL ); write_file_value( (char*)el->args->data, str ); } write_value( out, prefix, el->name, "default", el->args ? (char*)el->args->data : NULL ); write_value( out, prefix, el->name, NULL, str ); if ( el->type == CDLG_INPUT_LARGE ) g_free( str ); break; case CDLG_VIEWER: case CDLG_EDITOR: write_value( out, prefix, el->name, NULL, el->val ); if ( !is_cancel && el->args && el->args->next ) { // save file write_value( out, prefix, el->name, "saved", (char*)el->args->next->data ); GtkTextIter iter, siter; GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( el->widgets->next->data ) ); gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); str = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); write_file_value( (char*)el->args->next->data, str ); g_free( str ); } else write_value( out, prefix, el->name, "saved", NULL ); break; case CDLG_CHECKBOX: case CDLG_RADIO: write_value( out, prefix, el->name, "label", gtk_button_get_label( GTK_BUTTON( el->widgets->next->data ) ) ); write_value( out, prefix, el->name, NULL, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( el->widgets->next->data ) ) ? "1" : "0" ); // save file if ( !is_cancel && el->args && el->args->next && ((char*)el->args->next->data)[0] == '@' ) { write_file_value( (char*)el->args->next->data + 1, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( el->widgets->next->data ) ) ? "1" : "0" ); write_value( out, prefix, el->name, "saved", (char*)el->args->next->data + 1 ); } break; case CDLG_DROP: case CDLG_COMBO: // write text value str = gtk_combo_box_text_get_active_text( GTK_COMBO_BOX_TEXT( el->widgets->next->data ) ); write_value( out, prefix, el->name, NULL, str ); if ( !is_cancel && el->def_val && el->def_val[0] == '@' ) { // save file write_file_value( el->def_val + 1, str ); write_value( out, prefix, el->name, "saved", el->def_val + 1 ); } g_free( str ); // write index str = g_strdup_printf( "%d", gtk_combo_box_get_active( GTK_COMBO_BOX( el->widgets->next->data ) ) ); write_value( out, prefix, el->name, "index", str ); g_free( str ); break; case CDLG_LIST: case CDLG_MLIST: str = get_tree_view_selected( el, prefix ); fprintf( out, str, NULL ); g_free( str ); break; case CDLG_PROGRESS: write_value( out, prefix, el->name, NULL, gtk_progress_bar_get_text( GTK_PROGRESS_BAR( el->widgets->next->data ) ) ); break; case CDLG_WINDOW_SIZE: get_width_height_pad( el->val, &width, &height, &pad ); // get pad if ( el->args && el->args->next && atoi( (char*)el->args->next->data ) > 0 ) pad = atoi( (char*)el->args->next->data ); if ( el->args && ((char*)el->args->data)[0] == '@' ) { // save file get_window_size( el->widgets->data, &width, &height ); if ( pad == -1 ) str = g_strdup_printf( "%dx%d", width, height ); else str = g_strdup_printf( "%dx%d %d", width, height, pad ); // skip detection of updates while saving file if ( el->update_timeout ) g_source_remove( el->update_timeout ); el->update_timeout = g_timeout_add_full( G_PRIORITY_DEFAULT_IDLE, 300, (GSourceFunc)delayed_update_false, el, NULL ); write_file_value( (char*)el->args->data + 1, str ); write_value( out, prefix, el->name, "saved", (char*)el->args->data + 1 ); g_free( str ); } break; case CDLG_CHOOSER: if ( gtk_file_chooser_get_select_multiple( GTK_FILE_CHOOSER ( el->widgets->next->data ) ) ) { GSList* files = gtk_file_chooser_get_filenames( GTK_FILE_CHOOSER( el->widgets->next->data ) ); GSList* sl; if ( !files ) fprintf( out, "%s_%s=''\n", prefix, el->name ); else { fprintf( out, "%s_%s=(", prefix, el->name ); for ( sl = files; sl; sl = sl->next ) { str = bash_quote( (char*)sl->data ); fprintf( out, "\n%s", str ); g_free( str ); g_free( sl->data ); } fprintf( out, ")\n" ); g_slist_free( files ); } } else { str = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER ( el->widgets->next->data ) ); write_value( out, prefix, el->name, NULL, str ); g_free( str ); } str = gtk_file_chooser_get_current_folder( GTK_FILE_CHOOSER ( el->widgets->next->data ) ); write_value( out, prefix, el->name, "dir", str ); if ( !is_cancel && el->args && ((char*)el->args->data)[0] == '@' ) { // save file write_value( out, prefix, el->name, "saved", (char*)el->args->data + 1 ); // skip detection of updates while saving file if ( el->update_timeout ) g_source_remove( el->update_timeout ); el->update_timeout = g_timeout_add_full( G_PRIORITY_DEFAULT_IDLE, 300, (GSourceFunc)delayed_update_false, el, NULL ); write_file_value( (char*)el->args->data + 1, str ); } g_free( str ); break; } } // write window size get_window_size( dlg, &width, &height ); if ( pad == -1 ) str = g_strdup_printf( "%dx%d", width, height ); else str = g_strdup_printf( "%dx%d %d", width, height, pad ); write_value( out, prefix, "windowsize", NULL, str ); g_free( str ); } static gboolean on_progress_timer( CustomElement* el ) { gtk_progress_bar_pulse( GTK_PROGRESS_BAR( el->widgets->next->data ) ); return TRUE; } static gboolean on_timeout_timer( CustomElement* el ) { el->option--; if ( el->option <= 0 ) { write_source( el->widgets->data, el, stdout, FALSE ); g_idle_add( (GSourceFunc)destroy_dlg, el->widgets->data ); return FALSE; } g_free( el->val ); el->val = g_strdup_printf( "%s %d", _("Pause"), el->option ); gtk_button_set_label( GTK_BUTTON( el->widgets->next->data ), el->val ); return TRUE; } /* static gboolean on_status_button_press( GtkWidget *widget, GdkEventButton *evt, CustomElement* el ) { if ( evt->type == GDK_BUTTON_PRESS && evt->button < 4 && el->args && el->args->next ) { char* num = g_strdup_printf( "%d", evt->button ); run_command( el->args->next, el->name, num ); g_free( num ); return TRUE; } return TRUE; } */ void on_widget_grab_focus( GtkWidget *widget, CustomElement* el ) { GList* l; char* val; if ( !enable_click_event ) return; char* elval = get_element_value( el, el->name ); if ( elval && elval[0] ) val = g_strdup_printf( "%s %s", el->name, elval ); else val = g_strdup( el->name ); GList* elements = (GList*)g_object_get_data( G_OBJECT( el->widgets->data ), "elements" ); for ( l = elements; l; l = l->next ) { if ( ((CustomElement*)l->data)->type == CDLG_CLICK && ((CustomElement*)l->data)->cmd_args ) run_command( (CustomElement*)l->data, ((CustomElement*)l->data)->cmd_args, val ); } g_free( val ); g_free( elval ); } void on_list_selection_changed( GtkTreeSelection* tree_sel, CustomElement* el ) { on_widget_grab_focus( GTK_WIDGET( el->widgets->next->data ), el ); } void on_combo_changed( GtkComboBox* box, CustomElement* el ) { on_widget_grab_focus( GTK_WIDGET( box ), el ); if ( el->type != CDLG_DROP || !el->cmd_args ) return; run_command( el, el->cmd_args, NULL ); } /* gboolean on_list_button_press( GtkTreeView* view, GdkEventButton* evt, CustomElement* el ) { printf("on_list_button_press\n"); if ( evt->type == GDK_2BUTTON_PRESS && evt->button == 1 ) { gtk_tree_view_row_activated( view, NULL, NULL ); return TRUE; } return FALSE; } */ static void on_list_row_activated( GtkTreeView *view, GtkTreePath *tree_path, GtkTreeViewColumn* col, CustomElement* el ) { GtkTreeIter iter; if ( !el->cmd_args ) { press_last_button( el->widgets->data ); return; } // get iter GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( !gtk_tree_model_get_iter( model, &iter, tree_path ) ) return; /* // get clicked column index int colx = 0; int x = -1; GList* l; GList* cols = gtk_tree_view_get_columns( GTK_TREE_VIEW( view ) ); for ( l = cols; l; l = l->next ) { if ( l->data == col ) { x = colx; break; } colx++; } g_list_free( cols ); if ( x == -1 ) return; */ run_command( el, el->cmd_args, NULL ); } static gboolean on_widget_button_press_event( GtkWidget *widget, GdkEventButton *evt, CustomElement* el ) { if ( evt->type == GDK_BUTTON_PRESS ) { if ( evt->button < 4 && el->cmd_args ) { char* num = g_strdup_printf( "%d %dx%d", evt->button, (uint)evt->x, (uint)evt->y ); run_command( el, el->cmd_args, num ); g_free( num ); return TRUE; } } return FALSE; } void on_option_toggled( GtkToggleButton *togglebutton, CustomElement* el ) { if ( el->type == CDLG_TIMEOUT ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( el->widgets->next->data ) ) ) { if ( el->timeout ) { g_source_remove( el->timeout ); el->timeout = 0; } } else { if ( !el->timeout ) el->timeout = g_timeout_add( 1000, (GSourceFunc)on_timeout_timer, el ); } } else if ( el->cmd_args ) { if ( el->type == CDLG_RADIO ) { if ( gtk_toggle_button_get_active( togglebutton ) ) run_command( el, el->cmd_args, "1" ); } else if ( el->type == CDLG_CHECKBOX ) { run_command( el, el->cmd_args, gtk_toggle_button_get_active( togglebutton ) ? "1" : "0" ); } } } static void on_button_clicked( GtkButton *button, CustomElement* el ) { if ( el->cmd_args ) // button has a command run_command( el, el->cmd_args, NULL ); else { // no command write_source( el->widgets->data, el, stdout, !g_strcmp0( el->val, "cancel" ) ); g_idle_add( (GSourceFunc)destroy_dlg, el->widgets->data ); } } static gboolean press_last_button( GtkWidget* dlg ) { // find last (default) button and press it GList* elements = (GList*)g_object_get_data( G_OBJECT( dlg ), "elements" ); if ( !elements ) return FALSE; GList* l; CustomElement* el; CustomElement* el_button = NULL; for ( l = elements; l; l = l->next ) { el = (CustomElement*)l->data; if ( el->type == CDLG_BUTTON ) el_button = el; } if ( el_button ) { on_button_clicked( NULL, el_button ); return TRUE; } return FALSE; } void on_chooser_selection_changed( GtkFileChooser* chooser, CustomElement* el ) { on_widget_grab_focus( GTK_WIDGET( chooser ), el ); } void on_chooser_activated( GtkFileChooser* chooser, CustomElement* el ) { if ( el->cmd_args ) { char* str = gtk_file_chooser_get_filename( chooser ); if ( str ) run_command( el, el->cmd_args, str ); g_free( str ); } else press_last_button( el->widgets->data ); } gboolean on_window_delete( GtkWidget *widget, GdkEvent *event, CustomElement* el ) { if ( el && el->cmd_args ) { run_command( el, el->cmd_args, NULL ); return TRUE; } // close window write_source( widget, NULL, stdout, TRUE ); destroy_dlg( widget ); return FALSE; } static gboolean on_dlg_key_press( GtkWidget *entry, GdkEventKey* evt, CustomElement* el ) { int keymod = ( evt->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); int keycode = strtol( (char*)el->args->data, NULL, 0 ); int modifier = strtol( (char*)el->args->next->data, NULL, 0 ); if ( keycode == evt->keyval && modifier == keymod ) { char* str = g_strdup_printf( "%s %s", (char*)el->args->data, (char*)el->args->next->data ); run_command( el, el->cmd_args, str ); g_free( str ); return TRUE; } return FALSE; } static gboolean on_input_key_press( GtkWidget *entry, GdkEventKey* evt, CustomElement* el ) { int keymod = ( evt->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( !( !keymod && ( evt->keyval == GDK_KEY_Return || evt->keyval == GDK_KEY_KP_Enter ) ) ) return FALSE; // Enter key not pressed if ( ( el->type == CDLG_INPUT || el->type == CDLG_INPUT_LARGE ) && el->cmd_args ) { // input has a command if ( el->type == CDLG_INPUT_LARGE ) run_command( el, el->cmd_args, NULL ); else if ( el->type == CDLG_INPUT ) run_command( el, el->cmd_args, NULL ); return TRUE; } else if ( el->type == CDLG_COMBO && el->cmd_args ) { run_command( el, el->cmd_args, NULL ); return TRUE; } else if ( el->type == CDLG_PASSWORD && el->cmd_args ) { // password has a command run_command( el, el->cmd_args, NULL ); return TRUE; } else { // no command - find last (default) button and press it return press_last_button( (GtkWidget*)el->widgets->data ); } return FALSE; } static void update_element( CustomElement* el, GtkWidget* box, GSList** radio, int pad ) { GtkWidget* w; GdkPixbuf* pixbuf; GtkWidget* dlg = (GtkWidget*)el->widgets->data; char* str; char* sep; struct stat64 statbuf; GtkTextBuffer* buf; GtkTextIter iter; int i; GList* l; char* font = NULL; gboolean viewer_scroll = FALSE; gboolean chooser_save = FALSE; gboolean chooser_dir = FALSE; gboolean chooser_multi = FALSE; GList* chooser_filters = NULL; gboolean compact = FALSE; gboolean expand = FALSE; gboolean wrap = FALSE; gboolean nowrap = FALSE; int selstart = -1; int selend = -1; GList* args = el->args; // get element options while ( args && g_str_has_prefix( (char*)args->data, "--" ) ) { if ( !strcmp( (char*)args->data, "--font" ) ) { if ( args->next && !g_str_has_prefix( (char*)args->next->data, "--" ) ) { args = args->next; font = (char*)args->data; } } else if ( !strcmp( (char*)args->data, "--compact" ) ) compact = TRUE; else if ( !strcmp( (char*)args->data, "--expand" ) ) expand = TRUE; else if ( ( el->type == CDLG_INPUT || el->type == CDLG_INPUT_LARGE ) && !strcmp( (char*)args->data, "--select" ) && args->next ) { args = args->next; sep = strchr( (char*)args->data, ':' ); if ( !sep ) sep = strchr( (char*)args->data, ' ' ); if ( sep ) sep[0] = '\0'; selstart = atoi( (char*)args->data ); if ( sep ) { selend = atoi( sep + 1 ); if ( selend > 0 ) selend++; sep[0] = ':'; } } else if ( el->type == CDLG_VIEWER && !strcmp( (char*)args->data, "--scroll" ) ) viewer_scroll = TRUE; else if ( el->type == CDLG_LABEL && !strcmp( (char*)args->data, "--wrap" ) ) wrap = TRUE; else if ( el->type == CDLG_LABEL && !strcmp( (char*)args->data, "--nowrap" ) ) nowrap = TRUE; else if ( el->type == CDLG_CHOOSER ) { if ( !strcmp( (char*)args->data, "--save" ) ) chooser_save = TRUE; else if ( !strcmp( (char*)args->data, "--dir" ) ) chooser_dir = TRUE; else if ( !strcmp( (char*)args->data, "--multi" ) ) chooser_multi = TRUE; else if ( !strcmp( (char*)args->data, "--filter" ) ) { if ( args->next && !g_str_has_prefix( (char*)args->next->data, "--" ) ) { args = args->next; chooser_filters = g_list_append( chooser_filters, (char*)args->data ); } } } args = args->next; } el->args = args; // only parse options once switch ( el->type ) { case CDLG_TITLE: if ( args ) { get_text_value( el, (char*)args->data, FALSE, TRUE ); if ( el->val ) gtk_window_set_title( GTK_WINDOW( dlg ), el->val ); else gtk_window_set_title( GTK_WINDOW( dlg ), DEFAULT_TITLE ); } break; case CDLG_WINDOW_ICON: if ( args ) { get_text_value( el, (char*)args->data, FALSE, TRUE ); if ( el->val ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), el->val, 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else pixbuf = NULL; gtk_window_set_icon( GTK_WINDOW( dlg ), pixbuf ); el->cmd_args = el->args->next; } break; case CDLG_LABEL: if ( args ) { get_text_value( el, (char*)args->data, TRUE, TRUE ); str = el->val; el->val = unescape( str ); g_free( str ); } // add label if ( !el->widgets->next && box ) { w = gtk_label_new( NULL ); if ( wrap || nowrap ) gtk_label_set_line_wrap( GTK_LABEL( w ), wrap ); else { #if GTK_CHECK_VERSION (3, 0, 0) // gtk3 wraps labels at one char and doesn't allocate a usable width // if in an hbox gtk_label_set_line_wrap( GTK_LABEL( w ), !GTK_IS_HBOX( box ) ); if ( !GTK_IS_HBOX( box ) ) gtk_label_set_width_chars( GTK_LABEL( w ), 20 ); //else // gtk_label_set_ellipsize( GTK_LABEL( w ), PANGO_ELLIPSIZE_MIDDLE ); #else gtk_label_set_line_wrap( GTK_LABEL( w ), TRUE ); #endif } gtk_label_set_line_wrap_mode( GTK_LABEL( w ), PANGO_WRAP_WORD_CHAR ); gtk_misc_set_alignment( GTK_MISC ( w ), 0.0, 0.5 ); gtk_label_set_selectable( GTK_LABEL( w ), TRUE ); set_font( w, font ); el->widgets = g_list_append( el->widgets, w ); gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( w ), expand, TRUE, pad ); if ( radio ) *radio = NULL; g_signal_connect( G_OBJECT( w ), "grab-focus", G_CALLBACK( on_widget_grab_focus ), el ); //if ( args ) // el->cmd_args = el->args->next; } // set label if ( el->widgets->next && ( w = GTK_WIDGET( el->widgets->next->data ) ) ) { if ( el->val && el->val[0] == '~' ) gtk_label_set_markup_with_mnemonic( GTK_LABEL( w ), el->val + 1 ); else gtk_label_set_text( GTK_LABEL( w ), el->val ); /* just an experiment if ( el->val && g_utf8_strlen( el->val, -1 ) > 20 ) gtk_label_set_line_wrap( GTK_LABEL( w ), TRUE ); else gtk_label_set_line_wrap( GTK_LABEL( w ), !GTK_IS_HBOX( gtk_widget_get_parent( w ) ) ); */ } break; case CDLG_BUTTON: case CDLG_FREE_BUTTON: if ( args ) { get_text_value( el, (char*)args->data, FALSE, TRUE ); str = el->val; el->val = unescape( str ); g_free( str ); } // add button if ( !el->widgets->next ) { w = gtk_button_new(); gtk_button_set_use_underline( GTK_BUTTON( w ), TRUE ); gtk_button_set_focus_on_click( GTK_BUTTON( w ), FALSE ); el->widgets = g_list_append( el->widgets, w ); if ( el->type == CDLG_BUTTON ) { gtk_box_pack_start( GTK_BOX( gtk_dialog_get_action_area( GTK_DIALOG( dlg ) ) ), GTK_WIDGET( w ), expand, TRUE, pad ); gtk_widget_grab_focus( w ); } else gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( w ), expand, TRUE, pad ); g_signal_connect( G_OBJECT( w ), "clicked", G_CALLBACK( on_button_clicked ), el ); if ( radio ) *radio = NULL; if ( args ) el->cmd_args = el->args->next; } // set label and icon if ( el->widgets->next && ( w = GTK_WIDGET( el->widgets->next->data ) ) ) { if ( el->val && ( sep = strrchr( el->val, ':' ) ) ) sep[0] = '\0'; else sep = NULL; gtk_button_set_image( GTK_BUTTON( w ), NULL ); if ( !sep && ( !g_strcmp0( el->val, "ok" ) || !g_strcmp0( el->val, "cancel" ) || !g_strcmp0( el->val, "close" ) || !g_strcmp0( el->val, "open" ) || !g_strcmp0( el->val, "yes" ) || !g_strcmp0( el->val, "no" ) || !g_strcmp0( el->val, "apply" ) || !g_strcmp0( el->val, "delete" ) || !g_strcmp0( el->val, "edit" ) || !g_strcmp0( el->val, "save" ) || !g_strcmp0( el->val, "help" ) || !g_strcmp0( el->val, "stop" ) ) ) { // stock button gtk_button_set_use_stock( GTK_BUTTON( w ), TRUE ); str = g_strdup_printf( "gtk-%s", el->val ); gtk_button_set_label( GTK_BUTTON( w ), str ); g_free( str ); } else { // custom button gtk_button_set_use_stock( GTK_BUTTON( w ), FALSE ); gtk_button_set_label( GTK_BUTTON( w ), el->val ); } // set icon if ( sep && sep[1] != '\0' ) gtk_button_set_image( GTK_BUTTON( w ), xset_get_image( sep + 1, GTK_ICON_SIZE_BUTTON ) ); if ( sep ) sep[0] = ':'; } break; case CDLG_ICON: case CDLG_IMAGE: if ( args ) { str = g_strdup( el->val ); get_text_value( el, (char*)args->data, FALSE, TRUE ); // if no change, don't update image if image_box present if ( !g_strcmp0( str, el->val ) && el->widgets->next ) { g_free( str ); break; } g_free( str ); } // add event to hold image widget and get events GtkWidget* image_box; if ( !el->widgets->next && box ) { image_box = gtk_event_box_new(); el->widgets = g_list_append( el->widgets, image_box ); gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( image_box ), expand, TRUE, pad ); g_signal_connect ( G_OBJECT( image_box ), "button-press-event", G_CALLBACK ( on_widget_button_press_event ), el ); if ( radio ) *radio = NULL; if ( args ) el->cmd_args = el->args->next; } // destroy old image if ( el->widgets->next && el->widgets->next->next && ( w = GTK_WIDGET( el->widgets->next->next->data ) ) ) { gtk_widget_destroy( w ); el->widgets = g_list_remove( el->widgets, w ); } // add image if ( el->widgets->next && !el->widgets->next->next && el->val && ( image_box = GTK_WIDGET( el->widgets->next->data ) ) ) { if ( el->type == CDLG_IMAGE ) w = gtk_image_new_from_file( el->val ); else w = gtk_image_new_from_icon_name( el->val, GTK_ICON_SIZE_DIALOG ); gtk_container_add( GTK_CONTAINER( image_box ), GTK_WIDGET( w ) ); el->widgets = g_list_append( el->widgets, w ); gtk_widget_show( w ); } break; case CDLG_INPUT: case CDLG_INPUT_LARGE: case CDLG_PASSWORD: if ( !el->widgets->next && box ) { el->option = -1; // add input if ( args ) { // default text get_text_value( el, (char*)args->data, FALSE, TRUE ); el->cmd_args = args->next; } if ( el->type == CDLG_INPUT_LARGE ) { // multi-input GtkWidget* scroll = gtk_scrolled_window_new( NULL, NULL ); w = GTK_WIDGET( multi_input_new( GTK_SCROLLED_WINDOW( scroll ), el->val, FALSE ) ); set_font( w, font ); if ( selstart >= 0 ) multi_input_select_region( w, selstart, selend ); gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( scroll ), !compact, TRUE, pad ); } else { // entry w = gtk_entry_new(); gtk_entry_set_visibility( GTK_ENTRY( w ), el->type != CDLG_PASSWORD ); set_font( w, font ); if ( el->val ) { gtk_entry_set_text( GTK_ENTRY( w ), el->val ); if ( selstart >= 0 && el->type != CDLG_PASSWORD ) { gtk_editable_select_region( GTK_EDITABLE( w ), selstart, selend ); el->option = selstart; el->option2 = selend; } else gtk_editable_select_region( GTK_EDITABLE( w ), 0, -1 ); } gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( w ), !compact, TRUE, pad ); } el->widgets = g_list_append( el->widgets, w ); g_signal_connect( G_OBJECT( w ), "key-press-event", G_CALLBACK( on_input_key_press), el ); g_signal_connect( G_OBJECT( w ), "grab-focus", G_CALLBACK( on_widget_grab_focus ), el ); if ( radio ) *radio = NULL; } else if ( el->widgets->next && args && ((char*)args->data)[0] == '@' ) { // update from file str = g_strdup( el->val ); get_text_value( el, (char*)args->data, FALSE, TRUE ); if ( g_strcmp0( str, el->val ) ) { // value has changed from initial default, so update contents if ( el->type == CDLG_INPUT_LARGE ) { gtk_text_buffer_set_text( gtk_text_view_get_buffer( GTK_TEXT_VIEW( el->widgets->next->data ) ), el->val ? el->val : "", -1 ); multi_input_select_region( el->widgets->next->data, 0, -1 ); } else { gtk_entry_set_text( GTK_ENTRY( el->widgets->next->data ), el->val ); gtk_editable_select_region( GTK_EDITABLE( el->widgets->next->data ), 0, -1 ); } } g_free( str ); } break; case CDLG_VIEWER: case CDLG_EDITOR: selstart = 0; // add text box if ( !el->widgets->next && box ) { GtkWidget* scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); w = gtk_text_view_new(); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( w ), GTK_WRAP_WORD_CHAR ); gtk_text_view_set_editable( GTK_TEXT_VIEW( w ), el->type == CDLG_EDITOR ); set_font( w, font ); gtk_container_add ( GTK_CONTAINER ( scroll ), w ); el->widgets = g_list_append( el->widgets, w ); el->widgets = g_list_append( el->widgets, scroll ); gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( scroll ), !compact, TRUE, pad ); // place mark at end buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( w ) ); gtk_text_buffer_get_end_iter( buf, &iter); gtk_text_buffer_create_mark( buf, "end", &iter, FALSE ); el->option = viewer_scroll ? 1 : 0; selstart = 1; // indicates new if ( radio ) *radio = NULL; g_signal_connect( G_OBJECT( w ), "grab-focus", G_CALLBACK( on_widget_grab_focus ), el ); } if ( args && ((char*)args->data)[0] != '\0' && el->type == CDLG_VIEWER && el->widgets->next ) { // viewer buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( el->widgets->next->data ) ); if ( selstart && stat64( (char*)args->data, &statbuf ) != -1 && S_ISFIFO( statbuf.st_mode ) ) { // watch pipe GIOChannel* channel = g_io_channel_new_file( (char*)args->data, "r+", NULL ); if ( channel ) { gint fd = g_io_channel_unix_get_fd( channel ); //int fd = fcntl( g_io_channel_unix_get_fd( channel ), F_GETFL ); if ( fd > 0 ) { fcntl( fd, F_SETFL,O_NONBLOCK ); g_io_add_watch_full( channel, G_PRIORITY_LOW, G_IO_IN | G_IO_HUP | G_IO_NVAL | G_IO_ERR, (GIOFunc)cb_pipe_watch, el, NULL ); g_free( el->val ); el->val = g_strdup( (char*)args->data ); } } } else if ( g_file_test( (char*)args->data, G_FILE_TEST_IS_REGULAR ) ) { // update viewer from file fill_buffer_from_file( el, buf, (char*)args->data, TRUE ); g_free( el->val ); el->val = g_strdup( (char*)args->data ); } else { dlg_warn( _("file '%s' is not a regular file or a pipe"), (char*)args->data, NULL ); } // scroll if ( el->option ) { //scroll to end if scrollbar is mostly down or new GtkAdjustment* adj = gtk_scrolled_window_get_vadjustment( GTK_SCROLLED_WINDOW( el->widgets->next->next->data ) ); if ( selstart || gtk_adjustment_get_upper( adj ) - gtk_adjustment_get_value( adj ) < gtk_adjustment_get_page_size( adj ) + 40 ) gtk_text_view_scroll_to_mark( GTK_TEXT_VIEW( el->widgets->next->data ), gtk_text_buffer_get_mark( buf, "end" ), 0.0, FALSE, 0, 0 ); } } else if ( args && ((char*)args->data)[0] != '\0' && selstart && el->type == CDLG_EDITOR && el->widgets->next ) { // new editor buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( el->widgets->next->data ) ); fill_buffer_from_file( el, buf, (char*)args->data, FALSE ); g_free( el->val ); el->val = g_strdup( (char*)args->data ); } break; case CDLG_COMMAND: if ( !el->option && args ) { if ( ((char*)args->data)[0] != '\0' && stat64( (char*)args->data, &statbuf ) != -1 && S_ISFIFO( statbuf.st_mode ) ) { // watch pipe GIOChannel* channel = g_io_channel_new_file( (char*)args->data, "r+", NULL ); if ( channel ) { gint fd = g_io_channel_unix_get_fd( channel ); //int fd = fcntl( g_io_channel_unix_get_fd( channel ), F_GETFL ); if ( fd > 0 ) { fcntl( fd, F_SETFL,O_NONBLOCK ); g_io_add_watch_full( channel, G_PRIORITY_LOW, G_IO_IN | G_IO_HUP | G_IO_NVAL | G_IO_ERR, (GIOFunc)cb_pipe_watch, el, NULL ); g_free( el->val ); el->val = g_strdup( (char*)args->data ); } } } else if ( ((char*)args->data)[0] != '\0' ) { if ( ((char*)args->data)[0] == '@' ) str = g_strdup( (char*)args->data ); else str = g_strdup_printf( "@%s", (char*)args->data ); get_text_value( el, str, FALSE, TRUE ); g_free( str ); } el->option = 1; // init COMMAND el->cmd_args = args->next; } else if ( el->option && args ) { if ( ((char*)args->data)[0] == '@' ) str = g_strdup( (char*)args->data ); else str = g_strdup_printf( "@%s", (char*)args->data ); get_text_value( el, str, FALSE, TRUE ); g_free( str ); run_command_line( el, el->val ); } break; case CDLG_CHECKBOX: case CDLG_RADIO: // add item if ( !el->widgets->next && box && radio ) { str = unescape( el->args ? (char*)el->args->data : "" ); if ( el->type == CDLG_CHECKBOX ) { w = gtk_check_button_new_with_mnemonic( str ); *radio = NULL; } else { /* GSList* l; printf("LIST-BEFORE %#x\n", *radio ); for ( l = *radio; l; l = l->next ) printf( " button=%#x\n", l->data ); */ w = gtk_radio_button_new_with_mnemonic( *radio, str ); *radio = gtk_radio_button_get_group( GTK_RADIO_BUTTON( w ) ); //printf("BUTTON=%#x\n", w ); /* printf("LIST-AFTER %#x\n", *radio ); for ( l = *radio; l; l = l->next ) printf( " button=%#x\n", l->data ); */ } g_free( str ); gtk_button_set_focus_on_click( GTK_BUTTON( w ), FALSE ); // set font of label l = gtk_container_get_children( GTK_CONTAINER( w ) ); if ( l ) set_font( GTK_WIDGET( l->data ), font ); g_list_free( l ); el->widgets = g_list_append( el->widgets, w ); gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( w ), expand, TRUE, pad ); // default value if ( args && args->next ) { get_text_value( el, (char*)args->next->data, FALSE, TRUE ); if ( !g_strcmp0( el->val, "1" ) || !g_strcmp0( el->val, "true" ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), TRUE ); el->cmd_args = el->args->next->next; } g_signal_connect( G_OBJECT( w ), "toggled", G_CALLBACK( on_option_toggled ), el ); } else if ( el->widgets->next && args && args->next ) { get_text_value( el, (char*)args->next->data, FALSE, TRUE ); if ( !g_strcmp0( el->val, "1") || !g_strcmp0( el->val, "true" ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( el->widgets->next->data ), TRUE ); else if ( !g_strcmp0( el->val, "0") || !g_strcmp0( el->val, "false" ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( el->widgets->next->data ), FALSE ); } break; case CDLG_DROP: case CDLG_COMBO: // add list widget if ( !el->widgets->next && box ) { if ( el->type == CDLG_DROP ) w = gtk_combo_box_text_new(); else { w = gtk_combo_box_text_new_with_entry(); g_signal_connect( G_OBJECT( gtk_bin_get_child( GTK_BIN( w ) ) ), "key-press-event", G_CALLBACK( on_input_key_press ), el ); g_signal_connect( G_OBJECT( gtk_bin_get_child( GTK_BIN( w ) ) ), "grab-focus", G_CALLBACK( on_widget_grab_focus ), el ); } g_signal_connect( G_OBJECT( w ), "changed", G_CALLBACK( on_combo_changed ), el ); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( w ), FALSE ); set_font( w, font ); gtk_box_pack_start( GTK_BOX( box ), w, expand, TRUE, pad ); el->widgets = g_list_append( el->widgets, w ); if ( radio ) *radio = NULL; } if ( el->widgets->next && args ) { if ( ((char*)args->data)[0] == '@' ) { // list from file if ( args->next ) { // get default value and command if ( !strcmp( (char*)args->next->data, "--" ) ) { // forgive extra -- if ( args->next->next ) { // default value el->def_val = (char*)args->next->next->data; el->cmd_args = args->next->next->next; } } else { // default value el->def_val = (char*)args->next->data; el->cmd_args = args->next->next; } if ( el->def_val ) get_text_value( el, el->def_val, FALSE, FALSE ); } // read file into temp args str = (char*)args->data + 1; args = args_from_file( (char*)args->data + 1 ); // fill combo from args fill_combo_box( el, args ); if ( !el->monitor && args ) { // start monitoring file el->callback = (VFSFileMonitorCallback)cb_file_value_change; el->monitor = vfs_file_monitor_add( str, FALSE, el->callback, el ); } // free temp args g_list_foreach( args, (GFunc)g_free, NULL ); g_list_free( args ); } else { // get default value l = args; while ( l ) { if ( !strcmp( (char*)l->data, "--" ) ) { if ( l->next ) { // default value el->def_val = (char*)l->next->data; get_text_value( el, el->def_val, FALSE, FALSE ); el->cmd_args = l->next->next; } break; } l = l->next; } // fill combo from args fill_combo_box( el, args ); } } break; case CDLG_LIST: case CDLG_MLIST: if ( !el->widgets->next && box ) { w = gtk_tree_view_new(); gtk_tree_view_set_rules_hint ( GTK_TREE_VIEW( w ), TRUE ); gtk_tree_view_set_enable_search( GTK_TREE_VIEW( w ), TRUE ); set_font( w, font ); GtkTreeSelection* tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( w ) ); gtk_tree_selection_set_mode( tree_sel, el->type == CDLG_MLIST ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE ); GtkWidget* scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_container_add ( GTK_CONTAINER ( scroll ), w ); gtk_box_pack_start( GTK_BOX( box ), GTK_WIDGET( scroll ), !compact, TRUE, pad ); el->widgets = g_list_append( el->widgets, w ); el->widgets = g_list_append( el->widgets, scroll ); g_signal_connect ( G_OBJECT( w ), "row-activated", G_CALLBACK ( on_list_row_activated ), el ); // renderer cannot be editable g_signal_connect( G_OBJECT( gtk_tree_view_get_selection( GTK_TREE_VIEW( w ) ) ), "changed", G_CALLBACK( on_list_selection_changed ), el ); if ( radio ) *radio = NULL; } if ( el->widgets->next && args ) { if ( ((char*)args->data)[0] == '@' ) { // list from file if ( args->next ) { // set command args if ( !strcmp( (char*)args->next->data, "--" ) ) // forgive extra -- el->cmd_args = args->next->next; else el->cmd_args = args->next; } // read file into temp args str = (char*)args->data + 1; args = args_from_file( (char*)args->data + 1 ); // fill list from args fill_tree_view( el, args ); if ( !el->monitor && args ) { // start monitoring file el->callback = (VFSFileMonitorCallback)cb_file_value_change; el->monitor = vfs_file_monitor_add( str, FALSE, el->callback, el ); } // free temp args g_list_foreach( args, (GFunc)g_free, NULL ); g_list_free( args ); } else // fill list from args fill_tree_view( el, args ); } break; /* case CDLG_STATUS: if ( !el->widgets->next && box ) { w = gtk_statusbar_new(); //gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->action_area ), // GTK_WIDGET( w ), TRUE, TRUE, pad ); gtk_box_pack_start( GTK_BOX( box ), w, FALSE, FALSE, pad ); el->widgets = g_list_append( el->widgets, w ); GList* children = gtk_container_get_children( GTK_CONTAINER( gtk_statusbar_get_message_area( GTK_STATUSBAR( w ) ) ) ); w = children->data; // status bar label el->widgets = g_list_append( el->widgets, w ); g_list_free( children ); gtk_label_set_selectable( GTK_LABEL( w ), TRUE ); // required for button event gtk_widget_set_can_focus( w, FALSE ); g_signal_connect( G_OBJECT( w ), "button-press-event", G_CALLBACK( on_status_button_press ), el ); //g_signal_connect( G_OBJECT( w ), "populate-popup", // G_CALLBACK( on_status_bar_popup ), el ); } if ( el->widgets->next && args ) { get_text_value( el, (char*)args->data, FALSE, TRUE ); gtk_statusbar_push( GTK_STATUSBAR( el->widgets->next->data ), 0, el->val ); } break; */ case CDLG_PROGRESS: if ( !el->widgets->next && box ) { w = gtk_progress_bar_new(); gtk_progress_bar_set_pulse_step( GTK_PROGRESS_BAR( w ), 0.08 ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_progress_bar_set_show_text( GTK_PROGRESS_BAR( w ), TRUE ); #endif set_font( w, font ); gtk_box_pack_start( GTK_BOX( box ), w, expand, TRUE, pad ); el->widgets = g_list_append( el->widgets, w ); if ( !args || ( args && ( !strcmp( (char*)args->data, "pulse" ) || !strcmp( (char*)args->data, "auto-pulse" ) ) ) ) { if ( !strcmp( (char*)args->data, "pulse" ) ) args = NULL; // treat pulse as auto-pulse gtk_progress_bar_set_text( GTK_PROGRESS_BAR( el->widgets->next->data ), " " ); el->timeout = g_timeout_add( 200, (GSourceFunc)on_progress_timer, el ); } if ( radio ) *radio = NULL; } if ( el->widgets->next && args ) { get_text_value( el, (char*)args->data, FALSE, TRUE ); if ( !g_strcmp0( el->val, "pulse" ) ) { if ( el->timeout ) { g_source_remove( el->timeout ); el->timeout = 0; } gtk_progress_bar_pulse( GTK_PROGRESS_BAR( el->widgets->next->data ) ); } else if ( !g_strcmp0( el->val, "auto-pulse" ) ) { if ( !el->timeout ) el->timeout = g_timeout_add( 200, (GSourceFunc)on_progress_timer, el ); } else { i = el->val ? atoi( el->val ) : 0; if ( i < 0 ) i = 0; if ( i > 100 ) i = 100; if ( i != 0 || ( el->val && el->val[0] == '0' ) ) { if ( el->timeout ) { g_source_remove( el->timeout ); el->timeout = 0; } gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR( el->widgets->next->data ), (gdouble)i / 100 ); } str = el->val; while ( str && str[0] ) { if ( !g_ascii_isdigit( str[0] ) ) { gtk_progress_bar_set_text( GTK_PROGRESS_BAR( el->widgets->next->data ), el->val ); break; } str++; } if ( !( str && str[0] ) ) { if ( i != 0 || ( el->val && el->val[0] == '0' ) ) str = g_strdup_printf( "%d %%", i ); else str = g_strdup( " " ); gtk_progress_bar_set_text( GTK_PROGRESS_BAR( el->widgets->next->data ), str ); g_free( str ); } } } break; case CDLG_HSEP: case CDLG_VSEP: if ( !el->widgets->next && box ) { if ( el->type == CDLG_HSEP ) w = gtk_hseparator_new(); else w = gtk_vseparator_new(); gtk_box_pack_start( GTK_BOX( box ), w, expand, TRUE, pad ); el->widgets = g_list_append( el->widgets, w ); if ( radio ) *radio = NULL; } break; case CDLG_HBOX: case CDLG_VBOX: if ( !el->widgets->next && box ) { if ( args ) get_text_value( el, (char*)args->data, FALSE, FALSE ); if ( el->val ) i = atoi( el->val ); else i = 0; if ( i < 0 ) i = 0; if ( i > 400 ) i = 400; if ( el->type == CDLG_HBOX ) w = gtk_hbox_new( FALSE, i ); else w = gtk_vbox_new( FALSE, i ); gtk_box_pack_start( GTK_BOX( box ), w, !compact, TRUE, pad ); el->widgets = g_list_append( el->widgets, w ); if ( radio ) *radio = NULL; } break; case CDLG_WINDOW_SIZE: if ( el->option && args && ((char*)args->data)[0] == '@' ) { int width = -1, height = -1; get_text_value( el, (char*)args->data, FALSE, TRUE ); get_width_height_pad( el->val, &width, &height, NULL ); if ( width > 0 && height > 0 ) { gtk_window_resize( GTK_WINDOW( el->widgets->data ), width, height ); gtk_window_set_position( GTK_WINDOW( el->widgets->data ), GTK_WIN_POS_CENTER ); } else dlg_warn( _("Dynamic resize requires width and height > 0"), NULL, NULL ); } break; case CDLG_TIMEOUT: if ( !el->widgets->next && box ) { if ( args ) get_text_value( el, (char*)args->data, FALSE, FALSE ); el->option = el->val ? atoi( el->val ) : 20; if ( el->option <= 0 ) el->option = 20; } break; case CDLG_CHOOSER: if ( !el->widgets->next && box ) { if ( chooser_dir ) i = chooser_save ? GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER : GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER; else if ( chooser_save ) i = GTK_FILE_CHOOSER_ACTION_SAVE; else i = GTK_FILE_CHOOSER_ACTION_OPEN; w = gtk_file_chooser_widget_new( i ); if ( chooser_multi ) gtk_file_chooser_set_select_multiple( GTK_FILE_CHOOSER( w ), TRUE ); gtk_box_pack_start( GTK_BOX( box ), w, !compact, TRUE, pad ); el->widgets = g_list_append( el->widgets, w ); g_signal_connect( G_OBJECT( w ), "file-activated", G_CALLBACK( on_chooser_activated ), el ); g_signal_connect( G_OBJECT( w ), "selection-changed", G_CALLBACK( on_chooser_selection_changed ), el ); if ( radio ) *radio = NULL; if ( args && args->next ) el->cmd_args = args->next; // filters if ( chooser_filters ) { for ( l = chooser_filters; l; l = l->next ) { GtkFileFilter* filter = gtk_file_filter_new(); str = (char*)l->data; while ( str ) { if ( sep = strchr( str, ':' ) ) sep[0] = '\0'; if ( strchr( str, '/' ) ) gtk_file_filter_add_mime_type( filter, str ); else gtk_file_filter_add_pattern( filter, str ); if ( sep ) { sep[0] = ':'; str = sep + 1; } else str = NULL; } gtk_file_filter_set_name( filter, (char*)l->data ); gtk_file_chooser_add_filter( GTK_FILE_CHOOSER( w ), filter ); if ( l == chooser_filters ) // note: set_filter only works if gtk_file_chooser_set_filename // is NOT used gtk_file_chooser_set_filter( GTK_FILE_CHOOSER( w ), filter ); } g_list_free( chooser_filters ); } } // change dir/file if ( args && el->widgets->next ) { get_text_value( el, (char*)args->data, FALSE, TRUE ); if ( el->val ) { if ( chooser_save && ( chooser_dir || !g_file_test( el->val, G_FILE_TEST_IS_DIR ) ) ) { if ( strchr( el->val, '/' ) ) { str = g_path_get_dirname( el->val ); gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( el->widgets->next->data ), str ); g_free( str ); str = g_path_get_basename( el->val ); gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER( el->widgets->next->data ), str ); g_free( str ); } else gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER( el->widgets->next->data ), el->val ); } else if ( g_file_test( el->val, G_FILE_TEST_IS_DIR ) ) gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( el->widgets->next->data ), el->val ); else gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( el->widgets->next->data ), el->val ); } } break; case CDLG_KEYPRESS: if ( !el->cmd_args && args && args->next && args->next->next ) { int keycode = strtol( args->data, NULL, 0 ); int modifier = strtol( args->next->data, NULL, 0 ); if ( keycode != 0 ) g_signal_connect( G_OBJECT( el->widgets->data ), "key-press-event", G_CALLBACK( on_dlg_key_press), el ); el->cmd_args = args->next->next; if ( radio ) *radio = NULL; } break; case CDLG_CLICK: if ( !el->cmd_args && args ) { el->cmd_args = args; if ( radio ) *radio = NULL; } break; } } static void build_dialog( GList* elements ) { GList* l; GtkWidget* dlg; CustomElement* el; CustomElement* focus_el = NULL; char* str; char* sep; GSList* radio = NULL; GtkWidget* box; int pad = DEFAULT_PAD; int width = DEFAULT_WIDTH; int height = DEFAULT_HEIGHT; gboolean timeout_added = FALSE; gboolean is_sized = FALSE; gboolean is_large = FALSE; gboolean has_delete_handler = FALSE; // create dialog dlg = gtk_dialog_new(); gtk_window_set_default_size( GTK_WINDOW( dlg ), width, height ); gtk_window_set_title( GTK_WINDOW( dlg ), DEFAULT_TITLE ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); GdkPixbuf* pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), DEFAULT_ICON, 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); if ( pixbuf ) gtk_window_set_icon( GTK_WINDOW( dlg ), pixbuf ); g_object_set_data( G_OBJECT( dlg ), "elements", elements ); // pack some boxes to create horizonal padding at edges of window GtkWidget* hbox = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area( GTK_DIALOG( dlg ) ) ), hbox, TRUE, TRUE, 0 ); box = gtk_vbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), box, TRUE, TRUE, 8 ); // <- hpad GList* boxes = g_list_append( NULL, box ); // pack timeout button first GtkWidget* timeout_toggle = gtk_toggle_button_new_with_label( _("Pause") ); gtk_box_pack_start( GTK_BOX( gtk_dialog_get_action_area( GTK_DIALOG( dlg ) ) ), timeout_toggle, FALSE, FALSE, pad ); gtk_button_set_image( GTK_BUTTON( timeout_toggle ), xset_get_image( "GTK_STOCK_MEDIA_PAUSE", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( timeout_toggle ), FALSE ); // add elements for ( l = elements; l; l = l->next ) { el = (CustomElement*)l->data; el->widgets = g_list_append( NULL, dlg ); update_element( el, box, &radio, pad ); if ( !focus_el && ( el->type == CDLG_INPUT || el->type == CDLG_INPUT_LARGE || el->type == CDLG_EDITOR || el->type == CDLG_COMBO || el->type == CDLG_PASSWORD ) ) focus_el = el; else if ( ( el->type == CDLG_HBOX || el->type == CDLG_VBOX ) && el->widgets->next ) { box = el->widgets->next->data; boxes = g_list_append( boxes, box ); } else if ( el->type == CDLG_CLOSE_BOX && g_list_length( boxes ) > 1 ) { box = g_list_last( boxes )->prev->data; boxes = g_list_delete_link( boxes, g_list_last( boxes ) ); } else if ( el->type == CDLG_WINDOW_SIZE && el->args ) { get_text_value( el, (char*)el->args->data, FALSE, TRUE ); get_width_height_pad( el->val, &width, &height, &pad ); if ( el->args->next && atoi( (char*)el->args->next->data ) > 0 ) pad = atoi( (char*)el->args->next->data ); gtk_window_set_default_size( GTK_WINDOW( dlg ), width, height ); el->option = 1; // activates auto resize from @FILE is_sized = TRUE; } else if ( el->type == CDLG_WINDOW_CLOSE && el->args ) { el->cmd_args = el->args; if ( !has_delete_handler ) { g_signal_connect( G_OBJECT( dlg ), "delete-event", G_CALLBACK( on_window_delete ), el ); has_delete_handler = TRUE; } } else if ( el->type == CDLG_TIMEOUT && el->option && !el->widgets->next && !timeout_added ) { el->widgets = g_list_append( el->widgets, timeout_toggle ); el->timeout = g_timeout_add( 1000, (GSourceFunc)on_timeout_timer, el ); g_signal_connect( G_OBJECT( timeout_toggle ), "toggled", G_CALLBACK( on_option_toggled ), el ); g_free( el->val ); el->val = g_strdup_printf( "%s %d", _("Pause"), el->option ); gtk_button_set_label( GTK_BUTTON( el->widgets->next->data ), el->val ); timeout_added = TRUE; } if ( !is_large && el->widgets->next && ( el->type == CDLG_CHOOSER || el->type == CDLG_MLIST || el->type == CDLG_EDITOR || el->type == CDLG_VIEWER || el->type == CDLG_LIST ) ) is_large = TRUE; } g_list_free( boxes ); // delete-event handler if ( !has_delete_handler ) g_signal_connect( G_OBJECT( dlg ), "delete-event", G_CALLBACK( on_window_delete ), NULL ); // resize window if ( is_large && !is_sized ) gtk_window_set_default_size( GTK_WINDOW( dlg ), DEFAULT_LARGE_WIDTH, DEFAULT_LARGE_HEIGHT ); // show dialog gtk_widget_show_all( dlg ); if ( !timeout_added ) gtk_widget_hide( timeout_toggle ); // focus input if ( focus_el && focus_el->widgets->next ) { gtk_widget_grab_focus( focus_el->widgets->next->data ); if ( focus_el->type == CDLG_INPUT && focus_el->option >= 0 ) { // grab_focus causes all text to be selected, so re-select gtk_editable_select_region( GTK_EDITABLE( focus_el->widgets->next->data ), focus_el->option, focus_el->option2 ); } } signal_dialog = dlg; // run init COMMMAND(s) for ( l = elements; l; l = l->next ) { if ( ((CustomElement*)l->data)->type == CDLG_COMMAND && ((CustomElement*)l->data)->cmd_args ) run_command( (CustomElement*)l->data, ((CustomElement*)l->data)->cmd_args, NULL ); } // enable grab focus for click events enable_click_event = TRUE; } static void show_help() { int i, j; FILE* f = stdout; fprintf( f, _("SpaceFM Dialog creates a custom GTK dialog based on the GUI elements you\nspecify on the command line, features run-time internal/external commands which\ncan modify elements, and outputs evaluatable/parsable results.\n") ); fprintf( f, _("Usage:\n") ); fprintf( f, _(" spacefm --dialog|-g {ELEMENT [OPTIONS] [ARGUMENTS...]} ...\n") ); fprintf( f, _("Example:\n") ); fprintf( f, _(" spacefm -g --label \"A message\" --button ok\n") ); fprintf( f, _("\nELEMENT: OPTIONS & ARGUMENTS:\n") ); fprintf( f, _( "-------- --------------------\n") ); for ( i = 0; i < G_N_ELEMENTS( cdlg_option ) / 3; i++ ) { fprintf( f, "--%s", cdlg_option[i*3] ); for ( j = 1; j <= 13 - strlen( cdlg_option[i*3] ); j++ ) fprintf( f, " " ); fprintf( f, "%s\n", cdlg_option[i*3 + 1] ); fprintf( f, " %s\n", _( cdlg_option[i*3 + 2] ) ); } fprintf( f, _("\nThe following arguments may be used as shown above:\n") ); fprintf( f, _(" STOCK %s\n"), "ok|cancel|close|open|yes|no|apply|delete|edit|help|save|stop" ); fprintf( f, _(" ICON An icon name, eg: gtk-open\n") ); fprintf( f, _(" @FILE A text file from which to read a value. In some cases this file\n is monitored, so writing a new value to the file will update the\n element. In other cases, the file specifies an initial value.\n") ); fprintf( f, _(" SAVEFILE A viewer's or editor's contents are saved to this file.\n") ); fprintf( f, _(" COMMAND An internal command or executable followed by arguments. Separate\n multiple commands with a -- argument.\n The following substitutions may be used in COMMANDs:\n %%n Name of the current element\n %%v Value of the current element\n %%NAME Value of element named NAME (eg: %%input1)\n %%(command) stdout from a bash command line\n %%%% %%\n") ); fprintf( f, _(" LABEL The following escape sequences in LABEL are unescaped:\n \\n newline\n \\t tab\n \\\" \"\n \\\\ \\\n In --label elements only, if the first character in LABEL is a\n tilde (~), pango markup may be used. For example:\n --label '~This is plain. This is bold.'\n") ); fprintf( f, _("\nIn addition to the OPTIONS listed above, --compact or --expand options may be\nadded to any element. Also, a --font option may be used with most element\ntypes to change the element's font and font size. For example:\n --input --font \"Times New Roman 16\" \"Default Text\"\n") ); fprintf( f, _("\nINTERNAL COMMANDS:\n") ); for ( i = 0; i < G_N_ELEMENTS( cdlg_cmd ) / 3; i++ ) { fprintf( f, " %s", cdlg_cmd[i*3] ); for ( j = 1; j <= 11 - strlen( cdlg_cmd[i*3] ); j++ ) fprintf( f, " " ); fprintf( f, "%s\n", cdlg_cmd[i*3 + 1] ); fprintf( f, " %s\n", _( cdlg_cmd[i*3 + 2] ) ); } fprintf( f, _("\nEXAMPLE WITH COMMANDS:\n") ); fprintf( f, _(" spacefm -g --label \"Enter some text and press Enter:\" \\\n --input \"\" set label2 %%v -- echo '# %%n = %%v' \\\n --label \\\n --button ok\n") ); fprintf( f, _("\nEXAMPLE SCRIPT:\n") ); fprintf( f, _(" #!%s\n # This script shows a Yes/No dialog\n # Use QUOTED eval to read variables output by SpaceFM Dialog:\n eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n echo \"User pressed Yes - take some action\"\n else\n echo \"User did NOT press Yes - abort\"\n fi\n"), BASHPATH ); fprintf( f, _("\nFor full documentation and examples see the SpaceFM User's Manual:\n") ); fprintf( f, " %s\n\n", DEFAULT_MANUAL ); } void signal_handler() { if ( signal_dialog ) { write_source( signal_dialog, NULL, stdout, TRUE ); destroy_dlg( signal_dialog ); } } int custom_dialog_init( int argc, char *argv[] ) { int ac, i, j; GList* elements = NULL; CustomElement* el = NULL; GList* l; char* num; char* str; int type_count[ G_N_ELEMENTS( cdlg_option ) / 3 ] = { 0 }; for ( ac = 2; ac < argc; ac++ ) { if ( !g_utf8_validate( argv[ac], -1, NULL ) ) { fprintf( stderr, _("spacefm: argument is not valid UTF-8\n") ); free_elements( elements ); return 1; } else if ( ac == 2 && ( !strcmp( argv[ac], "--help" ) || !strcmp( argv[ac], "help" ) ) ) { show_help(); return -1; } else if ( g_str_has_prefix( argv[ac], "--" ) ) { j = 0; for ( i = 0; i < G_N_ELEMENTS( cdlg_option ); i += 3 ) { if ( !strcmp( argv[ac] + 2, cdlg_option[i] ) ) { el = g_slice_new( CustomElement ); el->type = j; type_count[j]++; num = g_strdup_printf( "%d", type_count[j] ); str = replace_string( cdlg_option[i], "-", "", FALSE ); el->name = g_strdup_printf( "%s%s", str, num ? num : "" ); g_free( num ); g_free( str ); el->args = NULL; el->def_val = NULL; el->cmd_args = NULL; el->val = NULL; el->widgets = NULL; el->monitor = NULL; el->callback = NULL; el->timeout = 0; el->update_timeout = 0; el->watch_file = NULL; el->option = 0; elements = g_list_append( elements, el ); break; } j++; } if ( i < G_N_ELEMENTS( cdlg_option ) ) continue; } if ( !el ) { fprintf( stderr, "spacefm: %s '%s'\n", _("invalid dialog option"), argv[ac] ); return 1; } el->args = g_list_append( el->args, argv[ac] ); } build_dialog( elements ); signal( SIGHUP, signal_handler ); signal( SIGINT, signal_handler ); signal( SIGTERM, signal_handler ); signal( SIGQUIT, signal_handler ); return 0; } spacefm-1.0.5/src/cust-dialog.h000066400000000000000000000151511264770501700163220ustar00rootroot00000000000000#ifndef _CUST_DLG_H_ #define _CUST_DLG_H_ #include #include "vfs-file-monitor.h" G_BEGIN_DECLS static const char* cdlg_option[] = // order must match ElementType order { "title", "TEXT|@FILE", N_("Set window title"), "window-icon", "ICON|@FILE", N_("Set window icon"), "label", "[--wrap|--nowrap] LABEL|@FILE", N_("Add a text label"), "button", "LABEL[:ICON]|STOCK|@FILE [COMMAND...]", N_("Add STOCK dialog button, or LABEL button with ICON"), "free-button", "LABEL[:ICON]|STOCK|@FILE [COMMAND...]", N_("Add STOCK button, or LABEL button with ICON anywhere"), "input", "[--select START[:END]] [TEXT|@FILE [COMMAND...]]", N_("Add a text entry"), "input-large", "[--select START[:END]] [TEXT|@FILE [COMMAND...]]", N_("Add a large text entry"), "password", "[TEXT|@FILE [COMMAND...]]", N_("Add a password entry"), "viewer", "[--scroll] FILE|PIPE [SAVEFILE]", N_("Add a file or pipe viewer"), "editor", "[FILE [SAVEFILE]]", N_("Add multi-line text editor"), "check", "LABEL [VALUE|@FILE [COMMAND...]]", N_("Add a checkbox option"), "radio", "LABEL [VALUE|@FILE [COMMAND...]]", N_("Add a radio option"), "icon", "ICON|@FILE [COMMAND...]", N_("Add an icon"), "image", "FILE|@FILE [COMMAND...]", N_("Add an image"), /* "status", "TEXT|@FILE [COMMAND...]", N_("Add a status bar"), */ "progress", "[VALUE|pulse|@FILE]", N_("Add a progress bar"), "hsep", "( no arguments )", N_("Add a horizontal line separator"), "vsep", "( no arguments )", N_("Add a vertical line separator"), "timeout", "[DELAY|@FILE]", N_("Automatically close window after DELAY seconds"), "drop", "{TEXT... --}|@FILE [DEFAULT|+N|@FILE [COMMAND...]]", N_("Add a drop-down list. COMMAND run when clicked."), "combo", "{TEXT... --}|@FILE [DEFAULT|+N|@FILE [COMMAND...]]", N_("Add a combo list. COMMAND run when Enter pressed."), "list", "{[^HEAD[:TYPE]] [--colwidth=W] TEXT... --}|@FILE [COMMAND...]]", // ^HIDE hidden column (must be first) for data return (int or double or string no progress) // use --colwidth=W inside column list N_("Add a list box. COMMAND run when double-clicked."), "mlist", "{[^HEAD[:TYPE]] [--colwidth=W] TEXT... --}|@FILE [COMMAND...]]", N_("Add a list box with multiple selections"), "chooser", "[CHOOSER-OPTIONS] [DIR|FILE|@FILE [COMMAND...]]", N_("Options: [--save] [--dir] [--multi] [--filter F[:F...]]"), "prefix", "NAME|@FILE", N_("Set base variable name (Default: \"dialog\")"), "window-size", "\"WIDTHxHEIGHT [PAD]\"|@FILE", N_("Set minimum width, height, padding (-1 = don't change)"), "hbox", "[--compact] [PAD|@FILE]", N_("Add following widgets to a horizontal box"), "vbox", "[--compact] [PAD|@FILE]", N_("Add following widgets to a vertical box"), "close-box", "", N_("Close the current box of widgets"), "keypress", "KEYCODE MODIFIER COMMAND...", N_("Run COMMAND when a key combination is pressed"), "click", "COMMAND...", N_("Run COMMAND when an element is clicked or focused"), "window-close", "COMMAND...", N_("Run COMMAND on window close attempt"), "command", "FILE|PIPE [COMMAND...]", N_("Read commands from FILE or PIPE. COMMAND for init.") }; // TEXT starts with ~ for pango // COMMAND internal -- external -- internal ... // scroll vbox? // menu? typedef enum { CDLG_TITLE, CDLG_WINDOW_ICON, CDLG_LABEL, CDLG_BUTTON, CDLG_FREE_BUTTON, CDLG_INPUT, CDLG_INPUT_LARGE, CDLG_PASSWORD, CDLG_VIEWER, CDLG_EDITOR, CDLG_CHECKBOX, CDLG_RADIO, CDLG_ICON, CDLG_IMAGE, //CDLG_STATUS, CDLG_PROGRESS, CDLG_HSEP, CDLG_VSEP, CDLG_TIMEOUT, CDLG_DROP, CDLG_COMBO, CDLG_LIST, CDLG_MLIST, CDLG_CHOOSER, CDLG_PREFIX, CDLG_WINDOW_SIZE, CDLG_HBOX, CDLG_VBOX, CDLG_CLOSE_BOX, CDLG_KEYPRESS, CDLG_CLICK, CDLG_WINDOW_CLOSE, CDLG_COMMAND } ElementType; typedef struct { ElementType type; char* name; GList* args; char* val; GList* widgets; GList* cmd_args; const char* def_val; VFSFileMonitor* monitor; VFSFileMonitorCallback callback; guint timeout; guint update_timeout; const char* watch_file; int option; int option2; } CustomElement; static const char* cdlg_cmd[] = { "noop", "( any arguments )", N_("No operation - does nothing but evaluate arguments"), "close", "[REVERSE]", // exit status ? N_("Close the dialog"), "press", "BUTTON-NAME", N_("Press button named BUTTON-NAME"), "set", "NAME VALUE", N_("Set element NAME to VALUE"), "select", "NAME [VALUE]", // also do for inputs? N_("Select item VALUE (or first/all) in element NAME"), "unselect", "NAME [VALUE]", N_("Unselect item VALUE (or all) in element NAME"), "focus", "[NAME [REVERSE]]", N_("Focus element NAME, or raise dialog window"), "hide", "NAME [REVERSE]", N_("Hide element NAME"), "show", "[NAME [REVERSE]]", N_("Show element NAME if previously hidden"), "disable", "NAME [REVERSE]", N_("Disable element NAME"), "enable", "NAME [REVERSE]", N_("Enable element NAME if previously disabled"), "source", "FILE", N_("Save files and write source output to FILE") }; // special NAME = title windowtitle windowicon windowsize enum { CMD_NOOP, CMD_CLOSE, CMD_PRESS, CMD_SET, CMD_SELECT, //allow chooser ? CMD_UNSELECT, CMD_FOCUS, CMD_HIDE, CMD_SHOW, CMD_DISABLE, CMD_ENABLE, CMD_SOURCE }; int custom_dialog_init( int argc, char *argv[] ); G_END_DECLS #endif spacefm-1.0.5/src/desktop/000077500000000000000000000000001264770501700154045ustar00rootroot00000000000000spacefm-1.0.5/src/desktop/desktop-window.c000066400000000000000000004651071264770501700205430ustar00rootroot00000000000000/* * SpaceFM desktop-window.c * * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2012 BwackNinja * Copyright (C) 2008 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #include #include #include // sqrt #include "desktop-window.h" #include "vfs-file-info.h" #include "vfs-mime-type.h" #include "vfs-thumbnail-loader.h" #include "vfs-app-desktop.h" #include "glib-mem.h" #include "working-area.h" #include "ptk-file-misc.h" #include "ptk-file-menu.h" #include "ptk-file-task.h" #include "ptk-utils.h" #include "settings.h" #include "item-prop.h" #include "main-window.h" #include "pref-dialog.h" #include "ptk-file-browser.h" #include "ptk-clipboard.h" #include "ptk-file-archiver.h" #include "ptk-location-view.h" #include "ptk-app-chooser.h" #include #include #include #include #include #if GTK_CHECK_VERSION (3, 0, 0) #include #endif #include /* for stat */ #include #include #include #include "gtk2-compat.h" struct _DesktopItem { VFSFileInfo* fi; // empty box if NULL GdkRectangle box; /* bounding rect */ GdkRectangle icon_rect; GdkRectangle text_rect; /* Since pango doesn't support using "wrap" and "ellipsize" at the same time, let's do some dirty hack here. We draw these two lines separately, and we can ellipsize the second line. */ int len1; /* length for the first line of label text */ int line_h1; /* height of the first line */ gboolean is_selected : 1; gboolean is_prelight : 1; }; static void desktop_window_class_init (DesktopWindowClass *klass); static void desktop_window_init (DesktopWindow *self); static void desktop_window_finalize (GObject *object); #if GTK_CHECK_VERSION (3, 0, 0) static gboolean on_draw( GtkWidget* w, cairo_t* cr ); static void desktop_window_get_preferred_width (GtkWidget *widget, gint *minimal_width, gint *natural_width); static void desktop_window_get_preferred_height (GtkWidget *widget, gint *minimal_height, gint *natural_height); #else static gboolean on_expose( GtkWidget* w, GdkEventExpose* evt ); #endif static void on_size_allocate( GtkWidget* w, GtkAllocation* alloc ); static void on_size_request( GtkWidget* w, GtkRequisition* req ); static gboolean on_button_press( GtkWidget* w, GdkEventButton* evt ); static gboolean on_button_release( GtkWidget* w, GdkEventButton* evt ); static gboolean on_mouse_move( GtkWidget* w, GdkEventMotion* evt ); static gboolean on_key_press( GtkWidget* w, GdkEventKey* evt ); static void on_style_set( GtkWidget* w, GtkStyle* prev ); static void on_realize( GtkWidget* w ); static gboolean on_focus_in( GtkWidget* w, GdkEventFocus* evt ); static gboolean on_focus_out( GtkWidget* w, GdkEventFocus* evt ); static gboolean on_scroll( GtkWidget *w, GdkEventScroll *evt ); static void on_drag_begin( GtkWidget* w, GdkDragContext* ctx ); static gboolean on_drag_motion( GtkWidget* w, GdkDragContext* ctx, gint x, gint y, guint time ); static gboolean on_drag_drop( GtkWidget* w, GdkDragContext* ctx, gint x, gint y, guint time ); static void on_drag_data_get( GtkWidget* w, GdkDragContext* ctx, GtkSelectionData* data, guint info, guint time ); static void on_drag_data_received( GtkWidget* w, GdkDragContext* ctx, gint x, gint y, GtkSelectionData* data, guint info, guint time ); static void on_drag_leave( GtkWidget* w, GdkDragContext* ctx, guint time ); static void on_drag_end( GtkWidget* w, GdkDragContext* ctx ); static void on_file_listed( VFSDir* dir, gboolean is_cancelled, DesktopWindow* self ); static void on_file_created( VFSDir* dir, VFSFileInfo* file, gpointer user_data ); static void on_file_deleted( VFSDir* dir, VFSFileInfo* file, gpointer user_data ); static void on_file_changed( VFSDir* dir, VFSFileInfo* file, gpointer user_data ); static void on_thumbnail_loaded( VFSDir* dir, VFSFileInfo* fi, DesktopWindow* self ); static void on_sort_by_name ( GtkMenuItem *menuitem, DesktopWindow* self ); static void on_sort_by_size ( GtkMenuItem *menuitem, DesktopWindow* self ); static void on_sort_by_mtime ( GtkMenuItem *menuitem, DesktopWindow* self ); static void on_sort_by_type ( GtkMenuItem *menuitem, DesktopWindow* self ); static void on_sort_custom( GtkMenuItem *menuitem, DesktopWindow* self ); static void on_sort_ascending( GtkMenuItem *menuitem, DesktopWindow* self ); static void on_sort_descending( GtkMenuItem *menuitem, DesktopWindow* self ); static void on_settings( GtkMenuItem *menuitem, DesktopWindow* self ); static GdkFilterReturn on_rootwin_event ( GdkXEvent *xevent, GdkEvent *event, gpointer data ); static void forward_event_to_rootwin( GdkScreen *gscreen, GdkEvent *event ); static void calc_item_size( DesktopWindow* self, DesktopItem* item ); static void layout_items( DesktopWindow* self ); static void paint_item( DesktopWindow* self, DesktopItem* item, GdkRectangle* expose_area ); static void move_item( DesktopWindow* self, DesktopItem* item, int x, int y, gboolean is_offset ); static void paint_rubber_banding_rect( DesktopWindow* self ); /* FIXME: this is too dirty and here is some redundant code. * We really need better and cleaner APIs for this */ static void open_folders( GList* folders ); static GList* sort_items( GList* items, DesktopWindow* win ); static GCompareDataFunc get_sort_func( DesktopWindow* win ); static int comp_item_by_name( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ); static int comp_item_by_size( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ); static int comp_item_by_mtime( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ); static int comp_item_by_type( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ); static void redraw_item( DesktopWindow* win, DesktopItem* item ); static void desktop_item_free( DesktopItem* item ); GList* desktop_window_get_selected_items( DesktopWindow* win, gboolean current_first ); /* static GdkPixmap* get_root_pixmap( GdkWindow* root ); static gboolean set_root_pixmap( GdkWindow* root , GdkPixmap* pix ); */ static DesktopItem* hit_test( DesktopWindow* self, int x, int y ); static DesktopItem* hit_test_icon( DesktopWindow* self, int x, int y ); static gboolean hit_test_text( DesktopWindow* self, int x, int y, DesktopItem** next_item ); static DesktopItem* hit_test_box( DesktopWindow* self, int x, int y ); static void custom_order_write( DesktopWindow* self ); static GHashTable* custom_order_read( DesktopWindow* self ); //static gboolean on_configure_event( GtkWidget* w, GdkEventConfigure *event ); /* static Atom ATOM_XROOTMAP_ID = 0; */ static Atom ATOM_NET_WORKAREA = 0; /* Local data */ static GtkWindowClass *parent_class = NULL; /*static GdkPixmap* pix = NULL;*/ enum { DRAG_TARGET_URI_LIST, DRAG_TARGET_DESKTOP_ICON }; /* Drag & Drop/Clipboard targets */ static GtkTargetEntry drag_targets[] = { { "text/uri-list", 0 , DRAG_TARGET_URI_LIST }, { "DESKTOP_ICON", GTK_TARGET_SAME_WIDGET, DRAG_TARGET_DESKTOP_ICON } }; static GdkAtom text_uri_list_atom = 0; static GdkAtom desktop_icon_atom = 0; //sfm from ptk-file-icon-renderer.c static GdkPixbuf* link_icon = NULL; /* GdkPixbuf RGBA C-Source image dump */ #ifdef __SUNPRO_C #pragma align 4 (link_icon_data) #endif #ifdef __GNUC__ static const guint8 link_icon_data[] __attribute__ ((__aligned__ (4))) = #else static const guint8 link_icon_data[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (400) */ "\0\0\1\250" /* pixdata_type (0x1010002) */ "\1\1\0\2" /* rowstride (40) */ "\0\0\0(" /* width (10) */ "\0\0\0\12" /* height (10) */ "\0\0\0\12" /* pixel_data: */ "\200\200\200\377\200\200\200\377\200\200\200\377\200\200\200\377\200" "\200\200\377\200\200\200\377\200\200\200\377\200\200\200\377\200\200" "\200\377\0\0\0\377\200\200\200\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\0\0\0\377\200\200\200\377\377\377\377\377\0" "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377" "\377\377\377\0\0\0\377\200\200\200\377\377\377\377\377\0\0\0\377\0\0" "\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377" "\377\0\0\0\377\200\200\200\377\377\377\377\377\0\0\0\377\0\0\0\377\0" "\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377\377\377\377\0\0\0\377" "\200\200\200\377\377\377\377\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" "\377\0\0\0\377\0\0\0\377\377\377\377\377\0\0\0\377\200\200\200\377\377" "\377\377\377\0\0\0\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0" "\0\377\0\0\0\377\377\377\377\377\0\0\0\377\200\200\200\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0" "\377\0\0\0\377\377\377\377\377\0\0\0\377\200\200\200\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0\377" "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" "\0\0\0\377\0\0\0\377" }; GType desktop_window_get_type(void) { static GType self_type = 0; if (! self_type) { static const GTypeInfo self_info = { sizeof(DesktopWindowClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc)desktop_window_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(DesktopWindow), 0, (GInstanceInitFunc)desktop_window_init, NULL /* value_table */ }; self_type = g_type_register_static(GTK_TYPE_WINDOW, "DesktopWindow", &self_info, 0); } return self_type; } static void desktop_window_class_init(DesktopWindowClass *klass) { GObjectClass *g_object_class; GtkWidgetClass* wc; typedef gboolean (*DeleteEvtHandler) (GtkWidget*, GdkEvent*); g_object_class = G_OBJECT_CLASS(klass); wc = GTK_WIDGET_CLASS(klass); g_object_class->finalize = desktop_window_finalize; #if GTK_CHECK_VERSION (3, 0, 0) wc->draw = on_draw; wc->get_preferred_width = desktop_window_get_preferred_width; wc->get_preferred_height = desktop_window_get_preferred_height; #else wc->expose_event = on_expose; wc->size_request = on_size_request; #endif wc->size_allocate = on_size_allocate; wc->button_press_event = on_button_press; wc->button_release_event = on_button_release; wc->motion_notify_event = on_mouse_move; wc->key_press_event = on_key_press; wc->style_set = on_style_set; wc->realize = on_realize; wc->focus_in_event = on_focus_in; wc->focus_out_event = on_focus_out; wc->scroll_event = on_scroll; wc->delete_event = (gpointer)gtk_true; wc->drag_begin = on_drag_begin; wc->drag_motion = on_drag_motion; wc->drag_drop = on_drag_drop; wc->drag_data_get = on_drag_data_get; wc->drag_data_received = on_drag_data_received; wc->drag_leave = on_drag_leave; wc->drag_end = on_drag_end; //wc->configure_event = on_configure_event; parent_class = (GtkWindowClass*)g_type_class_peek(GTK_TYPE_WINDOW); /* ATOM_XROOTMAP_ID = XInternAtom( GDK_DISPLAY(),"_XROOTMAP_ID", False ); */ ATOM_NET_WORKAREA = XInternAtom( gdk_x11_get_default_xdisplay(),"_NET_WORKAREA", False ); text_uri_list_atom = gdk_atom_intern_static_string( drag_targets[DRAG_TARGET_URI_LIST].target ); desktop_icon_atom = gdk_atom_intern_static_string( drag_targets[DRAG_TARGET_DESKTOP_ICON].target ); /* on emit, desktop window is not an object so this doesn't work g_signal_new ( "task-notify", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER ); */ } static void desktop_window_init(DesktopWindow *self) { PangoContext* pc; PangoFontMetrics *metrics; int font_h; GdkWindow* root; /* sort by name by default */ // self->sort_by = DW_SORT_BY_NAME; // self->sort_type = GTK_SORT_ASCENDING; self->sort_by = app_settings.desktop_sort_by; self->sort_type = app_settings.desktop_sort_type; self->label_w = 100; self->icon_size = 48; self->spacing = 0; self->x_pad = app_settings.margin_pad; self->y_pad = app_settings.margin_pad; self->margin_top = app_settings.margin_top; self->margin_left = app_settings.margin_left; self->margin_right = app_settings.margin_right; self->margin_bottom = app_settings.margin_bottom; self->insert_item = NULL; self->renamed_item = self->renaming_item = NULL; self->file_listed = FALSE; self->icon_render = gtk_cell_renderer_pixbuf_new(); g_object_set( self->icon_render, "follow-state", TRUE, NULL); g_object_ref_sink(self->icon_render); pc = gtk_widget_get_pango_context( (GtkWidget*)self ); self->pl = gtk_widget_create_pango_layout( (GtkWidget*)self, NULL ); pango_layout_set_alignment( self->pl, PANGO_ALIGN_CENTER ); pango_layout_set_wrap( self->pl, PANGO_WRAP_WORD_CHAR ); pango_layout_set_width( self->pl, self->label_w * PANGO_SCALE ); metrics = pango_context_get_metrics( pc, gtk_widget_get_style( ((GtkWidget*)self) )->font_desc, pango_context_get_language(pc)); font_h = pango_font_metrics_get_ascent(metrics) + pango_font_metrics_get_descent (metrics); font_h /= PANGO_SCALE; if ( !link_icon ) { link_icon = gdk_pixbuf_new_from_inline( sizeof(link_icon_data), link_icon_data, FALSE, NULL ); g_object_add_weak_pointer( G_OBJECT(link_icon), (gpointer)&link_icon ); } else g_object_ref( (link_icon) ); const char* desk_dir = vfs_get_desktop_dir(); if ( desk_dir ) { if ( !g_file_test( desk_dir, G_FILE_TEST_EXISTS ) ) { g_mkdir_with_parents( desk_dir, 0700 ); desk_dir = vfs_get_desktop_dir(); } if ( g_file_test( desk_dir, G_FILE_TEST_EXISTS ) ) self->dir = vfs_dir_get_by_path( vfs_get_desktop_dir() ); else self->dir = NULL; // FIXME this is not handled well } if ( self->dir && vfs_dir_is_file_listed( self->dir ) ) on_file_listed( self->dir, FALSE, self ); if ( self->dir ) { g_signal_connect( self->dir, "file-listed", G_CALLBACK( on_file_listed ), self ); g_signal_connect( self->dir, "file-created", G_CALLBACK( on_file_created ), self ); g_signal_connect( self->dir, "file-deleted", G_CALLBACK( on_file_deleted ), self ); g_signal_connect( self->dir, "file-changed", G_CALLBACK( on_file_changed ), self ); g_signal_connect( self->dir, "thumbnail-loaded", G_CALLBACK( on_thumbnail_loaded ), self ); } gtk_widget_set_can_focus ( (GtkWidget*)self, TRUE ); gtk_widget_set_app_paintable( (GtkWidget*)self, TRUE ); /* gtk_widget_set_double_buffered( (GtkWidget*)self, FALSE ); */ gtk_widget_add_events( (GtkWidget*)self, GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK| GDK_SCROLL_MASK | GDK_PROPERTY_CHANGE_MASK ); gtk_drag_dest_set( (GtkWidget*)self, 0, NULL, 0, GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK ); root = gdk_screen_get_root_window( gtk_widget_get_screen( (GtkWidget*)self ) ); gdk_window_set_events( root, gdk_window_get_events( root ) | GDK_PROPERTY_CHANGE_MASK ); gdk_window_add_filter( root, on_rootwin_event, self ); //g_signal_connect( G_OBJECT( self ), "task-notify", // G_CALLBACK( ptk_file_task_notify_handler ), NULL ); } GtkWidget* desktop_window_new( gboolean transparent ) { GtkWindow* w = (GtkWindow*)g_object_new(DESKTOP_WINDOW_TYPE, NULL); ((DesktopWindow *) w)->transparent = transparent; if ( transparent ) { GdkScreen* screen = gdk_screen_get_default(); gtk_widget_set_visual((GtkWidget*) w, gdk_screen_get_rgba_visual(screen)); #if !GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_colormap((GtkWidget*) w, gdk_screen_get_rgba_colormap(screen)); #endif gtk_window_stick(w); } return (GtkWidget*)w; } void desktop_item_free( DesktopItem* item ) { if ( item->fi ) vfs_file_info_unref( item->fi ); g_slice_free( DesktopItem, item ); } void desktop_window_finalize(GObject *object) { DesktopWindow *self = (DesktopWindow*)object; Display *xdisplay = GDK_DISPLAY_XDISPLAY( gtk_widget_get_display( (GtkWidget*)object) ); g_return_if_fail(object != NULL); g_return_if_fail(IS_DESKTOP_WINDOW(object)); gdk_window_remove_filter( gdk_screen_get_root_window( gtk_widget_get_screen( (GtkWidget*)object) ), on_rootwin_event, self ); #if GTK_CHECK_VERSION (3, 0, 0) if( self->background ) XFreePixmap ( xdisplay, self->background ); if( self->surface ) cairo_surface_destroy ( self->surface ); #else if( self->background ) g_object_unref( self->background ); #endif if( self->hand_cursor ) gdk_cursor_unref( self->hand_cursor ); if ( link_icon ) g_object_unref( link_icon ); self = DESKTOP_WINDOW(object); if ( self->dir ) g_object_unref( self->dir ); g_list_foreach( self->items, (GFunc)desktop_item_free, NULL ); g_list_free( self->items ); if (G_OBJECT_CLASS(parent_class)->finalize) (* G_OBJECT_CLASS(parent_class)->finalize)(object); } /*--------------- Signal handlers --------------*/ #if GTK_CHECK_VERSION (3, 0, 0) gboolean on_draw( GtkWidget* w, cairo_t* cr) #else gboolean on_expose( GtkWidget* w, GdkEventExpose* evt ) #endif { DesktopWindow* self = (DesktopWindow*)w; GList* l; GdkRectangle intersect; #if GTK_CHECK_VERSION (3, 0, 0) GtkAllocation allocation; gtk_widget_get_allocation (w, &allocation); #endif if( G_UNLIKELY( ! gtk_widget_get_visible (w) || ! gtk_widget_get_mapped (w) ) ) return TRUE; /* gdk_draw_drawable( w->window, self->gc, self->background, evt->area.x, evt->area.y, evt->area.x, evt->area.y, evt->area.width, evt->area.height ); */ /* gdk_gc_set_tile( self->gc, self->background ); gdk_gc_set_fill( self->gc, GDK_TILED );/* gdk_draw_rectangle( w->window, self->gc, TRUE, evt->area.x, evt->area.y, evt->area.width, evt->area.height ); */ if ( self->transparent ) { #if !GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr; cr = gdk_cairo_create( gtk_widget_get_window( w ) ); #endif cairo_save(cr); cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0); cairo_paint(cr); cairo_restore(cr); } if( self->rubber_bending ) paint_rubber_banding_rect( self ); for( l = self->items; l; l = l->next ) { DesktopItem* item = (DesktopItem*)l->data; #if GTK_CHECK_VERSION (3, 0, 0) if( gdk_rectangle_intersect( &allocation, &item->box, &intersect ) ) paint_item( self, item, &intersect ); #else if( gdk_rectangle_intersect( &evt->area, &item->box, &intersect ) ) paint_item( self, item, &intersect ); #endif } return TRUE; } void on_size_allocate( GtkWidget* w, GtkAllocation* alloc ) { //printf("on_size_allocate %p x,y=%d, %d w,h=%d, %d\n", w, alloc->x, // alloc->y, alloc->width, alloc->height); GdkPixbuf* pix; DesktopWindow* self = (DesktopWindow*)w; get_working_area( gtk_widget_get_screen(w), &self->wa ); if ( self->sort_by == DW_SORT_CUSTOM ) self->order_rows = self->row_count; // possible change of row count in new layout layout_items( DESKTOP_WINDOW(w) ); GTK_WIDGET_CLASS(parent_class)->size_allocate( w, alloc ); } void desktop_window_set_bg_color( DesktopWindow* win, GdkColor* clr ) { if( clr ) { win->bg = *clr; // Allocating colors is unnecessary with gtk3 #if !GTK_CHECK_VERSION (3, 0, 0) gdk_colormap_alloc_color ( gtk_widget_get_colormap( (GtkWidget*)win ), &win->bg, FALSE, TRUE ); #endif if( gtk_widget_get_visible( (GtkWidget*)win ) ) gtk_widget_queue_draw( (GtkWidget*)win ); } } void desktop_window_set_text_color( DesktopWindow* win, GdkColor* clr, GdkColor* shadow ) { if( clr || shadow ) { if( clr ) { win->fg = *clr; // Allocating colors is unnecessary with gtk3 #if !GTK_CHECK_VERSION (3, 0, 0) gdk_colormap_alloc_color ( gtk_widget_get_colormap( (GtkWidget*)win ), &win->fg, FALSE, TRUE ); #endif } if( shadow ) { win->shadow = *shadow; // Allocating colors is unnecessary with gtk3 #if !GTK_CHECK_VERSION (3, 0, 0) gdk_colormap_alloc_color ( gtk_widget_get_colormap( (GtkWidget*)win ), &win->shadow, FALSE, TRUE ); #endif } if( gtk_widget_get_visible( (GtkWidget*)win ) ) gtk_widget_queue_draw( (GtkWidget*)win ); } } /* * Set background of the desktop window. * src_pix is the source pixbuf in original size (no scaling) * This function will stretch or add border to this pixbuf accordiong to 'type'. * If type = DW_BG_COLOR and src_pix = NULL, the background color is used to fill the window. */ void desktop_window_set_background( DesktopWindow* win, GdkPixbuf* src_pix, DWBgType type ) { #if GTK_CHECK_VERSION (3, 0, 0) Pixmap pixmap = 0; cairo_surface_t *surface = NULL; cairo_pattern_t *pattern = NULL; #else GdkPixmap* pixmap = NULL; #endif Display* xdisplay; Pixmap xpixmap = 0; Visual *xvisual; Window xroot; cairo_t *cr; int dummy; unsigned int udummy, depth; /* set root map here */ xdisplay = GDK_DISPLAY_XDISPLAY( gtk_widget_get_display( (GtkWidget*)win) ); XGetGeometry (xdisplay, GDK_WINDOW_XID( gtk_widget_get_window( (GtkWidget*)win ) ), &xroot, &dummy, &dummy, &dummy, &dummy, &udummy, &depth); if( win->transparent ) { xvisual = GDK_VISUAL_XVISUAL (gdk_screen_get_rgba_visual ( gtk_widget_get_screen ( (GtkWidget*)win) ) ); } else { xvisual = GDK_VISUAL_XVISUAL (gdk_screen_get_system_visual ( gtk_widget_get_screen ( (GtkWidget*)win) ) ); } win->bg_type = type; if( src_pix ) { int src_w = gdk_pixbuf_get_width(src_pix); int src_h = gdk_pixbuf_get_height(src_pix); int dest_w = gdk_screen_get_width( gtk_widget_get_screen((GtkWidget*)win) ); int dest_h = gdk_screen_get_height( gtk_widget_get_screen((GtkWidget*)win) ); GdkPixbuf* scaled = NULL; if( type == DW_BG_TILE ) { #if GTK_CHECK_VERSION (3, 0, 0) pixmap = XCreatePixmap(xdisplay, xroot, src_w, src_h, depth); surface = cairo_xlib_surface_create (xdisplay, pixmap, xvisual, src_w, src_h); cr = cairo_create ( surface ); #else pixmap = gdk_pixmap_new( gtk_widget_get_window( ((GtkWidget*)win) ), src_w, src_h, -1 ); cr = gdk_cairo_create ( pixmap ); #endif gdk_cairo_set_source_pixbuf ( cr, src_pix, 0, 0 ); cairo_paint ( cr ); } else { int src_x = 0, src_y = 0; int dest_x = 0, dest_y = 0; int w = 0, h = 0; #if GTK_CHECK_VERSION (3, 0, 0) pixmap = XCreatePixmap(xdisplay, xroot, dest_w, dest_h, depth); surface = cairo_xlib_surface_create (xdisplay, pixmap, xvisual, dest_w, dest_h); cr = cairo_create ( surface ); #else pixmap = gdk_pixmap_new( gtk_widget_get_window( ((GtkWidget*)win) ), dest_w, dest_h, -1 ); cr = gdk_cairo_create ( pixmap ); #endif switch( type ) { case DW_BG_STRETCH: if( src_w == dest_w && src_h == dest_h ) /* the same size, no scale is needed */ scaled = (GdkPixbuf*)g_object_ref( src_pix ); else scaled = gdk_pixbuf_scale_simple( src_pix, dest_w, dest_h, GDK_INTERP_BILINEAR ); w = dest_w; h = dest_h; break; case DW_BG_FULL: case DW_BG_ZOOM: if( src_w == dest_w && src_h == dest_h ) scaled = (GdkPixbuf*)g_object_ref( src_pix ); else { gdouble w_ratio = (float)dest_w / src_w; gdouble h_ratio = (float)dest_h / src_h; gdouble ratio; if (type == DW_BG_FULL) ratio = MIN( w_ratio, h_ratio ); else ratio = MAX( w_ratio, h_ratio ); if( ratio == 1.0 ) scaled = (GdkPixbuf*)g_object_ref( src_pix ); else scaled = gdk_pixbuf_scale_simple( src_pix, (src_w * ratio), (src_h * ratio), GDK_INTERP_BILINEAR ); } w = gdk_pixbuf_get_width( scaled ); h = gdk_pixbuf_get_height( scaled ); dest_x = (dest_w - w) / 2; dest_y = (dest_h - h) / 2; break; case DW_BG_CENTER: scaled = (GdkPixbuf*)g_object_ref( src_pix ); if( src_w > dest_w ) w = dest_w; else w = src_w; if( src_h > dest_h ) h = dest_h; else h = src_h; dest_x = (dest_w - src_w) / 2; dest_y = (dest_h - src_h) / 2; break; } if( scaled ) { if( w != dest_w || h != dest_h ) { gdk_cairo_set_source_color ( cr, &win->bg ); cairo_rectangle ( cr, 0, 0, dest_w, dest_h ); cairo_paint ( cr ); } gdk_cairo_set_source_pixbuf ( cr, scaled, dest_x, dest_y ); cairo_move_to ( cr, src_x, src_y ); cairo_paint ( cr ); g_object_unref( scaled ); } else { #if GTK_CHECK_VERSION (3, 0, 0) XFreePixmap ( xdisplay, pixmap ); pixmap = 0; #else g_object_unref( pixmap ); pixmap = NULL; #endif } } cairo_destroy ( cr ); } #if GTK_CHECK_VERSION (3, 0, 0) if( win->background ) XFreePixmap ( xdisplay, win->background ); if( win->surface ) cairo_surface_destroy ( win->surface ); win->surface = surface; #else if( win->background ) g_object_unref( win->background ); #endif win->background = pixmap; if( pixmap ) { #if GTK_CHECK_VERSION (3, 0, 0) pattern = cairo_pattern_create_for_surface( surface ); cairo_pattern_set_extend( pattern, CAIRO_EXTEND_REPEAT ); gdk_window_set_background_pattern( gtk_widget_get_window( ((GtkWidget*)win) ), pattern ); cairo_pattern_destroy( pattern ); #else gdk_window_set_back_pixmap( gtk_widget_get_window( ((GtkWidget*)win) ), pixmap, FALSE ); #endif } else gdk_window_set_background( gtk_widget_get_window( ((GtkWidget*)win) ), &win->bg ); #if !GTK_CHECK_VERSION (3, 0, 0) gdk_window_clear( gtk_widget_get_window( ((GtkWidget*)win) ) ); #else /* cairo_t *cr2 = gdk_cairo_create( gtk_widget_get_window ((GtkWidget*)win) ); gdk_cairo_set_source_color( cr2, &win->bg ); cairo_paint( cr2 ); if ( surface ) { cairo_set_source_surface( cr2, surface, 0, 0 ); cairo_paint( cr2 ); } cairo_destroy(cr2);*/ #endif gtk_widget_queue_draw( (GtkWidget*)win ); if ( !win->transparent ) { XGrabServer (xdisplay); if( pixmap ) { #if GTK_CHECK_VERSION (3, 0, 0) xpixmap = pixmap; #else xpixmap = GDK_WINDOW_XID(pixmap); #endif XChangeProperty( xdisplay, xroot, gdk_x11_get_xatom_by_name("_XROOTPMAP_ID"), XA_PIXMAP, 32, PropModeReplace, (guchar *) &xpixmap, 1); XSetWindowBackgroundPixmap( xdisplay, xroot, xpixmap ); } else { /* FIXME: Anyone knows how to handle this correctly??? */ } XClearWindow( xdisplay, xroot ); XUngrabServer( xdisplay ); XFlush( xdisplay ); } } void desktop_window_set_icon_size( DesktopWindow* win, int size ) { GList* l; win->icon_size = size; win->x_pad = app_settings.margin_pad; win->y_pad = app_settings.margin_pad; win->margin_top = app_settings.margin_top; win->margin_left = app_settings.margin_left; win->margin_right = app_settings.margin_right; win->margin_bottom = app_settings.margin_bottom; if ( win->sort_by == DW_SORT_CUSTOM ) win->order_rows = win->row_count; // possible change of row count in new layout layout_items( win ); for( l = win->items; l; l = l->next ) { VFSFileInfo* fi = ((DesktopItem*)l->data)->fi; if ( !fi ) continue; char* path; /* reload the icons for special items if needed */ if ( (fi->flags & VFS_FILE_INFO_DESKTOP_ENTRY) && !fi->big_thumbnail ) { path = g_build_filename( vfs_get_desktop_dir(), fi->name, NULL ); vfs_file_info_load_special_info( fi, path ); g_free( path ); } else if(fi->flags & VFS_FILE_INFO_VIRTUAL) { /* Currently only "My Documents" is supported */ if( fi->big_thumbnail ) g_object_unref( fi->big_thumbnail ); fi->big_thumbnail = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), "gnome-fs-home", size, 0, NULL ); if( ! fi->big_thumbnail ) fi->big_thumbnail = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), "folder-home", size, 0, NULL ); } else if ( /* app_settings.show_thumbnail && */ !fi->big_thumbnail && ( #ifdef HAVE_FFMPEG vfs_file_info_is_video( fi ) || #endif ( fi->size < app_settings.max_thumb_size && vfs_file_info_is_image( fi ) ) ) ) vfs_thumbnail_loader_request( win->dir, fi, TRUE ); /* thumbnails are always shown on the desktop else if ( !app_settings.show_thumbnail ) { vfs_thumbnail_loader_cancel_all_requests( win->dir, TRUE ); // Thumbnails are being disabled so ensure the large thumbnails are // freed - with up to 256x256 images this is a lot of memory vfs_dir_unload_thumbnails(win->dir, TRUE ); } */ } } void desktop_window_reload_icons( DesktopWindow* win ) { /* GList* l; for( l = win->items; l; l = l->next ) { DesktopItem* item = (DesktopItem*)l->data; if( item->icon ) g_object_unref( item->icon ); if( item->fi ) item->icon = vfs_file_info_get_big_icon( item->fi ); else item->icon = NULL; } */ if ( win->sort_by == DW_SORT_CUSTOM ) win->order_rows = win->row_count; // possible change of row count in new layout layout_items( win ); } void on_size_request( GtkWidget* w, GtkRequisition* req ) { GdkScreen* scr = gtk_widget_get_screen( w ); req->width = gdk_screen_get_width( scr ); req->height = gdk_screen_get_height( scr ); //printf("on_size_request %p w,h=%d, %d\n", w, req->width, req->height ); } #if GTK_CHECK_VERSION (3, 0, 0) static void desktop_window_get_preferred_width (GtkWidget *widget, gint *minimal_width, gint *natural_width) { GtkRequisition requisition; on_size_request (widget, &requisition); *minimal_width = *natural_width = requisition.width; } static void desktop_window_get_preferred_height (GtkWidget *widget, gint *minimal_height, gint *natural_height) { GtkRequisition requisition; on_size_request (widget, &requisition); *minimal_height = *natural_height = requisition.height; } #endif static void calc_rubber_banding_rect( DesktopWindow* self, int x, int y, GdkRectangle* rect ) { int x1, x2, y1, y2, w, h; if( self->drag_start_x < x ) { x1 = self->drag_start_x; x2 = x; } else { x1 = x; x2 = self->drag_start_x; } if( self->drag_start_y < y ) { y1 = self->drag_start_y; y2 = y; } else { y1 = y; y2 = self->drag_start_y; } rect->x = x1; rect->y = y1; rect->width = x2 - x1; rect->height = y2 - y1; } /* * Reference: xfdesktop source code * http://svn.xfce.org/index.cgi/xfce/view/xfdesktop/trunk/src/xfdesktop-icon-view.c * xfdesktop_multiply_pixbuf_rgba() * Originally copied from Nautilus, Copyright (C) 2000 Eazel, Inc. * Multiplies each pixel in a pixbuf by the specified color */ static void colorize_pixbuf( GdkPixbuf* pix, GdkColor* clr, guint alpha ) { guchar *pixels, *p; int x, y, width, height, rowstride; gboolean has_alpha; int r = clr->red * 255 / 65535; int g = clr->green * 255 / 65535; int b = clr->blue * 255 / 65535; int a = alpha * 255 / 255; pixels = gdk_pixbuf_get_pixels(pix); width = gdk_pixbuf_get_width(pix); height = gdk_pixbuf_get_height(pix); has_alpha = gdk_pixbuf_get_has_alpha(pix); rowstride = gdk_pixbuf_get_rowstride(pix); for (y = 0; y < height; y++) { p = pixels; for (x = 0; x < width; x++) { p[0] = p[0] * r / 255; p[1] = p[1] * g / 255; p[2] = p[2] * b / 255; if( has_alpha ) { p[3] = p[3] * a / 255; p += 4; } else p += 3; } pixels += rowstride; } } void paint_rubber_banding_rect( DesktopWindow* self ) { int x1, x2, y1, y2, w, h, pattern_w, pattern_h; GdkRectangle rect; GdkColor *clr; guchar alpha; GdkPixbuf* pix; cairo_t *cr; calc_rubber_banding_rect( self, self->rubber_bending_x, self->rubber_bending_y, &rect ); if( rect.width <= 0 || rect.height <= 0 ) return; /* gtk_widget_style_get( GTK_WIDGET(self), "selection-box-color", &clr, "selection-box-alpha", &alpha, NULL); */ cr = gdk_cairo_create ( gtk_widget_get_window( ((GtkWidget*)self) ) ); clr = gdk_color_copy (>k_widget_get_style( GTK_WIDGET (self) )->base[GTK_STATE_SELECTED]); alpha = 64; /* FIXME: should be themable in the future */ pix = NULL; if( self->bg_type == DW_BG_TILE ) { /* FIXME: disable background in tile mode because current implementation is too slow */ /* gdk_drawable_get_size( self->background, &pattern_w, &pattern_h ); pix = gdk_pixbuf_get_from_drawable( NULL, self->background, gdk_drawable_get_colormap(self->background), 0, 0, 0, 0, pattern_w, pattern_h ); */ } else if( self->bg_type != DW_BG_COLOR ) { if( self->background ) #if GTK_CHECK_VERSION (3, 0, 0) pix = gdk_pixbuf_get_from_surface( self->surface, rect.x, rect.y, rect.width, rect.height ); #else pix = gdk_pixbuf_get_from_drawable( NULL, self->background, gdk_drawable_get_colormap(self->background), rect.x, rect.y, 0, 0, rect.width, rect.height ); #endif } if( pix ) { colorize_pixbuf( pix, clr, alpha ); if( self->bg_type == DW_BG_TILE ) /* this is currently unreachable */ { /*GdkPixmap* pattern;*/ /* FIXME: This is damn slow!! */ /*pattern = gdk_pixmap_new( gtk_widget_get_window( ((GtkWidget*)self) ), pattern_w, pattern_h, -1 ); if( pattern ) { gdk_draw_pixbuf( pattern, gc, pix, 0, 0, 0, 0, pattern_w, pattern_h, GDK_RGB_DITHER_NONE, 0, 0 ); gdk_gc_set_tile( gc, pattern ); gdk_gc_set_fill( gc, GDK_TILED ); gdk_draw_rectangle( gtk_widget_get_window( ((GtkWidget*)self) ), gc, TRUE, rect.x, rect.y, rect.width-1, rect.height-1 ); g_object_unref( pattern ); gdk_gc_set_fill( gc, GDK_SOLID ); } */ } else { gdk_cairo_set_source_pixbuf( cr, pix, rect.x, rect.y ); cairo_rectangle( cr, rect.x, rect.y, rect.width, rect.height ); cairo_fill( cr ); } g_object_unref( pix ); } else if( self->bg_type == DW_BG_COLOR ) /* draw background color */ { GdkColor clr2 = self->bg; clr2.pixel = 0; clr2.red = clr2.red * clr->red / 65535; clr2.green = clr2.green * clr->green / 65535; clr2.blue = clr2.blue * clr->blue / 65535; gdk_cairo_set_source_color( cr, &clr2 ); cairo_rectangle( cr, rect.x, rect.y, rect.width - 1, rect.height - 1 ); cairo_fill( cr ); } /* draw the border */ gdk_cairo_set_source_color( cr, clr ); cairo_rectangle( cr, rect.x + 1, rect.y + 1, rect.width - 2, rect.height - 2 ); cairo_stroke( cr ); gdk_color_free (clr); cairo_destroy( cr ); } static void update_rubberbanding( DesktopWindow* self, int newx, int newy, gboolean add ) { GList* l; GdkRectangle old_rect, new_rect; /* #if GTK_CHECK_VERSION (3, 0, 0) cairo_region_t *region; #else GdkRegion *region; #endif */ // Calc new region calc_rubber_banding_rect(self, self->rubber_bending_x, self->rubber_bending_y, &old_rect ); calc_rubber_banding_rect(self, newx, newy, &new_rect ); // Trigger redraw of region gdk_window_invalidate_rect(gtk_widget_get_window( ((GtkWidget*)self) ), &old_rect, FALSE ); gdk_window_invalidate_rect(gtk_widget_get_window( ((GtkWidget*)self) ), &new_rect, FALSE ); // gdk_window_clear_area(((GtkWidget*)self)->window, new_rect.x, new_rect.y, new_rect.width, new_rect.height ); /* region = gdk_region_rectangle( &old_rect ); gdk_region_union_with_rect( region, &new_rect ); // gdk_window_invalidate_region( ((GtkWidget*)self)->window, ®ion, TRUE ); gdk_region_destroy( region ); */ self->rubber_bending_x = newx; self->rubber_bending_y = newy; /* update selection */ for( l = self->items; l; l = l->next ) { DesktopItem* item = (DesktopItem*)l->data; gboolean selected; if( item->fi && ( gdk_rectangle_intersect( &new_rect, &item->icon_rect, NULL ) || gdk_rectangle_intersect( &new_rect, &item->text_rect, NULL ) ) ) selected = TRUE; else selected = FALSE; if( ( item->is_selected != selected ) && ( !add || !item->is_selected ) ) { item->is_selected = selected; redraw_item( self, item ); } } } static void open_clicked_item( DesktopWindow* self, DesktopItem* clicked_item ) { if ( !clicked_item->fi ) return; /* this won't work yet because desktop context_fill doesn't do selected * else if ( xset_opener( self, NULL, 1 ) ) return; */ GList* sel_files = NULL; sel_files = g_list_prepend( sel_files, clicked_item->fi ); if ( vfs_file_info_is_dir( clicked_item->fi ) && !app_settings.desk_open_mime ) // a folder - open in SpaceFM browser by default open_folders( sel_files ); else /* regular files */ ptk_open_files_with_app( vfs_get_desktop_dir(), sel_files, NULL, self, NULL, TRUE, FALSE ); g_list_free( sel_files ); } void show_desktop_menu( DesktopWindow* self, guint event_button, guint32 event_time ) { GtkMenu* popup; DesktopItem *item; GList* l; GList* sel = desktop_window_get_selected_items( self, TRUE ); if ( sel ) { item = (DesktopItem*)sel->data; char* file_path = g_build_filename( vfs_get_desktop_dir(), item->fi->name, NULL ); for ( l = sel; l; l = l->next ) l->data = vfs_file_info_ref( ((DesktopItem*)l->data)->fi ); popup = GTK_MENU( ptk_file_menu_new( self, NULL, file_path, item->fi, vfs_get_desktop_dir(), sel ) ); g_free( file_path ); } else popup = GTK_MENU( ptk_file_menu_new( self, NULL, NULL, NULL, vfs_get_desktop_dir(), NULL ) ); gtk_menu_popup( popup, NULL, NULL, NULL, NULL, event_button, event_time ); } gboolean on_button_press( GtkWidget* w, GdkEventButton* evt ) { DesktopWindow* self = (DesktopWindow*)w; DesktopItem *item, *clicked_item = NULL; GList* l; clicked_item = hit_test( DESKTOP_WINDOW(w), (int)evt->x, (int)evt->y ); if( evt->type == GDK_BUTTON_PRESS ) { if( evt->button == 1 ) /* left button */ { self->button_pressed = TRUE; /* store button state for drag & drop */ self->drag_start_x = evt->x; self->drag_start_y = evt->y; } /* if ctrl / shift is not pressed, deselect all. */ if( ! (evt->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) ) { /* don't cancel selection if clicking on selected items OR * clicking on desktop with right button if( !( (evt->button == 1 || evt->button == 3 || evt->button == 0) && clicked_item && clicked_item->is_selected) && !( !clicked_item && evt->button == 3 ) ) */ if ( !( ( evt->button == 1 || evt->button == 3 || evt->button == 0 ) && clicked_item && clicked_item->is_selected ) ) desktop_window_select( self, DW_SELECT_NONE ); } if( clicked_item ) { if( evt->state & ( GDK_CONTROL_MASK) ) clicked_item->is_selected = ! clicked_item->is_selected; else if ( evt->state & ( GDK_SHIFT_MASK ) ) { // select range from last focus if ( self->focus ) { int i; l = g_list_find( self->items, clicked_item ); int pos_clicked = g_list_position( self->items, l ); l = g_list_find( self->items, self->focus ); int pos_focus = g_list_position( self->items, l ); if ( pos_focus >= 0 && pos_clicked >= 0 ) { if ( pos_clicked < pos_focus ) { i = pos_focus; pos_focus = pos_clicked; pos_clicked = i; } for ( i = pos_focus; i <= pos_clicked; i++ ) { l = g_list_nth( self->items, i ); if ( l ) { item = (DesktopItem*) l->data; item->is_selected = TRUE; redraw_item( DESKTOP_WINDOW(w), item ); } } } } clicked_item->is_selected = TRUE; } else clicked_item->is_selected = TRUE; if( self->focus && self->focus != clicked_item ) { DesktopItem* old_focus = self->focus; if( old_focus ) redraw_item( DESKTOP_WINDOW(w), old_focus ); } self->focus = clicked_item; redraw_item( self, clicked_item ); if( evt->button == 3 ) /* right click */ { GList* sel = desktop_window_get_selected_items( self, TRUE ); if( sel ) { item = (DesktopItem*)sel->data; GtkMenu* popup; GList* l; char* file_path = g_build_filename( vfs_get_desktop_dir(), item->fi->name, NULL ); for( l = sel; l; l = l->next ) l->data = vfs_file_info_ref( ((DesktopItem*)l->data)->fi ); popup = GTK_MENU(ptk_file_menu_new( self, NULL, file_path, item->fi, vfs_get_desktop_dir(), sel )); g_free( file_path ); gtk_menu_popup( popup, NULL, NULL, NULL, NULL, evt->button, evt->time ); } } goto out; } else /* no item is clicked */ { if( evt->button == 3 ) /* right click on the blank area */ { if( ! app_settings.show_wm_menu ) /* if our desktop menu is used */ { show_desktop_menu( self, evt->button, evt->time ); goto out; // don't forward the event to root win } } else if( evt->button == 1 ) { self->rubber_bending = TRUE; /* FIXME: if you foward the event here, this will break rubber bending... */ /* forward the event to root window */ /* forward_event_to_rootwin( gtk_widget_get_screen(w), evt ); */ gtk_grab_add( w ); self->rubber_bending_x = evt->x; self->rubber_bending_y = evt->y; goto out; } } } else if( evt->type == GDK_2BUTTON_PRESS ) { if( clicked_item && evt->button == 1) /* left double click */ { open_clicked_item( self, clicked_item ); goto out; } } /* forward the event to root window */ forward_event_to_rootwin( gtk_widget_get_screen(w), (GdkEvent*)evt ); out: if( ! gtk_widget_has_focus(w) ) { /* g_debug( "we don't have the focus, grab it!" ); */ gtk_widget_grab_focus( w ); } return TRUE; } gboolean on_button_release( GtkWidget* w, GdkEventButton* evt ) { DesktopWindow* self = (DesktopWindow*)w; DesktopItem* clicked_item = hit_test( self, evt->x, evt->y ); self->button_pressed = FALSE; if( self->rubber_bending ) { update_rubberbanding( self, evt->x, evt->y, !!(evt->state & GDK_CONTROL_MASK) ); gtk_grab_remove( w ); self->rubber_bending = FALSE; } else if( self->dragging ) { self->dragging = FALSE; } else if ( evt->button == 1 && !( evt->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK ) ) ) { // unmodified left click release if ( self->single_click ) { if ( clicked_item ) { open_clicked_item( self, clicked_item ); return TRUE; } } else { desktop_window_select( self, DW_SELECT_NONE ); if ( clicked_item ) { clicked_item->is_selected = TRUE; redraw_item( self, clicked_item ); } } } /* forward the event to root window */ if( ! clicked_item ) forward_event_to_rootwin( gtk_widget_get_screen(w), (GdkEvent*)evt ); return TRUE; } static gboolean on_single_click_timeout( DesktopWindow* self ) { GtkWidget* w = (GtkWidget*)self; GdkEventButton evt; int x, y; /* generate a fake button press */ /* FIXME: will this cause any problem? */ evt.type = GDK_BUTTON_PRESS; evt.window = gtk_widget_get_window(w); gdk_window_get_pointer( gtk_widget_get_window(w), &x, &y, &evt.state ); evt.x = x; evt.y = y; evt.state |= GDK_BUTTON_PRESS_MASK; evt.state &= ~GDK_BUTTON_MOTION_MASK; on_button_press( GTK_WIDGET(self), &evt ); return FALSE; } gboolean on_mouse_move( GtkWidget* w, GdkEventMotion* evt ) { DesktopWindow* self = (DesktopWindow*)w; if( ! self->button_pressed ) { if( self->single_click ) { DesktopItem* item = hit_test( self, evt->x, evt->y ); if( item != self->hover_item ) { if( 0 != self->single_click_timeout_handler ) { g_source_remove( self->single_click_timeout_handler ); self->single_click_timeout_handler = 0; } } if( item ) { gdk_window_set_cursor( gtk_widget_get_window(w), self->hand_cursor ); /* FIXME: timeout should be customizable */ if( !app_settings.desk_no_single_hover && 0 == self->single_click_timeout_handler ) self->single_click_timeout_handler = g_timeout_add( SINGLE_CLICK_TIMEOUT, (GSourceFunc)on_single_click_timeout, self ); } else { gdk_window_set_cursor( gtk_widget_get_window(w), NULL ); } self->hover_item = item; } return TRUE; } if( self->dragging ) { } else if( self->rubber_bending ) { update_rubberbanding( self, evt->x, evt->y, !!(evt->state & GDK_CONTROL_MASK) ); } else { if ( gtk_drag_check_threshold( w, self->drag_start_x, self->drag_start_y, evt->x, evt->y)) { GtkTargetList* target_list; gboolean virtual_item = FALSE; GList* sels = desktop_window_get_selected_items(self, FALSE); self->dragging = TRUE; if( sels && sels->next == NULL ) /* only one item selected */ { DesktopItem* item = (DesktopItem*)sels->data; if( item->fi->flags & VFS_FILE_INFO_VIRTUAL ) virtual_item = TRUE; } g_list_free( sels ); if( virtual_item ) target_list = gtk_target_list_new( drag_targets + 1, G_N_ELEMENTS(drag_targets) - 1 ); else target_list = gtk_target_list_new( drag_targets, G_N_ELEMENTS(drag_targets) ); gtk_drag_begin( w, target_list, GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK, 1, (GdkEvent*)evt ); gtk_target_list_unref( target_list ); } } return TRUE; } void on_drag_begin( GtkWidget* w, GdkDragContext* ctx ) { DesktopWindow* self = (DesktopWindow*)w; } static GdkAtom get_best_target_at_dest( DesktopWindow* self, GdkDragContext* ctx, gint x, gint y ) { DesktopItem* item; GdkAtom expected_target = 0; if( G_LIKELY(gdk_drag_context_list_targets( ctx ) ) ) { if( gdk_drag_context_get_selected_action( ctx ) != GDK_ACTION_MOVE ) expected_target = text_uri_list_atom; else { if ( self->sort_by == DW_SORT_CUSTOM ) item = hit_test_icon( self, x, y ); else item = hit_test( self, x, y ); if( item ) /* drag over a desktpo item */ { GList* sels; sels = desktop_window_get_selected_items( self, FALSE ); /* drag over the selected items themselves */ if( g_list_find( sels, item ) ) expected_target = desktop_icon_atom; else expected_target = text_uri_list_atom; g_list_free( sels ); } else /* drag over blank area, check if it's a desktop icon first. */ { if( g_list_find( gdk_drag_context_list_targets( ctx ), GUINT_TO_POINTER(desktop_icon_atom) ) ) return desktop_icon_atom; expected_target = text_uri_list_atom; } } if( g_list_find( gdk_drag_context_list_targets( ctx ), GUINT_TO_POINTER(expected_target) ) ) return expected_target; } return GDK_NONE; } #define GDK_ACTION_ALL (GDK_ACTION_MOVE|GDK_ACTION_COPY|GDK_ACTION_LINK) gboolean on_drag_motion( GtkWidget* w, GdkDragContext* ctx, gint x, gint y, guint time ) { DesktopWindow* self = (DesktopWindow*)w; //DesktopItem* item; //GdkAtom target; if( ! self->drag_entered ) { self->drag_entered = TRUE; } if( self->rubber_bending ) { /* g_debug("rubber banding!"); */ return TRUE; } /* g_debug( "suggest: %d, action = %d", ctx->suggested_action, ctx->action ); */ if( g_list_find( gdk_drag_context_list_targets( ctx ), GUINT_TO_POINTER(text_uri_list_atom) ) ) { GdkDragAction suggested_action = 0; /* Only 'move' is available. The user force move action by pressing Shift key */ if( (gdk_drag_context_get_actions( ctx ) & GDK_ACTION_ALL) == GDK_ACTION_MOVE ) suggested_action = GDK_ACTION_MOVE; /* Only 'copy' is available. The user force copy action by pressing Ctrl key */ else if( (gdk_drag_context_get_actions( ctx ) & GDK_ACTION_ALL) == GDK_ACTION_COPY ) suggested_action = GDK_ACTION_COPY; /* Only 'link' is available. The user force link action by pressing Shift+Ctrl key */ else if( (gdk_drag_context_get_actions( ctx ) & GDK_ACTION_ALL) == GDK_ACTION_LINK ) suggested_action = GDK_ACTION_LINK; /* Several different actions are available. We have to figure out a good default action. */ else { if( get_best_target_at_dest(self, ctx, x, y ) == text_uri_list_atom ) { // move to icon - check the status of drop site self->pending_drop_action = TRUE; self->drag_pending_x = x; self->drag_pending_y = y; gtk_drag_get_data( w, ctx, text_uri_list_atom, time ); return TRUE; } else { // move to desktop suggested_action = GDK_ACTION_MOVE; } } gdk_drag_status( ctx, suggested_action, time ); } else if( g_list_find( gdk_drag_context_list_targets( ctx ), GUINT_TO_POINTER(desktop_icon_atom) ) ) /* moving desktop icon */ { gdk_drag_status( ctx, GDK_ACTION_MOVE, time ); } else { gdk_drag_status (ctx, 0, time); } return TRUE; } gboolean on_drag_drop( GtkWidget* w, GdkDragContext* ctx, gint x, gint y, guint time ) { DesktopWindow* self = (DesktopWindow*)w; GdkAtom target = get_best_target_at_dest( self, ctx, x, y ); //printf("DROP: %s\n", gdk_atom_name(target) ); if( target == GDK_NONE ) return FALSE; if( target == text_uri_list_atom || target == desktop_icon_atom ) gtk_drag_get_data( w, ctx, target, time ); return TRUE; } void on_drag_data_get( GtkWidget* w, GdkDragContext* ctx, GtkSelectionData* data, guint info, guint time ) { DesktopWindow* self = (DesktopWindow*)w; GList *sels, *l; char* uri_list; gsize len; if( info == DRAG_TARGET_URI_LIST ) { GString *buf = g_string_sized_new( 4096 ); sels = desktop_window_get_selected_files( self ); for( l = sels; l; l = l->next ) { VFSFileInfo* fi = (VFSFileInfo*)l->data; char* path, *uri; if( fi->flags & VFS_FILE_INFO_VIRTUAL ) continue; path = g_build_filename( vfs_get_desktop_dir(), fi->name, NULL ); uri = g_filename_to_uri( path, NULL, NULL ); g_free( path ); g_string_append( buf, uri ); g_string_append( buf, "\r\n" ); g_free( uri ); } g_list_foreach( sels, (GFunc)vfs_file_info_unref, NULL ); g_list_free( sels ); uri_list = g_convert( buf->str, buf->len, "ASCII", "UTF-8", NULL, &len, NULL); g_string_free( buf, TRUE); if( uri_list ) { gtk_selection_data_set( data, text_uri_list_atom, 8, (guchar *)uri_list, len ); g_free (uri_list); } } else if( info == DRAG_TARGET_DESKTOP_ICON ) { } } static char** get_files_from_selection_data(GtkSelectionData* data) { char** files = gtk_selection_data_get_uris(data), **pfile; if( files ) { /* convert uris to filenames */ for( pfile = files; *pfile; ++pfile ) { char* file = g_filename_from_uri( *pfile, NULL, NULL ); g_free( *pfile ); if( file ) *pfile = file; else { /* FIXME: This is very inefficient, but it's a rare case. */ int n = g_strv_length( pfile + 1 ); if( n > 0 ) { memmove( pfile, file + sizeof(char*), sizeof(char*) * (n + 1) ); /* omit the path if conversion fails */ --pfile; } else { *pfile = NULL; break; } } } } if( files && ! *files ) { g_strfreev( files ); files = NULL; } return files; } void move_desktop_items( DesktopWindow* self, GdkDragContext* ctx, DesktopItem* target_item ) { DesktopItem* item; GList* l, *ll, *target_l = NULL; if ( target_item && !( target_l = g_list_find( self->items, target_item ) ) ) return; GList* sel_items = desktop_window_get_selected_items( self, FALSE ); if ( !sel_items ) return; if ( target_item && g_list_find( sel_items, target_item ) ) { // dropped selection onto self g_list_free( sel_items ); return; } // sort selected items by name - don't change user's order of icons ? //sel_items = g_list_sort_with_data( sel_items, // (GCompareDataFunc)comp_item_by_name, NULL ); for ( l = sel_items; l; l = l->next ) { if ( !( ll = g_list_find( self->items, l->data ) ) ) continue; // not in list failsafe if ( !target_l ) { // no target - add to end //printf( "NO TARGET\n" ); ll->data = g_slice_new0( DesktopItem ); // new empty ((DesktopItem*)ll->data)->fi = NULL; self->items = g_list_append( self->items, l->data ); } else if ( !((DesktopItem*)target_l->data)->fi ) { // target is empty, swap them //printf( "SWAP %p -> %p\n", l->data, target_l->data ); ll->data = target_l->data; target_l->data = l->data; target_l = target_l->next; } else { // target is not empty, insert before //printf( "INSERT %p before %p\n", l->data, target_l->data ); ll->data = g_slice_new0( DesktopItem ); // new empty ((DesktopItem*)ll->data)->fi = NULL; self->items = g_list_insert_before( self->items, target_l, l->data ); // scan downward and remove first empty for ( ll = target_l->next; ll; ll = ll->next ) { if ( !((DesktopItem*)ll->data)->fi ) { desktop_item_free( (DesktopItem*)ll->data ); self->items = g_list_remove( self->items, ll->data ); break; } } } } g_list_free( sel_items ); layout_items( self ); } gboolean on_insert_item_invalidate( DesktopWindow* self ) { self->insert_item = NULL; return FALSE; } void desktop_window_insert_task_complete( VFSFileTask* task, DesktopWindow* self ) { // invalidate insert_item 2 seconds after task completion g_timeout_add_seconds( 2, ( GSourceFunc ) on_insert_item_invalidate, self ); } void desktop_window_set_insert_item( DesktopWindow* self ) { GList* sel_items = desktop_window_get_selected_items( self, FALSE ); if ( !sel_items ) self->insert_item = NULL; else { self->insert_item = sel_items->data; g_list_free( sel_items ); } } void on_drag_data_received( GtkWidget* w, GdkDragContext* ctx, gint x, gint y, GtkSelectionData* data, guint info, guint time ) { DesktopWindow* self = (DesktopWindow*)w; DesktopItem* item; if( gtk_selection_data_get_target( data ) == text_uri_list_atom ) { gboolean text_hit = FALSE; if ( self->pending_drop_action ) { x = self->drag_pending_x; y = self->drag_pending_y; } if ( self->sort_by == DW_SORT_CUSTOM ) { item = hit_test_icon( self, x, y ); if ( !item ) text_hit = hit_test_text( self, x, y, &item ); } else item = hit_test( self, x, y ); char* dest_dir = NULL; VFSFileTaskType file_action = VFS_FILE_TASK_MOVE; PtkFileTask* task = NULL; char** files; int n, i; GList* file_list; struct stat statbuf; // skip stat64 if( (gtk_selection_data_get_length( data ) < 0) || (gtk_selection_data_get_format( data ) != 8) ) { gtk_drag_finish( ctx, FALSE, FALSE, time ); return; } if ( item && item->fi && !text_hit && vfs_file_info_is_dir( item->fi ) ) // drop into a dir item on the desktop dest_dir = g_build_filename( vfs_get_desktop_dir(), item->fi->name, NULL ); // We are just checking the suggested actions for the drop site, not really drop if( self->pending_drop_action ) { GdkDragAction suggested_action = 0; dev_t dest_dev; if( stat( dest_dir ? dest_dir : vfs_get_desktop_dir(), &statbuf ) == 0 ) { dest_dev = statbuf.st_dev; if( 0 == self->drag_src_dev ) { char** pfile; files = get_files_from_selection_data(data); self->drag_src_dev = dest_dev; if( files ) { for( pfile = files; *pfile; ++pfile ) { if( lstat( *pfile, &statbuf ) == 0 && statbuf.st_dev != dest_dev ) { self->drag_src_dev = statbuf.st_dev; break; } } } g_strfreev( files ); } if( self->drag_src_dev != dest_dev ) // src and dest are on different devices suggested_action = GDK_ACTION_COPY; else suggested_action = GDK_ACTION_MOVE; } g_free( dest_dir ); self->pending_drop_action = FALSE; gdk_drag_status( ctx, suggested_action, time ); return; } //printf("on_drag_data_received text_uri_list_atom %s\n", text_hit ? "text_hit" : item ? "item" : "no-item" ); switch ( gdk_drag_context_get_selected_action( ctx ) ) { case GDK_ACTION_COPY: file_action = VFS_FILE_TASK_COPY; break; case GDK_ACTION_LINK: file_action = VFS_FILE_TASK_LINK; break; // FIXME: GDK_ACTION_DEFAULT, GDK_ACTION_PRIVATE, and GDK_ACTION_ASK are not handled default: break; } files = get_files_from_selection_data( data ); if ( files ) { if ( file_action == VFS_FILE_TASK_MOVE && item && item->fi && !dest_dir ) { // moving onto non-dir item - are source files on desktop? ino_t src_dir_inode; dev_t src_dir_dev; char* src_dir = g_path_get_dirname( files[0] ); if ( stat( src_dir, &statbuf ) == 0 ) { src_dir_inode = statbuf.st_ino; src_dir_dev = statbuf.st_dev; if ( stat( vfs_get_desktop_dir(), &statbuf ) == 0 && statbuf.st_ino == src_dir_inode && statbuf.st_dev == src_dir_dev ) { // source files are on desktop, move items only g_strfreev( files ); g_free( src_dir ); if ( self->sort_by == DW_SORT_CUSTOM ) move_desktop_items( self, ctx, item ); gtk_drag_finish( ctx, TRUE, FALSE, time ); return; } } g_free( src_dir ); } file_list = NULL; n = g_strv_length( files ); for( i = 0; i < n; ++i ) file_list = g_list_prepend( file_list, files[i] ); g_free( files ); file_list = g_list_reverse( file_list ); task = ptk_file_task_new( file_action, file_list, dest_dir ? dest_dir : vfs_get_desktop_dir(), GTK_WINDOW( self ), NULL ); // get insertion box if ( self->sort_by == DW_SORT_CUSTOM ) { if ( !item ) item = hit_test_box( self, x, y ); self->insert_item = item; ptk_file_task_set_complete_notify( task, (GFunc)desktop_window_insert_task_complete, self ); } ptk_file_task_run( task ); } g_free( dest_dir ); gtk_drag_finish( ctx, files != NULL, FALSE, time ); } else if ( gtk_selection_data_get_target( data ) == desktop_icon_atom ) { // moving desktop icon to desktop if ( self->sort_by == DW_SORT_CUSTOM ) { //printf("on_drag_data_received - desktop_icon_atom\n"); if ( !hit_test_text( self, x, y, &item ) ) item = hit_test_box( self, x, y ); move_desktop_items( self, ctx, item ); /* GList* sels = desktop_window_get_selected_items(self), *l; int x_off = x - self->drag_start_x; int y_off = y - self->drag_start_y; for( l = sels; l; l = l->next ) { DesktopItem* item = l->data; #if 0 // temporarily turn off move_item( self, item, x_off, y_off, TRUE ); #endif DesktopItem* hit_item = hit_test_box( self, x, y ); printf( " move: %s, %d (%d), %d (%d) -> %s\n", item->fi ? vfs_file_info_get_name( item->fi ) : "Empty", x, x_off, y, y_off, hit_item ? hit_item->fi ? vfs_file_info_get_name( hit_item->fi ) : "EMPTY" : "MISS" ); } g_list_free( sels ); */ } gtk_drag_finish( ctx, TRUE, FALSE, time ); } } void on_drag_leave( GtkWidget* w, GdkDragContext* ctx, guint time ) { DesktopWindow* self = (DesktopWindow*)w; self->drag_entered = FALSE; self->drag_src_dev = 0; } void on_drag_end( GtkWidget* w, GdkDragContext* ctx ) { DesktopWindow* self = (DesktopWindow*)w; } gboolean on_rename_item_invalidate( DesktopWindow* self ) { self->renaming_item = self->renamed_item = NULL; return FALSE; } void desktop_window_rename_selected_files( DesktopWindow* self, GList* files, const char* cwd ) { GList* l; GList* ll; VFSFileInfo* file; DesktopItem* item; char* msg; for ( l = files; l; l = l->next ) { file = (VFSFileInfo*)l->data; if ( vfs_file_info_is_desktop_entry( file ) ) { char* filename = g_filename_display_name( file->name ); if ( filename ) { char* path = g_build_filename( cwd, filename, NULL ); const char* name = vfs_file_info_get_disp_name( file ); char* new_name = NULL; char* target = g_file_read_link( path, NULL ); if ( !target ) target = g_strdup( path ); if ( !have_rw_access( target ) ) { msg = g_strdup_printf( _("You do not have permission to edit the contents of file %s\n\nConsider copying the file to the desktop, or link to a copy placed in ~/.local/share/applications/"), target ); xset_msg_dialog( GTK_WIDGET( self ), GTK_MESSAGE_INFO, _("Unable To Rename"), NULL, 0, msg, NULL, NULL ); g_free( msg ); g_free( path ); g_free( filename ); g_free( target ); break; } else { msg = g_strdup_printf( _("Enter new desktop item name:\n\nChanging the name of this desktop item requires modifying the contents of desktop file %s"), target ); g_free( target ); if ( !xset_text_dialog( GTK_WIDGET( self ), _("Change Desktop Item Name"), NULL, FALSE, msg, NULL, name, &new_name, NULL, FALSE, NULL ) || !new_name ) { g_free( msg ); g_free( path ); g_free( filename ); break; } g_free( msg ); if ( new_name[0] == '\0' ) { g_free( path ); g_free( filename ); break; } if ( !vfs_app_desktop_rename( path, new_name ) ) { if ( self->dir ) // in case file is a link vfs_dir_emit_file_changed( self->dir, filename, file, FALSE ); g_free( path ); g_free( filename ); xset_msg_dialog( GTK_WIDGET( self ), GTK_MESSAGE_ERROR, _("Rename Error"), NULL, 0, _("An error occured renaming this desktop item."), NULL, NULL ); break; } if ( self->dir ) // in case file is a link vfs_dir_emit_file_changed( self->dir, filename, file, FALSE ); } g_free( path ); g_free( filename ); } } else { if ( !ptk_rename_file( self, NULL, cwd, file, NULL, FALSE, 0, NULL ) ) break; if ( self->sort_by == DW_SORT_CUSTOM ) { /* Track the item being renamed so its position can be retained. * This is a bit hackish, but the file monitor currently emits * two events when a file is renamed (delete and create). * This method will not preserve location if file is renamed * from outside SpaceFM. * Would be better to employ inotify MOVED_FROM and MOVED_TO * with cookie, but file monitor doesn't currently provide this * data to callbacks. */ self->renaming_item = NULL; self->renamed_item = NULL; for ( ll = self->items; ll; ll = ll->next ) { item = (DesktopItem*) ll->data; if ( item->fi == file ) { self->renaming_item = item; break; } } } } } if ( self->sort_by == DW_SORT_CUSTOM ) { // invalidate renaming_item 2 seconds after last rename g_timeout_add_seconds( 2, ( GSourceFunc ) on_rename_item_invalidate, self ); } } DesktopItem* get_next_item( DesktopWindow* self, int direction ) { DesktopItem *item, *current_item; DesktopItem* next_item = NULL; GList* l; if ( self->focus ) current_item = self->focus; else if ( self->items ) { current_item = (DesktopItem*) self->items->data; self->focus = current_item; } else return NULL; //No items! for ( l = self->items; l; l = l->next ) { item = (DesktopItem*) l->data; if ( item != current_item ) { next_item = item; break; } } if ( next_item ) //If there are other items { int sign = ( direction==GDK_KEY_Down||direction==GDK_KEY_Right)? 1 : -1; int keep_x = (direction==GDK_KEY_Down||direction==GDK_KEY_Up)? 1 : 0; int test_x = 1 - keep_x; int keep_y = (direction==GDK_KEY_Left||direction==GDK_KEY_Right)? 1 : 0; int test_y = 1 - keep_y; int diff = 32000; int nearest_diff = diff; int line_diff; gboolean done = FALSE; int myline_x = current_item->icon_rect.x; int myline_y = current_item->icon_rect.y; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*) l->data; if ( item == current_item ) continue; diff = item->icon_rect.x*test_x + item->icon_rect.y*test_y; diff -= current_item->icon_rect.x*test_x + current_item->icon_rect.y*test_y; diff = diff*sign; //positive diff for the valid items; //so we have icons with variable height, let's get dirty... line_diff = item->icon_rect.x*keep_x + item->icon_rect.y*keep_y; line_diff -= current_item->icon_rect.x*keep_x + current_item->icon_rect.y*keep_y; if ( line_diff < 0 ) line_diff = -line_diff; //positive line diff for adding; diff += 2*line_diff*(diff>0?1:-1); //line_diff is more important than diff if ( ( !line_diff || test_x ) && diff > 0 && diff < nearest_diff ) { next_item = item; nearest_diff = diff; done = TRUE; } } //Support for jumping through the borders to the next/prev row or column /* self->items is sorted by columns by default, so for now let's just support up-down looping */ if ( !done && test_y ) { GList* m; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*) l->data; if ( item == current_item ) { m = sign == 1 ? l->next : l->prev; if ( m ) { next_item = (DesktopItem*) m->data; done = TRUE; } break; } } } if ( !done ) return current_item; else return next_item; } return current_item; } void focus_item( DesktopWindow* self, DesktopItem* item ) { if ( !item ) return; DesktopItem* current = self->focus; if ( current ) redraw_item( self, current ); self->focus = item; redraw_item( self, item ); } void desktop_window_select( DesktopWindow* self, DWSelectMode mode ) { char* key; char* name; gboolean icase = FALSE; if ( mode < DW_SELECT_ALL || mode > DW_SELECT_PATTERN ) return; if ( mode == DW_SELECT_PATTERN ) { // get pattern from user (store in ob1 so it's not saved) XSet* set = xset_get( "select_patt" ); if ( !xset_text_dialog( GTK_WIDGET( self ), _("Select By Pattern"), NULL, FALSE, _("Enter pattern to select files and folders:\n\nIf your pattern contains any uppercase characters, the matching will be case sensitive.\n\nExample: *sp*e?m*\n\nTIP: You can also enter '%% PATTERN' in the path bar."), NULL, set->ob1, &set->ob1, NULL, FALSE, NULL ) || !set->ob1 ) return; key = set->ob1; // case insensitive search ? char* lower_key = g_utf8_strdown( key, -1 ); if ( !strcmp( lower_key, key ) ) { // key is all lowercase so do icase search icase = TRUE; } g_free( lower_key ); } else key = NULL; GList* l; DesktopItem* item; gboolean sel; for( l = self->items; l; l = l->next ) { item = (DesktopItem*) l->data; if ( !item->fi ) sel = FALSE; // empty else if ( mode == DW_SELECT_ALL ) sel = TRUE; else if ( mode == DW_SELECT_NONE ) sel = FALSE; else if ( mode == DW_SELECT_INVERSE ) sel = !item->is_selected; else { // DW_SELECT_PATTERN - test name name = (char*)vfs_file_info_get_disp_name( item->fi ); if ( icase ) name = g_utf8_strdown( name, -1 ); sel = fnmatch( key, name, 0 ) == 0; if ( icase ) g_free( name ); } if ( sel != item->is_selected ) { item->is_selected = sel; redraw_item( self, item ); } } } void select_item( DesktopWindow* self, DesktopItem* item, gboolean val ) { if ( !item ) return; item->is_selected = item->fi ? val : FALSE; redraw_item( self, item ); } gboolean on_key_press( GtkWidget* w, GdkEventKey* event ) { int nonlatin_key = 0; DesktopWindow* desktop = (DesktopWindow*)w; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( event->keyval == 0 ) return FALSE; // need to transpose nonlatin keyboard layout ? if ( !( ( GDK_KEY_0 <= event->keyval && event->keyval <= GDK_KEY_9 ) || ( GDK_KEY_A <= event->keyval && event->keyval <= GDK_KEY_Z ) || ( GDK_KEY_a <= event->keyval && event->keyval <= GDK_KEY_z ) ) ) { nonlatin_key = event->keyval; transpose_nonlatin_keypress( event ); } GList* l; XSet* set; char* xname; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->shared_key ) { // set has shared key set = xset_get( ((XSet*)l->data)->shared_key ); if ( set->key == event->keyval && set->keymod == keymod ) { // shared key match if ( g_str_has_prefix( set->name, "panel" ) ) { if ( nonlatin_key != 0 ) event->keyval = nonlatin_key; return FALSE; } goto _key_found; // for speed } else continue; } if ( ((XSet*)l->data)->key == event->keyval && ((XSet*)l->data)->keymod == keymod ) { set = (XSet*)l->data; _key_found: // run menu_cb if ( set->menu_style < XSET_MENU_SUBMENU ) { set->browser = NULL; set->desktop = desktop; xset_menu_cb( NULL, set ); // also does custom activate } if ( !set->lock ) return TRUE; // handlers if ( !strcmp( set->name, "new_app" ) ) desktop_window_add_application( desktop ); else if ( g_str_has_prefix( set->name, "desk_" ) ) { if ( g_str_has_prefix( set->name, "desk_sort_" ) ) { int by; char* xname = set->name + 10; if ( !strcmp( xname, "name" ) ) by = DW_SORT_BY_NAME; else if ( !strcmp( xname, "size" ) ) by = DW_SORT_BY_SIZE; else if ( !strcmp( xname, "type" ) ) by = DW_SORT_BY_TYPE; else if ( !strcmp( xname, "date" ) ) by = DW_SORT_BY_MTIME; else if ( !strcmp( xname, "cust" ) ) by = DW_SORT_CUSTOM; else { if ( !strcmp( xname, "ascend" ) ) by = GTK_SORT_ASCENDING; else if ( !strcmp( xname, "descend" ) ) by = GTK_SORT_DESCENDING; else return TRUE; desktop_window_sort_items( desktop, desktop->sort_by, by ); return TRUE; } desktop_window_sort_items( desktop, by, desktop->sort_type ); } else if ( !strcmp( set->name, "desk_pref" ) ) fm_edit_preference( GTK_WINDOW( desktop ), PREF_DESKTOP ); else if ( !strcmp( set->name, "desk_open" ) ) desktop_window_open_desktop_dir( NULL, desktop ); } else if ( g_str_has_prefix( set->name, "paste_" ) ) { xname = set->name + 6; if ( !strcmp( xname, "link" ) ) { desktop_window_set_insert_item( desktop ); ptk_clipboard_paste_links( GTK_WINDOW( desktop ), vfs_get_desktop_dir(), NULL, (GFunc)desktop_window_insert_task_complete, GTK_WINDOW( desktop ) ); } else if ( !strcmp( xname, "target" ) ) { desktop_window_set_insert_item( desktop ); ptk_clipboard_paste_targets( GTK_WINDOW( desktop ), vfs_get_desktop_dir(), NULL, (GFunc)desktop_window_insert_task_complete, GTK_WINDOW( desktop ) ); } else if ( !strcmp( xname, "as" ) ) { desktop_window_set_insert_item( desktop ); ptk_file_misc_paste_as( desktop, NULL, vfs_get_desktop_dir(), (GFunc)desktop_window_insert_task_complete ); } } else if ( g_str_has_prefix( set->name, "select_" ) ) { DWSelectMode mode; xname = set->name + 7; if ( !strcmp( xname, "all" ) ) mode = DW_SELECT_ALL; else if ( !strcmp( xname, "un" ) ) mode = DW_SELECT_NONE; else if ( !strcmp( xname, "invert" ) ) mode = DW_SELECT_INVERSE; else if ( !strcmp( xname, "patt" ) ) mode = DW_SELECT_PATTERN; else return TRUE; desktop_window_select( desktop, mode ); } else // all the rest require ptkfilemenu data ptk_file_menu_action( desktop, NULL, set->name ); return TRUE; } } if ( keymod == GDK_CONTROL_MASK ) { switch ( event->keyval ) { case GDK_KEY_Down: case GDK_KEY_Up: case GDK_KEY_Left: case GDK_KEY_Right: focus_item( desktop, get_next_item( desktop, event->keyval ) ); return TRUE; case GDK_KEY_space: if ( desktop->focus ) select_item( desktop, desktop->focus, !desktop->focus->is_selected ); return TRUE; } } else if ( keymod == 0 ) { switch ( event->keyval ) { case GDK_KEY_Return: case GDK_KEY_space: if ( desktop->focus ) open_clicked_item( desktop, desktop->focus ); return TRUE; case GDK_KEY_Down: case GDK_KEY_Up: case GDK_KEY_Left: case GDK_KEY_Right: desktop_window_select( desktop, DW_SELECT_NONE ); focus_item( desktop, get_next_item( desktop, event->keyval ) ); if ( desktop->focus ) select_item( desktop, desktop->focus, TRUE ); return TRUE; case GDK_KEY_Menu: show_desktop_menu( desktop, 0, event->time ); return TRUE; } } if ( nonlatin_key != 0 ) event->keyval = nonlatin_key; return FALSE; } void on_style_set( GtkWidget* w, GtkStyle* prev ) { DesktopWindow* self = (DesktopWindow*)w; PangoContext* pc; PangoFontMetrics *metrics; int font_h; pc = gtk_widget_get_pango_context( (GtkWidget*)self ); metrics = pango_context_get_metrics( pc, gtk_widget_get_style((GtkWidget*)self)->font_desc, pango_context_get_language(pc)); font_h = pango_font_metrics_get_ascent(metrics) + pango_font_metrics_get_descent (metrics); font_h /= PANGO_SCALE; } void on_realize( GtkWidget* w ) { guint32 val; DesktopWindow* self = (DesktopWindow*)w; GTK_WIDGET_CLASS(parent_class)->realize( w ); const char *wmname = gdk_x11_screen_get_window_manager_name( gtk_widget_get_screen( w ) ); if ( self->transparent && !g_strcmp0( wmname, "Compiz" ) ) { gtk_window_set_decorated( GTK_WINDOW(w), FALSE ); gtk_window_set_keep_below( GTK_WINDOW(w), TRUE ); } else { gdk_window_set_type_hint( gtk_widget_get_window(w), GDK_WINDOW_TYPE_HINT_DESKTOP ); } gtk_window_set_skip_pager_hint( GTK_WINDOW(w), TRUE ); gtk_window_set_skip_taskbar_hint( GTK_WINDOW(w), TRUE ); gtk_window_set_resizable( (GtkWindow*)w, FALSE ); /* This is borrowed from fbpanel */ #define WIN_HINTS_SKIP_FOCUS (1<<0) /* skip "alt-tab" */ val = WIN_HINTS_SKIP_FOCUS; XChangeProperty(gdk_x11_get_default_xdisplay(), GDK_WINDOW_XID(gtk_widget_get_window(w)), XInternAtom(gdk_x11_get_default_xdisplay(), "_WIN_HINTS", False), XA_CARDINAL, 32, PropModeReplace, (unsigned char *) &val, 1); // if( self->background ) // gdk_window_set_back_pixmap( w->window, self->background, FALSE ); } gboolean on_focus_in( GtkWidget* w, GdkEventFocus* evt ) { DesktopWindow* self = (DesktopWindow*) w; //sfm gtk3 gtk_widget_grab_focus( w ) not equivalent //gtk_widget_grab_focus( w ); #if GTK_CHECK_VERSION (3, 0, 0) // TODO #else GTK_WIDGET_SET_FLAGS( w, GTK_HAS_FOCUS ); #endif if( self->focus ) redraw_item( self, self->focus ); return FALSE; } gboolean on_focus_out( GtkWidget* w, GdkEventFocus* evt ) { DesktopWindow* self = (DesktopWindow*) w; if( self->focus ) { //sfm gtk3 restored - can GTK_WIDGET_UNSET_FLAGS be removed without changes? #if GTK_CHECK_VERSION (3, 0, 0) // TODO #else GTK_WIDGET_UNSET_FLAGS( w, GTK_HAS_FOCUS ); #endif redraw_item( self, self->focus ); } return FALSE; } gboolean on_scroll( GtkWidget *w, GdkEventScroll *evt ) { if ( ((DesktopWindow*)w)->transparent ) { const char* wmname = gdk_x11_screen_get_window_manager_name( gtk_widget_get_screen( w ) ); if ( !g_strcmp0( wmname, "Compiz" ) ) { /* For Compiz transparent desktop, scroll events get passed back to * the root window, because in that case, SpaceFM doesn't work as a * desktop-type window. */ forward_event_to_rootwin( gtk_widget_get_screen( w ), ( GdkEvent* ) evt ); return TRUE; } } /* In other cases, return FALSE to use the default scroll behavior. * forward_event_to_rootwin code causes issues with scrollwheel in Openbox. * Issue #524 */ return FALSE; } void on_sort_by_name ( GtkMenuItem *menuitem, DesktopWindow* self ) { desktop_window_sort_items( self, DW_SORT_BY_NAME, self->sort_type ); } void on_sort_by_size ( GtkMenuItem *menuitem, DesktopWindow* self ) { desktop_window_sort_items( self, DW_SORT_BY_SIZE, self->sort_type ); } void on_sort_by_mtime ( GtkMenuItem *menuitem, DesktopWindow* self ) { desktop_window_sort_items( self, DW_SORT_BY_MTIME, self->sort_type ); } void on_sort_by_type ( GtkMenuItem *menuitem, DesktopWindow* self ) { desktop_window_sort_items( self, DW_SORT_BY_TYPE, self->sort_type ); } void on_sort_custom( GtkMenuItem *menuitem, DesktopWindow* self ) { desktop_window_sort_items( self, DW_SORT_CUSTOM, self->sort_type ); } void on_sort_ascending( GtkMenuItem *menuitem, DesktopWindow* self ) { desktop_window_sort_items( self, self->sort_by, GTK_SORT_ASCENDING ); } void on_sort_descending( GtkMenuItem *menuitem, DesktopWindow* self ) { desktop_window_sort_items( self, self->sort_by, GTK_SORT_DESCENDING ); } void desktop_window_on_autoopen_cb( gpointer task, gpointer aop ) { if ( !aop ) return; AutoOpenCreate* ao = (AutoOpenCreate*)aop; if ( !GTK_IS_WIDGET( ao->desktop ) ) return; DesktopWindow* self = ao->desktop; if ( ao->path && g_file_test( ao->path, G_FILE_TEST_EXISTS ) ) { char* cwd = g_path_get_dirname( ao->path ); VFSFileInfo* file; // select item on desktop if ( GTK_IS_WINDOW( self ) && self->dir && !g_strcmp0( cwd, vfs_get_desktop_dir() ) ) { char* name = g_path_get_basename( ao->path ); // force file created notify vfs_dir_emit_file_created( self->dir, name, TRUE ); vfs_dir_flush_notify_cache(); // find item on desktop GList* l; DesktopItem* item; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*)l->data; if ( item->fi && !g_strcmp0( vfs_file_info_get_name( item->fi ), name ) ) break; } if ( l ) // found { desktop_window_select( self, DW_SELECT_NONE ); select_item( self, (DesktopItem*)l->data, TRUE ); focus_item( self, (DesktopItem*)l->data ); } g_free( name ); } // open file/folder if ( ao->open_file ) { file = vfs_file_info_new(); vfs_file_info_get( file, ao->path, NULL ); GList* sel_files = NULL; sel_files = g_list_prepend( sel_files, file ); if ( g_file_test( ao->path, G_FILE_TEST_IS_DIR ) ) { gdk_threads_enter(); open_folders( sel_files ); gdk_threads_leave(); } else ptk_open_files_with_app( cwd, sel_files, NULL, self, NULL, FALSE, TRUE ); vfs_file_info_unref( file ); g_list_free( sel_files ); } g_free( cwd ); } g_free( ao->path ); g_slice_free( AutoOpenCreate, ao ); } void on_settings( GtkMenuItem *menuitem, DesktopWindow* self ) { fm_edit_preference( GTK_WINDOW( self ), PREF_DESKTOP ); } /* private methods */ void calc_item_size( DesktopWindow* self, DesktopItem* item ) { PangoLayoutLine* line; int line_h; gboolean fake_line = TRUE; //self->sort_by == DW_SORT_CUSTOM; item->box.width = self->item_w; item->box.height = self->y_pad * 2; item->box.height += self->icon_size; item->box.height += self->spacing; // get text_rect height item->text_rect.height = 0; if ( item->fi ) // not empty { pango_layout_set_text( self->pl, item->fi->disp_name, -1 ); pango_layout_set_wrap( self->pl, PANGO_WRAP_WORD_CHAR ); // wrap the text pango_layout_set_ellipsize( self->pl, PANGO_ELLIPSIZE_NONE ); if( pango_layout_get_line_count(self->pl) >= 2 ) // there are more than 2 lines { // we only allow displaying two lines, so let's get the second line // Pango only provide version check macros in the latest versions... // So there is no point in making this check. // FIXME: this check should be done ourselves in configure. #if defined (PANGO_VERSION_CHECK) #if PANGO_VERSION_CHECK( 1, 16, 0 ) line = pango_layout_get_line_readonly( self->pl, 1 ); #else line = pango_layout_get_line( self->pl, 1 ); #endif #else line = pango_layout_get_line( self->pl, 1 ); #endif item->len1 = line->start_index; // this the position where the first line wraps // OK, now we layout these 2 lines separately // display name already contains \n ? eg Name=Firefox\n(Win+F) if ( item->fi->disp_name[ item->len1 - 1 ] == '\n' ) item->fi->disp_name[ item->len1 - 1 ] = '\0'; pango_layout_set_text( self->pl, item->fi->disp_name, item->len1 ); pango_layout_get_pixel_size( self->pl, NULL, &line_h ); item->text_rect.height = line_h; fake_line = FALSE; } } pango_layout_set_wrap( self->pl, 0 ); // wrap the text pango_layout_set_ellipsize( self->pl, PANGO_ELLIPSIZE_END ); if ( item->fi ) pango_layout_set_text( self->pl, item->fi->disp_name + item->len1, -1 ); else pango_layout_set_text( self->pl, "Empty", -1 ); pango_layout_get_pixel_size( self->pl, NULL, &line_h ); item->text_rect.height += line_h; item->text_rect.width = MAX( self->label_w, self->icon_size ); //100; // add empty text line height to standardize height to two lines for custom sort item->box.height += item->text_rect.height * ( fake_line ? 2 : 1 ); item->icon_rect.width = item->icon_rect.height = self->icon_size; } void layout_items( DesktopWindow* self ) { GList* l; GList* ll; DesktopItem* item; GtkWidget* widget = (GtkWidget*)self; int i, x, y, w, bottom, right, row_count; gboolean list_compressed = self->sort_by != DW_SORT_CUSTOM; self->item_w = MAX( self->label_w, self->icon_size ) + self->x_pad * 2; pango_layout_set_width( self->pl, MAX( self->label_w, self->icon_size ) * PANGO_SCALE ); // 100 pango_layout_set_font_description( self->pl, app_settings.desk_font ); start_layout: x = self->wa.x + self->margin_left; y = self->wa.y + self->margin_top; right = self->wa.x + self->wa.width - self->margin_right; bottom = self->wa.y + self->wa.height - self->margin_bottom; self->box_count = 0; self->row_count = 0; row_count = 0; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*)l->data; item->box.width = self->item_w; calc_item_size( self, item ); if ( y + item->box.height > bottom ) { // bottom reached - go to next column y = self->wa.y + self->margin_top; x += self->item_w; // save row count for this layout if ( !self->row_count ) self->row_count = row_count; row_count = 1; // adding first row of new column if ( self->sort_by == DW_SORT_CUSTOM && self->order_rows > self->row_count && l->prev ) { // saved row count was greater than current - eat empties GList* l_prev = l->prev; ll = l; for ( i = self->row_count; i < self->order_rows && ll; i++ ) { item = (DesktopItem*)ll->data; if ( item->fi ) { // non-empty encountered in non-existent row // This will cause subsequent rows to be out of alignment ll = NULL; } else { if ( l_prev ) { // rewind to previous item once for l = l->next // before deleting current l l = l_prev; l_prev = NULL; } ll = ll->next; desktop_item_free( item ); self->items = g_list_remove( self->items, item ); } } if ( !l_prev ) continue; // was rewound } } else if ( self->sort_by == DW_SORT_CUSTOM ) { row_count++; // adding new row to current column if ( self->order_rows && self->order_rows < row_count && l->prev ) { // saved row count was less than current - insert empty item = g_slice_new0( DesktopItem ); item->fi = NULL; item->box.width = self->item_w; calc_item_size( self, item ); self->items = g_list_insert_before( self->items, l, item ); l = l->prev; } } if ( !list_compressed && x + item->box.width > right ) { // right side reached - remove empties and redo layout (custom sort) gboolean list_changed = FALSE; // scan down below box_count and remove all empties for ( ll = g_list_nth( self->items, self->box_count ); ll; ll = ll->next ) { if ( !((DesktopItem*)ll->data)->fi ) { desktop_item_free( (DesktopItem*)ll->data ); self->items = g_list_remove( self->items, ll->data ); if ( !list_changed ) list_changed = TRUE; } } // scan up above box_count and remove empties until all items fit gboolean empty_removed = TRUE; while ( empty_removed && g_list_length( self->items ) > self->box_count ) { empty_removed = FALSE; for ( ll = g_list_nth( self->items, self->box_count - 1 ); ll; ll = ll->prev ) { if ( !((DesktopItem*)ll->data)->fi ) { desktop_item_free( (DesktopItem*)ll->data ); self->items = g_list_remove( self->items, ll->data ); if ( !list_changed ) list_changed = TRUE; empty_removed = TRUE; break; } } } // all items now fit or list is as compressed as possible - redo list_compressed = TRUE; if ( list_changed ) goto start_layout; } else self->box_count++; item->box.x = x; item->box.y = y; y += item->box.height; // go to next row item->icon_rect.x = item->box.x + (item->box.width - self->icon_size) / 2; item->icon_rect.y = item->box.y + self->y_pad; item->text_rect.x = item->box.x + self->x_pad; item->text_rect.y = item->box.y + self->y_pad + self->icon_size + self->spacing; /* if ( !item->fi ) printf( "LAY EMPTY %d, %d %p\n", x, y, item ); else printf( "LAY %s %d, %d %p\n", vfs_file_info_get_name( item->fi ), x, y, item ); */ } self->order_rows = 0; // reset if ( self->sort_by == DW_SORT_CUSTOM ) { // add empty boxes to fill window //printf("---------- ADD_EMPTY_BOXES\n"); do { item = g_slice_new0( DesktopItem ); item->fi = NULL; item->box.width = self->item_w; calc_item_size( self, item ); if( y + item->box.height > bottom ) { // bottom reached - go to next column y = self->wa.y + self->margin_top; x += self->item_w; } if ( x + item->box.width > right ) { // right side reached - stop adding empty boxes //printf( "RIGHT reached - stop adding empty %d, %d\n", x, y ); g_slice_free( DesktopItem, item ); break; } item->box.x = x; item->box.y = y; //printf( "ADD empty %d, %d %p\n", x, y, item ); y += item->box.height; // go to next row // add to list self->items = g_list_append( self->items, item ); self->box_count++; } while ( 1 ); custom_order_write( self ); } //printf(" box_count = %d\n", self->box_count ); gtk_widget_queue_draw( GTK_WIDGET(self) ); } void on_file_listed( VFSDir* dir, gboolean is_cancelled, DesktopWindow* self ) { GList* l, *items = NULL; VFSFileInfo* fi; DesktopItem* item; DesktopItem* target_item; gpointer ptr; int order, i; GList* ll; GList* unordered = NULL; self->file_listed = TRUE; GHashTable* order_hash = custom_order_read( self ); g_mutex_lock( dir->mutex ); for( l = dir->file_list; l; l = l->next ) { fi = (VFSFileInfo*)l->data; if( fi->name[0] == '.' ) /* skip the hidden files */ continue; item = g_slice_new0( DesktopItem ); item->fi = vfs_file_info_ref( fi ); if ( self->sort_by == DW_SORT_CUSTOM ) { if ( order_hash && ( ptr = g_hash_table_lookup( order_hash, vfs_file_info_get_name( fi ) ) ) ) { order = GPOINTER_TO_INT( ptr ) - 1; ll = g_list_nth( items, order ); if ( !ll ) { // position is beyond end of list - add empties for ( i = g_list_length( items ); i < order; i++ ) { target_item = g_slice_new0( DesktopItem ); target_item->fi = NULL; items = g_list_append( items, target_item ); } items = g_list_append( items, item ); } else if ( ((DesktopItem*)ll->data)->fi ) { // position already used - insert items = g_list_insert( items, item, order + 1 ); } else { // position empty - replace desktop_item_free( (DesktopItem*)ll->data ); ll->data = item; } } else { // order not found unordered = g_list_prepend( unordered, item ); } } else items = g_list_prepend( items, item ); if ( /* app_settings.show_thumbnail && */ ( #ifdef HAVE_FFMPEG vfs_file_info_is_video( fi ) || #endif ( fi->size < app_settings.max_thumb_size && vfs_file_info_is_image( fi ) ) ) ) vfs_thumbnail_loader_request( dir, fi, TRUE ); } g_mutex_unlock( dir->mutex ); // sort GCompareDataFunc comp_func = get_sort_func( self ); if ( comp_func ) self->items = g_list_sort_with_data( items, comp_func, self ); else { // custom sort if ( unordered ) { unordered = g_list_sort_with_data( unordered, (GCompareDataFunc)comp_item_by_name, self ); items = g_list_concat( items, unordered ); } self->items = items; if ( order_hash ) g_hash_table_destroy( order_hash ); } /* // Make an item for Home dir fi = vfs_file_info_new(); fi->disp_name = g_strdup( _("My Documents") ); fi->mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_DIRECTORY ); fi->name = g_strdup( g_get_home_dir() ); fi->mode |= S_IFDIR; fi->flags |= VFS_FILE_INFO_VIRTUAL; // this is a virtual file which doesn't exist on the file system fi->big_thumbnail = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gnome-fs-home", self->icon_size, 0, NULL ); if( ! fi->big_thumbnail ) fi->big_thumbnail = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "folder-home", self->icon_size, 0, NULL ); item = g_slice_new0( DesktopItem ); item->fi = fi; // item->icon = vfs_file_info_get_big_thumbnail( fi ); self->items = g_list_prepend( self->items, item ); */ layout_items( self ); } void on_thumbnail_loaded( VFSDir* dir, VFSFileInfo* fi, DesktopWindow* self ) { GList* l; GtkWidget* w = (GtkWidget*)self; for( l = self->items; l; l = l->next ) { DesktopItem* item = (DesktopItem*) l->data; if ( item->fi && item->fi == fi ) { /* if( item->icon ) g_object_unref( item->icon ); item->icon = vfs_file_info_get_big_thumbnail( fi ); */ redraw_item( self, item ); return; } } } void on_file_created( VFSDir* dir, VFSFileInfo* file, gpointer user_data ) { GList *l; DesktopWindow* self = (DesktopWindow*)user_data; DesktopItem* item; if( !dir || !file ) // failsafe return; /* don't show hidden files */ if( file->name[0] == '.' ) return; /* prevent duplicated items */ for( l = self->items; l; l = l->next ) { item = (DesktopItem*)l->data; if( item->fi && strcmp( file->name, item->fi->name ) == 0 ) return; } item = g_slice_new0( DesktopItem ); item->fi = vfs_file_info_ref( file ); if ( !item->fi->big_thumbnail && ( #ifdef HAVE_FFMPEG vfs_file_info_is_video( item->fi ) || #endif ( item->fi->size < app_settings.max_thumb_size && vfs_file_info_is_image( item->fi ) ) ) ) vfs_thumbnail_loader_request( dir, item->fi, TRUE ); GCompareDataFunc comp_func = get_sort_func( self ); if ( comp_func ) self->items = g_list_insert_sorted_with_data( self->items, item, get_sort_func(self), self ); else { // custom sort GList* ll; if ( self->insert_item && ( l = g_list_find( self->items, self->insert_item ) ) ) { // insert where dropped if ( ((DesktopItem*)self->insert_item)->fi ) { // dropped onto a non-empty item - insert before self->items = g_list_insert_before( self->items, l, item ); // scan downward and remove first empty for ( ll = l->next; ll; ll = ll->next ) { if ( !((DesktopItem*)ll->data)->fi ) { desktop_item_free( (DesktopItem*)ll->data ); self->items = g_list_remove( self->items, ll->data ); break; } } } else { // dropped onto empty item, replace it desktop_item_free( (DesktopItem*)self->insert_item ); l->data = item; self->insert_item = l->next->data; } } else if ( self->renamed_item && !((DesktopItem*)self->renamed_item)->fi && ( l = g_list_find( self->items, self->renamed_item ) ) ) { // insert where item was renamed desktop_item_free( (DesktopItem*)self->renamed_item ); self->renamed_item = NULL; l->data = item; item->is_selected = TRUE; } else { // find empty at end of all icons ll = NULL; for ( l = g_list_last( self->items ); l; l = l->prev ) { if ( !((DesktopItem*)l->data)->fi ) ll = l; // found empty else break; // found icon } if ( ll ) { // replace empty desktop_item_free( (DesktopItem*)ll->data ); ll->data = item; } else // no empties found self->items = g_list_append( self->items, item ); } } /* FIXME: we shouldn't update the whole screen */ /* FIXME: put this in idle handler with priority higher than redraw but lower than resize */ layout_items( self ); } void on_file_deleted( VFSDir* dir, VFSFileInfo* file, gpointer user_data ) { GList *l; DesktopWindow* self = (DesktopWindow*)user_data; DesktopItem* item; /* FIXME: special handling is needed here */ if( !dir || !file ) // file == NULL == the desktop dir itself was deleted return; /* don't deal with hidden files */ if( file->name[0] == '.' ) return; /* find items */ for( l = self->items; l; l = l->next ) { item = (DesktopItem*)l->data; if ( item->fi && item->fi == file ) break; } if( l ) /* found */ { item = (DesktopItem*)l->data; if ( self->sort_by == DW_SORT_CUSTOM ) { // replace item with empty DesktopItem* item_new = g_slice_new0( DesktopItem ); item_new->fi = NULL; item_new->box = item->box; desktop_item_free( item ); l->data = item_new; if ( self->renaming_item == item && self->renamed_item == NULL ) { // item is being renamed - retain position self->renamed_item = item_new; self->renaming_item = NULL; } // layout all since deleting may allow more icons to fit if full //redraw_item( self, item_new ); layout_items( self ); } else { self->items = g_list_delete_link( self->items, l ); desktop_item_free( item ); /* FIXME: we shouldn't update the whole screen */ /* FIXME: put this in idle handler with priority higher than redraw but lower than resize */ layout_items( self ); } } } void on_file_changed( VFSDir* dir, VFSFileInfo* file, gpointer user_data ) { GList *l; DesktopWindow* self = (DesktopWindow*)user_data; DesktopItem* item; GtkWidget* w = (GtkWidget*)self; if ( !dir || !file ) // file == NULL == the desktop dir itself changed return; /* don't touch hidden files */ if( file->name[0] == '.' ) return; /* find items */ for( l = self->items; l; l = l->next ) { item = (DesktopItem*)l->data; if ( item->fi && item->fi == file ) break; } if( l ) /* found */ { item = (DesktopItem*)l->data; /* check if reloading of thumbnail is needed. * See also ptk-file-list.c:_ptk_file_list_file_changed() */ if ( !item->fi->big_thumbnail && ( #ifdef HAVE_FFMPEG ( vfs_file_info_is_video( item->fi ) && time( NULL ) - *vfs_file_info_get_mtime( item->fi ) > 5 ) || #endif ( item->fi->size < app_settings.max_thumb_size && vfs_file_info_is_image( item->fi ) ) ) ) vfs_thumbnail_loader_request( dir, item->fi, TRUE ); if( gtk_widget_get_visible( w ) ) { /* redraw the item */ redraw_item( self, item ); } } } void desktop_window_copycmd( DesktopWindow* desktop, GList* sel_files, char* cwd, char* setname ) { if ( !setname || !desktop || !sel_files ) return; XSet* set2; char* copy_dest = NULL; char* move_dest = NULL; char* path; if ( !strcmp( setname, "copy_loc_last" ) ) { set2 = xset_get( "copy_loc_last" ); copy_dest = g_strdup( set2->desc ); } else if ( !strcmp( setname, "move_loc_last" ) ) { set2 = xset_get( "copy_loc_last" ); move_dest = g_strdup( set2->desc ); } else if ( strcmp( setname, "copy_loc" ) && strcmp( setname, "move_loc" ) ) return; if ( !strcmp( setname, "copy_loc" ) || !strcmp( setname, "move_loc" ) || ( !copy_dest && !move_dest ) ) { char* folder; set2 = xset_get( "copy_loc_last" ); if ( set2->desc ) folder = set2->desc; else folder = cwd; path = xset_file_dialog( GTK_WIDGET( desktop ), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _("Choose Location"), folder, NULL ); if ( path && g_file_test( path, G_FILE_TEST_IS_DIR ) ) { if ( g_str_has_prefix( setname, "copy_loc" ) ) copy_dest = path; else move_dest = path; set2 = xset_get( "copy_loc_last" ); xset_set_set( set2, "desc", path ); } else return; } if ( copy_dest || move_dest ) { int file_action; char* dest_dir; if ( copy_dest ) { file_action = VFS_FILE_TASK_COPY; dest_dir = copy_dest; } else { file_action = VFS_FILE_TASK_MOVE; dest_dir = move_dest; } if ( !strcmp( dest_dir, cwd ) ) { xset_msg_dialog( GTK_WIDGET( desktop ), GTK_MESSAGE_ERROR, _("Invalid Destination"), NULL, 0, _("Destination same as source"), NULL, NULL ); g_free( dest_dir ); return; } // rebuild sel_files with full paths GList* file_list = NULL; GList* sel; char* file_path; VFSFileInfo* file; for ( sel = sel_files; sel; sel = sel->next ) { file = ( VFSFileInfo* ) sel->data; file_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); file_list = g_list_prepend( file_list, file_path ); } // task PtkFileTask* task = ptk_file_task_new( file_action, file_list, dest_dir, GTK_WINDOW( desktop ), NULL ); ptk_file_task_run( task ); g_free( dest_dir ); } else { xset_msg_dialog( GTK_WIDGET( desktop ), GTK_MESSAGE_ERROR, _("Invalid Destination"), NULL, 0, _("Invalid destination"), NULL, NULL ); } } /*-------------- Private methods -------------------*/ void paint_item( DesktopWindow* self, DesktopItem* item, GdkRectangle* expose_area ) { /* GdkPixbuf* icon = item->icon ? gdk_pixbuf_ref(item->icon) : NULL; */ GdkPixbuf* icon; if ( !item->fi ) return; // empty const char* text = item->fi->disp_name; GtkWidget* widget = (GtkWidget*)self; #if !GTK_CHECK_VERSION (3, 0, 0) GdkDrawable* drawable = gtk_widget_get_window(widget); #endif GtkCellRendererState state = 0; GdkRectangle text_rect; int w, h; cairo_t *cr; cr = gdk_cairo_create( gtk_widget_get_window( widget ) ); if ( item->fi->big_thumbnail ) icon = g_object_ref( item->fi->big_thumbnail ); else icon = vfs_file_info_get_big_icon( item->fi ); if( item->is_selected ) state = GTK_CELL_RENDERER_SELECTED; g_object_set( self->icon_render, "pixbuf", icon, NULL ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_cell_renderer_render( self->icon_render, cr, widget, &item->icon_rect, &item->icon_rect, state ); #else gtk_cell_renderer_render( self->icon_render, drawable, widget, &item->icon_rect, &item->icon_rect, expose_area, state ); #endif if( icon ) g_object_unref( icon ); // add link_icon arrow to links if ( vfs_file_info_is_symlink( item->fi ) && link_icon ) { cairo_set_operator ( cr, CAIRO_OPERATOR_OVER ); gdk_cairo_set_source_pixbuf ( cr, link_icon, item->icon_rect.x, item->icon_rect.y ); gdk_cairo_rectangle ( cr, &item->icon_rect ); cairo_fill ( cr ); } // text text_rect = item->text_rect; pango_layout_set_wrap( self->pl, 0 ); if( item->is_selected ) { GdkRectangle intersect={0}; if( gdk_rectangle_intersect( expose_area, &item->text_rect, &intersect ) ) { gdk_cairo_set_source_color( cr, >k_widget_get_style(widget)->bg[GTK_STATE_SELECTED] ); cairo_rectangle( cr, intersect.x, intersect.y, intersect.width, intersect.height ); cairo_fill( cr ); } } else { /* Do the drop shadow stuff... This is a little bit dirty... */ ++text_rect.x; ++text_rect.y; gdk_cairo_set_source_color( cr, &self->shadow ); if( item->len1 > 0 ) { pango_layout_set_text( self->pl, text, item->len1 ); pango_layout_get_pixel_size( self->pl, &w, &h ); pango_cairo_update_layout( cr, self->pl ); cairo_move_to( cr, text_rect.x, text_rect.y ); pango_cairo_show_layout( cr, self->pl ); text_rect.y += h; } pango_layout_set_text( self->pl, text + item->len1, -1 ); pango_layout_set_ellipsize( self->pl, PANGO_ELLIPSIZE_END ); cairo_move_to( cr, text_rect.x, text_rect.y ); pango_cairo_show_layout( cr, self->pl ); --text_rect.x; --text_rect.y; } if( self->focus == item && gtk_widget_has_focus(widget) ) { #if GTK_CHECK_VERSION (3, 0, 0) gtk_paint_focus( gtk_widget_get_style(widget), cr, GTK_STATE_NORMAL,/*item->is_selected ? GTK_STATE_SELECTED : GTK_STATE_NORMAL,*/ widget, "icon_view", item->text_rect.x, item->text_rect.y, item->text_rect.width, item->text_rect.height); #else gtk_paint_focus( gtk_widget_get_style(widget), gtk_widget_get_window(widget), GTK_STATE_NORMAL,/*item->is_selected ? GTK_STATE_SELECTED : GTK_STATE_NORMAL,*/ &item->text_rect, widget, "icon_view", item->text_rect.x, item->text_rect.y, item->text_rect.width, item->text_rect.height); #endif } text_rect = item->text_rect; gdk_cairo_set_source_color( cr, &self->fg ); if( item->len1 > 0 ) { pango_layout_set_text( self->pl, text, item->len1 ); pango_layout_get_pixel_size( self->pl, &w, &h ); pango_cairo_update_layout( cr, self->pl ); cairo_move_to( cr, text_rect.x, text_rect.y ); pango_cairo_show_layout( cr, self->pl ); text_rect.y += h; } pango_layout_set_text( self->pl, text + item->len1, -1 ); pango_layout_set_ellipsize( self->pl, PANGO_ELLIPSIZE_END ); cairo_move_to( cr, text_rect.x, text_rect.y ); pango_cairo_show_layout( cr, self->pl ); cairo_destroy( cr ); } void move_item( DesktopWindow* self, DesktopItem* item, int x, int y, gboolean is_offset ) { GdkRectangle old = item->box; if( ! is_offset ) { x -= item->box.x; y -= item->box.y; } item->box.x += x; item->box.y += y; item->icon_rect.x += x; item->icon_rect.y += y; item->text_rect.x += x; item->text_rect.y += y; gtk_widget_queue_draw_area( (GtkWidget*)self, old.x, old.y, old.width, old.height ); gtk_widget_queue_draw_area( (GtkWidget*)self, item->box.x, item->box.y, item->box.width, item->box.height ); } static gboolean is_point_in_rect( GdkRectangle* rect, int x, int y ) { return rect->x < x && x < (rect->x + rect->width) && y > rect->y && y < (rect->y + rect->height); } DesktopItem* hit_test( DesktopWindow* self, int x, int y ) { // hit on icon or text ? DesktopItem* item; GList* l; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*) l->data; if ( !item->fi ) continue; // empty box if ( is_point_in_rect( &item->icon_rect, x, y ) || is_point_in_rect( &item->text_rect, x, y ) ) return item; } return NULL; } DesktopItem* hit_test_icon( DesktopWindow* self, int x, int y ) { // hit on icon ? DesktopItem* item; GList* l; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*) l->data; if ( !item->fi ) continue; // empty box if ( is_point_in_rect( &item->icon_rect, x, y ) ) return item; } return NULL; } gboolean hit_test_text( DesktopWindow* self, int x, int y, DesktopItem** next_item ) { // hit on text ? sets next item DesktopItem* item; GList* l; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*) l->data; if ( !item->fi ) continue; // empty box if ( is_point_in_rect( &item->text_rect, x, y ) ) { // hit text if ( l->next ) item = (DesktopItem*)l->next->data; else item = NULL; if ( next_item ) *next_item = item; return TRUE; } } if ( next_item ) *next_item = NULL; return FALSE; } DesktopItem* hit_test_box( DesktopWindow* self, int x, int y ) //sfm { // hit on box ? DesktopItem* item; GList* l; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*)l->data; if ( is_point_in_rect( &item->box, x, y ) ) { if ( item->fi && l->next && ((DesktopItem*)l->next->data)->box.x == item->box.x && y > item->text_rect.y ) // clicked in lower area of non-empty box, // return next box if same column return (DesktopItem*)l->next->data; return item; } } // unlikely - no box was directly hit, so use closest GList* closest_l = NULL; float dist_min, dist; int x2, y2; for ( l = self->items; l; l = l->next ) { item = (DesktopItem*)l->data; x2 = x - ( item->box.x + item->box.width / 2 ); y2 = y - ( item->box.y + item->box.height / 2 ); dist = sqrt( x2 * x2 + y2 * y2 ); if ( !closest_l || dist < dist_min ) { dist_min = dist; closest_l = l; } } //printf( "MISS %p dist = %f\n", closest_l ? closest_l->data : NULL, dist_min ); if ( !closest_l ) return NULL; if ( !((DesktopItem*)closest_l->data)->fi ) return (DesktopItem*)closest_l->data; if ( !( closest_l->next && ((DesktopItem*)closest_l->next->data)->box.x == ((DesktopItem*)closest_l->data)->box.x ) ) // if closest is non-empty and last item in column, use next return closest_l->next ? (DesktopItem*)closest_l->next->data : NULL; return (DesktopItem*)closest_l->data; } /* FIXME: this is too dirty and here is some redundant code. * We really need better and cleaner APIs for this */ void open_folders( GList* folders ) { FMMainWindow* main_window; gboolean new_window = FALSE; main_window = fm_main_window_get_on_current_desktop(); if ( !main_window ) { main_window = FM_MAIN_WINDOW(fm_main_window_new()); //FM_MAIN_WINDOW( main_window ) ->splitter_pos = app_settings.splitter_pos; /* now done in fm_main_window_new gtk_window_set_default_size( GTK_WINDOW( main_window ), app_settings.width, app_settings.height ); gtk_widget_show( GTK_WIDGET(main_window) ); */ new_window = !xset_get_b( "main_save_tabs" ); } while( folders ) { VFSFileInfo* fi = (VFSFileInfo*)folders->data; char* path; if( fi->flags & VFS_FILE_INFO_VIRTUAL ) { /* if this is a special item, not a real file in desktop dir */ if( fi->name[0] == '/' ) /* it's a real path */ { path = g_strdup( fi->name ); } else { folders = folders->next; continue; } /* FIXME/TODO: In the future we should handle mounting here. */ } else { path = g_build_filename( vfs_get_desktop_dir(), fi->name, NULL ); } if ( new_window ) { main_window_open_path_in_current_tab( main_window, path ); new_window = FALSE; } else fm_main_window_add_new_tab( FM_MAIN_WINDOW( main_window ), path ); g_free( path ); folders = folders->next; } gtk_window_present( GTK_WINDOW( main_window ) ); } void desktop_window_open_desktop_dir( GtkMenuItem *menuitem, DesktopWindow* desktop ) { FMMainWindow* main_window; gboolean new_window = FALSE; const char* path = vfs_get_desktop_dir(); if ( !desktop || !path ) return; main_window = fm_main_window_get_on_current_desktop(); if ( !main_window ) { main_window = FM_MAIN_WINDOW( fm_main_window_new() ); /* now done in fm_main_window_new gtk_window_set_default_size( GTK_WINDOW( main_window ), app_settings.width, app_settings.height ); gtk_widget_show( GTK_WIDGET(main_window) ); */ new_window = !xset_get_b( "main_save_tabs" ); } if ( new_window ) { main_window_open_path_in_current_tab( main_window, path ); new_window = FALSE; } else fm_main_window_add_new_tab( FM_MAIN_WINDOW( main_window ), path ); gtk_window_present( GTK_WINDOW( main_window ) ); } GCompareDataFunc get_sort_func( DesktopWindow* win ) { GCompareDataFunc comp; switch( win->sort_by ) { case DW_SORT_BY_NAME: comp = (GCompareDataFunc)comp_item_by_name; break; case DW_SORT_BY_SIZE: comp = (GCompareDataFunc)comp_item_by_size; break; case DW_SORT_BY_TYPE: comp = (GCompareDataFunc)comp_item_by_type; break; case DW_SORT_BY_MTIME: comp = (GCompareDataFunc)comp_item_by_mtime; break; case DW_SORT_CUSTOM: comp = NULL; break; default: comp = (GCompareDataFunc)comp_item_by_name; } return comp; } /* return -1 if item1 is virtual, and item2 is not, and vice versa. return 0 if both are, or both aren't. */ #define COMP_VIRTUAL( item1, item2 ) \ ( ( ((item2->fi->flags & VFS_FILE_INFO_VIRTUAL) ? 1 : 0) - ((item1->fi->flags & VFS_FILE_INFO_VIRTUAL) ? 1 : 0) ) ) int comp_item_by_name( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ) { int ret; if( ret = COMP_VIRTUAL( item1, item2 ) ) return ret; //ret =g_utf8_collate( item1->fi->disp_name, item2->fi->disp_name ); // natural icase ret = strcmp( item1->fi->collate_icase_key, item2->fi->collate_icase_key ); if( win && win->sort_type == GTK_SORT_DESCENDING ) ret = -ret; return ret; } int comp_item_by_size( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ) { int ret; if( ret = COMP_VIRTUAL( item1, item2 ) ) return ret; ret =item1->fi->size - item2->fi->size; if ( ret == 0 ) //sfm ret = g_utf8_collate( item1->fi->disp_name, item2->fi->disp_name ); else if( win->sort_type == GTK_SORT_DESCENDING ) ret = -ret; return ret; } int comp_item_by_mtime( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ) { int ret; if( ret = COMP_VIRTUAL( item1, item2 ) ) return ret; ret =item1->fi->mtime - item2->fi->mtime; if ( ret == 0 ) //sfm ret = g_utf8_collate( item1->fi->disp_name, item2->fi->disp_name ); else if( win->sort_type == GTK_SORT_DESCENDING ) ret = -ret; return ret; } int comp_item_by_type( DesktopItem* item1, DesktopItem* item2, DesktopWindow* win ) { int ret; if( ret = COMP_VIRTUAL( item1, item2 ) ) return ret; ret = g_strcmp0( item1->fi->mime_type->type, item2->fi->mime_type->type ); if ( ret == 0 ) //sfm ret = g_utf8_collate( item1->fi->disp_name, item2->fi->disp_name ); else if( win->sort_type == GTK_SORT_DESCENDING ) ret = -ret; return ret; } void redraw_item( DesktopWindow* win, DesktopItem* item ) { GdkRectangle rect = item->box; --rect.x; --rect.y; rect.width += 2; rect.height += 2; gdk_window_invalidate_rect( gtk_widget_get_window((GtkWidget*)win), &rect, FALSE ); } /* ----------------- public APIs ------------------*/ void desktop_window_sort_items( DesktopWindow* win, DWSortType sort_by, GtkSortType sort_type ) { if( win->sort_type == sort_type && win->sort_by == sort_by ) return; app_settings.desktop_sort_by = win->sort_by = sort_by; app_settings.desktop_sort_type = win->sort_type = sort_type; if ( sort_by == DW_SORT_CUSTOM ) { GHashTable* order_hash = custom_order_read( win ); if ( order_hash ) { // rebuild ordered item list GList* items = NULL; GList* unordered = NULL; GList* l, *ll; DesktopItem* item, *target_item; gpointer ptr; int order, i; for ( l = win->items; l; l = l->next ) { item = (DesktopItem*)l->data; if ( G_UNLIKELY( !item->fi ) ) { desktop_item_free( item ); continue; } if ( ptr = g_hash_table_lookup( order_hash, vfs_file_info_get_name( item->fi ) ) ) { order = GPOINTER_TO_INT( ptr ) - 1; ll = g_list_nth( items, order ); if ( !ll ) { // position is beyond end of list - add empties for ( i = g_list_length( items ); i < order; i++ ) { target_item = g_slice_new0( DesktopItem ); target_item->fi = NULL; items = g_list_append( items, target_item ); } items = g_list_append( items, item ); } else if ( ((DesktopItem*)ll->data)->fi ) { // position already used - insert items = g_list_insert( items, item, order + 1 ); } else { // position empty - replace desktop_item_free( (DesktopItem*)ll->data ); ll->data = item; } } else { // order not found unordered = g_list_prepend( unordered, item ); } } if ( unordered ) { unordered = g_list_sort_with_data( unordered, (GCompareDataFunc)comp_item_by_name, win ); items = g_list_concat( items, unordered ); } g_list_free( win->items ); win->items = items; g_hash_table_destroy( order_hash ); } } else { // remove empty boxes for non-custom sort DesktopItem* item; GList* items = win->items; //printf("\n-------------------\nREMOVE\n" ); while ( items ) { if ( ((DesktopItem*)items->data)->fi ) { //item = (DesktopItem*)items->data; printf( "KEEP %s %d, %d %p\n", vfs_file_info_get_name( item->fi ), item->box.x, item->box.y, item ); items = items->next; } else { // remove item = (DesktopItem*)items->data; //printf("REMOVE empty %d, %d %p\n", item->box.x, item->box.y, item ); items = items->next; win->items = g_list_remove( win->items, item ); desktop_item_free( item ); } } // sort GCompareDataFunc comp_func = get_sort_func( win ); if ( comp_func ) win->items = g_list_sort_with_data( win->items, comp_func, win ); } // layout layout_items( win ); /* //sfm 0.9.0 no longer using special items // skip the special items since they always appears first GList* items = NULL; gboolean special = FALSE; //MOD added - otherwise caused infinite loop in layout items once My Documents was removed GList* special_items = win->items; for( items = special_items; items; items = items->next ) { DesktopItem* item = (DesktopItem*)items->data; if( ! (item->fi->flags & VFS_FILE_INFO_VIRTUAL) ) break; else special = TRUE; } if( ! items ) return; // the previous item of the first non-special item is the last special item if( special && items->prev ) { items->prev->next = NULL; items->prev = NULL; } GCompareDataFunc comp_func = get_sort_func( win ); if ( comp_func ) items = g_list_sort_with_data( items, comp_func, win ); if ( special ) win->items = g_list_concat( special_items, items ); else win->items = items; layout_items( win ); */ } GList* desktop_window_get_selected_items( DesktopWindow* win, gboolean current_first ) { GList* sel = NULL; GList* l; for( l = win->items; l; l = l->next ) { DesktopItem* item = (DesktopItem*) l->data; if ( item->is_selected && item->fi ) { if( G_UNLIKELY( item == win->focus && current_first ) ) sel = g_list_prepend( sel, item ); else sel = g_list_append( sel, item ); } } return sel; } GList* desktop_window_get_selected_files( DesktopWindow* win ) { GList* sel = desktop_window_get_selected_items( win, TRUE ); GList* l; l = sel; while( l ) { DesktopItem* item = (DesktopItem*) l->data; if ( item->fi->flags & VFS_FILE_INFO_VIRTUAL ) { /* don't include virtual items */ GList* tmp = l; l = tmp->next; sel = g_list_remove_link( sel, tmp ); g_list_free1( tmp ); } else { l->data = vfs_file_info_ref( item->fi ); l = l->next; } } return sel; } void desktop_window_add_application( DesktopWindow* desktop ) { char* app = NULL; VFSMimeType* mime_type; GList* sel_files = desktop_window_get_selected_files( desktop ); if ( sel_files ) { if ( !((VFSFileInfo*)sel_files->data)->mime_type ) { char* full_path = g_build_filename( desktop->dir->path, vfs_file_info_get_name( (VFSFileInfo*)sel_files->data ), NULL ); if ( full_path ) vfs_file_info_reload_mime_type( (VFSFileInfo*)sel_files->data, full_path ); g_free( full_path ); } mime_type = vfs_file_info_get_mime_type( (VFSFileInfo*)sel_files->data ); if ( G_LIKELY( ! mime_type ) ) mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_UNKNOWN ); g_list_foreach( sel_files, (GFunc)vfs_file_info_unref, NULL ); g_list_free( sel_files ); } else mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_DIRECTORY ); app = (char *) ptk_choose_app_for_mime_type( GTK_WINDOW( desktop ), mime_type, TRUE, TRUE, FALSE, FALSE ); if ( app ) { char* path = vfs_mime_type_locate_desktop_file( NULL, app ); if ( path && g_file_test( path, G_FILE_TEST_IS_REGULAR ) ) { sel_files = g_list_prepend( NULL, path ); PtkFileTask* task = ptk_file_task_new( VFS_FILE_TASK_LINK, sel_files, vfs_get_desktop_dir(), GTK_WINDOW( desktop ), NULL ); ptk_file_task_run( task ); } else g_free( path ); g_free( app ); } vfs_mime_type_unref( mime_type ); } static void custom_order_write( DesktopWindow* self ) { if ( self->sort_by != DW_SORT_CUSTOM || !self->file_listed ) return; char* filename = g_strdup_printf( "desktop%d", self->screen_index ); char* path = g_build_filename( xset_get_config_dir(), filename, NULL ); g_free( filename ); FILE* file = fopen( path, "w" ); if ( file ) { GList* l; fprintf( file, "~rows=%d\n", self->row_count ); int i = 1; // start from 1 to detect atoi failure for ( l = self->items; l; l = l->next ) { if ( ((DesktopItem*)l->data)->fi ) fprintf( file, "%d=%s\n", i, vfs_file_info_get_name( ((DesktopItem*)l->data)->fi ) ); i++; } fclose( file ); } else g_warning( "Error writing to file %s\n", path ); g_free( path ); } static GHashTable* custom_order_read( DesktopWindow* self ) { char line[ 2048 ]; char* sep; int order; GHashTable* order_hash = NULL; self->order_rows = 0; if ( self->sort_by != DW_SORT_CUSTOM ) return NULL; char* filename = g_strdup_printf( "desktop%d", self->screen_index ); char* path = g_build_filename( xset_get_config_dir(), filename, NULL ); g_free( filename ); FILE* file = fopen( path, "r" ); if ( file ) { order_hash = g_hash_table_new_full( g_str_hash, g_str_equal, (GDestroyNotify)g_free, NULL ); while ( fgets( line, sizeof( line ), file ) ) { strtok( line, "\r\n" ); if ( sep = strchr( line, '=' ) ) { sep[0] = '\0'; if ( line[0] == '~' ) { // read setting if ( !strcmp( line + 1, "rows" ) ) { // get saved row count order = atoi( sep + 1 ); if ( order != self->row_count ) self->order_rows = order; } } else if ( !strchr( line, '_' ) ) // forward compat for attribs { // read file order and name order = atoi( line ); if ( order < 1 ) continue; g_hash_table_insert( order_hash, (gpointer)g_strdup( sep + 1 ), GINT_TO_POINTER( order ) ); } } } fclose( file ); } g_free( path ); return order_hash; } /*----------------- X11-related sutff ----------------*/ static GdkFilterReturn on_rootwin_event ( GdkXEvent *xevent, GdkEvent *event, gpointer data ) { XPropertyEvent * evt = ( XPropertyEvent* ) xevent; DesktopWindow* self = (DesktopWindow*)data; if ( evt->type == PropertyNotify ) { if( evt->atom == ATOM_NET_WORKAREA ) { /* working area is resized */ get_working_area( gtk_widget_get_screen((GtkWidget*)self), &self->wa ); //printf("working area is resized x,y=%d, %d w,h=%d, %d\n", // self->wa.x, self->wa.y, self->wa.width, self->wa.height); /* This doesn't seem to have the desired effect, and also * desktop window size should be based on screen size not WA * https://github.com/IgnorantGuru/spacefm/issues/300 // resize desktop window GdkScreen* screen = gtk_widget_get_screen( GTK_WIDGET( self ) ); int width = gdk_screen_get_width( screen ); int height = gdk_screen_get_height( screen ); if ( width && height ) printf( " screen size w,h=%d, %d\n", width, height ); gtk_window_resize( GTK_WINDOW( self ), self->wa.width, self->wa.height ); gtk_window_move( GTK_WINDOW( self ), 0, 0 ); // update wallpaper fm_desktop_update_wallpaper(); */ // layout icons if ( self->sort_by == DW_SORT_CUSTOM ) self->order_rows = self->row_count; // possible change of row count in new layout layout_items( self ); } #if 0 else if( evt->atom == ATOM_XROOTMAP_ID ) { /* wallpaper was changed by other programs */ } #endif } return GDK_FILTER_TRANSLATE; } /* This function is taken from xfdesktop */ void forward_event_to_rootwin( GdkScreen *gscreen, GdkEvent *event ) { XButtonEvent xev, xev2; Display *dpy = GDK_DISPLAY_XDISPLAY( gdk_screen_get_display( gscreen ) ); if ( event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE ) { if ( event->type == GDK_BUTTON_PRESS ) { xev.type = ButtonPress; /* * rox has an option to disable the next * instruction. it is called "blackbox_hack". Does * anyone know why exactly it is needed? */ XUngrabPointer( dpy, event->button.time ); } else xev.type = ButtonRelease; xev.button = event->button.button; xev.x = event->button.x; /* Needed for icewm */ xev.y = event->button.y; xev.x_root = event->button.x_root; xev.y_root = event->button.y_root; xev.state = event->button.state; xev2.type = 0; } else if ( event->type == GDK_SCROLL ) { xev.type = ButtonPress; xev.button = event->scroll.direction + 4; xev.x = event->scroll.x; /* Needed for icewm */ xev.y = event->scroll.y; xev.x_root = event->scroll.x_root; xev.y_root = event->scroll.y_root; xev.state = event->scroll.state; xev2.type = ButtonRelease; xev2.button = xev.button; } else return ; xev.window = GDK_WINDOW_XID( gdk_screen_get_root_window( gscreen ) ); xev.root = xev.window; xev.subwindow = None; xev.time = event->button.time; xev.same_screen = True; XSendEvent( dpy, xev.window, False, ButtonPressMask | ButtonReleaseMask, ( XEvent * ) & xev ); if ( xev2.type == 0 ) return ; /* send button release for scroll event */ xev2.window = xev.window; xev2.root = xev.root; xev2.subwindow = xev.subwindow; xev2.time = xev.time; xev2.x = xev.x; xev2.y = xev.y; xev2.x_root = xev.x_root; xev2.y_root = xev.y_root; xev2.state = xev.state; xev2.same_screen = xev.same_screen; XSendEvent( dpy, xev2.window, False, ButtonPressMask | ButtonReleaseMask, ( XEvent * ) & xev2 ); } /* FIXME: set single click timeout */ void desktop_window_set_single_click( DesktopWindow* win, gboolean single_click ) { if( single_click == win->single_click ) return; win->single_click = single_click; if( single_click ) { win->hand_cursor = gdk_cursor_new_for_display( gtk_widget_get_display(GTK_WIDGET(win)), GDK_HAND2 ); } else { gdk_cursor_unref( win->hand_cursor ); win->hand_cursor = NULL; if( gtk_widget_get_realized( (GtkWidget*)win ) ) gdk_window_set_cursor( gtk_widget_get_window((GtkWidget*)win), NULL ); } } #if 0 GdkPixmap* get_root_pixmap( GdkWindow* root ) { Pixmap root_pix = None; Atom type; int format; long bytes_after; Pixmap *data = NULL; long n_items; int result; result = XGetWindowProperty( GDK_WINDOW_XDISPLAY( root ), GDK_WINDOW_XID( root ), ATOM_XROOTMAP_ID, 0, 16L, False, XA_PIXMAP, &type, &format, &n_items, &bytes_after, (unsigned char **)&data); if (result == Success && n_items) root_pix = *data; if (data) XFree(data); return root_pix ? gdk_pixmap_foreign_new( root_pix ) : NULL; } gboolean set_root_pixmap( GdkWindow* root, GdkPixmap* pix ) { return TRUE; } #endif void desktop_context_fill( DesktopWindow* win, gpointer context ) { GtkClipboard* clip = NULL; if ( !win ) return; XSetContext* c = (XSetContext*)context; c->valid = FALSE; // assume we don't need all selected files info if ( !c->var[CONTEXT_IS_ROOT] ) c->var[CONTEXT_IS_ROOT] = geteuid() == 0 ? g_strdup( "true" ) : g_strdup( "false" ); if ( !c->var[CONTEXT_CLIP_FILES] ) { clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); if ( ! gtk_clipboard_wait_is_target_available ( clip, gdk_atom_intern( "x-special/gnome-copied-files", FALSE ) ) && ! gtk_clipboard_wait_is_target_available ( clip, gdk_atom_intern( "text/uri-list", FALSE ) ) ) c->var[CONTEXT_CLIP_FILES] = g_strdup( "false" ); else c->var[CONTEXT_CLIP_FILES] = g_strdup( "true" ); } if ( !c->var[CONTEXT_CLIP_TEXT] ) { if ( !clip ) clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); c->var[CONTEXT_CLIP_TEXT] = gtk_clipboard_wait_is_text_available( clip ) ? g_strdup( "true" ) : g_strdup( "false" ); } c->var[CONTEXT_BOOKMARK] = g_strdup( "" ); c->var[CONTEXT_DEVICE] = g_strdup( "" ); c->var[CONTEXT_DEVICE_LABEL] = g_strdup( "" ); c->var[CONTEXT_DEVICE_MOUNT_POINT] = g_strdup( "" ); c->var[CONTEXT_DEVICE_UDI] = g_strdup( "" ); c->var[CONTEXT_DEVICE_FSTYPE] = g_strdup( "" ); c->var[CONTEXT_DEVICE_PROP] = g_strdup( "" ); c->var[CONTEXT_PANEL_COUNT] = g_strdup( "" ); c->var[CONTEXT_PANEL] = g_strdup( "" ); c->var[CONTEXT_TAB] = g_strdup( "" ); c->var[CONTEXT_TAB_COUNT] = g_strdup( "" ); int p; for ( p = 1; p < 5; p++ ) { c->var[CONTEXT_PANEL1_DIR + p - 1] = g_strdup( "" ); c->var[CONTEXT_PANEL1_SEL + p - 1] = g_strdup( "false" ); c->var[CONTEXT_PANEL1_DEVICE + p - 1] = g_strdup( "" ); } c->var[CONTEXT_TASK_TYPE] = g_strdup( "" ); c->var[CONTEXT_TASK_NAME] = g_strdup( "" ); c->var[CONTEXT_TASK_DIR] = g_strdup( "" ); c->var[CONTEXT_TASK_COUNT] = g_strdup( "0" ); c->valid = TRUE; } gboolean desktop_write_exports( VFSFileTask* vtask, const char* value, FILE* file ) { int result; const char* cwd = vfs_get_desktop_dir(); char* path; char* esc_path; GList* sel_files; GList* l; VFSFileInfo* fi; if ( !vtask->exec_desktop ) return FALSE; DesktopWindow* win = (DesktopWindow*)vtask->exec_desktop; XSet* set = (XSet*)vtask->exec_set; if ( !file ) return FALSE; result = fputs( "# source\n\n", file ); if ( result < 0 ) return FALSE; write_src_functions( file ); // selected files sel_files = desktop_window_get_selected_files( win ); if ( sel_files ) { fprintf( file, "fm_desktop_files=(\n" ); for ( l = sel_files; l; l = l->next ) { fi = (VFSFileInfo*)l->data; if ( fi->flags & VFS_FILE_INFO_VIRTUAL ) { continue; } path = g_build_filename( cwd, fi->name, NULL ); esc_path = bash_quote( path ); fprintf( file, "%s\n", esc_path ); g_free( esc_path ); g_free( path ); } fputs( ")\n", file ); fprintf( file, "fm_filenames=(\n" ); for ( l = sel_files; l; l = l->next ) { fi = (VFSFileInfo*)l->data; if ( fi->flags & VFS_FILE_INFO_VIRTUAL ) { continue; } esc_path = bash_quote( fi->name ); fprintf( file, "%s\n", esc_path ); g_free( esc_path ); } fputs( ")\n", file ); g_list_foreach( sel_files, (GFunc)vfs_file_info_unref, NULL ); g_list_free( sel_files ); } // my selected files esc_path = bash_quote( cwd ); fprintf( file, "fm_pwd=%s\n", esc_path ); fprintf( file, "fm_desktop_pwd=%s\n", esc_path ); g_free( esc_path ); fprintf( file, "\nfm_files=(\"${fm_desktop_files[@]}\")\n" ); fprintf( file, "fm_file=\"${fm_files[0]}\"\n" ); fprintf( file, "fm_filename=\"${fm_filenames[0]}\"\n" ); // command if ( vtask->exec_command ) { esc_path = bash_quote( vtask->exec_command ); fprintf( file, "fm_command=%s\n", esc_path ); g_free( esc_path ); } // user const char* this_user = g_get_user_name(); if ( this_user ) { esc_path = bash_quote( this_user ); fprintf( file, "fm_user=%s\n", esc_path ); g_free( esc_path ); //g_free( this_user ); DON'T } // variable value if ( value ) { esc_path = bash_quote( value ); fprintf( file, "fm_value=%s\n", esc_path ); g_free( esc_path ); } // utils esc_path = bash_quote( xset_get_s( "editor" ) ); fprintf( file, "fm_editor=%s\n", esc_path ); g_free( esc_path ); fprintf( file, "fm_editor_terminal=%d\n", xset_get_b( "editor" ) ? 1 : 0 ); // set if ( set ) { // cmd_dir if ( set->plugin ) { path = g_build_filename( set->plug_dir, "files", NULL ); if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { g_free( path ); path = g_build_filename( set->plug_dir, set->plug_name, NULL ); } } else { path = g_build_filename( xset_get_config_dir(), "scripts", set->name, NULL ); } esc_path = bash_quote( path ); fprintf( file, "fm_cmd_dir=%s\n", esc_path ); g_free( esc_path ); g_free( path ); // cmd_data if ( set->plugin ) { XSet* mset = xset_get_plugin_mirror( set ); path = g_build_filename( xset_get_config_dir(), "plugin-data", mset->name, NULL ); } else path = g_build_filename( xset_get_config_dir(), "plugin-data", set->name, NULL ); esc_path = bash_quote( path ); fprintf( file, "fm_cmd_data=%s\n", esc_path ); g_free( esc_path ); g_free( path ); // plugin_dir if ( set->plugin ) { esc_path = bash_quote( set->plug_dir ); fprintf( file, "fm_plugin_dir=%s\n", esc_path ); g_free( esc_path ); } // cmd_name if ( set->menu_label ) { esc_path = bash_quote( set->menu_label ); fprintf( file, "fm_cmd_name=%s\n", esc_path ); g_free( esc_path ); } } // tmp if ( geteuid() != 0 && vtask->exec_as_user && !strcmp( vtask->exec_as_user, "root" ) ) fprintf( file, "fm_tmp_dir=%s\n", xset_get_shared_tmp_dir() ); else fprintf( file, "fm_tmp_dir=%s\n", xset_get_user_tmp_dir() ); result = fputs( "\n", file ); return result >= 0; } /* This does not detect screen size changes, only fires initially * and when desktop window is manually resized gboolean on_configure_event( GtkWidget* w, GdkEventConfigure *event ) { DesktopWindow* self = (DesktopWindow*) w; printf("on_configure_event %p x,y=%d, %d w,h=%d, %d file_listed = %s\n", self, event->x, event->y, event->width, event->height, self->file_listed ? "TRUE" : "FALSE" ); get_working_area( gtk_widget_get_screen((GtkWidget*)self), &self->wa ); //temp printf(" working area is x,y=%d, %d w,h=%d, %d\n", self->wa.x, self->wa.y, self->wa.width, self->wa.height); if ( self->file_listed ) // skip initial configure events { // possible desktop resize - get working area and redo layout printf( " get_working_area\n"); get_working_area( gtk_widget_get_screen(w), &self->wa ); if ( self->sort_by == DW_SORT_CUSTOM ) self->order_rows = self->row_count; // possible change of row count in new layout layout_items( self ); } return FALSE; } */ spacefm-1.0.5/src/desktop/desktop-window.h000066400000000000000000000135141264770501700205370ustar00rootroot00000000000000/* * SpaceFM desktop-window.h * * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2012 BwackNinja * Copyright (C) 2008 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #ifndef __DESKTOP_WINDOW_H__ #define __DESKTOP_WINDOW_H__ #include #include /* for dev_t */ #include #include #include "vfs-dir.h" #include "vfs-file-task.h" G_BEGIN_DECLS #define DESKTOP_WINDOW_TYPE (desktop_window_get_type()) #define DESKTOP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\ DESKTOP_WINDOW_TYPE, DesktopWindow)) #define DESKTOP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),\ DESKTOP_WINDOW_TYPE, DesktopWindowClass)) #define IS_DESKTOP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),\ DESKTOP_WINDOW_TYPE)) #define IS_DESKTOP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),\ DESKTOP_WINDOW_TYPE)) typedef struct _DesktopWindow DesktopWindow; typedef struct _DesktopWindowClass DesktopWindowClass; typedef struct _DesktopItem DesktopItem; typedef enum { DW_SORT_BY_NAME, DW_SORT_BY_SIZE, DW_SORT_BY_TYPE, DW_SORT_BY_MTIME, DW_SORT_CUSTOM }DWSortType; typedef enum { DW_BG_COLOR, DW_BG_TILE, DW_BG_FULL, DW_BG_STRETCH, DW_BG_CENTER, DW_BG_ZOOM, DW_BG_TRANSPARENT }DWBgType; typedef enum { DW_SELECT_ALL, DW_SELECT_NONE, DW_SELECT_INVERSE, DW_SELECT_PATTERN }DWSelectMode; struct _DesktopWindow { GtkWindow parent; /* all items on the desktop window */ GList* items; /* margins of the whole desktop window */ int margin_top; int margin_left; int margin_right; int margin_bottom; /* padding oudside the bounding box of the whole item */ int x_pad; int y_pad; /* space between icon and text label */ int spacing; /* size of icons */ int icon_size; /* width of label */ int label_w; /* size of the items */ int item_w; /* focused item */ DesktopItem* focus; /* sort types */ DWSortType sort_by : 4; GtkSortType sort_type : 2; gboolean dir_first : 1; gboolean file_first : 1; gboolean show_thumbnails : 1; gboolean single_click : 1; /* */ gboolean button_pressed : 1; gboolean rubber_bending : 1; gboolean dragging : 1; gboolean drag_entered : 1; gboolean pending_drop_action : 1; dev_t drag_src_dev; /* single click */ guint single_click_timeout_handler; GdkCursor* hand_cursor; DesktopItem* hover_item; gint drag_start_x; /* for drag & drop */ gint drag_start_y; gint drag_pending_x; gint drag_pending_y; guint rubber_bending_x; guint rubber_bending_y; /* the directory content */ VFSDir* dir; /* renderers for the items */ PangoLayout* pl; GtkCellRenderer* icon_render; /* background image */ #if GTK_CHECK_VERSION (3, 0, 0) Pixmap background; cairo_surface_t *surface; #else GdkPixmap* background; #endif DWBgType bg_type; GdkColor fg; GdkColor bg; GdkColor shadow; GdkRectangle wa; /* working area */ guint screen_index; // screen index of this desktop window guint box_count; // number of boxes visible on the desktop guint row_count; // number of rows visible on the desktop guint order_rows; // number of rows from saved desktop layout gpointer insert_item; // item at which to insert dragged files gpointer renaming_item; // item is being renamed gpointer renamed_item; // item was renamed gboolean file_listed; // TRUE once files are read gboolean transparent; }; struct _DesktopWindowClass { GtkWindowClass parent_class; }; GType desktop_window_get_type (void); GtkWidget* desktop_window_new ( gboolean transparent ); /* * Set background of the desktop window. * src_pix is the source pixbuf in original size (no scaling) * This function will stretch or add border to this pixbuf accordiong to 'type'. * If type = DW_BG_COLOR and src_pix = NULL, the background color is used to fill the window. */ void desktop_window_set_background( DesktopWindow* win, GdkPixbuf* src_pix, DWBgType type ); void desktop_window_set_bg_color( DesktopWindow* win, GdkColor* clr ); void desktop_window_set_text_color( DesktopWindow* win, GdkColor* clr, GdkColor* shadow ); void desktop_window_set_icon_size( DesktopWindow* win, int size ); void desktop_window_set_show_thumbnails( DesktopWindow* win, gboolean show ); void desktop_window_set_single_click( DesktopWindow* win, gboolean single_click ); void desktop_window_reload_icons( DesktopWindow* win ); void desktop_window_sort_items( DesktopWindow* win, DWSortType sort_by, GtkSortType sort_type ); GList* desktop_window_get_selected_files( DesktopWindow* win ); gboolean desktop_write_exports( VFSFileTask* vtask, const char* value, FILE* file ); void desktop_context_fill( DesktopWindow* win, gpointer context ); void desktop_window_rename_selected_files( DesktopWindow* win, GList* files, const char* cwd ); void desktop_window_on_autoopen_cb( gpointer task, gpointer aop ); void desktop_window_select( DesktopWindow* self, DWSelectMode mode ); void desktop_window_copycmd( DesktopWindow* desktop, GList* sel_files, char* cwd, char* setname ); void desktop_window_add_application( DesktopWindow* desktop ); void desktop_window_insert_task_complete( VFSFileTask* task, DesktopWindow* self ); void desktop_window_set_insert_item( DesktopWindow* self ); void desktop_window_open_desktop_dir( GtkMenuItem *menuitem, DesktopWindow* desktop ); G_END_DECLS #endif /* __DESKTOP_WINDOW_H__ */ spacefm-1.0.5/src/desktop/desktop.c000066400000000000000000000157561264770501700172370ustar00rootroot00000000000000/* * main.c - desktop manager of pcmanfm * * * 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 3 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "desktop.h" #ifdef DESKTOP_INTEGRATION #include //#include "fm-desktop.h" #include "vfs-file-info.h" #include "vfs-mime-type.h" //#include "vfs-app-desktop.h" #include "vfs-file-monitor.h" #include "vfs-volume.h" #include "vfs-thumbnail-loader.h" #include "vfs-dir.h" #include "desktop-window.h" #include "settings.h" static GtkWindowGroup* group = NULL; static GdkFilterReturn on_rootwin_event ( GdkXEvent *xevent, GdkEvent *event, gpointer data ); static GtkWidget **desktops = NULL; static gint n_screens = 0; static guint theme_change_notify = 0; static void on_icon_theme_changed( GtkIconTheme* theme, gpointer data ) { /* reload icons of desktop windows */ int i; for ( i = 0; i < n_screens; i++ ) desktop_window_reload_icons( (DesktopWindow*)desktops[ i ] ); } /* #include // for g_signal_connect void on_size_changed( GdkScreen *screen, GtkWidget* w ) { printf( "screen size changed %d, %d\n", gdk_screen_get_width( screen ), gdk_screen_get_height( screen ) ); } */ void fm_turn_on_desktop_icons(gboolean transparent) { GdkDisplay * gdpy; gint i; int big = 0; if( ! group ) group = gtk_window_group_new(); theme_change_notify = g_signal_connect( gtk_icon_theme_get_default(), "changed", G_CALLBACK(on_icon_theme_changed), NULL ); vfs_mime_type_get_icon_size( &big, NULL ); gdpy = gdk_display_get_default(); n_screens = gdk_display_get_n_screens( gdpy ); desktops = g_new( GtkWidget *, n_screens ); for ( i = 0; i < n_screens; i++ ) { desktops[ i ] = desktop_window_new(transparent); //printf("added desktop window %p to screen %d on display %p (%s)\n", // desktops[ i ], i, gdpy, g_getenv( "DISPLAY" ) ); ((DesktopWindow*)desktops[ i ])->screen_index = i; desktop_window_set_icon_size( (DesktopWindow*)desktops[ i ], big ); desktop_window_set_single_click( (DesktopWindow*)desktops[ i ], app_settings.desk_single_click ); gtk_window_set_role( GTK_WINDOW( desktops[i] ), "desktop_manager" ); gtk_widget_realize( desktops[ i ] ); /* without this, setting wallpaper won't work */ gtk_widget_show_all( desktops[ i ] ); // move desktop window to 0,0 so background in window aligns with // root window background for transparent panel // re https://github.com/IgnorantGuru/spacefm/issues/248 gtk_window_move( GTK_WINDOW( desktops[ i ] ), 0, 0 ); gdk_window_lower( gtk_widget_get_window(desktops[ i ]) ); gtk_window_group_add_window( GTK_WINDOW_GROUP(group), GTK_WINDOW( desktops[i] ) ); /* this doesn't work when size is changed via xrandr? // temp detect screen size change g_signal_connect( gtk_widget_get_screen( GTK_WIDGET( desktops[ i ] ) ), "size-changed", G_CALLBACK( on_size_changed ), desktops[ i ] ); */ } fm_desktop_update_colors(); fm_desktop_update_wallpaper( FALSE ); } void fm_turn_off_desktop_icons() { int i; if( theme_change_notify ) { g_signal_handler_disconnect( gtk_icon_theme_get_default(), theme_change_notify ); theme_change_notify = 0; } for ( i = 0; i < n_screens; i++ ) { gtk_widget_destroy( desktops[ i ] ); /* gtk_window_group_remove_window() */ } g_free( desktops ); // if ( busy_cursor > 0 ) // g_source_remove( busy_cursor ); g_object_unref( group ); group = NULL; } void fm_desktop_update_thumbnails() { /* FIXME: thumbnail on desktop cannot be turned off. */ } void fm_desktop_update_wallpaper( gboolean transparency_changed ) { DWBgType type; GdkPixbuf* pix; int i; // is desktop manager running? if ( !n_screens || !desktops ) return; if( transparency_changed ) { fm_turn_off_desktop_icons(); fm_turn_on_desktop_icons( type == DW_BG_TRANSPARENT ); return; } if( app_settings.show_wallpaper && app_settings.wallpaper ) { switch( app_settings.wallpaper_mode ) { case WPM_FULL: type = DW_BG_FULL; break; case WPM_ZOOM: type = DW_BG_ZOOM; break; case WPM_CENTER: type = DW_BG_CENTER; break; case WPM_TILE: type = DW_BG_TILE; break; case WPM_TRANSPARENT: type = DW_BG_TRANSPARENT; break; case WPM_STRETCH: default: type = DW_BG_STRETCH; } pix = gdk_pixbuf_new_from_file( app_settings.wallpaper, NULL ); } else { type = DW_BG_COLOR; pix = NULL; } for ( i = 0; i < n_screens; i++ ) desktop_window_set_background( DESKTOP_WINDOW(desktops[ i ]), pix, type ); if( pix ) g_object_unref( pix ); } void fm_desktop_update_colors() { int i; for ( i = 0; i < n_screens; i++ ) { desktop_window_set_bg_color( DESKTOP_WINDOW(desktops[ i ]), &app_settings.desktop_bg1 ); desktop_window_set_text_color( DESKTOP_WINDOW(desktops[ i ]), &app_settings.desktop_text, &app_settings.desktop_shadow ); } } void fm_desktop_update_icons() { int i; int big = 0; vfs_mime_type_get_icon_size( &big, NULL ); for ( i = 0; i < n_screens; i++ ) desktop_window_set_icon_size( (DesktopWindow*)desktops[ i ], big ); } void fm_desktop_set_single_click( gboolean single_click ) { int i; for ( i = 0; i < n_screens; i++ ) desktop_window_set_single_click( (DesktopWindow*)desktops[ i ], single_click ); } #else /* ! DESKTOP_INTEGRATION */ /* dummy implementations */ void fm_turn_on_desktop_icons( gboolean transparent ) { } void fm_turn_off_desktop_icons() { } void fm_desktop_update_thumbnails() { } void fm_desktop_update_wallpaper( gboolean transparency_changed ) { } void fm_desktop_update_colors() { } void fm_desktop_update_icons() { } void fm_desktop_set_single_click( gboolean single_click ) { } #endif spacefm-1.0.5/src/desktop/desktop.h000066400000000000000000000025171264770501700172330ustar00rootroot00000000000000/* * desktop.h * * Copyright 2008 PCMan * * 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 3 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. */ #ifndef _DESKTOP_H_ #define _DESKTOP_H_ #ifdef HAVE_CONFIG_H # include #endif #include #include "desktop-window.h" G_BEGIN_DECLS void fm_turn_on_desktop_icons( gboolean transparent ); void fm_turn_off_desktop_icons(); void fm_desktop_update_thumbnails(); void fm_desktop_update_wallpaper( gboolean transparency_changed ); void fm_desktop_update_colors(); void fm_desktop_update_icons(); void fm_desktop_set_single_click( gboolean single_click ); G_END_DECLS #endif spacefm-1.0.5/src/desktop/working-area.c000066400000000000000000000074031264770501700201420ustar00rootroot00000000000000/* * Guifications - The end all, be all, toaster popup plugin * Copyright (C) 2003-2004 Gary Kramlich * * 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 3 * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* 2005.07.22 Modified by Hong Jen Yee (PCMan) This piece of code detecting working area is got from Guifications, a plug-in for Gaim. */ # include # include # include # include # include gboolean gf_display_get_workarea(GdkScreen* g_screen, GdkRectangle *rect) { Atom xa_desktops, xa_current, xa_workarea, xa_type; Display *x_display; Window x_root; guint32 desktops = 0, current = 0; gulong *workareas, len, fill; guchar *data; gint format; GdkDisplay *g_display; Screen *x_screen; /* get the gdk display */ g_display = gdk_display_get_default(); if(!g_display) return FALSE; /* get the x display from the gdk display */ x_display = gdk_x11_display_get_xdisplay(g_display); if(!x_display) return FALSE; /* get the x screen from the gdk screen */ x_screen = gdk_x11_screen_get_xscreen(g_screen); if(!x_screen) return FALSE; /* get the root window from the screen */ x_root = XRootWindowOfScreen(x_screen); /* find the _NET_NUMBER_OF_DESKTOPS atom */ xa_desktops = XInternAtom(x_display, "_NET_NUMBER_OF_DESKTOPS", True); if(xa_desktops == None) return FALSE; /* get the number of desktops */ if(XGetWindowProperty(x_display, x_root, xa_desktops, 0, 1, False, XA_CARDINAL, &xa_type, &format, &len, &fill, &data) != Success) { return FALSE; } if(!data) return FALSE; desktops = *(guint32 *)data; XFree(data); /* find the _NET_CURRENT_DESKTOP atom */ xa_current = XInternAtom(x_display, "_NET_CURRENT_DESKTOP", True); if(xa_current == None) return FALSE; /* get the current desktop */ if(XGetWindowProperty(x_display, x_root, xa_current, 0, 1, False, XA_CARDINAL, &xa_type, &format, &len, &fill, &data) != Success) { return FALSE; } if(!data) return FALSE; current = *(guint32 *)data; XFree(data); /* find the _NET_WORKAREA atom */ xa_workarea = XInternAtom(x_display, "_NET_WORKAREA", True); if(xa_workarea == None) return FALSE; if(XGetWindowProperty(x_display, x_root, xa_workarea, 0, (glong)(4 * 32), False, AnyPropertyType, &xa_type, &format, &len, &fill, &data) != Success) { return FALSE; } /* make sure the type and format are good */ if(xa_type == None || format == 0) return FALSE; /* make sure we don't have any leftovers */ if(fill) return FALSE; /* make sure len divides evenly by 4 */ if(len % 4) return FALSE; /* it's good, lets use it */ workareas = (gulong *)(guint32 *)data; rect->x = (guint32)workareas[current * 4]; rect->y = (guint32)workareas[current * 4 + 1]; rect->width = (guint32)workareas[current * 4 + 2]; rect->height = (guint32)workareas[current * 4 + 3]; /* clean up our memory */ XFree(data); return TRUE; } void get_working_area( GdkScreen* screen, GdkRectangle* area ) { if( !gf_display_get_workarea(screen, area) ) { area->x = 0; area->y = 0; area->width = gdk_screen_get_width( screen ); area->height = gdk_screen_get_height( screen ); } } spacefm-1.0.5/src/desktop/working-area.h000066400000000000000000000002131264770501700201370ustar00rootroot00000000000000#ifndef WORKING_AREA_H #define WORKING_AREA_H #include void get_working_area(GdkScreen* screen, GdkRectangle *rect); #endif spacefm-1.0.5/src/exo/000077500000000000000000000000001264770501700145265ustar00rootroot00000000000000spacefm-1.0.5/src/exo/exo-binding.c000066400000000000000000000410361264770501700171010ustar00rootroot00000000000000/*- * Copyright (c) 2004-2006 os-cillation e.K. * Copyright (c) 2004 Victor Porton (http://ex-code.com/~porton/) * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include #endif #include #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ /** * SECTION: exo-binding * @title: Binding Properties Functions * @short_description: Functions used to bind two object properties together * @include: exo/exo.h * @see_also: * GObject Reference Manual, * Extensions to GObject * * Binding properties is synchronizing values of several properties, * so that when one of the bound properties changes, the other * bound properties are automatically changed to the new value as * well. These functions eliminate the need to write property * change notification callbacks manually. It also increases the * reliability of your project as you don't need to repeat similar * code (and errors) manually. * * Both uni-directional and mutual * bindings are supported and you can specify functions to perform * explicit transformation of values if required. Multiple properties * can be bound together in a complex way and infinite loops are * eliminated automatically. * * For example, lets say, your program has a #GtkEntry widget that allows * the user to enter some text for the program, but this entry widget should * only be sensitive if a #GtkCheckButton is active. * * * Connecting a <structname>GtkCheckButton</structname> and a * <structname>GtkEntry</structname> * * { * GtkWidget *button; * GtkWidget *entry; * * button = gtk_check_button_new_with_label ("Activate me"); * entry = gtk_entry_new (); * * exo_binding_new (G_OBJECT (button), "active", * G_OBJECT (entry), "sensitive"); * } * * * * As you can see, all you need to do is to call one function to connect * the sensitivity of the entry widget with the state of the check * button. No need to write signal handlers for this purpose any more. **/ typedef struct { GObject *dst_object; GParamSpec *dst_pspec; gulong dst_handler; /* only set for mutual bindings */ gulong handler; ExoBindingTransform transform; gpointer user_data; } ExoBindingLink; /** * ExoBinding: * * Opaque structure representing a one-way binding between two properties. * It is automatically removed if one of the bound objects is finalized. **/ struct _ExoBinding { GObject *src_object; GDestroyNotify destroy; ExoBindingLink blink; }; /** * ExoMutualBinding: * * Opaque structure representing a mutual binding between two properties. * It is automatically freed if one of the bound objects is finalized. **/ struct _ExoMutualBinding { GDestroyNotify destroy; ExoBindingLink direct; ExoBindingLink reverse; }; static void exo_bind_properties_transfer (GObject *src_object, GParamSpec *src_pspec, GObject *dst_object, GParamSpec *dst_pspec, ExoBindingTransform transform, gpointer user_data) { const gchar *src_name; const gchar *dst_name; gboolean result; GValue src_value = { 0, }; GValue dst_value = { 0, }; src_name = g_param_spec_get_name (src_pspec); dst_name = g_param_spec_get_name (dst_pspec); g_value_init (&src_value, G_PARAM_SPEC_VALUE_TYPE (src_pspec)); g_object_get_property (src_object, src_name, &src_value); g_value_init (&dst_value, G_PARAM_SPEC_VALUE_TYPE (dst_pspec)); result = (*transform) (&src_value, &dst_value, user_data); g_value_unset (&src_value); g_return_if_fail (result); g_param_value_validate (dst_pspec, &dst_value); g_object_set_property (dst_object, dst_name, &dst_value); g_value_unset (&dst_value); } static void exo_bind_properties_notify (GObject *src_object, GParamSpec *src_pspec, gpointer data) { ExoBindingLink *blink = data; /* block the destination handler for mutual bindings, * so we don't recurse here. */ if (blink->dst_handler != 0) g_signal_handler_block (blink->dst_object, blink->dst_handler); exo_bind_properties_transfer (src_object, src_pspec, blink->dst_object, blink->dst_pspec, blink->transform, blink->user_data); /* unblock destination handler */ if (blink->dst_handler != 0) g_signal_handler_unblock (blink->dst_object, blink->dst_handler); } static void exo_binding_on_dst_object_destroy (gpointer data, GObject *object) { ExoBinding *binding = data; binding->blink.dst_object = NULL; /* calls exo_binding_on_disconnect() */ g_signal_handler_disconnect (binding->src_object, binding->blink.handler); } static void exo_binding_on_disconnect (gpointer data, GClosure *closure) { ExoBindingLink *blink = data; ExoBinding *binding; binding = (ExoBinding *) (((gchar *) blink) - G_STRUCT_OFFSET (ExoBinding, blink)); if (binding->destroy != NULL) binding->destroy (blink->user_data); if (blink->dst_object != NULL) g_object_weak_unref (blink->dst_object, exo_binding_on_dst_object_destroy, binding); g_slice_free (ExoBinding, binding); } /* recursively calls exo_mutual_binding_on_disconnect_object2() */ static void exo_mutual_binding_on_disconnect_object1 (gpointer data, GClosure *closure) { ExoMutualBinding *binding; ExoBindingLink *blink = data; GObject *object2; binding = (ExoMutualBinding *) (((gchar *) blink) - G_STRUCT_OFFSET (ExoMutualBinding, direct)); binding->reverse.dst_object = NULL; object2 = binding->direct.dst_object; if (object2 != NULL) { if (binding->destroy != NULL) binding->destroy (binding->direct.user_data); binding->direct.dst_object = NULL; g_signal_handler_disconnect (object2, binding->reverse.handler); g_slice_free (ExoMutualBinding, binding); } } /* recursively calls exo_mutual_binding_on_disconnect_object1() */ static void exo_mutual_binding_on_disconnect_object2 (gpointer data, GClosure *closure) { ExoMutualBinding *binding; ExoBindingLink *blink = data; GObject *object1; binding = (ExoMutualBinding *) (((gchar *) blink) - G_STRUCT_OFFSET (ExoMutualBinding, reverse)); binding->direct.dst_object = NULL; object1 = binding->reverse.dst_object; if (object1 != NULL) { binding->reverse.dst_object = NULL; g_signal_handler_disconnect (object1, binding->direct.handler); } } static void exo_binding_link_init (ExoBindingLink *blink, GObject *src_object, const gchar *src_property, GObject *dst_object, GParamSpec *dst_pspec, ExoBindingTransform transform, GClosureNotify destroy_notify, gpointer user_data) { gchar *signal_name; blink->dst_object = dst_object; blink->dst_pspec = dst_pspec; blink->dst_handler = 0; blink->transform = transform; blink->user_data = user_data; signal_name = g_strconcat ("notify::", src_property, NULL); blink->handler = g_signal_connect_data (src_object, signal_name, G_CALLBACK (exo_bind_properties_notify), blink, destroy_notify, 0); g_free (signal_name); } /** * exo_binding_new: * @src_object: The source #GObject. * @src_property: The name of the property to bind from. * @dst_object: The destination #GObject. * @dst_property: The name of the property to bind to. * * One-way binds @src_property in @src_object to @dst_property * in @dst_object. * * Before binding the value of @dst_property is set to the * value of @src_property. * * Returns: The descriptor of the binding. It is automatically * removed if one of the objects is finalized. **/ ExoBinding* exo_binding_new (GObject *src_object, const gchar *src_property, GObject *dst_object, const gchar *dst_property) { return exo_binding_new_full (src_object, src_property, dst_object, dst_property, NULL, NULL, NULL); } /** * exo_binding_new_full: * @src_object: The source #GObject. * @src_property: The name of the property to bind from. * @dst_object: The destination #GObject. * @dst_property: The name of the property to bind to. * @transform: Transformation function or %NULL. * @destroy_notify: Callback function that is called on disconnection with @user_data or %NULL. * @user_data: User data associated with the binding. * * One-way binds @src_property in @src_object to @dst_property * in @dst_object. * * Before binding the value of @dst_property is set to the * value of @src_property. * * Returns: The descriptor of the binding. It is automatically * removed if one of the objects is finalized. **/ ExoBinding* exo_binding_new_full (GObject *src_object, const gchar *src_property, GObject *dst_object, const gchar *dst_property, ExoBindingTransform transform, GDestroyNotify destroy_notify, gpointer user_data) { ExoBinding *binding; GParamSpec *src_pspec; GParamSpec *dst_pspec; g_return_val_if_fail (G_IS_OBJECT (src_object), NULL); g_return_val_if_fail (G_IS_OBJECT (dst_object), NULL); src_pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (src_object), src_property); dst_pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (dst_object), dst_property); if (transform == NULL) transform = (ExoBindingTransform) g_value_transform; exo_bind_properties_transfer (src_object, src_pspec, dst_object, dst_pspec, transform, user_data); binding = g_slice_new (ExoBinding); binding->src_object = src_object; binding->destroy = destroy_notify; exo_binding_link_init (&binding->blink, src_object, src_property, dst_object, dst_pspec, transform, exo_binding_on_disconnect, user_data); g_object_weak_ref (dst_object, exo_binding_on_dst_object_destroy, binding); return binding; } /** * exo_mutual_binding_new: * @object1: The first #GObject. * @property1: The first property to bind. * @object2: The second #GObject. * @property2: The second property to bind. * * Mutually binds values of two properties. * * Before binding the value of @property2 is set to the value * of @property1. * * Returns: The descriptor of the binding. It is automatically * removed if one of the objects is finalized. **/ ExoMutualBinding* exo_mutual_binding_new (GObject *object1, const gchar *property1, GObject *object2, const gchar *property2) { return exo_mutual_binding_new_full (object1, property1, object2, property2, NULL, NULL, NULL, NULL); } /** * exo_mutual_binding_new_full: * @object1: The first #GObject. * @property1: The first property to bind. * @object2: The second #GObject. * @property2: The second property to bind. * @transform: Transformation function or %NULL. * @reverse_transform: The inverse transformation function or %NULL. * @destroy_notify: Callback function called on disconnection with @user_data as argument or %NULL. * @user_data: User data associated with the binding. * * Mutually binds values of two properties. * * Before binding the value of @property2 is set to the value of * @property1. * * Both @transform and @reverse_transform should simultaneously be * %NULL or non-%NULL. If they are non-%NULL, they should be reverse * in each other. * * Returns: The descriptor of the binding. It is automatically * removed if one of the objects is finalized. **/ ExoMutualBinding* exo_mutual_binding_new_full (GObject *object1, const gchar *property1, GObject *object2, const gchar *property2, ExoBindingTransform transform, ExoBindingTransform reverse_transform, GDestroyNotify destroy_notify, gpointer user_data) { ExoMutualBinding *binding; GParamSpec *pspec1; GParamSpec *pspec2; g_return_val_if_fail (G_IS_OBJECT (object1), NULL); g_return_val_if_fail (G_IS_OBJECT (object2), NULL); pspec1 = g_object_class_find_property (G_OBJECT_GET_CLASS (object1), property1); pspec2 = g_object_class_find_property (G_OBJECT_GET_CLASS (object2), property2); if (transform == NULL) transform = (ExoBindingTransform) g_value_transform; if (reverse_transform == NULL) reverse_transform = (ExoBindingTransform) g_value_transform; exo_bind_properties_transfer (object1, pspec1, object2, pspec2, transform, user_data); binding = g_slice_new (ExoMutualBinding); binding->destroy = destroy_notify; exo_binding_link_init (&binding->direct, object1, property1, object2, pspec2, transform, exo_mutual_binding_on_disconnect_object1, user_data); exo_binding_link_init (&binding->reverse, object2, property2, object1, pspec1, reverse_transform, exo_mutual_binding_on_disconnect_object2, user_data); /* tell each link about the reverse link for mutual * bindings, to make sure that we do not ever recurse * in notify (yeah, the GObject notify dispatching is * really weird!). */ binding->direct.dst_handler = binding->reverse.handler; binding->reverse.dst_handler = binding->direct.handler; return binding; } #define __EXO_BINDING_C__ spacefm-1.0.5/src/exo/exo-binding.h000066400000000000000000000077061264770501700171140ustar00rootroot00000000000000/*- * Copyright (c) 2004 os-cillation e.K. * Copyright (c) 2004 Victor Porton (http://ex-code.com/~porton/) * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_BINDING_H__ #define __EXO_BINDING_H__ #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS typedef struct _ExoBinding ExoBinding; typedef struct _ExoMutualBinding ExoMutualBinding; /** * ExoBindingTransform: * @src_value : Value to transform. * @dst_value : Value to store the result of the transformation into. * @user_data : User data supplied at binding creation. * * Function type used for binding transformation functions. * * Accomplished transformation from @src_value to @dst_value. * @src_value and @dst_value are already initialized before * this function gets called. * * Returns: %FALSE if transformation failed, else %TRUE. **/ typedef gboolean (*ExoBindingTransform) (const GValue *src_value, GValue *dst_value, gpointer user_data); ExoBinding *exo_binding_new (GObject *src_object, const gchar *src_property, GObject *dst_object, const gchar *dst_property); ExoBinding *exo_binding_new_full (GObject *src_object, const gchar *src_property, GObject *dst_object, const gchar *dst_property, ExoBindingTransform transform, GDestroyNotify destroy_notify, gpointer user_data); ExoMutualBinding *exo_mutual_binding_new (GObject *object1, const gchar *property1, GObject *object2, const gchar *property2); ExoMutualBinding *exo_mutual_binding_new_full (GObject *object1, const gchar *property1, GObject *object2, const gchar *property2, ExoBindingTransform transform, ExoBindingTransform reverse_transform, GDestroyNotify destroy_notify, gpointer user_data); G_END_DECLS #endif /* !__EXO_BINDING_H__ */ spacefm-1.0.5/src/exo/exo-cell-renderer-ellipsized-text.c000066400000000000000000000557471264770501700233540ustar00rootroot00000000000000/*- * Copyright (c) 2004-2006 os-cillation e.K. * Copyright (c) 2015 OmegaPhil (OmegaPhil@startmail.com) * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include #endif #include "exo-cell-renderer-ellipsized-text.h" #include "exo-private.h" #include "exo-common.h" /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ /** * SECTION: exo-cell-renderer-ellipsized-text * @title: ExoCellRendererEllipsizedText * @short_description: Renders text in a cell * @include: exo/exo.h * @see_also: GtkCellRendererText, * ExoIconView * * The #ExoCellRendererEllipsizedText renders a given text in its cell, * using the font, color and style information provided by its properties * (which are actually inherited from #GtkCellRendererText). * * Despite the rather confusing name of this class, it is mainly useful * to render text in an #ExoIconView (or a #GtkIconView), which require * the renderers to actually draw the state indicators. State indicators * will be drawn only if the * follow-state * property is %TRUE. **/ #define EXO_CELL_RENDERER_ELLIPSIZED_TEXT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT, ExoCellRendererEllipsizedTextPrivate)) /* Property identifiers */ enum { PROP_0, PROP_FOLLOW_STATE, }; static void exo_cell_renderer_ellipsized_text_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void exo_cell_renderer_ellipsized_text_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static void exo_cell_renderer_ellipsized_text_get_size (GtkCellRenderer *renderer, GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height); //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) static void exo_cell_renderer_ellipsized_text_get_preferred_width (GtkCellRenderer *renderer, GtkWidget *widget, gint *minimal_size, gint *natural_size); static void exo_cell_renderer_ellipsized_text_get_preferred_height (GtkCellRenderer *renderer, GtkWidget *widget, gint *minimal_size, gint *natural_size); static void exo_cell_renderer_ellipsized_text_get_preferred_height_for_width ( GtkCellRenderer *renderer, GtkWidget *widget, gint width, gint *minimal_size, gint *natural_size); #endif static void exo_cell_renderer_ellipsized_text_render (GtkCellRenderer *renderer, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr, #else GdkWindow *window, #endif GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *background_area, const GdkRectangle *cell_area, #else GdkRectangle *background_area, GdkRectangle *cell_area, #endif //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else GdkRectangle *expose_area, #endif GtkCellRendererState flags); struct _ExoCellRendererEllipsizedTextPrivate { gboolean follow_state; }; G_DEFINE_TYPE (ExoCellRendererEllipsizedText, exo_cell_renderer_ellipsized_text, GTK_TYPE_CELL_RENDERER_TEXT) static void exo_cell_renderer_ellipsized_text_class_init (ExoCellRendererEllipsizedTextClass *klass) { GtkCellRendererClass *gtkcell_renderer_class; GObjectClass *gobject_class; /* add our private data to the type's instances */ g_type_class_add_private (klass, sizeof (ExoCellRendererEllipsizedTextPrivate)); gobject_class = G_OBJECT_CLASS (klass); gobject_class->get_property = exo_cell_renderer_ellipsized_text_get_property; gobject_class->set_property = exo_cell_renderer_ellipsized_text_set_property; // Note that get_size is never called directly by GTK3 gtkcell_renderer_class = GTK_CELL_RENDERER_CLASS (klass); gtkcell_renderer_class->get_size = exo_cell_renderer_ellipsized_text_get_size; gtkcell_renderer_class->render = exo_cell_renderer_ellipsized_text_render; //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) gtkcell_renderer_class->get_preferred_width = exo_cell_renderer_ellipsized_text_get_preferred_width; gtkcell_renderer_class->get_preferred_height_for_width = exo_cell_renderer_ellipsized_text_get_preferred_height_for_width; gtkcell_renderer_class->get_preferred_height = exo_cell_renderer_ellipsized_text_get_preferred_height; #endif /** * ExoCellRendererEllipsizedText:follow-state: * * Specifies whether the text renderer should render the text based on * the selection state of the items. This is necessary for #ExoIconView * which doesn't draw any item state indicators itself. * * Since: 0.3.1.9 **/ g_object_class_install_property (gobject_class, PROP_FOLLOW_STATE, g_param_spec_boolean ("follow-state", _("Follow state"), _("Render differently based on the selection state."), FALSE, EXO_PARAM_READWRITE)); } static void exo_cell_renderer_ellipsized_text_init (ExoCellRendererEllipsizedText *text) { } static void exo_cell_renderer_ellipsized_text_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { ExoCellRendererEllipsizedTextPrivate *priv = EXO_CELL_RENDERER_ELLIPSIZED_TEXT_GET_PRIVATE (object); switch (prop_id) { case PROP_FOLLOW_STATE: g_value_set_boolean (value, priv->follow_state); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void exo_cell_renderer_ellipsized_text_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { ExoCellRendererEllipsizedTextPrivate *priv = EXO_CELL_RENDERER_ELLIPSIZED_TEXT_GET_PRIVATE (object); switch (prop_id) { case PROP_FOLLOW_STATE: priv->follow_state = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void exo_cell_renderer_ellipsized_text_get_size (GtkCellRenderer *renderer, GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height) { ExoCellRendererEllipsizedTextPrivate *priv = EXO_CELL_RENDERER_ELLIPSIZED_TEXT_GET_PRIVATE (renderer); gint focus_line_width; gint focus_padding; gint text_height; gint text_width; /* Determine the dimensions of the text from the GtkCellRendererText - see * in exo_cell_renderer_ellipsized_text_render for commentary on the GTK2 * approach being bricked in GTK3 * gtk_cell_renderer_get_size call here results in recursion now that I'm * implementing get_preferred_width * get_preferred_size is not made available so I have to combine * get_preferred_width and get_preferred_height_for_width - minimum_size * is sought in both cases */ //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) (*GTK_CELL_RENDERER_CLASS (exo_cell_renderer_ellipsized_text_parent_class)->get_preferred_width) (renderer, widget, &text_width, NULL); (*GTK_CELL_RENDERER_CLASS (exo_cell_renderer_ellipsized_text_parent_class)->get_preferred_height_for_width) (renderer, widget, text_width, &text_height, NULL); #else (*GTK_CELL_RENDERER_CLASS (exo_cell_renderer_ellipsized_text_parent_class)->get_size) (renderer, widget, NULL, NULL, NULL, &text_width, &text_height); #endif /* If we have to follow the state manually, we'll need * to reserve some space to render the indicator to. */ if (G_LIKELY (priv->follow_state)) { /* Determine the focus-padding and focus-line-width style properties from the widget */ gtk_widget_style_get (widget, "focus-padding", &focus_padding, "focus-line-width", &focus_line_width, NULL); /* Add the focus widget to the text dimensions */ text_width += 2 * (focus_line_width + focus_padding); text_height += 2 * (focus_line_width + focus_padding); } /* Update width/height */ if (G_LIKELY (width)) *width = text_width; if (G_LIKELY (height)) *height = text_height; /* Update the x/y offsets */ if (G_LIKELY (cell_area)) { gfloat xalign, yalign; gtk_cell_renderer_get_alignment (renderer, &xalign, &yalign); if (G_LIKELY (x_offset)) { *x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? 1.0 - xalign : xalign) * (cell_area->width - text_width); *x_offset = MAX (*x_offset, 0); } if (G_LIKELY (y_offset)) { *y_offset = yalign * (cell_area->height - text_height); *y_offset = MAX (*y_offset, 0); } } } //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) static void exo_cell_renderer_ellipsized_text_get_preferred_width (GtkCellRenderer *renderer, GtkWidget *widget, gint *minimal_size, gint *natural_size) { // Calling the normal code to get width exo_cell_renderer_ellipsized_text_get_size (renderer, widget, NULL, NULL, NULL, minimal_size, NULL); // If natural size was requested, duplicate if (minimal_size && natural_size) *natural_size = *minimal_size; } static void exo_cell_renderer_ellipsized_text_get_preferred_height (GtkCellRenderer *renderer, GtkWidget *widget, gint *minimal_size, gint *natural_size) { // Calling the normal code to get height exo_cell_renderer_ellipsized_text_get_size (renderer, widget, NULL, NULL, NULL, NULL, minimal_size); // If natural size was requested, duplicate if (minimal_size && natural_size) *natural_size = *minimal_size; } static void exo_cell_renderer_ellipsized_text_get_preferred_height_for_width ( GtkCellRenderer *renderer, GtkWidget *widget, gint width, gint *minimal_size, gint *natural_size) { // Ignoring specified width and just returning the normal height exo_cell_renderer_ellipsized_text_get_preferred_height(renderer, widget, minimal_size, natural_size); } #endif static void exo_cell_renderer_ellipsized_text_render (GtkCellRenderer *renderer, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr, #else GdkWindow *window, #endif GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *background_area, const GdkRectangle *cell_area, #else GdkRectangle *background_area, GdkRectangle *cell_area, #endif //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else GdkRectangle *expose_area, #endif GtkCellRendererState flags) { ExoCellRendererEllipsizedTextPrivate *priv = EXO_CELL_RENDERER_ELLIPSIZED_TEXT_GET_PRIVATE (renderer); GdkRectangle text_area; GtkStateType state; //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else cairo_t *cr; #endif gint focus_line_width; gint focus_padding; gint text_height; gint text_width; gint x0, x1; gint y0, y1; //sfm-gtk3 // This parameter isn't passed in the GTK3 call, so creating a replacement #if GTK_CHECK_VERSION (3, 0, 0) GdkRectangle *expose_area = NULL; #endif /* Determine the text cell areas */ if (G_UNLIKELY (!priv->follow_state)) { /* No state indicator */ text_area = *cell_area; } else { /* Determine the widget state */ if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED) { if (gtk_widget_has_focus (widget)) state = GTK_STATE_SELECTED; else state = GTK_STATE_ACTIVE; } else if ((flags & GTK_CELL_RENDERER_PRELIT) == GTK_CELL_RENDERER_PRELIT && gtk_widget_get_state (widget) == GTK_STATE_PRELIGHT) { state = GTK_STATE_PRELIGHT; } else { if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE) state = GTK_STATE_INSENSITIVE; else state = GTK_STATE_NORMAL; } /* Determine the focus-padding and focus-line-width style properties * from the widget */ gtk_widget_style_get (widget, "focus-padding", &focus_padding, "focus-line-width", &focus_line_width, NULL); /* Determine the text cell area */ text_area.x = cell_area->x + (focus_line_width + focus_padding); text_area.y = cell_area->y + (focus_line_width + focus_padding); text_area.width = cell_area->width - 2 * (focus_line_width + focus_padding); text_area.height = cell_area->height - 2 * (focus_line_width + focus_padding); /* Check if we need to draw any state indicator */ if ((flags & (GTK_CELL_RENDERER_FOCUSED | GTK_CELL_RENDERER_SELECTED)) != 0) { /* Determine the real text dimensions */ //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) /* GTK3 completely breaks the GTK2 get_size call here as GtkCellRenderer * NULLs the function pointer in its gtk_cell_renderer_class_init * (doesn't set it to the available get_size function), and * GtkCellRendererText does not implement its own get_size - so just * using the normal function call here * The GTK3 get_size call basically calls gtk_cell_renderer_get_preferred_size * and then does cell offset calculation if cell_area is specified, * so its not different enough to warrant reworking stuff to use it */ gtk_cell_renderer_get_size (renderer, widget, &text_area, &x0, &y0, &text_width, &text_height); #else (*GTK_CELL_RENDERER_CLASS (exo_cell_renderer_ellipsized_text_parent_class)->get_size)( renderer, widget, &text_area, &x0, &y0, &text_width, &text_height); #endif /* Adjust the offsets appropriately */ x0 += text_area.x; y0 += text_area.y; GtkStyle *style = gtk_widget_get_style (widget); /* Render the selected state indicator */ if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED) { /* Calculate the text bounding box (including the focus padding/ * width) */ x1 = x0 + text_width; y1 = y0 + text_height; /* Cairo produces nicer results than using a polygon and so we * use it directly if possible * In GTK3, the cairo context has already been provided */ //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else cr = gdk_cairo_create (window); #endif cairo_move_to (cr, x0 + 5, y0); cairo_line_to (cr, x1 - 5, y0); cairo_curve_to (cr, x1 - 5, y0, x1, y0, x1, y0 + 5); cairo_line_to (cr, x1, y1 - 5); cairo_curve_to (cr, x1, y1 - 5, x1, y1, x1 - 5, y1); cairo_line_to (cr, x0 + 5, y1); cairo_curve_to (cr, x0 + 5, y1, x0, y1, x0, y1 - 5); cairo_line_to (cr, x0, y0 + 5); cairo_curve_to (cr, x0, y0 + 5, x0, y0, x0 + 5, y0); gdk_cairo_set_source_color (cr, &style->base[state]); cairo_fill (cr); //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else cairo_destroy (cr); #endif } /* Draw the focus indicator */ if ((flags & GTK_CELL_RENDERER_FOCUSED) != 0) { gtk_paint_focus (style, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) cr, #else window, #endif gtk_widget_get_state (widget), //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else NULL, #endif widget, "icon_view", x0, y0, text_width, text_height); flags &= ~GTK_CELL_RENDERER_FOCUSED; } } } /* Render the text using the GtkCellRendererText */ (*GTK_CELL_RENDERER_CLASS (exo_cell_renderer_ellipsized_text_parent_class)->render) ( renderer, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) cr, #else window, #endif widget, background_area, &text_area, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else expose_area, #endif flags); } /** * exo_cell_renderer_ellipsized_text_new: * * Creates a new #ExoCellRendererEllipsizedText. Adjust rendering parameters using gobject properties, * which can be set globally via g_object_set(). Also, with #GtkCellLayout and #GtkTreeViewColumn, you * can bind a property to a value in a #GtkTreeModel. * * Returns: the newly allocated #ExoCellRendererEllipsizedText. **/ GtkCellRenderer* exo_cell_renderer_ellipsized_text_new (void) { return g_object_new (EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT, NULL); } #define __EXO_CELL_RENDERER_ELLIPSIZED_TEXT_C__ spacefm-1.0.5/src/exo/exo-cell-renderer-ellipsized-text.h000066400000000000000000000056311264770501700233440ustar00rootroot00000000000000/*- * Copyright (c) 2004-2006 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_CELL_RENDERER_ELLIPSIZED_TEXT_H__ #define __EXO_CELL_RENDERER_ELLIPSIZED_TEXT_H__ #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS typedef struct _ExoCellRendererEllipsizedTextPrivate ExoCellRendererEllipsizedTextPrivate; typedef struct _ExoCellRendererEllipsizedTextClass ExoCellRendererEllipsizedTextClass; typedef struct _ExoCellRendererEllipsizedText ExoCellRendererEllipsizedText; #define EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT (exo_cell_renderer_ellipsized_text_get_type ()) #define EXO_CELL_RENDERER_ELLIPSIZED_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT, ExoCellRendererEllipsizedText)) #define EXO_CELL_RENDERER_ELLIPSIZED_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((obj), EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT, ExoCellRendererEllipsizedTextClass)) #define EXO_IS_CELL_RENDERER_ELLIPSIZED_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT)) #define EXO_IS_CELL_RENDERER_ELLIPSIZED_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT)) #define EXO_CELL_RENDERER_ELLIPSIZED_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT, ExoCellRendererEllipsizedTextClass)) struct _ExoCellRendererEllipsizedTextClass { /*< private >*/ GtkCellRendererTextClass __parent__; }; /** * ExoCellRendererEllipsizedText: * * The #ExoIconCellRendererEllipsizedText * struct contains only private fields and should not be directly accessed. **/ struct _ExoCellRendererEllipsizedText { /*< private >*/ GtkCellRendererText __parent__; ExoCellRendererEllipsizedTextPrivate *priv; }; GType exo_cell_renderer_ellipsized_text_get_type (void) G_GNUC_CONST; GtkCellRenderer *exo_cell_renderer_ellipsized_text_new (void) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; G_END_DECLS #endif /* !__EXO_CELL_RENDERER_ELLIPSIZED_TEXT_H__ */ spacefm-1.0.5/src/exo/exo-cell-renderer-icon.c000066400000000000000000000600531264770501700211400ustar00rootroot00000000000000/*- * Copyright (c) 2005-2006 Benedikt Meurer . * Copyright (c) 2009 Jannis Pohlmann * Copyright (c) 2015 OmegaPhil * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include #endif #include #include "exo-cell-renderer-icon.h" #include "exo-gdk-pixbuf-extensions.h" #include "exo-private.h" #include "exo-common.h" #include "vfs-thumbnail-loader.h" /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ /** * SECTION: exo-cell-renderer-icon * @title: ExoCellRendererIcon * @short_description: Renders an icon in a cell * @include: exo/exo.h * @see_also: ExoIconView * * An #ExoCellRendererIcon can be used to render an icon in a cell. It * allows to render either a named icon, which is looked up using the * #GtkIconTheme, or an image file loaded from the file system. The icon * name or absolute path to the image file is set via the * icon property. * * To support the ExoIconView (and GtkIconView), #ExoCellRendererIcon supports * rendering icons based on the state of the view if the * follow-state * property is set. **/ #define EXO_CELL_RENDERER_ICON_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ EXO_TYPE_CELL_RENDERER_ICON, ExoCellRendererIconPrivate)) /* Property identifiers */ enum { PROP_0, PROP_FOLLOW_STATE, PROP_ICON, PROP_GICON, PROP_SIZE, }; static void exo_cell_renderer_icon_finalize (GObject *object); static void exo_cell_renderer_icon_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void exo_cell_renderer_icon_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static void exo_cell_renderer_icon_get_size (GtkCellRenderer *renderer, GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height); static void exo_cell_renderer_icon_render (GtkCellRenderer *renderer, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr, #else GdkWindow *window, #endif GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *background_area, const GdkRectangle *cell_area, #else GdkRectangle *background_area, GdkRectangle *cell_area, #endif //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else GdkRectangle *expose_area, #endif GtkCellRendererState flags); struct _ExoCellRendererIconPrivate { guint follow_state : 1; guint icon_static : 1; gchar *icon; GIcon *gicon; gint size; }; G_DEFINE_TYPE (ExoCellRendererIcon, exo_cell_renderer_icon, GTK_TYPE_CELL_RENDERER) static void exo_cell_renderer_icon_class_init (ExoCellRendererIconClass *klass) { GtkCellRendererClass *gtkcell_renderer_class; GObjectClass *gobject_class; /* add our private data to the type's instances */ g_type_class_add_private (klass, sizeof (ExoCellRendererIconPrivate)); gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = exo_cell_renderer_icon_finalize; gobject_class->get_property = exo_cell_renderer_icon_get_property; gobject_class->set_property = exo_cell_renderer_icon_set_property; gtkcell_renderer_class = GTK_CELL_RENDERER_CLASS (klass); gtkcell_renderer_class->get_size = exo_cell_renderer_icon_get_size; gtkcell_renderer_class->render = exo_cell_renderer_icon_render; /** * ExoCellRendererIcon:follow-state: * * Specifies whether the icon renderer should render icon based on the * selection state of the items. This is necessary for #ExoIconView, * which doesn't draw any item state indicators itself. * * Since: 0.3.1.9 **/ g_object_class_install_property (gobject_class, PROP_FOLLOW_STATE, g_param_spec_boolean ("follow-state", _("Follow state"), _("Render differently based on the selection state."), TRUE, EXO_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * ExoCellRendererIcon:icon: * * The name of the themed icon to render or an absolute path to an image file * to render. May also be %NULL in which case no icon will be rendered for the * cell. * * Image files are loaded via the thumbnail database, creating a thumbnail * as necessary. The thumbnail database is also used to load scalable icons * in the icon theme, because loading scalable icons is quite expensive * these days. * * Since: 0.3.1.9 **/ g_object_class_install_property (gobject_class, PROP_ICON, g_param_spec_string ("icon", _("Icon"), _("The icon to render."), NULL, EXO_PARAM_READWRITE)); /** * ExoCellRendererIcon:gicon: * * The #GIcon to render. May also be %NULL in which case no icon will be * rendered for the cell. * * Currently only #GThemedIcons are supported which are loaded * using the current icon theme. * * Since: 0.4.0 **/ g_object_class_install_property (gobject_class, PROP_GICON, g_param_spec_object ("gicon", _("GIcon"), _("The GIcon to render."), G_TYPE_ICON, EXO_PARAM_READWRITE)); /** * ExoCellRendererIcon:size: * * The size in pixel at which to render the icon. This is also the fixed * size that the renderer will request no matter if the actual icons are * smaller than this size. * * This improves the performance of the layouting in the icon and tree * view, because during the layouting phase no icons will need to be * loaded, but the icons will only be loaded when they need to be rendered, * i.e. the view scrolls to the cell. * * Since: 0.3.1.9 **/ g_object_class_install_property (gobject_class, PROP_SIZE, g_param_spec_int ("size", _("size"), _("The size of the icon to render in pixels."), 1, G_MAXINT, 48, EXO_PARAM_READWRITE | G_PARAM_CONSTRUCT)); } static void exo_cell_renderer_icon_init (ExoCellRendererIcon *icon_undocked) { } static void exo_cell_renderer_icon_finalize (GObject *object) { const ExoCellRendererIconPrivate *priv = EXO_CELL_RENDERER_ICON_GET_PRIVATE (object); /* free the icon if not static */ if (!priv->icon_static) g_free (priv->icon); /* free the GICon */ if (priv->gicon != NULL) g_object_unref (priv->gicon); (*G_OBJECT_CLASS (exo_cell_renderer_icon_parent_class)->finalize) (object); } static void exo_cell_renderer_icon_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { const ExoCellRendererIconPrivate *priv = EXO_CELL_RENDERER_ICON_GET_PRIVATE (object); switch (prop_id) { case PROP_FOLLOW_STATE: g_value_set_boolean (value, priv->follow_state); break; case PROP_ICON: g_value_set_string (value, priv->icon); break; case PROP_GICON: g_value_set_object (value, priv->gicon); break; case PROP_SIZE: g_value_set_int (value, priv->size); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void exo_cell_renderer_icon_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { ExoCellRendererIconPrivate *priv = EXO_CELL_RENDERER_ICON_GET_PRIVATE (object); const gchar *icon; switch (prop_id) { case PROP_FOLLOW_STATE: priv->follow_state = g_value_get_boolean (value); break; case PROP_ICON: /* release the previous icon (if not static) */ if (!priv->icon_static) g_free (priv->icon); icon = g_value_get_string (value); priv->icon_static = (value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS) ? TRUE : FALSE; priv->icon = (gchar *) ((icon == NULL) ? "" : icon); if (!priv->icon_static) priv->icon = g_strdup (priv->icon); break; case PROP_GICON: if (priv->gicon != NULL) g_object_unref (priv->gicon); priv->gicon = g_value_dup_object (value); break; case PROP_SIZE: priv->size = g_value_get_int (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void exo_cell_renderer_icon_get_size (GtkCellRenderer *renderer, GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height) { const ExoCellRendererIconPrivate *priv = EXO_CELL_RENDERER_ICON_GET_PRIVATE (renderer); gint xpad, ypad; gtk_cell_renderer_get_padding (renderer, &xpad, &ypad); if (cell_area) { gfloat xalign, yalign; gtk_cell_renderer_get_alignment (renderer, &xalign, &yalign); if (x_offset) { *x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? 1.0 - xalign : xalign) * (cell_area->width - priv->size); *x_offset = MAX (*x_offset, 0) + xpad; } if (y_offset) { *y_offset = yalign * (cell_area->height - priv->size); *y_offset = MAX (*y_offset, 0) + ypad; } } else { if (x_offset) *x_offset = 0; if (y_offset) *y_offset = 0; } if (G_LIKELY (width)) *width = (gint) xpad * 2 + priv->size; if (G_LIKELY (height)) *height = (gint) ypad * 2 + priv->size; } static void exo_cell_renderer_icon_render (GtkCellRenderer *renderer, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr, #else GdkWindow *window, #endif GtkWidget *widget, //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *background_area, const GdkRectangle *cell_area, #else GdkRectangle *background_area, GdkRectangle *cell_area, #endif //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) #else GdkRectangle *expose_area, #endif GtkCellRendererState flags) { const ExoCellRendererIconPrivate *priv = EXO_CELL_RENDERER_ICON_GET_PRIVATE (renderer); GtkIconSource *icon_source; GtkIconTheme *icon_theme; GdkRectangle icon_area; GdkRectangle draw_area; GtkStateType state; const gchar *filename; GtkIconInfo *icon_info = NULL; GdkPixbuf *icon = NULL; GdkPixbuf *temp; GError *err = NULL; gchar *display_name = NULL; gint *icon_sizes; gint icon_size; gint n; //sfm-gtk3 // This parameter isn't passed in the GTK3 call, so creating a replacement #if GTK_CHECK_VERSION (3, 0, 0) GdkRectangle *expose_area = NULL; #endif /* Verify that we have an icon */ if (G_UNLIKELY (priv->icon == NULL && priv->gicon == NULL)) return; /* Icon may be either an image file or a named icon */ if (priv->icon != NULL && g_path_is_absolute (priv->icon)) { /* Load the icon via the thumbnail database */ //icon = _exo_thumbnail_get_for_file (priv->icon, (priv->size > 128) ? // EXO_THUMBNAIL_SIZE_LARGE : EXO_THUMBNAIL_SIZE_NORMAL, &err); /* Size-wise this function uses 128 or 256px internally based on an * arbitrary input size, so should be comparable to EXO_THUMBNAIL_SIZE * mtime is unknown so set as 0 */ icon = vfs_thumbnail_load_for_file (filename, priv->size, 0); } else if (priv->icon != NULL || priv->gicon != NULL) { /* Determine the best icon size (GtkIconTheme is somewhat messy scaling * up small icons) */ icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (widget)); if (priv->icon != NULL) { icon_sizes = gtk_icon_theme_get_icon_sizes (icon_theme, priv->icon); for (icon_size = -1, n = 0; icon_sizes[n] != 0; ++n) { /* We can use any size if scalable, because we load the file * directly */ if (icon_sizes[n] == -1) icon_size = priv->size; else if (icon_sizes[n] > icon_size && icon_sizes[n] <= priv->size) icon_size = icon_sizes[n]; } g_free (icon_sizes); /* If we don't know any icon sizes at all, the icon is probably not * present */ if (G_UNLIKELY (icon_size < 0)) icon_size = priv->size; /* Lookup the icon in the icon theme */ icon_info = gtk_icon_theme_lookup_icon (icon_theme, priv->icon, icon_size, 0); } else if (priv->gicon != NULL) { icon_info = gtk_icon_theme_lookup_by_gicon (icon_theme, priv->gicon, priv->size, GTK_ICON_LOOKUP_USE_BUILTIN); } if (G_UNLIKELY (icon_info == NULL)) return; /* Check if we have an SVG icon here */ filename = gtk_icon_info_get_filename (icon_info); if (filename != NULL && g_str_has_suffix (filename, ".svg")) { /* Loading SVG icons is terribly slow, so we try to use thumbnail * instead, and we use the real available cell area directly here, * because loading thumbnails involves scaling anyway and this way * we need to the thumbnail pixbuf scale only once. */ //icon = _exo_thumbnail_get_for_file (filename, (priv->size > 128) ? // EXO_THUMBNAIL_SIZE_LARGE : EXO_THUMBNAIL_SIZE_NORMAL, &err); /* Size-wise this function uses 128 or 256px internally based on an * arbitrary input size, so should be comparable to EXO_THUMBNAIL_SIZE * mtime is unknown so set as 0 */ icon = vfs_thumbnail_load_for_file (filename, priv->size, 0); } else { /* Regularly load the icon from the theme */ icon = gtk_icon_info_load_icon (icon_info, &err); } gtk_icon_info_free (icon_info); } /* Check if we failed */ if (G_UNLIKELY (icon == NULL)) { /* Better let the user know whats going on, might be surprising otherwise */ if (G_LIKELY (priv->icon != NULL)) { display_name = g_filename_display_name (priv->icon); } else if (G_UNLIKELY (priv->gicon != NULL && g_object_class_find_property (G_OBJECT_GET_CLASS (priv->gicon), "name"))) { g_object_get (priv->gicon, "name", &display_name, NULL); } if (display_name != NULL) { g_warning ("Failed to load \"%s\": %s", display_name, err ? err->message : "Error unavailable"); g_free (display_name); } g_error_free (err); return; } /* Determine the real icon size */ icon_area.width = gdk_pixbuf_get_width (icon); icon_area.height = gdk_pixbuf_get_height (icon); /* Scale down the icon on-demand */ if (G_UNLIKELY (icon_area.width > cell_area->width || icon_area.height > cell_area->height)) { /* Scale down to fit */ temp = exo_gdk_pixbuf_scale_down (icon, TRUE, cell_area->width, cell_area->height); g_object_unref (G_OBJECT (icon)); icon = temp; /* Determine the icon dimensions again */ icon_area.width = gdk_pixbuf_get_width (icon); icon_area.height = gdk_pixbuf_get_height (icon); } /* Centre icon_area coords in cell_area */ icon_area.x = cell_area->x + (cell_area->width - icon_area.width) / 2; icon_area.y = cell_area->y + (cell_area->height - icon_area.height) / 2; /* Check whether the icon is affected by the expose event - in GTK3's case, * there is no passed expose_area */ if (!expose_area || gdk_rectangle_intersect (expose_area, &icon_area, &draw_area)) { GtkStyle *style = gtk_widget_get_style (widget); /* Colorize the icon if we should follow the selection state */ if ((flags & (GTK_CELL_RENDERER_SELECTED | GTK_CELL_RENDERER_PRELIT)) != 0 && priv->follow_state) { if ((flags & GTK_CELL_RENDERER_SELECTED) != 0) { state = gtk_widget_has_focus (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE; temp = exo_gdk_pixbuf_colorize (icon, &style->base[state]); g_object_unref (G_OBJECT (icon)); icon = temp; } if ((flags & GTK_CELL_RENDERER_PRELIT) != 0) { temp = exo_gdk_pixbuf_spotlight (icon); g_object_unref (G_OBJECT (icon)); icon = temp; } } /* Check if we should render an insensitive icon */ if (G_UNLIKELY (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE || !gtk_cell_renderer_get_sensitive(renderer))) { /* Allocate an icon source */ icon_source = gtk_icon_source_new (); gtk_icon_source_set_pixbuf (icon_source, icon); gtk_icon_source_set_size_wildcarded (icon_source, FALSE); gtk_icon_source_set_size (icon_source, GTK_ICON_SIZE_SMALL_TOOLBAR); /* Render the insensitive icon */ temp = gtk_style_render_icon (style, icon_source, gtk_widget_get_direction (widget), GTK_STATE_INSENSITIVE, -1, widget, "gtkcellrendererpixbuf"); g_object_unref (G_OBJECT (icon)); icon = temp; /* Release the icon source */ gtk_icon_source_free (icon_source); } /* Render the invalid parts of the icon */ //sfm-gtk3 #if GTK_CHECK_VERSION (3, 0, 0) /* In GTK3, no expose_area is set so the intersecting draw_area is never * populated. icon_area is already the correct coords to output an icon * centred in the destination drawing area, so using that */ gdk_cairo_set_source_pixbuf (cr, icon, icon_area.x, icon_area.y); cairo_paint (cr); #else gdk_draw_pixbuf (window, widget->style->black_gc, icon, draw_area.x - icon_area.x, draw_area.y - icon_area.y, draw_area.x, draw_area.y, draw_area.width, draw_area.height, GDK_RGB_DITHER_NORMAL, 0, 0); #endif } /* Release the file's icon */ g_object_unref (G_OBJECT (icon)); } /** * exo_cell_renderer_icon_new: * * Creates a new #ExoCellRendererIcon. Adjust rendering parameters using object * properties, which can be set globally via g_object_set(). Also, with * #GtkCellLayout and #GtkTreeViewColumn, you can bind a property to a value in * a #GtkTreeModel. For example you can bind the icon * property on the cell renderer to an icon name in the model, thus rendering a * different icon in each row of the #GtkTreeView. * * Returns: the newly allocated #ExoCellRendererIcon. * * Since: 0.3.1.9 **/ GtkCellRenderer* exo_cell_renderer_icon_new (void) { return g_object_new (EXO_TYPE_CELL_RENDERER_ICON, NULL); } #define __EXO_CELL_RENDERER_ICON_C__ spacefm-1.0.5/src/exo/exo-cell-renderer-icon.h000066400000000000000000000053071264770501700211460ustar00rootroot00000000000000/*- * Copyright (c) 2005-2006 Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_CELL_RENDERER_ICON_H__ #define __EXO_CELL_RENDERER_ICON_H__ #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS typedef struct _ExoCellRendererIconPrivate ExoCellRendererIconPrivate; typedef struct _ExoCellRendererIconClass ExoCellRendererIconClass; typedef struct _ExoCellRendererIcon ExoCellRendererIcon; #define EXO_TYPE_CELL_RENDERER_ICON (exo_cell_renderer_icon_get_type ()) #define EXO_CELL_RENDERER_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXO_TYPE_CELL_RENDERER_ICON, ExoCellRendererIcon)) #define EXO_CELL_RENDERER_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXO_TYPE_CELL_RENDERER_ICON, ExoCellRendererIconClass)) #define EXO_IS_CELL_RENDERER_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXO_TYPE_CELL_RENDERER_ICON)) #define EXO_IS_CELL_RENDERER_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXO_TYPE_CELL_RENDERER_ICON)) #define EXO_CELL_RENDERER_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXO_TYPE_CELL_RENDERER_ICON, ExoCellRendererIconClass)) struct _ExoCellRendererIconClass { /*< private >*/ GtkCellRendererClass __parent__; /* reserved for future expansion */ void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); void (*reserved4) (void); void (*reserved5) (void); void (*reserved6) (void); }; /** * ExoCellRendererIcon: * * The #ExoIconChooserDialog struct contains only private fields and * should not be directly accessed. **/ struct _ExoCellRendererIcon { /*< private >*/ GtkCellRenderer __parent__; }; GType exo_cell_renderer_icon_get_type (void) G_GNUC_CONST; GtkCellRenderer *exo_cell_renderer_icon_new (void) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; G_END_DECLS #endif /* !__EXO_CELL_RENDERER_ICON_H__ */ spacefm-1.0.5/src/exo/exo-common.h000066400000000000000000000021421264770501700167570ustar00rootroot00000000000000#ifndef __EXO_COMMON_H__ #define __EXO_COMMON_H__ /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS #if defined(G_PARAM_STATIC_NAME) && defined(G_PARAM_STATIC_NICK) && defined(G_PARAM_STATIC_BLURB) #define EXO_PARAM_READABLE (G_PARAM_READABLE \ | G_PARAM_STATIC_NAME \ | G_PARAM_STATIC_NICK \ | G_PARAM_STATIC_BLURB) #define EXO_PARAM_WRITABLE (G_PARAM_WRITABLE \ | G_PARAM_STATIC_NAME \ | G_PARAM_STATIC_NICK \ | G_PARAM_STATIC_BLURB) #define EXO_PARAM_READWRITE (G_PARAM_READWRITE \ | G_PARAM_STATIC_NAME \ | G_PARAM_STATIC_NICK \ | G_PARAM_STATIC_BLURB) #else #define EXO_PARAM_READABLE (G_PARAM_READABLE) #define EXO_PARAM_WRITABLE (G_PARAM_WRITABLE) #define EXO_PARAM_READWRITE (G_PARAM_READWRITE) #endif G_END_DECLS #endif /* !__EXO_COMMON_H__ */ spacefm-1.0.5/src/exo/exo-gdk-pixbuf-extensions.c000066400000000000000000000404261264770501700217260ustar00rootroot00000000000000/*- * Copyright (c) 2004-2006 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_STAT_H #include #endif /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ #include #include #include #include #if defined(__GNUC__) && defined(__MMX__) #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif /* required for GdkPixbufFormat */ #ifndef GDK_PIXBUF_ENABLE_BACKEND #define GDK_PIXBUF_ENABLE_BACKEND #endif #include "exo-gdk-pixbuf-extensions.h" #include "exo-private.h" #define g_open(path, mode, flags) (open ((path), (mode), (flags))) /* _O_BINARY is required on some platforms */ #ifndef _O_BINARY #define _O_BINARY 0 #endif /** * SECTION: exo-gdk-pixbuf-extensions * @title: Extensions to gdk-pixbuf * @short_description: Miscelleanous extensions to the gdk-pixbuf library * @include: exo/exo.h * * This facility includes several functions to extend the basic functionality * provided by the gdk-pixbuf library. **/ /** * exo_gdk_pixbuf_colorize: * @source : the source #GdkPixbuf. * @color : the new color. * * Creates a new #GdkPixbuf based on @source, which is * colorized to @color. * * The caller is responsible to free the returned object * using g_object_unref() when no longer needed. * * Returns: the colorized #GdkPixbuf. * * Since: 0.3.1.3 **/ GdkPixbuf* exo_gdk_pixbuf_colorize (const GdkPixbuf *source, const GdkColor *color) { GdkPixbuf *dst; gboolean has_alpha; gint dst_row_stride; gint src_row_stride; gint width; gint height; gint i; /* determine source parameters */ width = gdk_pixbuf_get_width (source); height = gdk_pixbuf_get_height (source); has_alpha = gdk_pixbuf_get_has_alpha (source); /* allocate the destination pixbuf */ dst = gdk_pixbuf_new (gdk_pixbuf_get_colorspace (source), has_alpha, gdk_pixbuf_get_bits_per_sample (source), width, height); /* determine row strides on src/dst */ dst_row_stride = gdk_pixbuf_get_rowstride (dst); src_row_stride = gdk_pixbuf_get_rowstride (source); #if defined(__GNUC__) && defined(__MMX__) /* check if there's a good reason to use MMX */ if (G_LIKELY (has_alpha && dst_row_stride == width * 4 && src_row_stride == width * 4 && (width * height) % 2 == 0)) { __m64 *pixdst = (__m64 *) gdk_pixbuf_get_pixels (dst); __m64 *pixsrc = (__m64 *) gdk_pixbuf_get_pixels (source); __m64 alpha_mask = _mm_set_pi8 (0xff, 0, 0, 0, 0xff, 0, 0, 0); __m64 color_factor = _mm_set_pi16 (0, color->blue, color->green, color->red); __m64 zero = _mm_setzero_si64 (); __m64 src, alpha, hi, lo; /* divide color components by 256 */ color_factor = _mm_srli_pi16 (color_factor, 8); for (i = (width * height) >> 1; i > 0; --i) { /* read the source pixel */ src = *pixsrc; /* remember the two alpha values */ alpha = _mm_and_si64 (alpha_mask, src); /* extract the hi pixel */ hi = _mm_unpackhi_pi8 (src, zero); hi = _mm_mullo_pi16 (hi, color_factor); /* extract the lo pixel */ lo = _mm_unpacklo_pi8 (src, zero); lo = _mm_mullo_pi16 (lo, color_factor); /* prefetch the next two pixels */ __builtin_prefetch (++pixsrc, 0, 1); /* divide by 256 */ hi = _mm_srli_pi16 (hi, 8); lo = _mm_srli_pi16 (lo, 8); /* combine the 2 pixels again */ src = _mm_packs_pu16 (lo, hi); /* write back the calculated color together with the alpha */ *pixdst = _mm_or_si64 (alpha, src); /* advance the dest pointer */ ++pixdst; } _mm_empty (); } else #endif { guchar *dst_pixels = gdk_pixbuf_get_pixels (dst); guchar *src_pixels = gdk_pixbuf_get_pixels (source); guchar *pixdst; guchar *pixsrc; gint red_value = color->red / 255.0; gint green_value = color->green / 255.0; gint blue_value = color->blue / 255.0; gint j; for (i = height; --i >= 0; ) { pixdst = dst_pixels + i * dst_row_stride; pixsrc = src_pixels + i * src_row_stride; for (j = width; j > 0; --j) { *pixdst++ = (*pixsrc++ * red_value) >> 8; *pixdst++ = (*pixsrc++ * green_value) >> 8; *pixdst++ = (*pixsrc++ * blue_value) >> 8; if (has_alpha) *pixdst++ = *pixsrc++; } } } return dst; } static inline void draw_frame_row (const GdkPixbuf *frame_image, gint target_width, gint source_width, gint source_v_position, gint dest_v_position, GdkPixbuf *result_pixbuf, gint left_offset, gint height) { gint remaining_width; gint slab_width; gint h_offset; for (h_offset = 0, remaining_width = target_width; remaining_width > 0; h_offset += slab_width, remaining_width -= slab_width) { slab_width = (remaining_width > source_width) ? source_width : remaining_width; gdk_pixbuf_copy_area (frame_image, left_offset, source_v_position, slab_width, height, result_pixbuf, left_offset + h_offset, dest_v_position); } } static inline void draw_frame_column (const GdkPixbuf *frame_image, gint target_height, gint source_height, gint source_h_position, gint dest_h_position, GdkPixbuf *result_pixbuf, gint top_offset, gint width) { gint remaining_height; gint slab_height; gint v_offset; for (v_offset = 0, remaining_height = target_height; remaining_height > 0; v_offset += slab_height, remaining_height -= slab_height) { slab_height = (remaining_height > source_height) ? source_height : remaining_height; gdk_pixbuf_copy_area (frame_image, source_h_position, top_offset, width, slab_height, result_pixbuf, dest_h_position, top_offset + v_offset); } } /** * exo_gdk_pixbuf_frame: * @source : the source #GdkPixbuf. * @frame : the frame #GdkPixbuf. * @left_offset : the left frame offset. * @top_offset : the top frame offset. * @right_offset : the right frame offset. * @bottom_offset : the bottom frame offset. * * Embeds @source in @frame and returns the result as new #GdkPixbuf. * * The caller is responsible to free the returned #GdkPixbuf using g_object_unref(). * * Returns: the framed version of @source. * * Since: 0.3.1.9 **/ GdkPixbuf* exo_gdk_pixbuf_frame (const GdkPixbuf *source, const GdkPixbuf *frame, gint left_offset, gint top_offset, gint right_offset, gint bottom_offset) { GdkPixbuf *dst; gint dst_width; gint dst_height; gint frame_width; gint frame_height; gint src_width; gint src_height; g_return_val_if_fail (GDK_IS_PIXBUF (frame), NULL); g_return_val_if_fail (GDK_IS_PIXBUF (source), NULL); src_width = gdk_pixbuf_get_width (source); src_height = gdk_pixbuf_get_height (source); frame_width = gdk_pixbuf_get_width (frame); frame_height = gdk_pixbuf_get_height (frame); dst_width = src_width + left_offset + right_offset; dst_height = src_height + top_offset + bottom_offset; /* allocate the resulting pixbuf */ dst = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, dst_width, dst_height); /* fill the destination if the source has an alpha channel */ if (G_UNLIKELY (gdk_pixbuf_get_has_alpha (source))) gdk_pixbuf_fill (dst, 0xffffffff); /* draw the left top corner and top row */ gdk_pixbuf_copy_area (frame, 0, 0, left_offset, top_offset, dst, 0, 0); draw_frame_row (frame, src_width, frame_width - left_offset - right_offset, 0, 0, dst, left_offset, top_offset); /* draw the right top corner and left column */ gdk_pixbuf_copy_area (frame, frame_width - right_offset, 0, right_offset, top_offset, dst, dst_width - right_offset, 0); draw_frame_column (frame, src_height, frame_height - top_offset - bottom_offset, 0, 0, dst, top_offset, left_offset); /* draw the bottom right corner and bottom row */ gdk_pixbuf_copy_area (frame, frame_width - right_offset, frame_height - bottom_offset, right_offset, bottom_offset, dst, dst_width - right_offset, dst_height - bottom_offset); draw_frame_row (frame, src_width, frame_width - left_offset - right_offset, frame_height - bottom_offset, dst_height - bottom_offset, dst, left_offset, bottom_offset); /* draw the bottom left corner and the right column */ gdk_pixbuf_copy_area (frame, 0, frame_height - bottom_offset, left_offset, bottom_offset, dst, 0, dst_height - bottom_offset); draw_frame_column (frame, src_height, frame_height - top_offset - bottom_offset, frame_width - right_offset, dst_width - right_offset, dst, top_offset, right_offset); /* copy the source pixbuf into the framed area */ gdk_pixbuf_copy_area (source, 0, 0, src_width, src_height, dst, left_offset, top_offset); return dst; } static inline guchar lighten_channel (guchar cur_value) { gint new_value = cur_value; new_value += 24 + (new_value >> 3); if (G_UNLIKELY (new_value > 255)) new_value = 255; return (guchar) new_value; } /** * exo_gdk_pixbuf_spotlight: * @source : the source #GdkPixbuf. * * Creates a lightened version of @source, suitable for * prelit state display of icons. * * The caller is responsible to free the returned * pixbuf using #g_object_unref(). * * Returns: the lightened version of @source. * * Since: 0.3.1.3 **/ GdkPixbuf* exo_gdk_pixbuf_spotlight (const GdkPixbuf *source) { GdkPixbuf *dst; gboolean has_alpha; gint dst_row_stride; gint src_row_stride; gint width; gint height; gint i; /* determine source parameters */ width = gdk_pixbuf_get_width (source); height = gdk_pixbuf_get_height (source); has_alpha = gdk_pixbuf_get_has_alpha (source); /* allocate the destination pixbuf */ dst = gdk_pixbuf_new (gdk_pixbuf_get_colorspace (source), has_alpha, gdk_pixbuf_get_bits_per_sample (source), width, height); /* determine src/dst row strides */ dst_row_stride = gdk_pixbuf_get_rowstride (dst); src_row_stride = gdk_pixbuf_get_rowstride (source); #if defined(__GNUC__) && defined(__MMX__) /* check if there's a good reason to use MMX */ if (G_LIKELY (has_alpha && dst_row_stride == width * 4 && src_row_stride == width * 4 && (width * height) % 2 == 0)) { __m64 *pixdst = (__m64 *) gdk_pixbuf_get_pixels (dst); __m64 *pixsrc = (__m64 *) gdk_pixbuf_get_pixels (source); __m64 alpha_mask = _mm_set_pi8 (0xff, 0, 0, 0, 0xff, 0, 0, 0); __m64 twentyfour = _mm_set_pi8 (0, 24, 24, 24, 0, 24, 24, 24); __m64 zero = _mm_setzero_si64 (); for (i = (width * height) >> 1; i > 0; --i) { /* read the source pixel */ __m64 src = *pixsrc; /* remember the two alpha values */ __m64 alpha = _mm_and_si64 (alpha_mask, src); /* extract the hi pixel */ __m64 hi = _mm_unpackhi_pi8 (src, zero); /* extract the lo pixel */ __m64 lo = _mm_unpacklo_pi8 (src, zero); /* add (x >> 3) to x */ hi = _mm_adds_pu16 (hi, _mm_srli_pi16 (hi, 3)); lo = _mm_adds_pu16 (lo, _mm_srli_pi16 (lo, 3)); /* prefetch next value */ __builtin_prefetch (++pixsrc, 0, 1); /* combine the two pixels again */ src = _mm_packs_pu16 (lo, hi); /* add 24 (with saturation) */ src = _mm_adds_pu8 (src, twentyfour); /* drop the alpha channel from the temp color */ src = _mm_andnot_si64 (alpha_mask, src); /* write back the calculated color */ *pixdst = _mm_or_si64 (alpha, src); /* advance the dest pointer */ ++pixdst; } _mm_empty (); } else #endif { guchar *dst_pixels = gdk_pixbuf_get_pixels (dst); guchar *src_pixels = gdk_pixbuf_get_pixels (source); guchar *pixdst; guchar *pixsrc; gint j; for (i = height; --i >= 0; ) { pixdst = dst_pixels + i * dst_row_stride; pixsrc = src_pixels + i * src_row_stride; for (j = width; j > 0; --j) { *pixdst++ = lighten_channel (*pixsrc++); *pixdst++ = lighten_channel (*pixsrc++); *pixdst++ = lighten_channel (*pixsrc++); if (G_LIKELY (has_alpha)) *pixdst++ = *pixsrc++; } } } return dst; } /** * exo_gdk_pixbuf_scale_down: * @source : the source #GdkPixbuf. * @preserve_aspect_ratio : %TRUE to preserve aspect ratio. * @dest_width : the max width for the result. * @dest_height : the max height for the result. * * Scales down the @source to fit into the given @width and * @height. If @aspect_ratio is %TRUE then the aspect ratio * of @source will be preserved. * * If @width is larger than the width of @source and @height * is larger than the height of @source, a reference to * @source will be returned, as it's unneccesary then to * scale down. * * The caller is responsible to free the returned #GdkPixbuf * using g_object_unref() when no longer needed. * * Returns: the resulting #GdkPixbuf. * * Since: 0.3.1.1 **/ GdkPixbuf* exo_gdk_pixbuf_scale_down (GdkPixbuf *source, gboolean preserve_aspect_ratio, gint dest_width, gint dest_height) { gdouble wratio; gdouble hratio; gint source_width; gint source_height; g_return_val_if_fail (GDK_IS_PIXBUF (source), NULL); g_return_val_if_fail (dest_width > 0, NULL); g_return_val_if_fail (dest_height > 0, NULL); source_width = gdk_pixbuf_get_width (source); source_height = gdk_pixbuf_get_height (source); /* check if we need to scale */ if (G_UNLIKELY (source_width <= dest_width && source_height <= dest_height)) return g_object_ref (G_OBJECT (source)); /* check if aspect ratio should be preserved */ if (G_LIKELY (preserve_aspect_ratio)) { /* calculate the new dimensions */ wratio = (gdouble) source_width / (gdouble) dest_width; hratio = (gdouble) source_height / (gdouble) dest_height; if (hratio > wratio) dest_width = rint (source_width / hratio); else dest_height = rint (source_height / wratio); } return gdk_pixbuf_scale_simple (source, MAX (dest_width, 1), MAX (dest_height, 1), GDK_INTERP_BILINEAR); } #define __EXO_GDK_PIXBUF_EXTENSIONS_C__ spacefm-1.0.5/src/exo/exo-gdk-pixbuf-extensions.h000066400000000000000000000045321264770501700217310ustar00rootroot00000000000000/*- * Copyright (c) 2004-2006 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_GDK_PIXBUF_EXTENSIONS_H__ #define __EXO_GDK_PIXBUF_EXTENSIONS_H__ #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS GdkPixbuf *exo_gdk_pixbuf_scale_down (GdkPixbuf *source, gboolean preserve_aspect_ratio, gint dest_width, gint dest_height) G_GNUC_WARN_UNUSED_RESULT; GdkPixbuf *exo_gdk_pixbuf_colorize (const GdkPixbuf *source, const GdkColor *color) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; GdkPixbuf *exo_gdk_pixbuf_spotlight (const GdkPixbuf *source) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; GdkPixbuf *exo_gdk_pixbuf_frame (const GdkPixbuf *source, const GdkPixbuf *frame, gint left_offset, gint top_offset, gint right_offset, gint bottom_offset) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; G_END_DECLS #endif /* !__EXO_GDK_PIXBUF_EXTENSIONS_H__ */ spacefm-1.0.5/src/exo/exo-gtk-extensions.c000066400000000000000000000125061264770501700204510ustar00rootroot00000000000000/*- * Copyright (c) 2004-2006 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ //sfm-gtk3 #include #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "exo-gtk-extensions.h" #include "exo-private.h" #include "exo-thumbnail-preview.h" /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ /** * SECTION: exo-gtk-extensions * @title: Extensions to Gtk+ * @short_description: Miscelleanous extensions to the Gtk+ library * @include: exo/exo.h * * Various additional functions to the core API provided by the Gtk+ library. * * For example, exo_gtk_file_chooser_add_thumbnail_preview() is a * convenience method to add a thumbnail based preview widget to a * #GtkFileChooser, which will display a preview of the selected file if * either a thumbnail is available or a thumbnail could be generated using * the GdkPixbuf library. **/ static void update_preview (GtkFileChooser *chooser, ExoThumbnailPreview *thumbnail_preview) { gchar *uri; _exo_return_if_fail (EXO_IS_THUMBNAIL_PREVIEW (thumbnail_preview)); _exo_return_if_fail (GTK_IS_FILE_CHOOSER (chooser)); /* Update the URI for the preview */ uri = gtk_file_chooser_get_preview_uri (chooser); if (G_UNLIKELY (uri == NULL)) { /* Gee, why is there a get_preview_uri() method if * it doesn't work in several cases? did anybody ever * test this method prior to committing it? */ uri = gtk_file_chooser_get_uri (chooser); } /* This code is still ran when the file chooser is apparently not ready to * provide either the preview URI or the real file URI - however I can't * ignore this as sometimes it is genuine (there are no files in the * directory and therefore the preview needs to be reset) - therefore * letting it through */ _exo_thumbnail_preview_set_uri (thumbnail_preview, uri); g_free (uri); /* Indicating to GTK that we can successfully preview this file (since the * filter is on Image Files we should be able to deal with everything) */ gtk_file_chooser_set_preview_widget_active (chooser, TRUE); } /** * exo_gtk_file_chooser_add_thumbnail_preview: * @chooser : a #GtkFileChooser. * * This is a convenience function that adds a preview widget to the @chooser, * which displays thumbnails for the selected filenames using the thumbnail * database. The preview widget is also able to generate thumbnails for all * image formats supported by #GdkPixbuf. * * Use this function whenever you display a #GtkFileChooser to ask the user * to select an image file from the file system. * * The preview widget also supports URIs other than file:-URIs to a certain * degree, but this support is rather limited currently, so you may want to * use gtk_file_chooser_set_local_only() to ensure that the user can only * select files from the local file system. * * When @chooser is configured to select multiple image files - using the * gtk_file_chooser_set_select_multiple() method - the behaviour of the * preview widget is currently undefined, in that it is not defined for * which of the selected files the preview will be displayed. * * Since: 0.3.1.9 **/ void exo_gtk_file_chooser_add_thumbnail_preview (GtkFileChooser *chooser) { GtkWidget *thumbnail_preview; g_return_if_fail (GTK_IS_FILE_CHOOSER (chooser)); /* Add the preview to the file chooser */ thumbnail_preview = _exo_thumbnail_preview_new (); gtk_file_chooser_set_preview_widget (chooser, thumbnail_preview); gtk_file_chooser_set_preview_widget_active (chooser, TRUE); gtk_file_chooser_set_use_preview_label (chooser, FALSE); gtk_widget_show (thumbnail_preview); /* Update the preview as necessary. Note that the 'update-preview' signal * only fires after the initial image load happens, and forcing an update * right now is too early, the preview URI and file URI come back NULL - the * only signal that seems to do the job is 'selection-changed' */ g_signal_connect (G_OBJECT (chooser), "selection-changed", G_CALLBACK (update_preview), thumbnail_preview); /* Initially update the preview, in case the file chooser is already set up. * Keeping this here inspite the above comment as this is supposed to be * generic code, shouldn't be tied to the specific circumstances of the icon * chooser dialog */ update_preview (chooser, EXO_THUMBNAIL_PREVIEW (thumbnail_preview)); } #define __EXO_GTK_EXTENSIONS_C__ spacefm-1.0.5/src/exo/exo-gtk-extensions.h000066400000000000000000000023321264770501700204520ustar00rootroot00000000000000/*- * Copyright (c) 2004-2006 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_GTK_EXTENSIONS_H__ #define __EXO_GTK_EXTENSIONS_H__ #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS void exo_gtk_file_chooser_add_thumbnail_preview (GtkFileChooser *chooser); G_END_DECLS #endif /* !__EXO_GTK_EXTENSIONS_H__ */ spacefm-1.0.5/src/exo/exo-icon-chooser-dialog.c000066400000000000000000001012411264770501700213070ustar00rootroot00000000000000/*- * Copyright (c) 2005-2006 Benedikt Meurer * Copyright (c) 2015 OmegaPhil * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ //sfm-gtk3 #include #include "gtk2-compat.h" #include #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_MEMORY_H #include #endif #ifdef HAVE_STDARG_H #include #endif #ifdef HAVE_STRING_H #include #endif /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ #include #include "exo-binding.h" #include "exo-cell-renderer-ellipsized-text.h" #include "exo-cell-renderer-icon.h" #include "exo-gtk-extensions.h" #include "exo-icon-chooser-dialog.h" #include "exo-icon-chooser-model.h" #include "exo-icon-view.h" #include "exo-string.h" #include "exo-private.h" /** * SECTION: exo-icon-chooser-dialog * @title: ExoIconChooserDialog * @short_description: Dialog to select icons * @include: exo/exo.h * @see_also: * GtkIconTheme * * The #ExoIconChooserDialog class provides an easy to use dialog to ask * the user to select either a named icon from the selected icon theme, * or an image file from the local file system. **/ #define EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ EXO_TYPE_ICON_CHOOSER_DIALOG, ExoIconChooserDialogPrivate)) static void exo_icon_chooser_dialog_finalize (GObject *object); static void exo_icon_chooser_dialog_style_set (GtkWidget *widget, GtkStyle *previous_style); static void exo_icon_chooser_dialog_screen_changed (GtkWidget *widget, GdkScreen *previous_screen); static void exo_icon_chooser_dialog_close (GtkDialog *dialog); static void exo_icon_chooser_dialog_set_model (ExoIconChooserDialog *dialog); static gboolean exo_icon_chooser_dialog_separator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static gboolean exo_icon_chooser_dialog_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static gboolean exo_icon_chooser_dialog_start_interactive_search (ExoIconChooserDialog *icon_chooser_dialog); static void exo_icon_chooser_dialog_combo_changed (GtkWidget *combo, ExoIconChooserDialog *icon_chooser_dialog); static void exo_icon_chooser_dialog_entry_changed (GtkWidget *entry, ExoIconChooserDialog *icon_chooser_dialog); #if GTK_CHECK_VERSION (2, 16, 0) static void exo_icon_chooser_dialog_entry_clear (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event); #endif static void exo_icon_chooser_dialog_selection_changed (ExoIconChooserDialog *icon_chooser_dialog); static gboolean exo_icon_chooser_dialog_button_press_event (ExoIconChooserDialog *icon_chooser_dialog, GdkEvent *event, gpointer *user_data); struct _ExoIconChooserDialogPrivate { GtkWidget *combo; GtkWidget *filter_entry; GtkWidget *icon_chooser; GtkWidget *file_chooser; GtkWidget *file_preview; gchar *casefolded_text; }; static const gchar CONTEXT_TITLES[][28] = { /* EXO_ICON_CHOOSER_CONTEXT_ACTIONS */ N_("Action Icons"), /* EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS */ N_("Animations"), /* EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS */ N_("Application Icons"), /* EXO_ICON_CHOOSER_CONTEXT_CATEGORIES */ N_("Menu Icons"), /* EXO_ICON_CHOOSER_CONTEXT_DEVICES */ N_("Device Icons"), /* EXO_ICON_CHOOSER_CONTEXT_EMBLEMS */ N_("Emblems"), /* EXO_ICON_CHOOSER_CONTEXT_EMOTES */ N_("Emoticons"), /* EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL */ N_("International Denominations"), /* EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES */ N_("File Type Icons"), /* EXO_ICON_CHOOSER_CONTEXT_PLACES */ N_("Location Icons"), /* EXO_ICON_CHOOSER_CONTEXT_STATUS */ N_("Status Icons"), /* EXO_ICON_CHOOSER_CONTEXT_OTHER */ N_("Uncategorized Icons"), /* separator */ "#", /* EXO_ICON_CHOOSER_CONTEXT_ALL */ N_("All Icons"), /* separator */ "#", /* EXO_ICON_CHOOSER_CONTEXT_FILE */ N_("Image Files"), }; G_DEFINE_TYPE (ExoIconChooserDialog, exo_icon_chooser_dialog, GTK_TYPE_DIALOG) static void exo_icon_chooser_dialog_class_init (ExoIconChooserDialogClass *klass) { GObjectClass *gobject_class; GtkDialogClass *gtkdialog_class; GtkWidgetClass *gtkwidget_class; GtkBindingSet *binding_set; /* add our private data to the type's instances */ g_type_class_add_private (klass, sizeof (ExoIconChooserDialogPrivate)); gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = exo_icon_chooser_dialog_finalize; gtkwidget_class = GTK_WIDGET_CLASS (klass); gtkwidget_class->style_set = exo_icon_chooser_dialog_style_set; gtkwidget_class->screen_changed = exo_icon_chooser_dialog_screen_changed; gtkdialog_class = GTK_DIALOG_CLASS (klass); gtkdialog_class->close = exo_icon_chooser_dialog_close; /* connect additional key bindings to the GtkDialog::close action signal */ binding_set = gtk_binding_set_by_class (klass); gtk_binding_entry_add_signal (binding_set, GDK_KEY_w, GDK_CONTROL_MASK, "close", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_W, GDK_CONTROL_MASK, "close", 0); } static void exo_icon_chooser_dialog_init (ExoIconChooserDialog *icon_chooser_dialog) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (icon_chooser_dialog); ExoIconChooserContext context; GtkCellRenderer *renderer; GtkFileFilter *filter; GtkWidget *scrolled_window; GtkWidget *label; GtkWidget *table; GtkWidget *vbox; gtk_window_set_default_size (GTK_WINDOW (icon_chooser_dialog), 780, 560); gtk_widget_push_composite_child (); /* add the main box */ vbox = gtk_vbox_new (FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area(GTK_DIALOG (icon_chooser_dialog) )), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); /* add the header table */ table = gtk_table_new (2, 2, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 12); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); /* setup the context combo box */ label = gtk_label_new_with_mnemonic (_("Select _icon from:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (label); priv->combo = gtk_combo_box_text_new (); for (context = 0; context < G_N_ELEMENTS (CONTEXT_TITLES); ++context) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (priv->combo), _(CONTEXT_TITLES[context])); gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (priv->combo), exo_icon_chooser_dialog_separator_func, icon_chooser_dialog, NULL); g_signal_connect (G_OBJECT (priv->combo), "changed", G_CALLBACK (exo_icon_chooser_dialog_combo_changed), icon_chooser_dialog); gtk_table_attach (GTK_TABLE (table), priv->combo, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), priv->combo); gtk_widget_show (priv->combo); /* search filter */ label = gtk_label_new_with_mnemonic (_("_Search icon:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); priv->filter_entry = gtk_entry_new (); exo_binding_new (G_OBJECT (priv->filter_entry), "visible", G_OBJECT (label), "visible"); gtk_table_attach (GTK_TABLE (table), priv->filter_entry, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), priv->filter_entry); g_signal_connect (G_OBJECT (priv->filter_entry), "changed", G_CALLBACK (exo_icon_chooser_dialog_entry_changed), icon_chooser_dialog); #if GTK_CHECK_VERSION (2, 16, 0) gtk_entry_set_icon_from_stock (GTK_ENTRY (priv->filter_entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR); gtk_entry_set_icon_tooltip_text (GTK_ENTRY (priv->filter_entry), GTK_ENTRY_ICON_SECONDARY, _("Clear search field")); gtk_entry_set_icon_sensitive (GTK_ENTRY (priv->filter_entry), GTK_ENTRY_ICON_SECONDARY, FALSE); g_signal_connect (G_OBJECT (priv->filter_entry), "icon-release", G_CALLBACK (exo_icon_chooser_dialog_entry_clear), NULL); #endif /* setup the scrolled window for the icon chooser */ scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0); gtk_widget_show (scrolled_window); /* setup the icon chooser (shown by default) */ priv->icon_chooser = exo_icon_view_new (); exo_binding_new (G_OBJECT (priv->icon_chooser), "visible", G_OBJECT (scrolled_window), "visible"); g_signal_connect_swapped (priv->icon_chooser, "button-press-event", G_CALLBACK (exo_icon_chooser_dialog_button_press_event), icon_chooser_dialog); g_signal_connect_swapped (priv->icon_chooser, "item-activated", G_CALLBACK (gtk_window_activate_default), icon_chooser_dialog); g_signal_connect_swapped (priv->icon_chooser, "selection-changed", G_CALLBACK (exo_icon_chooser_dialog_selection_changed), icon_chooser_dialog); g_signal_connect_swapped (priv->icon_chooser, "start-interactive-search", G_CALLBACK (exo_icon_chooser_dialog_start_interactive_search), icon_chooser_dialog); gtk_container_add (GTK_CONTAINER (scrolled_window), priv->icon_chooser); gtk_window_set_focus (GTK_WINDOW (icon_chooser_dialog), priv->icon_chooser); gtk_widget_show (priv->icon_chooser); /* setup the icon renderer */ renderer = exo_cell_renderer_icon_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->icon_chooser), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->icon_chooser), renderer, "icon", EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME, NULL); /* Setup the text renderer - note that the follow-state functionality is what * sets this apart from the standard GtkCellRendererText (when true the icon * labels are also highlighted when the icon is selected), there is no * ellipsizing going on */ renderer = g_object_new (EXO_TYPE_CELL_RENDERER_ELLIPSIZED_TEXT, "follow-state", TRUE, "wrap-mode", PANGO_WRAP_WORD_CHAR, "wrap-width", 104, "xalign", 0.5f, "yalign", 0.0f, NULL); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->icon_chooser), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->icon_chooser), renderer, "text", EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME, NULL); /* Setup the file chooser (hidden by default), and save a reference to the * preview widget */ priv->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN); gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (priv->file_chooser), TRUE); exo_gtk_file_chooser_add_thumbnail_preview (GTK_FILE_CHOOSER (priv->file_chooser)); priv->file_preview = gtk_file_chooser_get_preview_widget ( GTK_FILE_CHOOSER (priv->file_chooser)); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (priv->file_chooser), DATADIR G_DIR_SEPARATOR_S "pixmaps"); g_signal_connect_swapped (priv->file_chooser, "file-activated", G_CALLBACK (gtk_window_activate_default), icon_chooser_dialog); g_signal_connect_swapped (priv->file_chooser, "selection-changed", G_CALLBACK (exo_icon_chooser_dialog_selection_changed), icon_chooser_dialog); gtk_box_pack_start (GTK_BOX (vbox), priv->file_chooser, TRUE, TRUE, 0); /* add file chooser filters */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Image Files")); gtk_file_filter_add_pixbuf_formats (filter); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (priv->file_chooser), filter); gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (priv->file_chooser), filter); /* update the model */ exo_icon_chooser_dialog_set_model (icon_chooser_dialog); // Default to "All Icons" gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combo), EXO_ICON_CHOOSER_CONTEXT_ALL); gtk_widget_pop_composite_child (); } static void exo_icon_chooser_dialog_finalize (GObject *object) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (object); g_free (priv->casefolded_text); (*G_OBJECT_CLASS (exo_icon_chooser_dialog_parent_class)->finalize) (object); } static void exo_icon_chooser_dialog_style_set (GtkWidget *widget, GtkStyle *previous_style) { /* call the parent's style_set method */ if (GTK_WIDGET_CLASS (exo_icon_chooser_dialog_parent_class)->style_set != NULL) (*GTK_WIDGET_CLASS (exo_icon_chooser_dialog_parent_class)->style_set) (widget, previous_style); /* update the model */ exo_icon_chooser_dialog_set_model (EXO_ICON_CHOOSER_DIALOG (widget)); } static void exo_icon_chooser_dialog_screen_changed (GtkWidget *widget, GdkScreen *previous_screen) { /* call the parent's screen_changed method */ if (GTK_WIDGET_CLASS (exo_icon_chooser_dialog_parent_class)->screen_changed != NULL) (*GTK_WIDGET_CLASS (exo_icon_chooser_dialog_parent_class)->screen_changed) (widget, previous_screen); /* update the model */ exo_icon_chooser_dialog_set_model (EXO_ICON_CHOOSER_DIALOG (widget)); } static void exo_icon_chooser_dialog_close (GtkDialog *dialog) { GdkEvent *event; /* verify that the dialog is realized */ if (G_LIKELY (gtk_widget_get_realized ( GTK_WIDGET (dialog)))) { /* send a delete event to the dialog */ event = gdk_event_new (GDK_DELETE); event->any.window = g_object_ref (gtk_widget_get_window (GTK_WIDGET (dialog))); event->any.send_event = TRUE; gtk_main_do_event (event); gdk_event_free (event); } } static void exo_icon_chooser_dialog_set_model (ExoIconChooserDialog *dialog) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (dialog); ExoIconChooserModel *model; GtkTreeModel *filter; /* determine the icon chooser model for the widget */ model = _exo_icon_chooser_model_get_for_widget (GTK_WIDGET (dialog)); /* check if we have a new model here */ filter = exo_icon_view_get_model (EXO_ICON_VIEW (priv->icon_chooser)); if (filter == NULL || GTK_TREE_MODEL (model) != gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (filter))) { /* setup a new filter for the model */ filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (model), NULL); gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (filter), exo_icon_chooser_dialog_visible_func, dialog, NULL); exo_icon_view_set_model (EXO_ICON_VIEW (priv->icon_chooser), filter); g_object_unref (G_OBJECT (filter)); /* enable search on the display name */ exo_icon_view_set_search_column (EXO_ICON_VIEW (priv->icon_chooser), EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME); } g_object_unref (G_OBJECT (model)); } static gboolean exo_icon_chooser_dialog_separator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean separator; gchar *title; /* check if we have a separator here */ gtk_tree_model_get (model, iter, 0, &title, -1); separator = (title[0] == '#' && title[1] == '\0'); g_free (title); return separator; } static gboolean exo_icon_chooser_dialog_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (user_data); guint icon_chooser_context; guint item_context; gchar *normalized; gchar *name; gchar *name_casefolded; gboolean visible; /* check if we need to test the context */ icon_chooser_context = gtk_combo_box_get_active (GTK_COMBO_BOX (priv->combo)); if (G_LIKELY (icon_chooser_context < EXO_ICON_CHOOSER_CONTEXT_ALL)) { /* determine the context for the iter... */ gtk_tree_model_get (model, iter, EXO_ICON_CHOOSER_MODEL_COLUMN_CONTEXT, &item_context, -1); /* ...and compare them */ if (icon_chooser_context != item_context) return FALSE; } /* filter by string */ if (priv->casefolded_text != NULL) { gtk_tree_model_get (model, iter, EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME, &name, -1); /* casefold the name */ normalized = g_utf8_normalize (name, -1, G_NORMALIZE_ALL); g_free (name); name_casefolded = g_utf8_casefold (normalized, -1); g_free (normalized); visible = (strstr (name_casefolded, priv->casefolded_text) != NULL); g_free (name_casefolded); return visible; } /* all icons should be shown */ return TRUE; } static gboolean exo_icon_chooser_dialog_start_interactive_search (ExoIconChooserDialog *icon_chooser_dialog) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (icon_chooser_dialog); gtk_window_set_focus (GTK_WINDOW (icon_chooser_dialog), priv->filter_entry); return TRUE; } static void exo_icon_chooser_dialog_combo_changed (GtkWidget *combo, ExoIconChooserDialog *icon_chooser_dialog) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (icon_chooser_dialog); ExoIconChooserContext context; GtkTreeModel *model; GList *selected_items; /* determine the new active context */ context = gtk_combo_box_get_active (GTK_COMBO_BOX (combo)); if (context <= EXO_ICON_CHOOSER_CONTEXT_ALL) { /* hide the file chooser/show the icon chooser */ gtk_widget_hide (priv->file_chooser); gtk_widget_show (priv->icon_chooser); gtk_widget_show (priv->filter_entry); /* need to re-filter with the new context */ model = exo_icon_view_get_model (EXO_ICON_VIEW (priv->icon_chooser)); if (G_LIKELY (model != NULL)) gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (model)); /* check if the icon chooser has a selected item */ selected_items = exo_icon_view_get_selected_items (EXO_ICON_VIEW (priv->icon_chooser)); if (G_LIKELY (selected_items != NULL)) { /* make sure the selected item is visible */ exo_icon_view_scroll_to_path (EXO_ICON_VIEW (priv->icon_chooser), selected_items->data, FALSE, 0.0f, 0.0f); g_list_foreach (selected_items, (GFunc) gtk_tree_path_free, NULL); g_list_free (selected_items); } } else { /* show the file chooser/hide the icon chooser */ gtk_widget_show (priv->file_chooser); gtk_widget_hide (priv->icon_chooser); gtk_widget_hide (priv->filter_entry); } /* we certainly changed the selection this way */ exo_icon_chooser_dialog_selection_changed (icon_chooser_dialog); } static void exo_icon_chooser_dialog_entry_changed (GtkWidget *combo, ExoIconChooserDialog *icon_chooser_dialog) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (icon_chooser_dialog); const gchar *text; gchar *normalized; GtkTreeModel *model; g_free (priv->casefolded_text); priv->casefolded_text = NULL; text = gtk_entry_get_text (GTK_ENTRY (priv->filter_entry)); if (!exo_str_is_empty (text)) { /* case fold the search string */ normalized = g_utf8_normalize (text, -1, G_NORMALIZE_ALL); priv->casefolded_text = g_utf8_casefold (normalized, -1); g_free (normalized); } #if GTK_CHECK_VERSION (2, 16, 0) gtk_entry_set_icon_sensitive (GTK_ENTRY (priv->filter_entry), GTK_ENTRY_ICON_SECONDARY, !exo_str_is_empty (text)); #endif model = exo_icon_view_get_model (EXO_ICON_VIEW (priv->icon_chooser)); if (G_LIKELY (model != NULL)) gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (model)); } #if GTK_CHECK_VERSION (2, 16, 0) static void exo_icon_chooser_dialog_entry_clear (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event) { if (icon_pos == GTK_ENTRY_ICON_SECONDARY) gtk_entry_set_text (entry, ""); } #endif static gboolean exo_icon_chooser_dialog_button_press_event (ExoIconChooserDialog *icon_chooser_dialog, GdkEvent *event, gpointer *user_data) { // On double-click, accept the selected icon if (event->type == GDK_2BUTTON_PRESS) gtk_dialog_response(GTK_DIALOG (icon_chooser_dialog), GTK_RESPONSE_ACCEPT); // Allow other event handlers to proceed return FALSE; } static void exo_icon_chooser_dialog_selection_changed (ExoIconChooserDialog *icon_chooser_dialog) { gchar *icon; /* check if we have a valid icon in the chooser */ icon = exo_icon_chooser_dialog_get_icon (icon_chooser_dialog); /* update all response-ids that we recognize */ gtk_dialog_set_response_sensitive (GTK_DIALOG (icon_chooser_dialog), GTK_RESPONSE_ACCEPT, (icon != NULL)); gtk_dialog_set_response_sensitive (GTK_DIALOG (icon_chooser_dialog), GTK_RESPONSE_APPLY, (icon != NULL)); gtk_dialog_set_response_sensitive (GTK_DIALOG (icon_chooser_dialog), GTK_RESPONSE_OK, (icon != NULL)); gtk_dialog_set_response_sensitive (GTK_DIALOG (icon_chooser_dialog), GTK_RESPONSE_YES, (icon != NULL)); /* cleanup */ g_free (icon); } /** * exo_icon_chooser_dialog_new: * @title : title of the dialog, or %NULL. * @parent : transient parent of the dialog, or %NULL. * @first_button_text : stock-id or text to go in the first button, or %NULL. * @... : response-id for the first button, then additional (button, id) pairs, * ending with %NULL. * * Creates a new #ExoIconChooserDialog. This function is analogous to gtk_dialog_new_with_buttons(). * * Returns: a new #ExoIconChooserDialog. * * Since: 0.3.1.9 **/ GtkWidget* exo_icon_chooser_dialog_new (const gchar *title, GtkWindow *parent, const gchar *first_button_text, ...) { const gchar *button_text; GtkWidget *dialog; va_list var_args; g_return_val_if_fail (parent == NULL || GTK_IS_WINDOW (parent), NULL); dialog = g_object_new (EXO_TYPE_ICON_CHOOSER_DIALOG, #if GTK_CHECK_VERSION (3, 0, 0) #else "has-separator", FALSE, #endif "title", title, NULL); if (G_LIKELY (parent != NULL)) { gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); gtk_window_set_modal (GTK_WINDOW (dialog), gtk_window_get_modal (parent)); gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); } va_start (var_args, first_button_text); for (button_text = first_button_text; button_text != NULL; button_text = va_arg (var_args, const gchar *)) gtk_dialog_add_button (GTK_DIALOG (dialog), button_text, va_arg (var_args, gint)); va_end (var_args); return dialog; } /** * exo_icon_chooser_dialog_get_icon: * @icon_chooser_dialog : an #ExoIconChooserDialog. * * Returns the currently selected icon for the @icon_chooser_dialog. The selected icon can be either * a named icon (from the active icon theme) or the absolute path to an image file in the file system. * You can distinguish between those two icon types using the g_path_is_absolute() function. If no * icon is currently selected, %NULL will be returned. * * The caller is responsible to free the returned string using g_free() when no longer needed. * * Returns: the currently selected icon for @icon_chooser_dialog or %NULL if no icon is selected. * * Since: 0.3.1.9 **/ gchar* exo_icon_chooser_dialog_get_icon (ExoIconChooserDialog *icon_chooser_dialog) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (icon_chooser_dialog); GtkTreeModel *model; GtkTreeIter iter; GList *selected_items; gchar *icon = NULL; g_return_val_if_fail (EXO_IS_ICON_CHOOSER_DIALOG (icon_chooser_dialog), NULL); /* determine the active context for the chooser */ if (gtk_combo_box_get_active (GTK_COMBO_BOX (priv->combo)) <= EXO_ICON_CHOOSER_CONTEXT_ALL) { /* user is selecting a named icon, check if atleast one selected */ selected_items = exo_icon_view_get_selected_items (EXO_ICON_VIEW (priv->icon_chooser)); if (G_LIKELY (selected_items != NULL)) { /* determine the name of the first selected icon */ model = exo_icon_view_get_model (EXO_ICON_VIEW (priv->icon_chooser)); if (gtk_tree_model_get_iter (model, &iter, selected_items->data)) gtk_tree_model_get (model, &iter, EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME, &icon, -1); /* release the list of selected items */ g_list_foreach (selected_items, (GFunc) gtk_tree_path_free, NULL); g_list_free (selected_items); } } else { /* user is selecting an image file, so just return the absolute path to the image file */ icon = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (priv->file_chooser)); if (icon != NULL && gdk_pixbuf_get_file_info (icon, NULL, NULL) == NULL) { /* whatever the user selected, it's not an icon that we support */ g_free (icon); icon = NULL; } } return icon; } /** * exo_icon_chooser_dialog_set_icon: * @icon_chooser_dialog : an #ExoIconChooserDialog. * @icon : the themed icon or the absolute path to an image file to select. * * Preselects the specified @icon in the @icon_chooser_dialog, and returns %TRUE if the * @icon was successfully selected. * * Returns: %TRUE if the @icon was successfully preselected in the @icon_chooser_dialog, * %FALSE otherwise. * * Since: 0.3.1.9 **/ gboolean exo_icon_chooser_dialog_set_icon (ExoIconChooserDialog *icon_chooser_dialog, const gchar *icon) { ExoIconChooserDialogPrivate *priv = EXO_ICON_CHOOSER_DIALOG_GET_PRIVATE (icon_chooser_dialog); GtkTreeModel *filter; GtkTreeModel *model; GtkTreePath *filter_path; GtkTreePath *model_path; GtkTreeIter model_iter; guint context; g_return_val_if_fail (EXO_IS_ICON_CHOOSER_DIALOG (icon_chooser_dialog), FALSE); g_return_val_if_fail (icon != NULL, FALSE); /* check if we have a file or a named icon here */ if (g_path_is_absolute (icon)) { /* try to select the filename in the file chooser */ if (gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (priv->file_chooser), icon)) { /* need to display the file chooser with the newly selected filename */ gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combo), EXO_ICON_CHOOSER_CONTEXT_FILE); return TRUE; } } else { /* determine the real model and the filter for the model */ filter = exo_icon_view_get_model (EXO_ICON_VIEW (priv->icon_chooser)); model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (filter)); /* lookup the named icon in the model */ if (_exo_icon_chooser_model_get_iter_for_icon_name (EXO_ICON_CHOOSER_MODEL (model), &model_iter, icon)) { /* determine the path for the iterator in the real model */ model_path = gtk_tree_model_get_path (model, &model_iter); if (G_LIKELY (model_path != NULL)) { /* translate the path in the real model to a path in the filter */ filter_path = gtk_tree_model_filter_convert_child_path_to_path (GTK_TREE_MODEL_FILTER (filter), model_path); if (G_UNLIKELY (filter_path == NULL)) { /* determine the context for the iterator in the real model */ gtk_tree_model_get (model, &model_iter, EXO_ICON_CHOOSER_MODEL_COLUMN_CONTEXT, &context, -1); /* switch the filter to the context for the item at the real iter */ gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combo), context); /* now we should be able to determine the filter path */ filter_path = gtk_tree_model_filter_convert_child_path_to_path (GTK_TREE_MODEL_FILTER (filter), model_path); } /* check if we have a valid path in the filter */ if (G_LIKELY (filter_path != NULL)) { /* select the icon and place the cursor on the newly selected icon */ exo_icon_view_select_path (EXO_ICON_VIEW (priv->icon_chooser), filter_path); exo_icon_view_set_cursor (EXO_ICON_VIEW (priv->icon_chooser), filter_path, NULL, FALSE); gtk_tree_path_free (filter_path); } /* release the path in the real model */ gtk_tree_path_free (model_path); /* the icon was successfully selected if we have a filter path */ return (filter_path != NULL); } } } return FALSE; } #define __EXO_ICON_CHOOSER_DIALOG_C__ spacefm-1.0.5/src/exo/exo-icon-chooser-dialog.h000066400000000000000000000061341264770501700213210ustar00rootroot00000000000000/*- * Copyright (c) 2005-2006 Benedikt Meurer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_ICON_CHOOSER_DIALOG_H__ #define __EXO_ICON_CHOOSER_DIALOG_H__ #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS typedef struct _ExoIconChooserDialogPrivate ExoIconChooserDialogPrivate; typedef struct _ExoIconChooserDialogClass ExoIconChooserDialogClass; typedef struct _ExoIconChooserDialog ExoIconChooserDialog; #define EXO_TYPE_ICON_CHOOSER_DIALOG (exo_icon_chooser_dialog_get_type ()) #define EXO_ICON_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXO_TYPE_ICON_CHOOSER_DIALOG, ExoIconChooserDialog)) #define EXO_ICON_CHOOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXO_TYPE_ICON_CHOOSER_DIALOG, ExoIconChooserDialogClass)) #define EXO_IS_ICON_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXO_TYPE_ICON_CHOOSER_DIALOG)) #define EXO_IS_ICON_CHOOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXO_TYPE_ICON_CHOOSER_DIALOG)) #define EXO_ICON_CHOOSER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXO_TYPE_ICON_CHOOSER_DIALOG, ExoIconChooserDialogClass)) struct _ExoIconChooserDialogClass { /*< private >*/ GtkDialogClass __parent__; /* reserved for future expansion */ void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); void (*reserved4) (void); void (*reserved5) (void); void (*reserved6) (void); }; struct _ExoIconChooserDialog { /*< private >*/ GtkDialog __parent__; }; GType exo_icon_chooser_dialog_get_type (void) G_GNUC_CONST; GtkWidget *exo_icon_chooser_dialog_new (const gchar *title, GtkWindow *parent, const gchar *first_button_text, ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT; gchar *exo_icon_chooser_dialog_get_icon (ExoIconChooserDialog *icon_chooser_dialog) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; gboolean exo_icon_chooser_dialog_set_icon (ExoIconChooserDialog *icon_chooser_dialog, const gchar *icon); G_END_DECLS #endif /* !__EXO_ICON_CHOOSER_DIALOG_H__ */ spacefm-1.0.5/src/exo/exo-icon-chooser-model.c000066400000000000000000000612441264770501700211600ustar00rootroot00000000000000/*- * Copyright (c) 2005-2006 Benedikt Meurer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_MEMORY_H #include #endif #ifdef HAVE_STRING_H #include #endif /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ #include "exo-icon-chooser-model.h" #include "exo-private.h" #include "exo-string.h" typedef struct _ExoIconChooserModelItem ExoIconChooserModelItem; static void exo_icon_chooser_model_tree_model_init (GtkTreeModelIface *iface); static void exo_icon_chooser_model_finalize (GObject *object); static GtkTreeModelFlags exo_icon_chooser_model_get_flags (GtkTreeModel *tree_model); static gint exo_icon_chooser_model_get_n_columns (GtkTreeModel *tree_model); static GType exo_icon_chooser_model_get_column_type (GtkTreeModel *tree_model, gint idx); static gboolean exo_icon_chooser_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path); static GtkTreePath *exo_icon_chooser_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter); static void exo_icon_chooser_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value); static gboolean exo_icon_chooser_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter); static gboolean exo_icon_chooser_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); static gboolean exo_icon_chooser_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter); static gint exo_icon_chooser_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter); static gboolean exo_icon_chooser_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n); static gboolean exo_icon_chooser_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child); static void exo_icon_chooser_model_icon_theme_changed (GtkIconTheme *icon_theme, ExoIconChooserModel *model); static void exo_icon_chooser_model_item_to_list (gpointer key, gpointer value, gpointer data); static void exo_icon_chooser_model_item_free (gpointer data); struct _ExoIconChooserModelClass { GObjectClass __parent__; }; struct _ExoIconChooserModel { GObject __parent__; GtkIconTheme *icon_theme; GList *items; gint stamp; }; struct _ExoIconChooserModelItem { gchar *icon_name; ExoIconChooserContext context; /* storage for symlink icons merge */ GtkIconInfo *icon_info; /* icon names of symlinks to this item */ GPtrArray *other_names; }; static const gchar CONTEXT_NAMES[][14] = { "Actions", /* EXO_ICON_CHOOSER_CONTEXT_ACTIONS */ "Animations", /* EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS */ "Applications", /* EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS */ "Categories", /* EXO_ICON_CHOOSER_CONTEXT_CATEGORIES */ "Devices", /* EXO_ICON_CHOOSER_CONTEXT_DEVICES */ "Emblems", /* EXO_ICON_CHOOSER_CONTEXT_EMBLEMS */ "Emotes", /* EXO_ICON_CHOOSER_CONTEXT_EMOTES */ "International", /* EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL */ "MimeTypes", /* EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES */ "Places", /* EXO_ICON_CHOOSER_CONTEXT_PLACES */ "Status", /* EXO_ICON_CHOOSER_CONTEXT_STATUS */ }; G_DEFINE_TYPE_WITH_CODE (ExoIconChooserModel, exo_icon_chooser_model, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, exo_icon_chooser_model_tree_model_init)) static void exo_icon_chooser_model_class_init (ExoIconChooserModelClass *klass) { GObjectClass *gobject_class; gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = exo_icon_chooser_model_finalize; } static void exo_icon_chooser_model_tree_model_init (GtkTreeModelIface *iface) { iface->get_flags = exo_icon_chooser_model_get_flags; iface->get_n_columns = exo_icon_chooser_model_get_n_columns; iface->get_column_type = exo_icon_chooser_model_get_column_type; iface->get_iter = exo_icon_chooser_model_get_iter; iface->get_path = exo_icon_chooser_model_get_path; iface->get_value = exo_icon_chooser_model_get_value; iface->iter_next = exo_icon_chooser_model_iter_next; iface->iter_children = exo_icon_chooser_model_iter_children; iface->iter_has_child = exo_icon_chooser_model_iter_has_child; iface->iter_n_children = exo_icon_chooser_model_iter_n_children; iface->iter_nth_child = exo_icon_chooser_model_iter_nth_child; iface->iter_parent = exo_icon_chooser_model_iter_parent; } static void exo_icon_chooser_model_init (ExoIconChooserModel *model) { model->stamp = g_random_int (); } static void exo_icon_chooser_model_finalize (GObject *object) { ExoIconChooserModel *model = EXO_ICON_CHOOSER_MODEL (object); /* check if we're connected to an icon theme */ if (G_LIKELY (model->icon_theme != NULL)) { /* disconnect from the icon theme */ g_signal_handlers_disconnect_by_func (G_OBJECT (model->icon_theme), exo_icon_chooser_model_icon_theme_changed, model); g_object_set_data (G_OBJECT (model->icon_theme), "exo-icon-chooser-default-model", NULL); g_object_unref (G_OBJECT (model->icon_theme)); } /* release all items */ g_list_foreach (model->items, (GFunc) exo_icon_chooser_model_item_free, NULL); g_list_free (model->items); (*G_OBJECT_CLASS (exo_icon_chooser_model_parent_class)->finalize) (object); } static GtkTreeModelFlags exo_icon_chooser_model_get_flags (GtkTreeModel *tree_model) { return GTK_TREE_MODEL_ITERS_PERSIST | GTK_TREE_MODEL_LIST_ONLY; } static gint exo_icon_chooser_model_get_n_columns (GtkTreeModel *tree_model) { return EXO_ICON_CHOOSER_MODEL_N_COLUMNS; } static GType exo_icon_chooser_model_get_column_type (GtkTreeModel *tree_model, gint idx) { switch (idx) { case EXO_ICON_CHOOSER_MODEL_COLUMN_CONTEXT: return G_TYPE_UINT; case EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME: return G_TYPE_STRING; } _exo_assert_not_reached (); return G_TYPE_INVALID; } static gboolean exo_icon_chooser_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path) { ExoIconChooserModel *model = EXO_ICON_CHOOSER_MODEL (tree_model); GList *lp; _exo_return_val_if_fail (EXO_IS_ICON_CHOOSER_MODEL (model), FALSE); _exo_return_val_if_fail (gtk_tree_path_get_depth (path) > 0, FALSE); /* determine the list item for the path */ lp = g_list_nth (model->items, gtk_tree_path_get_indices (path)[0]); if (G_LIKELY (lp != NULL)) { iter->stamp = model->stamp; iter->user_data = lp; return TRUE; } return FALSE; } static GtkTreePath* exo_icon_chooser_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter) { ExoIconChooserModel *model = EXO_ICON_CHOOSER_MODEL (tree_model); gint idx; _exo_return_val_if_fail (EXO_IS_ICON_CHOOSER_MODEL (model), NULL); _exo_return_val_if_fail (iter->stamp == model->stamp, NULL); /* lookup the list item in the icon list */ idx = g_list_position (model->items, iter->user_data); if (G_LIKELY (idx >= 0)) return gtk_tree_path_new_from_indices (idx, -1); return NULL; } static void exo_icon_chooser_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value) { ExoIconChooserModelItem *item; ExoIconChooserModel *model = EXO_ICON_CHOOSER_MODEL (tree_model); _exo_return_if_fail (EXO_IS_ICON_CHOOSER_MODEL (model)); _exo_return_if_fail (iter->stamp == model->stamp); /* determine the item for the list position */ item = ((GList *) iter->user_data)->data; switch (column) { case EXO_ICON_CHOOSER_MODEL_COLUMN_CONTEXT: g_value_init (value, G_TYPE_UINT); g_value_set_uint (value, item->context); break; case EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME: g_value_init (value, G_TYPE_STRING); g_value_set_static_string (value, item->icon_name); break; default: _exo_assert_not_reached (); break; } } static gboolean exo_icon_chooser_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter) { _exo_return_val_if_fail (iter->stamp == EXO_ICON_CHOOSER_MODEL (tree_model)->stamp, FALSE); _exo_return_val_if_fail (EXO_IS_ICON_CHOOSER_MODEL (tree_model), FALSE); iter->user_data = g_list_next (iter->user_data); return (iter->user_data != NULL); } static gboolean exo_icon_chooser_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent) { ExoIconChooserModel *model = EXO_ICON_CHOOSER_MODEL (tree_model); _exo_return_val_if_fail (EXO_IS_ICON_CHOOSER_MODEL (model), FALSE); if (G_LIKELY (parent == NULL && model->items != NULL)) { iter->stamp = model->stamp; iter->user_data = model->items; return TRUE; } return FALSE; } static gboolean exo_icon_chooser_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter) { return FALSE; } static gint exo_icon_chooser_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter) { ExoIconChooserModel *model = EXO_ICON_CHOOSER_MODEL (tree_model); _exo_return_val_if_fail (EXO_IS_ICON_CHOOSER_MODEL (tree_model), 0); return (iter == NULL) ? g_list_length (model->items) : 0; } static gboolean exo_icon_chooser_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n) { ExoIconChooserModel *model = EXO_ICON_CHOOSER_MODEL (tree_model); _exo_return_val_if_fail (EXO_IS_ICON_CHOOSER_MODEL (tree_model), FALSE); if (G_LIKELY (parent == NULL)) { iter->stamp = model->stamp; iter->user_data = g_list_nth (model->items, n); return (iter->user_data != NULL); } return FALSE; } static gboolean exo_icon_chooser_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child) { return FALSE; } static gboolean exo_icon_chooser_model_merge_symlinks (gpointer key, gpointer value, gpointer data) { GHashTable *items = data; ExoIconChooserModelItem *sym_item = value; ExoIconChooserModelItem *item; gchar *target; const gchar *filename; gchar *p, *name; gboolean merged = FALSE; /* get the location the symlink points to */ filename = gtk_icon_info_get_filename (sym_item->icon_info); target = g_file_read_link (filename, NULL); if (G_UNLIKELY (target == NULL)) return merged; /* we don't care about paths and relative names, so make sure we * have the basename of the symlink target */ if (g_path_is_absolute (target) || g_str_has_prefix (target, "../")) { p = g_path_get_basename (target); g_free (target); target = p; } /* the icon names all have an extension */ p = strrchr (target, '.'); if (G_LIKELY (p != NULL)) { /* lookup the target from the items table */ name = g_strndup (target, p - target); item = g_hash_table_lookup (items, name); g_free (name); if (G_LIKELY (item != NULL)) { /* allocate the array on demand */ if (item->other_names == NULL) item->other_names = g_ptr_array_new_with_free_func ((GDestroyNotify) g_free); /* take the symlinks display name */ g_ptr_array_add (item->other_names, sym_item->icon_name); sym_item->icon_name = NULL; /* set the symlinks context if the item has none */ if (item->context == EXO_ICON_CHOOSER_CONTEXT_OTHER) item->context = sym_item->context; /* this item can be removed from the hash table, * remaining data will be freed by the destroy func */ merged = TRUE; } } g_free (target); return merged; } static void exo_icon_chooser_model_icon_theme_changed (GtkIconTheme *icon_theme, ExoIconChooserModel *model) { ExoIconChooserModelItem *item; GHashTable *items; GHashTable *symlink_items; GList *icons, *lp; const gchar *filename; ExoIconChooserContext context; GtkTreePath *path; GtkTreeIter iter; GtkIconInfo *icon_info; /* allocate a path to the first model item */ path = gtk_tree_path_new_from_indices (0, -1); /* release all previously loaded icons */ while (model->items != NULL) { /* free the first item resources */ exo_icon_chooser_model_item_free (model->items->data); /* remove the item from the list */ model->items = g_list_delete_link (model->items, model->items); /* tell the view that the first item is gone for good */ gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path); } /* separate tables for the symlink and non-symlink icons */ items = g_hash_table_new (g_str_hash, g_str_equal); symlink_items = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, exo_icon_chooser_model_item_free); /* insert the theme icons in the correct hash table */ icons = gtk_icon_theme_list_icons (icon_theme, NULL); for (lp = icons; lp != NULL; lp = lp->next) { item = g_slice_new0 (ExoIconChooserModelItem); item->icon_name = lp->data; item->context = EXO_ICON_CHOOSER_CONTEXT_OTHER; icon_info = gtk_icon_theme_lookup_icon (icon_theme, item->icon_name, 48, 0); if (G_LIKELY (icon_info != NULL)) { /* check if this icon points to a symlink */ filename = gtk_icon_info_get_filename (icon_info); if (filename != NULL && g_file_test (filename, G_FILE_TEST_IS_SYMLINK)) { /* insert this item in the symlink table */ item->icon_info = icon_info; g_hash_table_insert (symlink_items, item->icon_name, item); continue; } gtk_icon_info_free (icon_info); } /* real file or no info, store it in the hash table */ g_hash_table_insert (items, item->icon_name, item); } g_list_free (icons); /* now determine the categories for all items in the model */ for (context = 0; context < G_N_ELEMENTS (CONTEXT_NAMES); ++context) { icons = gtk_icon_theme_list_icons (icon_theme, CONTEXT_NAMES[context]); for (lp = icons; lp != NULL; lp = lp->next) { /* lookup the item in one of the hash tables */ item = g_hash_table_lookup (items, lp->data); if (item == NULL) item = g_hash_table_lookup (symlink_items, lp->data); /* set the categories */ if (item != NULL) item->context = context; g_free (lp->data); } g_list_free (icons); } /* merge the symlinks in the items */ g_hash_table_foreach_remove (symlink_items, exo_icon_chooser_model_merge_symlinks, items); g_hash_table_destroy (symlink_items); /* create a sorted list of the resulting table */ icons = NULL; g_hash_table_foreach (items, exo_icon_chooser_model_item_to_list, &icons); g_hash_table_destroy (items); /* insert the items into the model */ iter.stamp = model->stamp; for (lp = g_list_last (icons); lp != NULL; lp = lp->prev) { /* prepend the item to the beginning of our list */ model->items = g_list_prepend (model->items, lp->data); /* setup the iterator for the item */ iter.user_data = model->items; /* tell the view about our new item */ gtk_tree_model_row_inserted (GTK_TREE_MODEL (model), path, &iter); } g_list_free (icons); /* release the path */ gtk_tree_path_free (path); } static gint exo_icon_chooser_model_item_compare (gconstpointer data_a, gconstpointer data_b) { const ExoIconChooserModelItem *item_a = data_a; const ExoIconChooserModelItem *item_b = data_b; /* the case is not much of a problem in icon themes, so * therefore we only use good utf-8 sorting */ return g_utf8_collate (item_a->icon_name, item_b->icon_name); } static void exo_icon_chooser_model_item_to_list (gpointer key, gpointer value, gpointer data) { GList **list = data; ExoIconChooserModelItem *item = value; *list = g_list_insert_sorted (*list, item, exo_icon_chooser_model_item_compare); } static void exo_icon_chooser_model_item_free (gpointer data) { ExoIconChooserModelItem *item = data; if (G_LIKELY (item->other_names != NULL)) g_ptr_array_free (item->other_names, TRUE); if (G_LIKELY (item->icon_info != NULL)) gtk_icon_info_free (item->icon_info); g_free (item->icon_name); g_slice_free (ExoIconChooserModelItem, item); } /** * _exo_icon_chooser_model_get_for_widget: * @widget : a #GtkWidget. * * Returns the #ExoIconChooserModel that should be used for the @widget. The * caller is responsible to free the returned object using g_object_unref() * when no longer needed. * * Returns: an #ExoIconChooserModel for the @widget. * * Since: 0.3.1.9 **/ ExoIconChooserModel* _exo_icon_chooser_model_get_for_widget (GtkWidget *widget) { GtkIconTheme *icon_theme; _exo_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); /* determine the icon theme for the widget... */ icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (widget)); /* ...and return the icon chooser model for the icon theme */ return _exo_icon_chooser_model_get_for_icon_theme (icon_theme); } /** * _exo_icon_chooser_model_get_for_icon_theme: * @icon_theme : a #GtkIconTheme. * * Returns an #ExoIconChooserModel for the specified @icon_theme. The * caller is responsible to free the returned object using g_object_unref() * when no longer needed. * * Returns: an #ExoIconChooserModel for the @icon_theme. * * Since: 0.3.1.9 **/ ExoIconChooserModel* _exo_icon_chooser_model_get_for_icon_theme (GtkIconTheme *icon_theme) { ExoIconChooserModel *model; _exo_return_val_if_fail (GTK_IS_ICON_THEME (icon_theme), NULL); /* check if the icon theme is already associated with a model */ model = g_object_get_data (G_OBJECT (icon_theme), I_("exo-icon-chooser-default-model")); if (G_LIKELY (model == NULL)) { /* allocate a new model for the icon theme */ model = g_object_new (EXO_TYPE_ICON_CHOOSER_MODEL, NULL); g_object_set_data (G_OBJECT (icon_theme), "exo-icon-chooser-default-model", model); /* associated the model with the icon theme */ model->icon_theme = g_object_ref (G_OBJECT (icon_theme)); exo_icon_chooser_model_icon_theme_changed (icon_theme, model); g_signal_connect (G_OBJECT (icon_theme), "changed", G_CALLBACK (exo_icon_chooser_model_icon_theme_changed), model); } else { /* take a reference for the caller */ g_object_ref (G_OBJECT (model)); } return model; } /** * _exo_icon_chooser_model_get_iter_for_icon_name: * @model : an #ExoIconChooserModel. * @iter : return location for the resulting #GtkTreeIter. * @icon_name : the name of the icon for which to lookup the iterator in the @model. * * Looks up the #GtkTreeIter for the @icon_name in the @model and returns %TRUE if the * @icon_name was found, %FALSE otherwise. * * Returns: %TRUE if the iterator for @icon_name was found, %FALSE otherwise. * * Since: 0.3.1.9 **/ gboolean _exo_icon_chooser_model_get_iter_for_icon_name (ExoIconChooserModel *model, GtkTreeIter *iter, const gchar *icon_name) { ExoIconChooserModelItem *item; GList *lp; guint i; gboolean found; const gchar *other_name; _exo_return_val_if_fail (EXO_IS_ICON_CHOOSER_MODEL (model), FALSE); _exo_return_val_if_fail (icon_name != NULL, FALSE); _exo_return_val_if_fail (iter != NULL, FALSE); /* check all items in the model */ for (lp = model->items; lp != NULL; lp = lp->next) { found = FALSE; /* compare this item's icon name */ item = (ExoIconChooserModelItem *) lp->data; if (strcmp (icon_name, item->icon_name) == 0) found = TRUE; /* look in the alternative names */ if (!found && item->other_names != NULL) { for (i = 0; !found && i < item->other_names->len; ++i) { other_name = g_ptr_array_index (item->other_names, i); if (strcmp (icon_name, other_name) == 0) found = TRUE; } } if (found) { /* generate an iterator for this item */ iter->stamp = model->stamp; iter->user_data = lp; return TRUE; } } return FALSE; } #define __EXO_ICON_CHOOSER_MODEL_C__ spacefm-1.0.5/src/exo/exo-icon-chooser-model.h000066400000000000000000000100411264770501700211520ustar00rootroot00000000000000/*- * Copyright (c) 2005-2006 Benedikt Meurer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_ICON_CHOOSER_MODEL_H__ #define __EXO_ICON_CHOOSER_MODEL_H__ /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ #include G_BEGIN_DECLS typedef struct _ExoIconChooserModelClass ExoIconChooserModelClass; typedef struct _ExoIconChooserModel ExoIconChooserModel; #define EXO_TYPE_ICON_CHOOSER_MODEL (exo_icon_chooser_model_get_type ()) #define EXO_ICON_CHOOSER_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXO_TYPE_ICON_CHOOSER_MODEL, ExoIconChooserModel)) #define EXO_ICON_CHOOSER_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXO_TYPE_ICON_CHOOSER_MODEL, ExoIconChooserModelClass)) #define EXO_IS_ICON_CHOOSER_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXO_TYPE_ICON_CHOOSER_MODEL)) #define EXO_IS_ICON_CHOOSER_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXO_TYPE_ICON_CHOOSER_MODEL)) #define EXO_ICON_CHOOSER_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXO_TYPE_ICON_CHOOSER_MODEL, ExoIconChooserModelClass)) /** * ExoIconChooserContexts: * * The list of default contexts for the icon themes * according to the Icon Naming Spec, Version 0.7. **/ typedef enum { /* the contexts provided by the model */ EXO_ICON_CHOOSER_CONTEXT_ACTIONS, EXO_ICON_CHOOSER_CONTEXT_ANIMATIONS, EXO_ICON_CHOOSER_CONTEXT_APPLICATIONS, EXO_ICON_CHOOSER_CONTEXT_CATEGORIES, EXO_ICON_CHOOSER_CONTEXT_DEVICES, EXO_ICON_CHOOSER_CONTEXT_EMBLEMS, EXO_ICON_CHOOSER_CONTEXT_EMOTES, EXO_ICON_CHOOSER_CONTEXT_INTERNATIONAL, EXO_ICON_CHOOSER_CONTEXT_MIME_TYPES, EXO_ICON_CHOOSER_CONTEXT_PLACES, EXO_ICON_CHOOSER_CONTEXT_STATUS, EXO_ICON_CHOOSER_CONTEXT_OTHER, EXO_ICON_CHOOSER_N_CONTEXTS, /* not provided by the model (plus separators before them) */ EXO_ICON_CHOOSER_CONTEXT_ALL = EXO_ICON_CHOOSER_CONTEXT_OTHER + 2, EXO_ICON_CHOOSER_CONTEXT_FILE = EXO_ICON_CHOOSER_CONTEXT_OTHER + 4, } ExoIconChooserContext; /** * ExoIconChooserModelColumns: * @EXO_ICON_CHOOSER_MODEL_COLUMN_CONTEXT : the context of the icon. * @EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME : the name of the icon. * @EXO_ICON_CHOOSER_MODEL_N_COLUMNS : the number of columns. * * The columns provided by the #ExoIconChooserModel. **/ typedef enum { EXO_ICON_CHOOSER_MODEL_COLUMN_CONTEXT, EXO_ICON_CHOOSER_MODEL_COLUMN_ICON_NAME, EXO_ICON_CHOOSER_MODEL_N_COLUMNS, } ExoIconChooserModelColumn; G_GNUC_INTERNAL GType exo_icon_chooser_model_get_type (void) G_GNUC_CONST; G_GNUC_INTERNAL ExoIconChooserModel *_exo_icon_chooser_model_get_for_widget (GtkWidget *widget) G_GNUC_WARN_UNUSED_RESULT; G_GNUC_INTERNAL ExoIconChooserModel *_exo_icon_chooser_model_get_for_icon_theme (GtkIconTheme *icon_theme) G_GNUC_WARN_UNUSED_RESULT; G_GNUC_INTERNAL gboolean _exo_icon_chooser_model_get_iter_for_icon_name (ExoIconChooserModel *model, GtkTreeIter *iter, const gchar *icon_name) ; G_END_DECLS #endif /* !__EXO_ICON_CHOOSER_MODEL_H__ */ spacefm-1.0.5/src/exo/exo-icon-view.c000066400000000000000000011470551264770501700174000ustar00rootroot00000000000000/* $Id: exo-icon-view.c 24207 2006-12-28 19:16:50Z benny $ */ /*- * Copyright (c) 2004-2006 os-cillation e.K. * Copyright (c) 2002,2004 Anders Carlsson * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* Modified by Hong Jen Yee (PCMan) * on 2008.05.11 for use in PCManFM */ #ifdef HAVE_CONFIG_H #include #endif /* #ifdef HAVE_MATH_H */ #include /* #endif */ #ifdef HAVE_MEMORY_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include #include "exo-icon-view.h" #include "exo-string.h" #include "exo-marshal.h" #include "exo-private.h" #include "exo-common.h" #include "gtk2-compat.h" #include "ptk-utils.h" GType exo_icon_view_layout_mode_get_type (void) { static GType type = 0; if (type == 0) { static const GEnumValue values[] = { { EXO_ICON_VIEW_LAYOUT_ROWS, "EXO_ICON_VIEW_LAYOUT_ROWS", "rows" }, { EXO_ICON_VIEW_LAYOUT_COLS, "EXO_ICON_VIEW_LAYOUT_COLS", "cols" }, { 0, NULL, NULL } }; type = g_enum_register_static ("ExoIconViewLayoutMode", values); } return type; } #define EXO_TYPE_ICON_VIEW_LAYOUT_MODE (exo_icon_view_layout_mode_get_type()) /* enumerations from "exo-mount-point.h" */ /* the search dialog timeout (in ms) */ #define EXO_ICON_VIEW_SEARCH_DIALOG_TIMEOUT (5000) #define SCROLL_EDGE_SIZE 15 /* Property identifiers */ enum { PROP_0, PROP_PIXBUF_COLUMN, PROP_TEXT_COLUMN, PROP_MARKUP_COLUMN, PROP_SELECTION_MODE, PROP_LAYOUT_MODE, PROP_ORIENTATION, PROP_MODEL, PROP_COLUMNS, PROP_ITEM_WIDTH, PROP_SPACING, PROP_ROW_SPACING, PROP_COLUMN_SPACING, PROP_MARGIN, PROP_REORDERABLE, PROP_SINGLE_CLICK, PROP_SINGLE_CLICK_TIMEOUT, PROP_ENABLE_SEARCH, PROP_SEARCH_COLUMN, #if GTK_CHECK_VERSION (3, 0, 0) PROP_HADJUSTMENT, PROP_VADJUSTMENT, PROP_HSCROLL_POLICY, PROP_VSCROLL_POLICY, #endif }; /* Signal identifiers */ enum { ITEM_ACTIVATED, SELECTION_CHANGED, SELECT_ALL, UNSELECT_ALL, SELECT_CURSOR_ITEM, TOGGLE_CURSOR_ITEM, MOVE_CURSOR, ACTIVATE_CURSOR_ITEM, START_INTERACTIVE_SEARCH, LAST_SIGNAL }; /* Icon view flags */ typedef enum { EXO_ICON_VIEW_DRAW_KEYFOCUS = (1l << 0), /* whether to draw keyboard focus */ EXO_ICON_VIEW_ITERS_PERSIST = (1l << 1), /* whether current model provides persistent iterators */ } ExoIconViewFlags; #define EXO_ICON_VIEW_SET_FLAG(icon_view, flag) G_STMT_START{ (EXO_ICON_VIEW (icon_view)->priv->flags |= flag); }G_STMT_END #define EXO_ICON_VIEW_UNSET_FLAG(icon_view, flag) G_STMT_START{ (EXO_ICON_VIEW (icon_view)->priv->flags &= ~(flag));}G_STMT_END #define EXO_ICON_VIEW_FLAG_SET(icon_view, flag) ((EXO_ICON_VIEW (icon_view)->priv->flags & (flag)) == (flag)) typedef struct _ExoIconViewCellInfo ExoIconViewCellInfo; typedef struct _ExoIconViewChild ExoIconViewChild; typedef struct _ExoIconViewItem ExoIconViewItem; #define EXO_ICON_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EXO_TYPE_ICON_VIEW, ExoIconViewPrivate)) #define EXO_ICON_VIEW_CELL_INFO(obj) ((ExoIconViewCellInfo *) (obj)) #define EXO_ICON_VIEW_CHILD(obj) ((ExoIconViewChild *) (obj)) #define EXO_ICON_VIEW_ITEM(obj) ((ExoIconViewItem *) (obj)) static void exo_icon_view_class_init (ExoIconViewClass *klass); static void exo_icon_view_cell_layout_init (GtkCellLayoutIface *iface); static void exo_icon_view_init (ExoIconView *icon_view); static void exo_icon_view_dispose (GObject *object); static void exo_icon_view_finalize (GObject *object); static void exo_icon_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void exo_icon_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static void exo_icon_view_realize (GtkWidget *widget); static void exo_icon_view_unrealize (GtkWidget *widget); static void exo_icon_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void exo_icon_view_style_set (GtkWidget *widget, GtkStyle *previous_style); #if GTK_CHECK_VERSION (3, 0, 0) static gboolean exo_icon_view_draw (GtkWidget *widget, cairo_t *cr); static void exo_icon_view_set_hadjustment (ExoIconView *icon_view, GtkAdjustment *hadj); static void exo_icon_view_set_vadjustment (ExoIconView *icon_view, GtkAdjustment *vadj); #else static gboolean exo_icon_view_expose_event (GtkWidget *widget, GdkEventExpose *event); static void exo_icon_view_set_adjustments (ExoIconView *icon_view, GtkAdjustment *hadj, GtkAdjustment *vadj); #endif static void exo_icon_view_size_request (GtkWidget *widget, GtkRequisition *requisition); static gboolean exo_icon_view_motion_notify_event (GtkWidget *widget, GdkEventMotion *event); static gboolean exo_icon_view_button_press_event (GtkWidget *widget, GdkEventButton *event); static gboolean exo_icon_view_button_release_event (GtkWidget *widget, GdkEventButton *event); static gboolean exo_icon_view_scroll_event (GtkWidget *widget, GdkEventScroll *event); static gboolean exo_icon_view_key_press_event (GtkWidget *widget, GdkEventKey *event); static gboolean exo_icon_view_focus_out_event (GtkWidget *widget, GdkEventFocus *event); static gboolean exo_icon_view_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event); static void exo_icon_view_remove (GtkContainer *container, GtkWidget *widget); static void exo_icon_view_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); static void exo_icon_view_real_select_all (ExoIconView *icon_view); static void exo_icon_view_real_unselect_all (ExoIconView *icon_view); static void exo_icon_view_real_select_cursor_item (ExoIconView *icon_view); static void exo_icon_view_real_toggle_cursor_item (ExoIconView *icon_view); static gboolean exo_icon_view_real_activate_cursor_item (ExoIconView *icon_view); static gboolean exo_icon_view_real_start_interactive_search (ExoIconView *icon_view); static void exo_icon_view_adjustment_changed (GtkAdjustment *adjustment, ExoIconView *icon_view); static gint exo_icon_view_layout_cols (ExoIconView *icon_view, gint item_height, gint *x, gint *maximum_height, gint max_rows); static gint exo_icon_view_layout_rows (ExoIconView *icon_view, gint item_width, gint *y, gint *maximum_width, gint max_cols); static void exo_icon_view_layout (ExoIconView *icon_view); static void exo_icon_view_paint_item (ExoIconView *icon_view, ExoIconViewItem *item, GdkRectangle *area, #if GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr, #else GdkDrawable *drawable, #endif gint x, gint y, gboolean draw_focus); static void exo_icon_view_queue_draw_item (ExoIconView *icon_view, ExoIconViewItem *item); static void exo_icon_view_queue_layout (ExoIconView *icon_view); static void exo_icon_view_set_cursor_item (ExoIconView *icon_view, ExoIconViewItem *item, gint cursor_cell); static void exo_icon_view_start_rubberbanding (ExoIconView *icon_view, gint x, gint y); static void exo_icon_view_stop_rubberbanding (ExoIconView *icon_view); static void exo_icon_view_update_rubberband_selection (ExoIconView *icon_view); static gboolean exo_icon_view_item_hit_test (ExoIconView *icon_view, ExoIconViewItem *item, gint x, gint y, gint width, gint height); static gboolean exo_icon_view_unselect_all_internal (ExoIconView *icon_view); static void exo_icon_view_calculate_item_size (ExoIconView *icon_view, ExoIconViewItem *item); static void exo_icon_view_calculate_item_size2 (ExoIconView *icon_view, ExoIconViewItem *item, gint *max_width, gint *max_height); static void exo_icon_view_update_rubberband (gpointer data); static void exo_icon_view_invalidate_sizes (ExoIconView *icon_view); static void exo_icon_view_add_move_binding (GtkBindingSet *binding_set, guint keyval, guint modmask, GtkMovementStep step, gint count); static gboolean exo_icon_view_real_move_cursor (ExoIconView *icon_view, GtkMovementStep step, gint count); static void exo_icon_view_move_cursor_up_down (ExoIconView *icon_view, gint count); static void exo_icon_view_move_cursor_page_up_down (ExoIconView *icon_view, gint count); static void exo_icon_view_move_cursor_left_right (ExoIconView *icon_view, gint count); static void exo_icon_view_move_cursor_start_end (ExoIconView *icon_view, gint count); static void exo_icon_view_scroll_to_item (ExoIconView *icon_view, ExoIconViewItem *item); static void exo_icon_view_select_item (ExoIconView *icon_view, ExoIconViewItem *item); static void exo_icon_view_unselect_item (ExoIconView *icon_view, ExoIconViewItem *item); static gboolean exo_icon_view_select_all_between (ExoIconView *icon_view, ExoIconViewItem *anchor, ExoIconViewItem *cursor); static ExoIconViewItem * exo_icon_view_get_item_at_coords (const ExoIconView *icon_view, gint x, gint y, gboolean only_in_cell, ExoIconViewCellInfo **cell_at_pos); static void exo_icon_view_get_cell_area (ExoIconView *icon_view, ExoIconViewItem *item, ExoIconViewCellInfo *cell_info, GdkRectangle *cell_area); static ExoIconViewCellInfo *exo_icon_view_get_cell_info (ExoIconView *icon_view, GtkCellRenderer *renderer); static void exo_icon_view_set_cell_data (const ExoIconView *icon_view, ExoIconViewItem *item); static void exo_icon_view_cell_layout_pack_start (GtkCellLayout *layout, GtkCellRenderer *renderer, gboolean expand); static void exo_icon_view_cell_layout_pack_end (GtkCellLayout *layout, GtkCellRenderer *renderer, gboolean expand); static void exo_icon_view_cell_layout_add_attribute (GtkCellLayout *layout, GtkCellRenderer *renderer, const gchar *attribute, gint column); static void exo_icon_view_cell_layout_clear (GtkCellLayout *layout); static void exo_icon_view_cell_layout_clear_attributes (GtkCellLayout *layout, GtkCellRenderer *renderer); static void exo_icon_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy); static void exo_icon_view_cell_layout_reorder (GtkCellLayout *layout, GtkCellRenderer *cell, gint position); static void exo_icon_view_item_activate_cell (ExoIconView *icon_view, ExoIconViewItem *item, ExoIconViewCellInfo *cell_info, GdkEvent *event); static void exo_icon_view_put (ExoIconView *icon_view, GtkWidget *widget, ExoIconViewItem *item, gint cell); static void exo_icon_view_remove_widget (GtkCellEditable *editable, ExoIconView *icon_view); static void exo_icon_view_start_editing (ExoIconView *icon_view, ExoIconViewItem *item, ExoIconViewCellInfo *cell_info, GdkEvent *event); static void exo_icon_view_stop_editing (ExoIconView *icon_view, gboolean cancel_editing); /* Source side drag signals */ static void exo_icon_view_drag_begin (GtkWidget *widget, GdkDragContext *context); static void exo_icon_view_drag_end (GtkWidget *widget, GdkDragContext *context); static void exo_icon_view_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time); static void exo_icon_view_drag_data_delete (GtkWidget *widget, GdkDragContext *context); /* Target side drag signals */ static void exo_icon_view_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time); static gboolean exo_icon_view_drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time); static gboolean exo_icon_view_drag_drop (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time); static void exo_icon_view_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time); static gboolean exo_icon_view_maybe_begin_drag (ExoIconView *icon_view, GdkEventMotion *event); static void remove_scroll_timeout (ExoIconView *icon_view); /* single-click autoselection support */ static gboolean exo_icon_view_single_click_timeout (gpointer user_data); static void exo_icon_view_single_click_timeout_destroy (gpointer user_data); /* Interactive search support */ static void exo_icon_view_search_activate (GtkEntry *entry, ExoIconView *icon_view); static void exo_icon_view_search_dialog_hide (GtkWidget *search_dialog, ExoIconView *icon_view); static void exo_icon_view_search_ensure_directory (ExoIconView *icon_view); static void exo_icon_view_search_init (GtkWidget *search_entry, ExoIconView *icon_view); static gboolean exo_icon_view_search_iter (ExoIconView *icon_view, GtkTreeModel *model, GtkTreeIter *iter, const gchar *text, gint *count, gint n); static void exo_icon_view_search_move (GtkWidget *widget, ExoIconView *icon_view, gboolean move_up); #if GTK_CHECK_VERSION (3, 0, 0) static void exo_icon_view_search_preedit_changed (GtkEntry *entry, gchar *preedit, #else static void exo_icon_view_search_preedit_changed (GtkIMContext *im_context, #endif ExoIconView *icon_view); static gboolean exo_icon_view_search_start (ExoIconView *icon_view, gboolean keybinding); static gboolean exo_icon_view_search_equal_func (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer user_data); static void exo_icon_view_search_position_func (ExoIconView *icon_view, GtkWidget *search_dialog, gpointer user_data); static gboolean exo_icon_view_search_button_press_event (GtkWidget *widget, GdkEventButton *event, ExoIconView *icon_view); static gboolean exo_icon_view_search_delete_event (GtkWidget *widget, GdkEventAny *event, ExoIconView *icon_view); static gboolean exo_icon_view_search_key_press_event (GtkWidget *widget, GdkEventKey *event, ExoIconView *icon_view); static gboolean exo_icon_view_search_scroll_event (GtkWidget *widget, GdkEventScroll *event, ExoIconView *icon_view); static gboolean exo_icon_view_search_timeout (gpointer user_data); static void exo_icon_view_search_timeout_destroy (gpointer user_data); struct _ExoIconViewCellInfo { GtkCellRenderer *cell; guint expand : 1; guint pack : 1; guint editing : 1; gint position; GSList *attributes; GtkCellLayoutDataFunc func; gpointer func_data; GDestroyNotify destroy; }; struct _ExoIconViewChild { ExoIconViewItem *item; GtkWidget *widget; gint cell; }; struct _ExoIconViewItem { GtkTreeIter iter; /* Bounding box (a value of -1 for width indicates * that the item needs to be layouted first) */ GdkRectangle area; /* Individual cells. * box[i] is the actual area occupied by cell i, * before, after are used to calculate the cell * area relative to the box. * See exo_icon_view_get_cell_area(). */ gint n_cells; GdkRectangle *box; gint *before; gint *after; guint row : ((sizeof (guint) / 2) * 8) - 1; guint col : ((sizeof (guint) / 2) * 8) - 1; guint selected : 1; guint selected_before_rubberbanding : 1; }; struct _ExoIconViewPrivate { gint width, height; gint rows, cols; GtkSelectionMode selection_mode; ExoIconViewLayoutMode layout_mode; GdkWindow *bin_window; GList *children; GtkTreeModel *model; GList *items; GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; #if GTK_CHECK_VERSION (3, 0, 0) guint hscroll_policy : 1; guint vscroll_policy : 1; #endif gint layout_idle_id; gboolean doing_rubberband; gint rubberband_x1, rubberband_y1; gint rubberband_x2, rubberband_y2; #if GTK_CHECK_VERSION (3, 0, 0) GdkRGBA rubberband_border_color; GdkRGBA rubberband_fill_color; #else GdkColor *rubberband_border_color; GdkColor *rubberband_fill_color; #endif gint scroll_timeout_id; gint scroll_value_diff; gint event_last_x, event_last_y; ExoIconViewItem *anchor_item; ExoIconViewItem *cursor_item; ExoIconViewItem *edited_item; GtkCellEditable *editable; ExoIconViewItem *prelit_item; ExoIconViewItem *last_single_clicked; GList *cell_list; guint n_cells; gint cursor_cell; GtkOrientation orientation; gint columns; gint item_width; gint spacing; gint row_spacing; gint column_spacing; gint margin; gint text_column; gint markup_column; gint pixbuf_column; gint pixbuf_cell; gint text_cell; /* Drag-and-drop. */ GdkModifierType start_button_mask; gint pressed_button; gint press_start_x; gint press_start_y; GtkTargetList *source_targets; GdkDragAction source_actions; GtkTargetList *dest_targets; GdkDragAction dest_actions; GtkTreeRowReference *dest_item; ExoIconViewDropPosition dest_pos; /* delayed scrolling */ GtkTreeRowReference *scroll_to_path; gfloat scroll_to_row_align; gfloat scroll_to_col_align; guint scroll_to_use_align : 1; /* misc flags */ guint source_set : 1; guint dest_set : 1; guint reorderable : 1; guint empty_view_drop :1; guint ctrl_pressed : 1; guint shift_pressed : 1; /* Single-click support * The single_click_timeout is the timeout after which the * prelited item will be automatically selected in single * click mode (0 to disable). */ guint single_click : 1; guint single_click_timeout; guint single_click_timeout_id; guint single_click_timeout_state; /* Interactive search support */ guint enable_search : 1; guint search_imcontext_changed : 1; gint search_column; gint search_selected_iter; gint search_timeout_id; gboolean search_disable_popdown; ExoIconViewSearchEqualFunc search_equal_func; gpointer search_equal_data; GDestroyNotify search_equal_destroy; ExoIconViewSearchPositionFunc search_position_func; gpointer search_position_data; GDestroyNotify search_position_destroy; gint search_entry_changed_id; GtkWidget *search_entry; GtkWidget *search_window; /* ExoIconViewFlags */ guint flags; }; static GObjectClass *exo_icon_view_parent_class; static guint icon_view_signals[LAST_SIGNAL]; GType exo_icon_view_get_type (void) { static GType type = G_TYPE_INVALID; if (G_UNLIKELY (type == G_TYPE_INVALID)) { type = _exo_g_type_register_simple (GTK_TYPE_CONTAINER, "ExoIconView", sizeof (ExoIconViewClass), exo_icon_view_class_init, sizeof (ExoIconView), exo_icon_view_init); _exo_g_type_add_interface_simple (type, GTK_TYPE_CELL_LAYOUT, (GInterfaceInitFunc) exo_icon_view_cell_layout_init); #if GTK_CHECK_VERSION (3, 0, 0) _exo_g_type_add_interface_simple (type, GTK_TYPE_SCROLLABLE, NULL); #endif } return type; } #if GTK_CHECK_VERSION (3, 0, 0) static void exo_icon_view_get_preferred_width (GtkWidget *widget, gint *minimal_width, gint *natural_width) { GtkRequisition requisition; exo_icon_view_size_request (widget, &requisition); *minimal_width = *natural_width = requisition.width; } static void exo_icon_view_get_preferred_height (GtkWidget *widget, gint *minimal_height, gint *natural_height) { GtkRequisition requisition; exo_icon_view_size_request (widget, &requisition); *minimal_height = *natural_height = requisition.height; } #endif static void exo_icon_view_class_init (ExoIconViewClass *klass) { GtkContainerClass *gtkcontainer_class; GtkWidgetClass *gtkwidget_class; GtkBindingSet *gtkbinding_set; GObjectClass *gobject_class; /* determine the parent type class */ exo_icon_view_parent_class = g_type_class_peek_parent (klass); /* add our private data to the type's instances */ g_type_class_add_private (klass, sizeof (ExoIconViewPrivate)); gobject_class = G_OBJECT_CLASS (klass); gobject_class->dispose = exo_icon_view_dispose; gobject_class->finalize = exo_icon_view_finalize; gobject_class->set_property = exo_icon_view_set_property; gobject_class->get_property = exo_icon_view_get_property; gtkwidget_class = GTK_WIDGET_CLASS (klass); gtkwidget_class->realize = exo_icon_view_realize; gtkwidget_class->unrealize = exo_icon_view_unrealize; gtkwidget_class->size_allocate = exo_icon_view_size_allocate; gtkwidget_class->style_set = exo_icon_view_style_set; #if GTK_CHECK_VERSION (3, 0, 0) gtkwidget_class->draw = exo_icon_view_draw; gtkwidget_class->get_preferred_width = exo_icon_view_get_preferred_width; gtkwidget_class->get_preferred_height = exo_icon_view_get_preferred_height; #else gtkwidget_class->size_request = exo_icon_view_size_request; gtkwidget_class->expose_event = exo_icon_view_expose_event; #endif gtkwidget_class->motion_notify_event = exo_icon_view_motion_notify_event; gtkwidget_class->button_press_event = exo_icon_view_button_press_event; gtkwidget_class->button_release_event = exo_icon_view_button_release_event; gtkwidget_class->scroll_event = exo_icon_view_scroll_event; gtkwidget_class->key_press_event = exo_icon_view_key_press_event; gtkwidget_class->focus_out_event = exo_icon_view_focus_out_event; gtkwidget_class->leave_notify_event = exo_icon_view_leave_notify_event; gtkwidget_class->drag_begin = exo_icon_view_drag_begin; gtkwidget_class->drag_end = exo_icon_view_drag_end; gtkwidget_class->drag_data_get = exo_icon_view_drag_data_get; gtkwidget_class->drag_data_delete = exo_icon_view_drag_data_delete; gtkwidget_class->drag_leave = exo_icon_view_drag_leave; gtkwidget_class->drag_motion = exo_icon_view_drag_motion; gtkwidget_class->drag_drop = exo_icon_view_drag_drop; gtkwidget_class->drag_data_received = exo_icon_view_drag_data_received; gtkcontainer_class = GTK_CONTAINER_CLASS (klass); gtkcontainer_class->remove = exo_icon_view_remove; gtkcontainer_class->forall = exo_icon_view_forall; #if !GTK_CHECK_VERSION (3, 0, 0) klass->set_scroll_adjustments = exo_icon_view_set_adjustments; #endif klass->select_all = exo_icon_view_real_select_all; klass->unselect_all = exo_icon_view_real_unselect_all; klass->select_cursor_item = exo_icon_view_real_select_cursor_item; klass->toggle_cursor_item = exo_icon_view_real_toggle_cursor_item; klass->move_cursor = exo_icon_view_real_move_cursor; klass->activate_cursor_item = exo_icon_view_real_activate_cursor_item; klass->start_interactive_search = exo_icon_view_real_start_interactive_search; /** * ExoIconView:column-spacing: * * The column-spacing property specifies the space which is inserted between * the columns of the icon view. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_COLUMN_SPACING, g_param_spec_int ("column-spacing", "Column Spacing", "Space which is inserted between grid column", 0, G_MAXINT, 6, EXO_PARAM_READWRITE)); /** * ExoIconView:columns: * * The columns property contains the number of the columns in which the * items should be displayed. If it is -1, the number of columns will * be chosen automatically to fill the available area. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_COLUMNS, g_param_spec_int ("columns", "Number of columns", "Number of columns to display", -1, G_MAXINT, -1, EXO_PARAM_READWRITE)); /** * ExoIconView:enable-search: * * View allows user to search through columns interactively. * * Since: 0.3.1.3 **/ g_object_class_install_property (gobject_class, PROP_ENABLE_SEARCH, g_param_spec_boolean ("enable-search", "Enable Search", "View allows user to search through columns interactively", TRUE, EXO_PARAM_READWRITE)); /** * ExoIconView:item-width: * * The item-width property specifies the width to use for each item. * If it is set to -1, the icon view will automatically determine a * suitable item size. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_ITEM_WIDTH, g_param_spec_int ("item-width", "Width for each item", "The width used for each item", -1, G_MAXINT, -1, EXO_PARAM_READWRITE)); /** * ExoIconView:layout-mode: * * The layout-mode property specifies the way items are layed out in * the #ExoIconView. This can be either %EXO_ICON_VIEW_LAYOUT_ROWS, * which is the default, where items are layed out horizontally in * rows from top to bottom, or %EXO_ICON_VIEW_LAYOUT_COLS, where items * are layed out vertically in columns from left to right. * * Since: 0.3.1.5 **/ g_object_class_install_property (gobject_class, PROP_LAYOUT_MODE, g_param_spec_enum ("layout-mode", "Layout mode", "The layout mode", EXO_TYPE_ICON_VIEW_LAYOUT_MODE, EXO_ICON_VIEW_LAYOUT_ROWS, EXO_PARAM_READWRITE)); /** * ExoIconView:margin: * * The margin property specifies the space which is inserted * at the edges of the icon view. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_MARGIN, g_param_spec_int ("margin", "Margin", "Space which is inserted at the edges of the icon view", 0, G_MAXINT, 6, EXO_PARAM_READWRITE)); /** * ExoIconView:markup-column: * * The markup-column property contains the number of the model column * containing markup information to be displayed. The markup column must be * of type #G_TYPE_STRING. If this property and the text-column property * are both set to column numbers, it overrides the text column. * If both are set to -1, no texts are displayed. **/ g_object_class_install_property (gobject_class, PROP_MARKUP_COLUMN, g_param_spec_int ("markup-column", "Markup column", "Model column used to retrieve the text if using Pango markup", -1, G_MAXINT, -1, EXO_PARAM_READWRITE)); /** * ExoIconView:model: * * The model property contains the #GtkTreeModel, which should be * display by this icon view. Setting this property to %NULL turns * off the display of anything. **/ g_object_class_install_property (gobject_class, PROP_MODEL, g_param_spec_object ("model", "Icon View Model", "The model for the icon view", GTK_TYPE_TREE_MODEL, EXO_PARAM_READWRITE)); /** * ExoIconView:orientation: * * The orientation property specifies how the cells (i.e. the icon and * the text) of the item are positioned relative to each other. **/ g_object_class_install_property (gobject_class, PROP_ORIENTATION, g_param_spec_enum ("orientation", "Orientation", "How the text and icon of each item are positioned relative to each other", GTK_TYPE_ORIENTATION, GTK_ORIENTATION_VERTICAL, EXO_PARAM_READWRITE)); /** * ExoIconView:pixbuf-column: * * The ::pixbuf-column property contains the number of the model column * containing the pixbufs which are displayed. The pixbuf column must be * of type #GDK_TYPE_PIXBUF. Setting this property to -1 turns off the * display of pixbufs. **/ g_object_class_install_property (gobject_class, PROP_PIXBUF_COLUMN, g_param_spec_int ("pixbuf-column", "Pixbuf column", "Model column used to retrieve the icon pixbuf from", -1, G_MAXINT, -1, EXO_PARAM_READWRITE)); /** * ExoIconView:reorderable: * * The reorderable property specifies if the items can be reordered * by Drag and Drop. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_REORDERABLE, g_param_spec_boolean ("reorderable", "Reorderable", "View is reorderable", FALSE, EXO_PARAM_READWRITE)); /** * ExoIconView:row-spacing: * * The row-spacing property specifies the space which is inserted between * the rows of the icon view. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_ROW_SPACING, g_param_spec_int ("row-spacing", "Row Spacing", "Space which is inserted between grid rows", 0, G_MAXINT, 6, EXO_PARAM_READWRITE)); /** * ExoIconView:search-column: * * Model column to search through when searching through code. * * Since: 0.3.1.3 **/ g_object_class_install_property (gobject_class, PROP_SEARCH_COLUMN, g_param_spec_int ("search-column", "Search Column", "Model column to search through when searching through item", -1, G_MAXINT, -1, EXO_PARAM_READWRITE)); /** * ExoIconView:selection-mode: * * The selection-mode property specifies the selection mode of * icon view. If the mode is #GTK_SELECTION_MULTIPLE, rubberband selection * is enabled, for the other modes, only keyboard selection is possible. **/ g_object_class_install_property (gobject_class, PROP_SELECTION_MODE, g_param_spec_enum ("selection-mode", "Selection mode", "The selection mode", GTK_TYPE_SELECTION_MODE, GTK_SELECTION_SINGLE, EXO_PARAM_READWRITE)); /** * ExoIconView:single-click: * * Determines whether items can be activated by single or double clicks. * * Since: 0.3.1.3 **/ g_object_class_install_property (gobject_class, PROP_SINGLE_CLICK, g_param_spec_boolean ("single-click", "Single Click", "Whether the items in the view can be activated with single clicks", FALSE, EXO_PARAM_READWRITE)); /** * ExoIconView:single-click-timeout: * * The amount of time in milliseconds after which a prelited item (an item * which is hovered by the mouse cursor) will be selected automatically in * single click mode. A value of %0 disables the automatic selection. * * Since: 0.3.1.5 **/ g_object_class_install_property (gobject_class, PROP_SINGLE_CLICK_TIMEOUT, g_param_spec_uint ("single-click-timeout", "Single Click Timeout", "The amount of time after which the item under the mouse cursor will be selected automatically in single click mode", 0, G_MAXUINT, 0, EXO_PARAM_READWRITE)); /** * ExoIconView:spacing: * * The spacing property specifies the space which is inserted between * the cells (i.e. the icon and the text) of an item. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_SPACING, g_param_spec_int ("spacing", "Spacing", "Space which is inserted between cells of an item", 0, G_MAXINT, 0, EXO_PARAM_READWRITE)); /** * ExoIconView:text-column: * * The text-column property contains the number of the model column * containing the texts which are displayed. The text column must be * of type #G_TYPE_STRING. If this property and the markup-column * property are both set to -1, no texts are displayed. **/ g_object_class_install_property (gobject_class, PROP_TEXT_COLUMN, g_param_spec_int ("text-column", "Text column", "Model column used to retrieve the text from", -1, G_MAXINT, -1, EXO_PARAM_READWRITE)); gtk_widget_class_install_style_property (gtkwidget_class, g_param_spec_boxed ("selection-box-color", "Selection Box Color", "Color of the selection box", GDK_TYPE_COLOR, EXO_PARAM_READABLE)); gtk_widget_class_install_style_property (gtkwidget_class, g_param_spec_uchar ("selection-box-alpha", "Selection Box Alpha", "Opacity of the selection box", 0, 0xff, 0x40, EXO_PARAM_READABLE)); #if GTK_CHECK_VERSION (3, 0, 0) g_object_class_override_property (gobject_class, PROP_HADJUSTMENT, "hadjustment"); g_object_class_override_property (gobject_class, PROP_VADJUSTMENT, "vadjustment"); g_object_class_override_property (gobject_class, PROP_HSCROLL_POLICY, "hscroll-policy"); g_object_class_override_property (gobject_class, PROP_VSCROLL_POLICY, "vscroll-policy"); #endif /** * ExoIconView::item-activated: * @icon_view : a #ExoIconView. * @path : **/ icon_view_signals[ITEM_ACTIVATED] = g_signal_new (I_("item-activated"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ExoIconViewClass, item_activated), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, GTK_TYPE_TREE_PATH); /** * ExoIconView::selection-changed: * @icon_view : a #ExoIconView. **/ icon_view_signals[SELECTION_CHANGED] = g_signal_new (I_("selection-changed"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (ExoIconViewClass, selection_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION (3, 0, 0) /** * ExoIconView::set-scroll-adjustments: * @icon_view : a #ExoIconView. * @hadjustment : * @vadjustment : **/ gtkwidget_class->set_scroll_adjustments_signal = g_signal_new (I_("set-scroll-adjustments"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ExoIconViewClass, set_scroll_adjustments), NULL, NULL, _exo_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); #endif /** * ExoIconView::select-all: * @icon_view : a #ExoIconView. **/ icon_view_signals[SELECT_ALL] = g_signal_new (I_("select-all"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ExoIconViewClass, select_all), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /** * ExoIconView::unselect-all: * @icon_view : a #ExoIconView. **/ icon_view_signals[UNSELECT_ALL] = g_signal_new (I_("unselect-all"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ExoIconViewClass, unselect_all), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /** * ExoIconView::select-cursor-item: * @icon_view : a #ExoIconView. **/ icon_view_signals[SELECT_CURSOR_ITEM] = g_signal_new (I_("select-cursor-item"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ExoIconViewClass, select_cursor_item), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /** * ExoIconView::toggle-cursor-item: * @icon_view : a #ExoIconView. **/ icon_view_signals[TOGGLE_CURSOR_ITEM] = g_signal_new (I_("toggle-cursor-item"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ExoIconViewClass, toggle_cursor_item), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /** * ExoIconView::activate-cursor-item: * @icon_view : a #ExoIconView. * * Return value: **/ icon_view_signals[ACTIVATE_CURSOR_ITEM] = g_signal_new (I_("activate-cursor-item"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ExoIconViewClass, activate_cursor_item), NULL, NULL, _exo_marshal_BOOLEAN__VOID, G_TYPE_BOOLEAN, 0); /** * ExoIconView::start-interactive-search: * @iconb_view : a #ExoIconView. * * Return value: **/ icon_view_signals[START_INTERACTIVE_SEARCH] = g_signal_new (I_("start-interactive-search"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ExoIconViewClass, start_interactive_search), NULL, NULL, _exo_marshal_BOOLEAN__VOID, G_TYPE_BOOLEAN, 0); /** * ExoIconView::move-cursor: * @icon_view : a #ExoIconView. * @step : * @count : * * Return value: **/ icon_view_signals[MOVE_CURSOR] = g_signal_new (I_("move-cursor"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ExoIconViewClass, move_cursor), NULL, NULL, _exo_marshal_BOOLEAN__ENUM_INT, G_TYPE_BOOLEAN, 2, GTK_TYPE_MOVEMENT_STEP, G_TYPE_INT); /* Key bindings */ gtkbinding_set = gtk_binding_set_by_class (klass); gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_a, GDK_CONTROL_MASK, "select-all", 0); gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_a, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "unselect-all", 0); gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_space, GDK_CONTROL_MASK, "toggle-cursor-item", 0); gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_space, 0, "activate-cursor-item", 0); gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_Return, 0, "activate-cursor-item", 0); gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_ISO_Enter, 0, "activate-cursor-item", 0); gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_KP_Enter, 0, "activate-cursor-item", 0); // gtk_binding_entry_add_signal (gtkbinding_set, GDK_f, GDK_CONTROL_MASK, "start-interactive-search", 0); //MOD stole ctrl-f for create new folder gtk_binding_entry_add_signal (gtkbinding_set, GDK_KEY_F, GDK_CONTROL_MASK, "start-interactive-search", 0); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_Up, 0, GTK_MOVEMENT_DISPLAY_LINES, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_Up, 0, GTK_MOVEMENT_DISPLAY_LINES, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_Down, 0, GTK_MOVEMENT_DISPLAY_LINES, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_Down, 0, GTK_MOVEMENT_DISPLAY_LINES, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_p, GDK_CONTROL_MASK, GTK_MOVEMENT_DISPLAY_LINES, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_n, GDK_CONTROL_MASK, GTK_MOVEMENT_DISPLAY_LINES, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_Home, 0, GTK_MOVEMENT_BUFFER_ENDS, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_Home, 0, GTK_MOVEMENT_BUFFER_ENDS, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_End, 0, GTK_MOVEMENT_BUFFER_ENDS, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_End, 0, GTK_MOVEMENT_BUFFER_ENDS, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_Page_Up, 0, GTK_MOVEMENT_PAGES, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_Page_Up, 0, GTK_MOVEMENT_PAGES, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_Page_Down, 0, GTK_MOVEMENT_PAGES, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_Page_Down, 0, GTK_MOVEMENT_PAGES, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_Right, 0, GTK_MOVEMENT_VISUAL_POSITIONS, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_Left, 0, GTK_MOVEMENT_VISUAL_POSITIONS, -1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_Right, 0, GTK_MOVEMENT_VISUAL_POSITIONS, 1); exo_icon_view_add_move_binding (gtkbinding_set, GDK_KEY_KP_Left, 0, GTK_MOVEMENT_VISUAL_POSITIONS, -1); } static void exo_icon_view_cell_layout_init (GtkCellLayoutIface *iface) { iface->pack_start = exo_icon_view_cell_layout_pack_start; iface->pack_end = exo_icon_view_cell_layout_pack_end; iface->clear = exo_icon_view_cell_layout_clear; iface->add_attribute = exo_icon_view_cell_layout_add_attribute; iface->set_cell_data_func = exo_icon_view_cell_layout_set_cell_data_func; iface->clear_attributes = exo_icon_view_cell_layout_clear_attributes; iface->reorder = exo_icon_view_cell_layout_reorder; } static void exo_icon_view_init (ExoIconView *icon_view) { icon_view->priv = EXO_ICON_VIEW_GET_PRIVATE (icon_view); icon_view->priv->selection_mode = GTK_SELECTION_SINGLE; icon_view->priv->pressed_button = -1; icon_view->priv->press_start_x = -1; icon_view->priv->press_start_y = -1; icon_view->priv->text_column = -1; icon_view->priv->markup_column = -1; icon_view->priv->pixbuf_column = -1; icon_view->priv->text_cell = -1; icon_view->priv->pixbuf_cell = -1; gtk_widget_set_can_focus (GTK_WIDGET(icon_view), TRUE); #if !GTK_CHECK_VERSION (3, 0, 0) exo_icon_view_set_adjustments (icon_view, NULL, NULL); #endif icon_view->priv->cursor_cell = -1; icon_view->priv->orientation = GTK_ORIENTATION_VERTICAL; icon_view->priv->columns = -1; icon_view->priv->item_width = -1; icon_view->priv->row_spacing = 3; icon_view->priv->column_spacing = 3; icon_view->priv->margin = 3; icon_view->priv->enable_search = TRUE; icon_view->priv->search_column = -1; icon_view->priv->search_equal_func = exo_icon_view_search_equal_func; icon_view->priv->search_position_func = exo_icon_view_search_position_func; icon_view->priv->flags = EXO_ICON_VIEW_DRAW_KEYFOCUS; } static void exo_icon_view_dispose (GObject *object) { ExoIconView *icon_view = EXO_ICON_VIEW (object); /* cancel any pending search timeout */ if (G_UNLIKELY (icon_view->priv->search_timeout_id != 0)) g_source_remove (icon_view->priv->search_timeout_id); /* destroy the interactive search dialog */ if (G_UNLIKELY (icon_view->priv->search_window != NULL)) { gtk_widget_destroy (icon_view->priv->search_window); icon_view->priv->search_entry = NULL; icon_view->priv->search_window = NULL; } /* drop search equal and position functions (if any) */ exo_icon_view_set_search_equal_func (icon_view, NULL, NULL, NULL); exo_icon_view_set_search_position_func (icon_view, NULL, NULL, NULL); /* reset the drag dest item */ exo_icon_view_set_drag_dest_item (icon_view, NULL, EXO_ICON_VIEW_NO_DROP); /* drop the scroll to path (if any) */ if (G_UNLIKELY (icon_view->priv->scroll_to_path != NULL)) { gtk_tree_row_reference_free (icon_view->priv->scroll_to_path); icon_view->priv->scroll_to_path = NULL; } /* reset the model (also stops any active editing) */ exo_icon_view_set_model (icon_view, NULL); /* drop the scroll timer */ remove_scroll_timeout (icon_view); (*G_OBJECT_CLASS (exo_icon_view_parent_class)->dispose) (object); } static void exo_icon_view_finalize (GObject *object) { ExoIconView *icon_view = EXO_ICON_VIEW (object); /* drop the scroll adjustments */ g_object_unref (G_OBJECT (icon_view->priv->hadjustment)); g_object_unref (G_OBJECT (icon_view->priv->vadjustment)); /* drop the cell renderers */ exo_icon_view_cell_layout_clear (GTK_CELL_LAYOUT (icon_view)); /* be sure to cancel the single click timeout */ if (G_UNLIKELY (icon_view->priv->single_click_timeout_id != 0)) g_source_remove (icon_view->priv->single_click_timeout_id); /* kill the layout idle source (it's important to have this last!) */ if (G_UNLIKELY (icon_view->priv->layout_idle_id != 0)) g_source_remove (icon_view->priv->layout_idle_id); (*G_OBJECT_CLASS (exo_icon_view_parent_class)->finalize) (object); } static void exo_icon_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { const ExoIconViewPrivate *priv = EXO_ICON_VIEW (object)->priv; switch (prop_id) { case PROP_COLUMN_SPACING: g_value_set_int (value, priv->column_spacing); break; case PROP_COLUMNS: g_value_set_int (value, priv->columns); break; case PROP_ENABLE_SEARCH: g_value_set_boolean (value, priv->enable_search); break; case PROP_ITEM_WIDTH: g_value_set_int (value, priv->item_width); break; case PROP_MARGIN: g_value_set_int (value, priv->margin); break; case PROP_MARKUP_COLUMN: g_value_set_int (value, priv->markup_column); break; case PROP_MODEL: g_value_set_object (value, priv->model); break; case PROP_ORIENTATION: g_value_set_enum (value, priv->orientation); break; case PROP_PIXBUF_COLUMN: g_value_set_int (value, priv->pixbuf_column); break; case PROP_REORDERABLE: g_value_set_boolean (value, priv->reorderable); break; case PROP_ROW_SPACING: g_value_set_int (value, priv->row_spacing); break; case PROP_SEARCH_COLUMN: g_value_set_int (value, priv->search_column); break; case PROP_SELECTION_MODE: g_value_set_enum (value, priv->selection_mode); break; case PROP_SINGLE_CLICK: g_value_set_boolean (value, priv->single_click); break; case PROP_SINGLE_CLICK_TIMEOUT: g_value_set_uint (value, priv->single_click_timeout); break; case PROP_SPACING: g_value_set_int (value, priv->spacing); break; case PROP_TEXT_COLUMN: g_value_set_int (value, priv->text_column); break; case PROP_LAYOUT_MODE: g_value_set_enum (value, priv->layout_mode); break; #if GTK_CHECK_VERSION (3, 0, 0) case PROP_HADJUSTMENT: g_value_set_object (value, priv->hadjustment); break; case PROP_VADJUSTMENT: g_value_set_object (value, priv->vadjustment); break; case PROP_HSCROLL_POLICY: g_value_set_enum (value, priv->hscroll_policy); break; case PROP_VSCROLL_POLICY: g_value_set_enum (value, priv->vscroll_policy); break; #endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void exo_icon_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { ExoIconView *icon_view = EXO_ICON_VIEW (object); switch (prop_id) { case PROP_COLUMN_SPACING: exo_icon_view_set_column_spacing (icon_view, g_value_get_int (value)); break; case PROP_COLUMNS: exo_icon_view_set_columns (icon_view, g_value_get_int (value)); break; case PROP_ENABLE_SEARCH: exo_icon_view_set_enable_search (icon_view, g_value_get_boolean (value)); break; case PROP_ITEM_WIDTH: exo_icon_view_set_item_width (icon_view, g_value_get_int (value)); break; case PROP_MARGIN: exo_icon_view_set_margin (icon_view, g_value_get_int (value)); break; case PROP_MARKUP_COLUMN: exo_icon_view_set_markup_column (icon_view, g_value_get_int (value)); break; case PROP_MODEL: exo_icon_view_set_model (icon_view, g_value_get_object (value)); break; case PROP_ORIENTATION: exo_icon_view_set_orientation (icon_view, g_value_get_enum (value)); break; case PROP_PIXBUF_COLUMN: exo_icon_view_set_pixbuf_column (icon_view, g_value_get_int (value)); break; case PROP_REORDERABLE: exo_icon_view_set_reorderable (icon_view, g_value_get_boolean (value)); break; case PROP_ROW_SPACING: exo_icon_view_set_row_spacing (icon_view, g_value_get_int (value)); break; case PROP_SEARCH_COLUMN: exo_icon_view_set_search_column (icon_view, g_value_get_int (value)); break; case PROP_SELECTION_MODE: exo_icon_view_set_selection_mode (icon_view, g_value_get_enum (value)); break; case PROP_SINGLE_CLICK: exo_icon_view_set_single_click (icon_view, g_value_get_boolean (value)); break; case PROP_SINGLE_CLICK_TIMEOUT: exo_icon_view_set_single_click_timeout (icon_view, g_value_get_uint (value)); break; case PROP_SPACING: exo_icon_view_set_spacing (icon_view, g_value_get_int (value)); break; case PROP_TEXT_COLUMN: exo_icon_view_set_text_column (icon_view, g_value_get_int (value)); break; case PROP_LAYOUT_MODE: exo_icon_view_set_layout_mode (icon_view, g_value_get_enum (value)); break; #if GTK_CHECK_VERSION (3, 0, 0) case PROP_HADJUSTMENT: exo_icon_view_set_hadjustment (icon_view, g_value_get_object (value)); break; case PROP_VADJUSTMENT: exo_icon_view_set_vadjustment (icon_view, g_value_get_object (value)); break; case PROP_HSCROLL_POLICY: icon_view->priv->hscroll_policy = g_value_get_enum (value); gtk_widget_queue_resize (GTK_WIDGET (icon_view)); break; case PROP_VSCROLL_POLICY: icon_view->priv->vscroll_policy = g_value_get_enum (value); gtk_widget_queue_resize (GTK_WIDGET (icon_view)); break; #endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void exo_icon_view_realize (GtkWidget *widget) { ExoIconViewPrivate *priv = EXO_ICON_VIEW (widget)->priv; GdkWindowAttr attributes; GtkAllocation allocation; gint attributes_mask; gtk_widget_set_realized (widget, TRUE); /* Allocate the clipping window */ attributes.window_type = GDK_WINDOW_CHILD; gtk_widget_get_allocation (widget, &allocation); attributes.x = allocation.x; attributes.y = allocation.y; attributes.width = allocation.width; attributes.height = allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual (widget); attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK; attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; #if !GTK_CHECK_VERSION (3, 0, 0) attributes_mask |= GDK_WA_COLORMAP; attributes.colormap = gtk_widget_get_colormap (widget); #endif gtk_widget_set_window (widget, gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask)); gdk_window_set_user_data (gtk_widget_get_window(widget), widget); /* Allocate the icons window */ attributes.x = 0; attributes.y = 0; attributes.width = MAX (priv->width, allocation.width); attributes.height = MAX (priv->height, allocation.height); attributes.event_mask = GDK_EXPOSURE_MASK | GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | gtk_widget_get_events (widget); priv->bin_window = gdk_window_new (gtk_widget_get_window(widget), &attributes, attributes_mask); gdk_window_set_user_data (priv->bin_window, widget); #if !GTK_CHECK_VERSION (3, 0, 0) /* Attach style/background for GTK2 - this breaks 'dark theme version' styles * in GTK3 - https://github.com/IgnorantGuru/spacefm/issues/578 */ /* This widget is fully reimplementing realize, so must attach a style * (nothing is there currently) - there is no need to then call * gtk_widget_set_style, however if you do with a non-NULL style, GTK * considers the style hardcoded and therefore outside of its inherited 'rc * style' system, which results in exo_icon_view_style_set no longer being * called on a theme change */ widget->style = gtk_style_attach (widget->style, widget->window); /* However the true widget window background remains black without the below * call- the documentation recommends to call gtk_style_set_background, * however this has no effect with any requested GtkStateType */ gdk_window_set_background (priv->bin_window, >k_widget_get_style (widget)->base[gtk_widget_get_state (widget)]); #else /* Adding style class (styling works fine for me without this, but one user * so far has reported breakage) */ gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (widget)), GTK_STYLE_CLASS_VIEW); #endif /* map the icons window */ gdk_window_show (priv->bin_window); } static void exo_icon_view_unrealize (GtkWidget *widget) { ExoIconViewPrivate *priv = EXO_ICON_VIEW (widget)->priv; /* drop the icons window */ gdk_window_set_user_data (priv->bin_window, NULL); gdk_window_destroy (priv->bin_window); priv->bin_window = NULL; /* let GtkWidget destroy children and widget->window */ if (GTK_WIDGET_CLASS (exo_icon_view_parent_class)->unrealize) (*GTK_WIDGET_CLASS (exo_icon_view_parent_class)->unrealize) (widget); } static void exo_icon_view_size_request (GtkWidget *widget, GtkRequisition *requisition) { const ExoIconViewPrivate *priv = EXO_ICON_VIEW (widget)->priv; ExoIconViewChild *child; GtkRequisition child_requisition; GList *lp; /* well, this is easy */ requisition->width = priv->width; requisition->height = priv->height; /* handle the child widgets */ for (lp = priv->children; lp != NULL; lp = lp->next) { child = lp->data; if (gtk_widget_get_visible (child->widget)) gtk_widget_size_request (child->widget, &child_requisition); } } static void exo_icon_view_allocate_children (ExoIconView *icon_view) { const ExoIconViewPrivate *priv = icon_view->priv; const ExoIconViewChild *child; GtkAllocation allocation; const GList *lp; gint focus_line_width; gint focus_padding; for (lp = priv->children; lp != NULL; lp = lp->next) { child = EXO_ICON_VIEW_CHILD (lp->data); /* totally ignore our child's requisition */ if (child->cell < 0) allocation = child->item->area; else allocation = child->item->box[child->cell]; /* increase the item area by focus width/padding */ gtk_widget_style_get (GTK_WIDGET (icon_view), "focus-line-width", &focus_line_width, "focus-padding", &focus_padding, NULL); allocation.x = MAX (0, allocation.x - (focus_line_width + focus_padding)); allocation.y = MAX (0, allocation.y - (focus_line_width + focus_padding)); allocation.width = MIN (priv->width - allocation.x, allocation.width + 2 * (focus_line_width + focus_padding)); allocation.height = MIN (priv->height - allocation.y, allocation.height + 2 * (focus_line_width + focus_padding)); /* allocate the area to the child */ gtk_widget_size_allocate (child->widget, &allocation); } } static void exo_icon_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; ExoIconView *icon_view = EXO_ICON_VIEW (widget); /* apply the new size allocation */ gtk_widget_set_allocation (widget, allocation); /* move/resize the clipping window, the icons window * will be handled by exo_icon_view_layout(). */ if (gtk_widget_get_realized (widget)) gdk_window_move_resize (gtk_widget_get_window (widget), MAX(0, allocation->x), MAX(0, allocation->y), allocation->width, allocation->height); /* layout the items */ exo_icon_view_layout (icon_view); /* allocate space to the widgets (editing) */ exo_icon_view_allocate_children (icon_view); /* update the horizontal scroll adjustment accordingly */ hadjustment = icon_view->priv->hadjustment; gtk_adjustment_set_page_size (hadjustment, allocation->width); gtk_adjustment_set_page_increment (hadjustment, allocation->width * 0.9); gtk_adjustment_set_step_increment (hadjustment, allocation->width * 0.1); gtk_adjustment_set_lower (hadjustment, 0); gtk_adjustment_set_upper (hadjustment, MAX (allocation->width, icon_view->priv->width)); if (gtk_adjustment_get_value (hadjustment) > gtk_adjustment_get_upper(hadjustment) - gtk_adjustment_get_page_size(hadjustment)) gtk_adjustment_set_value (hadjustment, MAX (0, gtk_adjustment_get_upper(hadjustment) - gtk_adjustment_get_page_size(hadjustment))); /* update the vertical scroll adjustment accordingly */ vadjustment = icon_view->priv->vadjustment; gtk_adjustment_set_page_size (vadjustment, allocation->height); gtk_adjustment_set_page_increment (vadjustment, allocation->height * 0.9); gtk_adjustment_set_step_increment (vadjustment, allocation->height * 0.1); gtk_adjustment_set_lower (vadjustment, 0); gtk_adjustment_set_upper (vadjustment, MAX (allocation->height, icon_view->priv->height)); if (gtk_adjustment_get_value (vadjustment) > gtk_adjustment_get_upper(vadjustment) - gtk_adjustment_get_page_size(vadjustment)) gtk_adjustment_set_value (vadjustment, MAX (0, gtk_adjustment_get_upper(vadjustment) - gtk_adjustment_get_page_size(vadjustment))); /* we need to emit "changed" ourselves */ gtk_adjustment_changed (hadjustment); gtk_adjustment_changed (vadjustment); } static void exo_icon_view_style_set (GtkWidget *widget, GtkStyle *previous_style) { ExoIconView *icon_view = EXO_ICON_VIEW (widget); /* let GtkWidget do its work */ (*GTK_WIDGET_CLASS (exo_icon_view_parent_class)->style_set) (widget, previous_style); #if !GTK_CHECK_VERSION (3, 0, 0) /* Apply the new style for the bin_window if we're realized - GTK3 handles * this on its own, the background colour is wrong if you do this for GTK3 */ if (gtk_widget_get_realized (widget)) gdk_window_set_background (icon_view->priv->bin_window, >k_widget_get_style(widget)->base[gtk_widget_get_state(widget)]); #endif } #if GTK_CHECK_VERSION (3, 0, 0) static gboolean exo_icon_view_draw (GtkWidget *widget, cairo_t *cr) #else static gboolean exo_icon_view_expose_event (GtkWidget *widget, GdkEventExpose *event) #endif { ExoIconViewDropPosition dest_pos; ExoIconViewPrivate *priv = EXO_ICON_VIEW (widget)->priv; ExoIconViewItem *dest_item = NULL; ExoIconViewItem *item; #if GTK_CHECK_VERSION (3, 0, 0) GtkAllocation event_area; #else GdkRectangle event_area = event->area; #endif ExoIconView *icon_view = EXO_ICON_VIEW (widget); GtkTreePath *path; GdkRectangle rubber_rect; const GList *lp; gint event_area_last; gint dest_index = -1; /* verify that the expose happened on the icon window */ #if GTK_CHECK_VERSION (3, 0, 0) if (!G_UNLIKELY (gtk_cairo_should_draw_window (cr, priv->bin_window))) return FALSE; #else if (G_UNLIKELY (event->window != priv->bin_window)) return FALSE; #endif /* don't handle expose if the layout isn't done yet; the layout * method will schedule a redraw when done. */ if (G_UNLIKELY (priv->layout_idle_id != 0)) return FALSE; #if !GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr; cr = gdk_cairo_create (priv->bin_window); cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); #else gtk_cairo_transform_to_window (cr, widget, priv->bin_window); #endif cairo_set_line_width (cr, 1); /* scroll to the previously remembered path (if any) */ if (G_UNLIKELY (priv->scroll_to_path != NULL)) { /* grab the path from the reference and invalidate the reference */ path = gtk_tree_row_reference_get_path (priv->scroll_to_path); gtk_tree_row_reference_free (priv->scroll_to_path); priv->scroll_to_path = NULL; /* check if the reference was still valid */ if (G_LIKELY (path != NULL)) { /* try to scroll again */ exo_icon_view_scroll_to_path (icon_view, path, priv->scroll_to_use_align, priv->scroll_to_row_align, priv->scroll_to_col_align); /* release the path */ gtk_tree_path_free (path); } } /* check if we need to draw a drag indicator */ exo_icon_view_get_drag_dest_item (icon_view, &path, &dest_pos); if (G_UNLIKELY (path != NULL)) { dest_index = gtk_tree_path_get_indices (path)[0]; gtk_tree_path_free (path); } /* paint the rubberband background */ if (G_UNLIKELY (priv->doing_rubberband)) { /* calculate the rubberband area */ rubber_rect.x = MIN (priv->rubberband_x1, priv->rubberband_x2); rubber_rect.y = MIN (priv->rubberband_y1, priv->rubberband_y2); rubber_rect.width = ABS (priv->rubberband_x1 - priv->rubberband_x2) + 1; rubber_rect.height = ABS (priv->rubberband_y1 - priv->rubberband_y2) + 1; /* we take advantage of double-buffering here and use only a single * draw_rectangle() operation w/o having to take care of clipping. */ #if GTK_CHECK_VERSION (3, 0, 0) gdk_cairo_set_source_rgba (cr, &priv->rubberband_fill_color); #else gdk_cairo_set_source_color (cr, priv->rubberband_fill_color); #endif cairo_rectangle (cr, rubber_rect.x + 0.5, rubber_rect.y + 0.5, rubber_rect.width - 1, rubber_rect.height - 1); cairo_fill (cr); } cairo_set_operator (cr, CAIRO_OPERATOR_OVER); /* determine the last interesting coordinate (depending on the layout mode) */ #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_get_allocation (widget, &event_area); gdk_window_get_position (priv->bin_window, &event_area.x, &event_area.y); event_area.x = -event_area.x; event_area.y = -event_area.y; #endif event_area_last = (priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS) ? event_area.y + event_area.height : event_area.x + event_area.width; /* paint all items that are affected by the expose event */ for (lp = priv->items; lp != NULL; lp = lp->next) { /* check if this item is in the visible area */ item = EXO_ICON_VIEW_ITEM (lp->data); if (G_LIKELY (priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS)) { if (item->area.y > event_area_last) break; else if (item->area.y + item->area.height < event_area.y) continue; } else { if (item->area.x > event_area_last) break; else if (item->area.x + item->area.width < event_area.x) continue; } /* check if this item needs an update */ #if GTK_CHECK_VERSION (3, 0, 0) if (G_LIKELY (gdk_rectangle_intersect(&event_area, &item->area, NULL))) { exo_icon_view_paint_item (icon_view, item, &event_area, cr, item->area.x, item->area.y, TRUE); #else if (G_LIKELY (gdk_region_rect_in (event->region, &item->area) != GDK_OVERLAP_RECTANGLE_OUT)) { exo_icon_view_paint_item (icon_view, item, &event_area, event->window, item->area.x, item->area.y, TRUE); #endif if (G_UNLIKELY (dest_index >= 0 && dest_item == NULL && dest_index == g_list_index (priv->items, item))) dest_item = item; } } /* draw the drag indicator */ if (G_UNLIKELY (dest_item != NULL)) { switch (dest_pos) { case EXO_ICON_VIEW_DROP_INTO: #if GTK_CHECK_VERSION (3, 0, 0) gtk_paint_focus (gtk_widget_get_style(widget), cr, gtk_widget_get_state (widget), widget, #else gtk_paint_focus (gtk_widget_get_style(widget), priv->bin_window, gtk_widget_get_state (widget), NULL, widget, #endif "iconview-drop-indicator", dest_item->area.x, dest_item->area.y, dest_item->area.width, dest_item->area.height); break; case EXO_ICON_VIEW_DROP_ABOVE: #if GTK_CHECK_VERSION (3, 0, 0) gtk_paint_focus (gtk_widget_get_style(widget), cr, gtk_widget_get_state (widget), widget, #else gtk_paint_focus (gtk_widget_get_style(widget), priv->bin_window, gtk_widget_get_state (widget), NULL, widget, #endif "iconview-drop-indicator", dest_item->area.x, dest_item->area.y - 1, dest_item->area.width, 2); break; case EXO_ICON_VIEW_DROP_LEFT: #if GTK_CHECK_VERSION (3, 0, 0) gtk_paint_focus (gtk_widget_get_style(widget), cr, gtk_widget_get_state (widget), widget, #else gtk_paint_focus (gtk_widget_get_style(widget), priv->bin_window, gtk_widget_get_state (widget), NULL, widget, #endif "iconview-drop-indicator", dest_item->area.x - 1, dest_item->area.y, 2, dest_item->area.height); break; case EXO_ICON_VIEW_DROP_BELOW: #if GTK_CHECK_VERSION (3, 0, 0) gtk_paint_focus (gtk_widget_get_style(widget), cr, gtk_widget_get_state (widget), widget, #else gtk_paint_focus (gtk_widget_get_style(widget), priv->bin_window, gtk_widget_get_state (widget), NULL, widget, #endif "iconview-drop-indicator", dest_item->area.x, dest_item->area.y + dest_item->area.height - 1, dest_item->area.width, 2); break; case EXO_ICON_VIEW_DROP_RIGHT: #if GTK_CHECK_VERSION (3, 0, 0) gtk_paint_focus (gtk_widget_get_style(widget), cr, gtk_widget_get_state (widget), widget, #else gtk_paint_focus (gtk_widget_get_style(widget), priv->bin_window, gtk_widget_get_state (widget), NULL, widget, #endif "iconview-drop-indicator", dest_item->area.x + dest_item->area.width - 1, dest_item->area.y, 2, dest_item->area.height); case EXO_ICON_VIEW_NO_DROP: break; default: g_assert_not_reached (); } } /* draw the rubberband border */ if (G_UNLIKELY (priv->doing_rubberband)) { /* draw the border */ #if GTK_CHECK_VERSION (3, 0, 0) gdk_cairo_set_source_rgba (cr, &priv->rubberband_border_color); #else gdk_cairo_set_source_color (cr, priv->rubberband_border_color); #endif cairo_set_line_width (cr, 1); cairo_rectangle (cr, rubber_rect.x + 0.5, rubber_rect.y + 0.5, rubber_rect.width - 1, rubber_rect.height - 1); cairo_stroke (cr); } #if !GTK_CHECK_VERSION (3, 0, 0) cairo_destroy (cr); /* let the GtkContainer forward the expose event to all children */ (*GTK_WIDGET_CLASS (exo_icon_view_parent_class)->expose_event) (widget, event); #endif return FALSE; } static gboolean rubberband_scroll_timeout (gpointer user_data) { GtkAdjustment *adjustment; ExoIconView *icon_view = EXO_ICON_VIEW (user_data); gdouble value; GDK_THREADS_ENTER (); /* determine the adjustment for the scroll direction */ adjustment = (icon_view->priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS) ? icon_view->priv->vadjustment : icon_view->priv->hadjustment; /* determine the new scroll value */ value = MIN (gtk_adjustment_get_value (adjustment) + icon_view->priv->scroll_value_diff, gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment) ); /* apply the new value */ gtk_adjustment_set_value (adjustment, value); /* update the rubberband */ exo_icon_view_update_rubberband (icon_view); GDK_THREADS_LEAVE (); return TRUE; } static gboolean exo_icon_view_motion_notify_event (GtkWidget *widget, GdkEventMotion *event) { ExoIconViewItem *item; GtkAllocation allocation; ExoIconView *icon_view = EXO_ICON_VIEW (widget); GdkCursor *cursor; gint size; gint abs; exo_icon_view_maybe_begin_drag (icon_view, event); gtk_widget_get_allocation (widget, &allocation); if (icon_view->priv->doing_rubberband) { exo_icon_view_update_rubberband (widget); if (icon_view->priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS) { abs = event->y - icon_view->priv->height * (gtk_adjustment_get_value (icon_view->priv->vadjustment) / (gtk_adjustment_get_upper (icon_view->priv->vadjustment) - gtk_adjustment_get_lower (icon_view->priv->vadjustment))); size = allocation.height; } else { abs = event->x - icon_view->priv->width * (gtk_adjustment_get_value (icon_view->priv->hadjustment) / (gtk_adjustment_get_upper (icon_view->priv->hadjustment) - gtk_adjustment_get_lower (icon_view->priv->hadjustment))); size = allocation.width; } if (abs < 0 || abs > size) { if (abs < 0) icon_view->priv->scroll_value_diff = abs; else icon_view->priv->scroll_value_diff = abs - size; icon_view->priv->event_last_x = event->x; icon_view->priv->event_last_y = event->y; if (icon_view->priv->scroll_timeout_id == 0) icon_view->priv->scroll_timeout_id = g_timeout_add (30, rubberband_scroll_timeout, icon_view); } else { remove_scroll_timeout (icon_view); } } else { item = exo_icon_view_get_item_at_coords (icon_view, event->x, event->y, TRUE, NULL); if (item != icon_view->priv->prelit_item) { if (G_LIKELY (icon_view->priv->prelit_item != NULL)) exo_icon_view_queue_draw_item (icon_view, icon_view->priv->prelit_item); icon_view->priv->prelit_item = item; if (G_LIKELY (item != NULL)) exo_icon_view_queue_draw_item (icon_view, item); /* check if we are in single click mode right now */ if (G_UNLIKELY (icon_view->priv->single_click)) { /* display a hand cursor when pointer is above an item */ if (G_LIKELY (item != NULL)) { /* hand2 seems to be what we should use */ cursor = gdk_cursor_new (GDK_HAND2); gdk_window_set_cursor (event->window, cursor); gdk_cursor_unref (cursor); } else { /* reset the cursor */ gdk_window_set_cursor (event->window, NULL); } /* check if autoselection is enabled */ if (G_LIKELY (icon_view->priv->single_click_timeout > 0)) { /* drop any running timeout */ if (G_LIKELY (icon_view->priv->single_click_timeout_id != 0)) g_source_remove (icon_view->priv->single_click_timeout_id); /* remember the current event state */ icon_view->priv->single_click_timeout_state = event->state; /* schedule a new timeout */ icon_view->priv->single_click_timeout_id = g_timeout_add_full (G_PRIORITY_LOW, icon_view->priv->single_click_timeout, exo_icon_view_single_click_timeout, icon_view, exo_icon_view_single_click_timeout_destroy); } } } } return TRUE; } static void exo_icon_view_remove (GtkContainer *container, GtkWidget *widget) { ExoIconViewChild *child; ExoIconView *icon_view = EXO_ICON_VIEW (container); GList *lp; for (lp = icon_view->priv->children; lp != NULL; lp = lp->next) { child = lp->data; if (G_LIKELY (child->widget == widget)) { icon_view->priv->children = g_list_delete_link (icon_view->priv->children, lp); gtk_widget_unparent (widget); _exo_slice_free (ExoIconViewChild, child); return; } } } static void exo_icon_view_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { ExoIconView *icon_view = EXO_ICON_VIEW (container); GList *lp; for (lp = icon_view->priv->children; lp != NULL; lp = lp->next) (*callback) (((ExoIconViewChild *) lp->data)->widget, callback_data); } static void exo_icon_view_item_activate_cell (ExoIconView *icon_view, ExoIconViewItem *item, ExoIconViewCellInfo *info, GdkEvent *event) { GtkCellRendererMode mode; GdkRectangle cell_area; GtkTreePath *path; gboolean visible; gchar *path_string; exo_icon_view_set_cell_data (icon_view, item); g_object_get (G_OBJECT (info->cell), "visible", &visible, "mode", &mode, NULL); if (G_UNLIKELY (visible && mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE)) { exo_icon_view_get_cell_area (icon_view, item, info, &cell_area); path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1); path_string = gtk_tree_path_to_string (path); gtk_tree_path_free (path); gtk_cell_renderer_activate (info->cell, event, GTK_WIDGET (icon_view), path_string, &cell_area, &cell_area, 0); g_free (path_string); } } static void exo_icon_view_put (ExoIconView *icon_view, GtkWidget *widget, ExoIconViewItem *item, gint cell) { ExoIconViewChild *child; /* allocate the new child */ child = _exo_slice_new (ExoIconViewChild); child->widget = widget; child->item = item; child->cell = cell; /* hook up the child */ icon_view->priv->children = g_list_append (icon_view->priv->children, child); /* setup the parent for the child */ if (gtk_widget_get_realized (GTK_WIDGET (icon_view))) gtk_widget_set_parent_window (child->widget, icon_view->priv->bin_window); gtk_widget_set_parent (widget, GTK_WIDGET (icon_view)); } static void exo_icon_view_remove_widget (GtkCellEditable *editable, ExoIconView *icon_view) { ExoIconViewItem *item; GList *lp; if (G_LIKELY (icon_view->priv->edited_item != NULL)) { item = icon_view->priv->edited_item; icon_view->priv->edited_item = NULL; icon_view->priv->editable = NULL; for (lp = icon_view->priv->cell_list; lp != NULL; lp = lp->next) ((ExoIconViewCellInfo *) lp->data)->editing = FALSE; if (gtk_widget_has_focus (GTK_WIDGET (editable))) gtk_widget_grab_focus (GTK_WIDGET (icon_view)); g_signal_handlers_disconnect_by_func (editable, exo_icon_view_remove_widget, icon_view); gtk_container_remove (GTK_CONTAINER (icon_view), GTK_WIDGET (editable)); exo_icon_view_queue_draw_item (icon_view, item); } } static void exo_icon_view_start_editing (ExoIconView *icon_view, ExoIconViewItem *item, ExoIconViewCellInfo *info, GdkEvent *event) { GtkCellRendererMode mode; GtkCellEditable *editable; GdkRectangle cell_area; GtkTreePath *path; gboolean visible; gchar *path_string; /* setup cell data for the given item */ exo_icon_view_set_cell_data (icon_view, item); /* check if the cell is visible and editable (given the updated cell data) */ g_object_get (info->cell, "visible", &visible, "mode", &mode, NULL); if (G_LIKELY (visible && mode == GTK_CELL_RENDERER_MODE_EDITABLE)) { /* draw keyboard focus while editing */ EXO_ICON_VIEW_SET_FLAG (icon_view, EXO_ICON_VIEW_DRAW_KEYFOCUS); /* determine the cell area */ exo_icon_view_get_cell_area (icon_view, item, info, &cell_area); /* determine the tree path */ path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1); path_string = gtk_tree_path_to_string (path); gtk_tree_path_free (path); /* allocate the editable from the cell renderer */ editable = gtk_cell_renderer_start_editing (info->cell, event, GTK_WIDGET (icon_view), path_string, &cell_area, &cell_area, 0); /* ugly hack, but works */ if (g_object_class_find_property (G_OBJECT_GET_CLASS (editable), "has-frame") != NULL) g_object_set (editable, "has-frame", TRUE, NULL); /* setup the editing widget */ icon_view->priv->edited_item = item; icon_view->priv->editable = editable; info->editing = TRUE; exo_icon_view_put (icon_view, GTK_WIDGET (editable), item, info->position); gtk_cell_editable_start_editing (GTK_CELL_EDITABLE (editable), (GdkEvent *)event); gtk_widget_grab_focus (GTK_WIDGET (editable)); g_signal_connect (G_OBJECT (editable), "remove-widget", G_CALLBACK (exo_icon_view_remove_widget), icon_view); /* cleanup */ g_free (path_string); } } static void exo_icon_view_stop_editing (ExoIconView *icon_view, gboolean cancel_editing) { ExoIconViewItem *item; GtkCellRenderer *cell = NULL; GList *lp; if (icon_view->priv->edited_item == NULL) return; /* * This is very evil. We need to do this, because * gtk_cell_editable_editing_done may trigger exo_icon_view_row_changed * later on. If exo_icon_view_row_changed notices * icon_view->priv->edited_item != NULL, it'll call * exo_icon_view_stop_editing again. Bad things will happen then. * * Please read that again if you intend to modify anything here. */ item = icon_view->priv->edited_item; icon_view->priv->edited_item = NULL; for (lp = icon_view->priv->cell_list; lp != NULL; lp = lp->next) { ExoIconViewCellInfo *info = lp->data; if (info->editing) { cell = info->cell; break; } } if (G_UNLIKELY (cell == NULL)) return; gtk_cell_renderer_stop_editing (cell, cancel_editing); if (G_LIKELY (!cancel_editing)) gtk_cell_editable_editing_done (icon_view->priv->editable); icon_view->priv->edited_item = item; gtk_cell_editable_remove_widget (icon_view->priv->editable); } static gboolean exo_icon_view_button_press_event (GtkWidget *widget, GdkEventButton *event) { ExoIconViewCellInfo *info = NULL; GtkCellRendererMode mode; ExoIconViewItem *item; ExoIconView *icon_view; GtkTreePath *path; gboolean dirty = FALSE; gint cursor_cell; icon_view = EXO_ICON_VIEW (widget); if (event->window != icon_view->priv->bin_window) return FALSE; /* stop any pending "single-click-timeout" */ if (G_UNLIKELY (icon_view->priv->single_click_timeout_id != 0)) g_source_remove (icon_view->priv->single_click_timeout_id); if (G_UNLIKELY (!gtk_widget_has_focus (widget))) gtk_widget_grab_focus (widget); if (event->button == 1 && event->type == GDK_BUTTON_PRESS) { item = exo_icon_view_get_item_at_coords (icon_view, event->x, event->y, TRUE, &info); if (item != NULL) { g_object_get (info->cell, "mode", &mode, NULL); if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE || mode == GTK_CELL_RENDERER_MODE_EDITABLE) cursor_cell = g_list_index (icon_view->priv->cell_list, info); else cursor_cell = -1; exo_icon_view_scroll_to_item (icon_view, item); if (icon_view->priv->selection_mode == GTK_SELECTION_NONE) { exo_icon_view_set_cursor_item (icon_view, item, cursor_cell); } else if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE && (event->state & GDK_SHIFT_MASK)) { if (!(event->state & GDK_CONTROL_MASK)) exo_icon_view_unselect_all_internal (icon_view); exo_icon_view_set_cursor_item (icon_view, item, cursor_cell); if (!icon_view->priv->anchor_item) icon_view->priv->anchor_item = item; else exo_icon_view_select_all_between (icon_view, icon_view->priv->anchor_item, item); dirty = TRUE; } else { if ((icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE || ((icon_view->priv->selection_mode == GTK_SELECTION_SINGLE) && item->selected)) && (event->state & GDK_CONTROL_MASK)) { item->selected = !item->selected; exo_icon_view_queue_draw_item (icon_view, item); dirty = TRUE; } else { if (!item->selected) { exo_icon_view_unselect_all_internal (icon_view); item->selected = TRUE; exo_icon_view_queue_draw_item (icon_view, item); dirty = TRUE; } } exo_icon_view_set_cursor_item (icon_view, item, cursor_cell); icon_view->priv->anchor_item = item; } /* Save press to possibly begin a drag */ if (icon_view->priv->pressed_button < 0) { icon_view->priv->pressed_button = event->button; icon_view->priv->press_start_x = event->x; icon_view->priv->press_start_y = event->y; } //if (G_LIKELY (icon_view->priv->last_single_clicked == NULL)) //sfm disabled icon_view->priv->last_single_clicked = item; /* cancel the current editing, if it exists */ exo_icon_view_stop_editing (icon_view, TRUE); if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) exo_icon_view_item_activate_cell (icon_view, item, info, (GdkEvent *)event); else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) exo_icon_view_start_editing (icon_view, item, info, (GdkEvent *)event); } else { /* cancel the current editing, if it exists */ exo_icon_view_stop_editing (icon_view, TRUE); if (icon_view->priv->selection_mode != GTK_SELECTION_BROWSE && !(event->state & GDK_CONTROL_MASK)) { dirty = exo_icon_view_unselect_all_internal (icon_view); } if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE) exo_icon_view_start_rubberbanding (icon_view, event->x, event->y); } } else if (event->button == 1 && event->type == GDK_2BUTTON_PRESS) { /* ignore double-click events in single-click mode */ if (G_LIKELY (!icon_view->priv->single_click)) { item = exo_icon_view_get_item_at_coords (icon_view, event->x, event->y, TRUE, NULL); if (G_LIKELY (item != NULL)) { path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1); exo_icon_view_item_activated (icon_view, path); gtk_tree_path_free (path); } } icon_view->priv->last_single_clicked = NULL; icon_view->priv->pressed_button = -1; } /* grab focus and stop drawing the keyboard focus indicator on single clicks */ if (G_LIKELY (event->type != GDK_2BUTTON_PRESS && event->type != GDK_3BUTTON_PRESS)) { if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) gtk_widget_grab_focus (GTK_WIDGET (icon_view)); EXO_ICON_VIEW_UNSET_FLAG (icon_view, EXO_ICON_VIEW_DRAW_KEYFOCUS); } if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); return event->button == 1; } static gboolean exo_icon_view_button_release_event (GtkWidget *widget, GdkEventButton *event) { ExoIconViewItem *item; ExoIconView *icon_view = EXO_ICON_VIEW (widget); GtkTreePath *path; if (icon_view->priv->pressed_button == event->button) { /* check if we're in single click mode */ if (G_UNLIKELY (icon_view->priv->single_click && (event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) == 0)) { /* determine the item at the mouse coords and check if this is the last single clicked one */ item = exo_icon_view_get_item_at_coords (icon_view, event->x, event->y, TRUE, NULL); if (G_LIKELY (item != NULL && item == icon_view->priv->last_single_clicked)) { /* emit an "item-activated" signal for this item */ path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1); exo_icon_view_item_activated (icon_view, path); gtk_tree_path_free (path); } /* reset the last single clicked item */ icon_view->priv->last_single_clicked = NULL; } /* reset the pressed_button state */ icon_view->priv->pressed_button = -1; } exo_icon_view_stop_rubberbanding (icon_view); remove_scroll_timeout (icon_view); return TRUE; } static gboolean exo_icon_view_scroll_event (GtkWidget *widget, GdkEventScroll *event) { GtkAdjustment *adjustment; ExoIconView *icon_view = EXO_ICON_VIEW (widget); gdouble delta; gdouble value; /* we don't care for scroll events in "rows" layout mode, as * that's completely handled by GtkScrolledWindow. */ if (icon_view->priv->layout_mode != EXO_ICON_VIEW_LAYOUT_COLS) return FALSE; /* also, we don't care for anything but Up/Down, as * everything else will be handled by GtkScrolledWindow. */ if (event->direction != GDK_SCROLL_UP && event->direction != GDK_SCROLL_DOWN) return FALSE; /* determine the horizontal adjustment */ adjustment = icon_view->priv->hadjustment; /* determine the scroll delta */ delta = pow (gtk_adjustment_get_page_size (adjustment), 2.0 / 3.0); delta = (event->direction == GDK_SCROLL_UP) ? -delta : delta; /* apply the new adjustment value */ value = CLAMP (gtk_adjustment_get_value (adjustment) + delta, gtk_adjustment_get_lower (adjustment), gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment)); gtk_adjustment_set_value (adjustment, value); return TRUE; } static gboolean exo_icon_view_key_press_event (GtkWidget *widget, GdkEventKey *event) { ExoIconView *icon_view = EXO_ICON_VIEW (widget); GdkScreen *screen; GdkEvent *new_event; gboolean retval; gulong popup_menu_id; gchar *new_text; gchar *old_text; /* let the parent class handle the key bindings and stuff */ if ((*GTK_WIDGET_CLASS (exo_icon_view_parent_class)->key_press_event) (widget, event)) return TRUE; /* check if typeahead search is enabled */ if (G_UNLIKELY (!icon_view->priv->enable_search)) return FALSE; exo_icon_view_search_ensure_directory (icon_view); /* make sure the search window is realized */ gtk_widget_realize (icon_view->priv->search_window); /* make a copy of the current text */ old_text = gtk_editable_get_chars (GTK_EDITABLE (icon_view->priv->search_entry), 0, -1); /* make sure we don't accidently popup the context menu */ popup_menu_id = g_signal_connect (G_OBJECT (icon_view->priv->search_entry), "popup-menu", G_CALLBACK (gtk_true), NULL); /* move the search window offscreen */ screen = gtk_widget_get_screen (GTK_WIDGET (icon_view)); gtk_window_move (GTK_WINDOW (icon_view->priv->search_window), gdk_screen_get_width (screen) + 1, gdk_screen_get_height (screen) + 1); gtk_widget_show (icon_view->priv->search_window); /* allocate a new event to forward */ new_event = gdk_event_copy ((GdkEvent *) event); g_object_unref (G_OBJECT (new_event->key.window)); new_event->key.window = g_object_ref (G_OBJECT (gtk_widget_get_window (GTK_WIDGET(icon_view->priv->search_entry)))); /* send the event to the search entry. If the "preedit-changed" signal is * emitted during this event, priv->search_imcontext_changed will be set. */ icon_view->priv->search_imcontext_changed = FALSE; retval = gtk_widget_event (icon_view->priv->search_entry, new_event); gtk_widget_hide (icon_view->priv->search_window); /* release the temporary event */ gdk_event_free (new_event); /* disconnect the popup menu prevention */ g_signal_handler_disconnect (G_OBJECT (icon_view->priv->search_entry), popup_menu_id); /* we check to make sure that the entry tried to handle the, * and that the text has actually changed. */ new_text = gtk_editable_get_chars (GTK_EDITABLE (icon_view->priv->search_entry), 0, -1); retval = retval && (strcmp (new_text, old_text) != 0); g_free (old_text); g_free (new_text); /* if we're in a preedit or the text was modified */ if (icon_view->priv->search_imcontext_changed || retval) { if (exo_icon_view_search_start (icon_view, FALSE)) { gtk_widget_grab_focus (GTK_WIDGET (icon_view)); return TRUE; } else { gtk_entry_set_text (GTK_ENTRY (icon_view->priv->search_entry), ""); return FALSE; } } return FALSE; } static gboolean exo_icon_view_focus_out_event (GtkWidget *widget, GdkEventFocus *event) { ExoIconView *icon_view = EXO_ICON_VIEW (widget); /* be sure to cancel any single-click timeout */ if (G_UNLIKELY (icon_view->priv->single_click_timeout_id != 0)) g_source_remove (icon_view->priv->single_click_timeout_id); /* reset the cursor if we're still realized */ if (G_LIKELY (icon_view->priv->bin_window != NULL)) gdk_window_set_cursor (icon_view->priv->bin_window, NULL); /* destroy the interactive search dialog */ if (G_UNLIKELY (icon_view->priv->search_window != NULL)) exo_icon_view_search_dialog_hide (icon_view->priv->search_window, icon_view); /* schedule a redraw with the new focus state */ gtk_widget_queue_draw (widget); return FALSE; } static gboolean exo_icon_view_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event) { /* reset cursor to default */ if (gtk_widget_get_realized (widget)) gdk_window_set_cursor (gtk_widget_get_window (widget), NULL); /* call the parent's leave_notify_event (if any) */ if (GTK_WIDGET_CLASS (exo_icon_view_parent_class)->leave_notify_event != NULL) return (*GTK_WIDGET_CLASS (exo_icon_view_parent_class)->leave_notify_event) (widget, event); /* other signal handlers may be invoked */ return FALSE; } static void exo_icon_view_update_rubberband (gpointer data) { ExoIconView *icon_view; gint x, y; GdkRectangle old_area; GdkRectangle new_area; GdkRectangle common; #if GTK_CHECK_VERSION (3, 0, 0) cairo_region_t *invalid_region; #else GdkRegion *invalid_region; #endif icon_view = EXO_ICON_VIEW (data); gdk_window_get_pointer (icon_view->priv->bin_window, &x, &y, NULL); x = MAX (x, 0); y = MAX (y, 0); old_area.x = MIN (icon_view->priv->rubberband_x1, icon_view->priv->rubberband_x2); old_area.y = MIN (icon_view->priv->rubberband_y1, icon_view->priv->rubberband_y2); old_area.width = ABS (icon_view->priv->rubberband_x2 - icon_view->priv->rubberband_x1) + 1; old_area.height = ABS (icon_view->priv->rubberband_y2 - icon_view->priv->rubberband_y1) + 1; new_area.x = MIN (icon_view->priv->rubberband_x1, x); new_area.y = MIN (icon_view->priv->rubberband_y1, y); new_area.width = ABS (x - icon_view->priv->rubberband_x1) + 1; new_area.height = ABS (y - icon_view->priv->rubberband_y1) + 1; #if GTK_CHECK_VERSION (3, 0, 0) invalid_region = cairo_region_create_rectangle ((cairo_rectangle_int_t *)&old_area); cairo_region_union_rectangle (invalid_region, (cairo_rectangle_int_t *)&new_area); #else invalid_region = gdk_region_rectangle (&old_area); gdk_region_union_with_rect (invalid_region, &new_area); #endif gdk_rectangle_intersect (&old_area, &new_area, &common); if (common.width > 2 && common.height > 2) { #if GTK_CHECK_VERSION (3, 0, 0) cairo_region_t *common_region; #else GdkRegion *common_region; #endif /* make sure the border is invalidated */ common.x += 1; common.y += 1; common.width -= 2; common.height -= 2; #if GTK_CHECK_VERSION (3, 0, 0) common_region = cairo_region_create_rectangle ((cairo_rectangle_int_t *)&common); cairo_region_subtract (invalid_region, common_region); cairo_region_destroy (common_region); #else common_region = gdk_region_rectangle (&common); gdk_region_subtract (invalid_region, common_region); gdk_region_destroy (common_region); #endif } gdk_window_invalidate_region (icon_view->priv->bin_window, invalid_region, TRUE); #if GTK_CHECK_VERSION (3, 0, 0) cairo_region_destroy (invalid_region); #else gdk_region_destroy (invalid_region); #endif icon_view->priv->rubberband_x2 = x; icon_view->priv->rubberband_y2 = y; exo_icon_view_update_rubberband_selection (icon_view); } static void exo_icon_view_start_rubberbanding (ExoIconView *icon_view, gint x, gint y) { const GdkColor *background_color; GdkColor *color; guchar alpha; gpointer drag_data; GList *items; /* be sure to disable any previously active rubberband */ exo_icon_view_stop_rubberbanding (icon_view); for (items = icon_view->priv->items; items; items = items->next) { ExoIconViewItem *item = items->data; item->selected_before_rubberbanding = item->selected; } icon_view->priv->rubberband_x1 = x; icon_view->priv->rubberband_y1 = y; icon_view->priv->rubberband_x2 = x; icon_view->priv->rubberband_y2 = y; icon_view->priv->doing_rubberband = TRUE; #if GTK_CHECK_VERSION (3, 0, 0) GtkStyleContext *style_ctx = gtk_widget_get_style_context (GTK_WIDGET (icon_view)); gtk_style_context_save (style_ctx); gtk_style_context_add_class (style_ctx, GTK_STYLE_CLASS_RUBBERBAND); /* set the rubberband border color */ gtk_style_context_get_border_color (style_ctx, GTK_STATE_FLAG_NORMAL, &icon_view->priv->rubberband_border_color); /* set the rubberband fill color */ gtk_style_context_get_background_color (style_ctx, GTK_STATE_FLAG_NORMAL, &icon_view->priv->rubberband_fill_color); gtk_style_context_restore (style_ctx); #else /* determine the border color */ gtk_widget_style_get (GTK_WIDGET (icon_view), "selection-box-color", &color, NULL); if (G_LIKELY (color == NULL)) color = gdk_color_copy (>k_widget_get_style(GTK_WIDGET (icon_view))->base[GTK_STATE_SELECTED]); /* set the rubberband border color */ icon_view->priv->rubberband_border_color = color; /* determine the fill color and alpha setting */ gtk_widget_style_get (GTK_WIDGET (icon_view), "selection-box-color", &color, "selection-box-alpha", &alpha, NULL); if (G_LIKELY (color == NULL)) color = gdk_color_copy (>k_widget_get_style(GTK_WIDGET (icon_view))->base[GTK_STATE_SELECTED]); /* calculate the fill color (based on the fill color, the alpha setting and the background color) */ background_color = >k_widget_get_style(GTK_WIDGET (icon_view))->base[GTK_STATE_NORMAL]; color->red = ((color->red * (alpha / 255.0)) + (background_color->red * (255.0 - alpha / 255.0))); color->green = ((color->green * (alpha / 255.0)) + (background_color->green * (255.0 - alpha / 255.0))); color->blue = ((color->blue * (alpha / 255.0)) + (background_color->blue * (255.0 - alpha / 255.0))); /* set the rubberband background color */ icon_view->priv->rubberband_fill_color = color; #endif gtk_grab_add (GTK_WIDGET (icon_view)); /* be sure to disable Gtk+ DnD callbacks, because else rubberbanding will be interrupted */ drag_data = g_object_get_data (G_OBJECT (icon_view), I_("gtk-site-data")); if (G_LIKELY (drag_data != NULL)) { g_signal_handlers_block_matched (G_OBJECT (icon_view), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, drag_data); } } static void exo_icon_view_stop_rubberbanding (ExoIconView *icon_view) { gpointer drag_data; if (G_LIKELY (icon_view->priv->doing_rubberband)) { icon_view->priv->doing_rubberband = FALSE; gtk_grab_remove (GTK_WIDGET (icon_view)); gtk_widget_queue_draw (GTK_WIDGET (icon_view)); #if !GTK_CHECK_VERSION (3, 0, 0) /* Free the colors for drawing the rubberband */ gdk_color_free (icon_view->priv->rubberband_border_color); gdk_color_free (icon_view->priv->rubberband_fill_color); icon_view->priv->rubberband_border_color = NULL; icon_view->priv->rubberband_fill_color = NULL; #endif /* re-enable Gtk+ DnD callbacks again */ drag_data = g_object_get_data (G_OBJECT (icon_view), I_("gtk-site-data")); if (G_LIKELY (drag_data != NULL)) { g_signal_handlers_unblock_matched (G_OBJECT (icon_view), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, drag_data); } } } static void exo_icon_view_update_rubberband_selection (ExoIconView *icon_view) { ExoIconViewItem *item; gboolean selected; gboolean changed = FALSE; gboolean is_in; GList *lp; gint x, y; gint width; gint height; /* determine the new rubberband area */ x = MIN (icon_view->priv->rubberband_x1, icon_view->priv->rubberband_x2); y = MIN (icon_view->priv->rubberband_y1, icon_view->priv->rubberband_y2); width = ABS (icon_view->priv->rubberband_x1 - icon_view->priv->rubberband_x2); height = ABS (icon_view->priv->rubberband_y1 - icon_view->priv->rubberband_y2); /* check all items */ for (lp = icon_view->priv->items; lp != NULL; lp = lp->next) { item = EXO_ICON_VIEW_ITEM (lp->data); is_in = exo_icon_view_item_hit_test (icon_view, item, x, y, width, height); selected = is_in ^ item->selected_before_rubberbanding; if (G_UNLIKELY (item->selected != selected)) { changed = TRUE; item->selected = selected; exo_icon_view_queue_draw_item (icon_view, item); } } if (G_LIKELY (changed)) g_signal_emit (G_OBJECT (icon_view), icon_view_signals[SELECTION_CHANGED], 0); } static gboolean exo_icon_view_item_hit_test (ExoIconView *icon_view, ExoIconViewItem *item, gint x, gint y, gint width, gint height) { GList *l; GdkRectangle box; for (l = icon_view->priv->cell_list; l; l = l->next) { ExoIconViewCellInfo *info = (ExoIconViewCellInfo *)l->data; if (!gtk_cell_renderer_get_visible (info->cell)) continue; box = item->box[info->position]; if (MIN (x + width, box.x + box.width) - MAX (x, box.x) > 0 && MIN (y + height, box.y + box.height) - MAX (y, box.y) > 0) return TRUE; } return FALSE; } static gboolean exo_icon_view_unselect_all_internal (ExoIconView *icon_view) { ExoIconViewItem *item; gboolean dirty = FALSE; GList *lp; if (G_LIKELY (icon_view->priv->selection_mode != GTK_SELECTION_NONE)) { for (lp = icon_view->priv->items; lp != NULL; lp = lp->next) { item = EXO_ICON_VIEW_ITEM (lp->data); if (item->selected) { dirty = TRUE; item->selected = FALSE; exo_icon_view_queue_draw_item (icon_view, item); } } } return dirty; } #if GTK_CHECK_VERSION (3, 0, 0) static void exo_icon_view_set_hadjustment (ExoIconView *icon_view, GtkAdjustment *hadj) { if (hadj && icon_view->priv->hadjustment == hadj) return; if (icon_view->priv->hadjustment) { g_signal_handlers_disconnect_matched (icon_view->priv->hadjustment, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, icon_view); g_object_unref (icon_view->priv->hadjustment); } if (!hadj) hadj = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); icon_view->priv->hadjustment = g_object_ref_sink (G_OBJECT (hadj)); g_signal_connect (icon_view->priv->hadjustment, "value-changed", G_CALLBACK (exo_icon_view_adjustment_changed), icon_view); if (icon_view->priv->vadjustment) exo_icon_view_adjustment_changed (NULL, icon_view); } static void exo_icon_view_set_vadjustment (ExoIconView *icon_view, GtkAdjustment *vadj) { if (vadj && icon_view->priv->vadjustment == vadj) return; if (icon_view->priv->vadjustment) { g_signal_handlers_disconnect_matched (icon_view->priv->vadjustment, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, icon_view); g_object_unref (icon_view->priv->vadjustment); } if (!vadj) vadj = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); icon_view->priv->vadjustment = g_object_ref_sink (G_OBJECT (vadj)); g_signal_connect (icon_view->priv->vadjustment, "value-changed", G_CALLBACK (exo_icon_view_adjustment_changed), icon_view); if (icon_view->priv->hadjustment) exo_icon_view_adjustment_changed (NULL, icon_view); } #else static void exo_icon_view_set_adjustments (ExoIconView *icon_view, GtkAdjustment *hadj, GtkAdjustment *vadj) { gboolean need_adjust = FALSE; if (hadj) _exo_return_if_fail (GTK_IS_ADJUSTMENT (hadj)); else hadj = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); if (vadj) _exo_return_if_fail (GTK_IS_ADJUSTMENT (vadj)); else vadj = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); if (icon_view->priv->hadjustment && (icon_view->priv->hadjustment != hadj)) { g_signal_handlers_disconnect_matched (icon_view->priv->hadjustment, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, icon_view); g_object_unref (icon_view->priv->hadjustment); } if (icon_view->priv->vadjustment && (icon_view->priv->vadjustment != vadj)) { g_signal_handlers_disconnect_matched (icon_view->priv->vadjustment, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, icon_view); g_object_unref (icon_view->priv->vadjustment); } if (icon_view->priv->hadjustment != hadj) { icon_view->priv->hadjustment = hadj; g_object_ref (icon_view->priv->hadjustment); g_object_ref_sink (G_OBJECT (icon_view->priv->hadjustment)); g_signal_connect (icon_view->priv->hadjustment, "value-changed", G_CALLBACK (exo_icon_view_adjustment_changed), icon_view); need_adjust = TRUE; } if (icon_view->priv->vadjustment != vadj) { icon_view->priv->vadjustment = vadj; g_object_ref (icon_view->priv->vadjustment); g_object_ref_sink (G_OBJECT (icon_view->priv->vadjustment)); g_signal_connect (icon_view->priv->vadjustment, "value-changed", G_CALLBACK (exo_icon_view_adjustment_changed), icon_view); need_adjust = TRUE; } if (need_adjust) exo_icon_view_adjustment_changed (NULL, icon_view); } #endif static void exo_icon_view_real_select_all (ExoIconView *icon_view) { exo_icon_view_select_all (icon_view); } static void exo_icon_view_real_unselect_all (ExoIconView *icon_view) { exo_icon_view_unselect_all (icon_view); } static void exo_icon_view_real_select_cursor_item (ExoIconView *icon_view) { exo_icon_view_unselect_all (icon_view); if (icon_view->priv->cursor_item != NULL) exo_icon_view_select_item (icon_view, icon_view->priv->cursor_item); } static gboolean exo_icon_view_real_activate_cursor_item (ExoIconView *icon_view) { GtkTreePath *path; GtkCellRendererMode mode; ExoIconViewCellInfo *info = NULL; if (!icon_view->priv->cursor_item) return FALSE; info = g_list_nth_data (icon_view->priv->cell_list, icon_view->priv->cursor_cell); if (info) { g_object_get (info->cell, "mode", &mode, NULL); if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) { exo_icon_view_item_activate_cell (icon_view, icon_view->priv->cursor_item, info, NULL); return TRUE; } else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) { exo_icon_view_start_editing (icon_view, icon_view->priv->cursor_item, info, NULL); return TRUE; } } path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, icon_view->priv->cursor_item), -1); exo_icon_view_item_activated (icon_view, path); gtk_tree_path_free (path); return TRUE; } static gboolean exo_icon_view_real_start_interactive_search (ExoIconView *icon_view) { return exo_icon_view_search_start (icon_view, TRUE); } static void exo_icon_view_real_toggle_cursor_item (ExoIconView *icon_view) { if (G_LIKELY (icon_view->priv->cursor_item != NULL)) { switch (icon_view->priv->selection_mode) { case GTK_SELECTION_NONE: break; case GTK_SELECTION_BROWSE: exo_icon_view_select_item (icon_view, icon_view->priv->cursor_item); break; case GTK_SELECTION_SINGLE: if (icon_view->priv->cursor_item->selected) exo_icon_view_unselect_item (icon_view, icon_view->priv->cursor_item); else exo_icon_view_select_item (icon_view, icon_view->priv->cursor_item); break; case GTK_SELECTION_MULTIPLE: icon_view->priv->cursor_item->selected = !icon_view->priv->cursor_item->selected; g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); exo_icon_view_queue_draw_item (icon_view, icon_view->priv->cursor_item); break; default: g_assert_not_reached (); } } } static void exo_icon_view_adjustment_changed (GtkAdjustment *adjustment, ExoIconView *icon_view) { if (gtk_widget_get_realized (GTK_WIDGET (icon_view))) { gdk_window_move (icon_view->priv->bin_window, -gtk_adjustment_get_value (icon_view->priv->hadjustment), -gtk_adjustment_get_value (icon_view->priv->vadjustment)); if (G_UNLIKELY (icon_view->priv->doing_rubberband)) exo_icon_view_update_rubberband (GTK_WIDGET (icon_view)); gdk_window_process_updates (icon_view->priv->bin_window, TRUE); } } static GList* exo_icon_view_layout_single_row (ExoIconView *icon_view, GList *first_item, gint item_width, gint row, gint *y, gint *maximum_width, gint max_cols) { ExoIconViewPrivate *priv = icon_view->priv; ExoIconViewItem *item; GtkAllocation allocation; gboolean rtl; GList *last_item; GList *items = first_item; gint *max_width; gint *max_height; gint focus_width; gint current_width; gint colspan; gint col = 0; gint x; gint i; rtl = (gtk_widget_get_direction (GTK_WIDGET (icon_view)) == GTK_TEXT_DIR_RTL); max_width = g_newa (gint, priv->n_cells); max_height = g_newa (gint, priv->n_cells); for (i = priv->n_cells; --i >= 0; ) { max_width[i] = 0; max_height[i] = 0; } gtk_widget_style_get (GTK_WIDGET (icon_view), "focus-line-width", &focus_width, NULL); x = priv->margin + focus_width; current_width = 2 * (priv->margin + focus_width); gtk_widget_get_allocation (GTK_WIDGET (icon_view), &allocation); for (items = first_item; items != NULL; items = items->next) { item = EXO_ICON_VIEW_ITEM (items->data); exo_icon_view_calculate_item_size (icon_view, item); colspan = 1 + (item->area.width - 1) / (item_width + priv->column_spacing); item->area.width = colspan * item_width + (colspan - 1) * priv->column_spacing; current_width += item->area.width + priv->column_spacing + 2 * focus_width; if (G_LIKELY (items != first_item)) { if ((priv->columns <= 0 && current_width > allocation.width) || (priv->columns > 0 && col >= priv->columns) || (max_cols > 0 && col >= max_cols)) break; } item->area.y = *y + focus_width; item->area.x = rtl ? allocation.width - item->area.width - x : x; x = current_width - (priv->margin + focus_width); for (i = 0; i < priv->n_cells; i++) { max_width[i] = MAX (max_width[i], item->box[i].width); max_height[i] = MAX (max_height[i], item->box[i].height); } if (current_width > *maximum_width) *maximum_width = current_width; item->row = row; item->col = col; col += colspan; } last_item = items; /* Now go through the row again and align the icons */ for (items = first_item; items != last_item; items = items->next) { item = EXO_ICON_VIEW_ITEM (items->data); exo_icon_view_calculate_item_size2 (icon_view, item, max_width, max_height); /* We may want to readjust the new y coordinate. */ if (item->area.y + item->area.height + focus_width + priv->row_spacing > *y) *y = item->area.y + item->area.height + focus_width + priv->row_spacing; if (G_UNLIKELY (rtl)) item->col = col - 1 - item->col; } return last_item; } static GList* exo_icon_view_layout_single_col (ExoIconView *icon_view, GList *first_item, gint item_height, gint col, gint *x, gint *maximum_height, gint max_rows) { ExoIconViewPrivate *priv = icon_view->priv; ExoIconViewItem *item; GtkAllocation allocation; GList *items = first_item; GList *last_item; gint *max_width; gint *max_height; gint focus_width; gint current_height; gint rowspan; gint row = 0; gint y; gint i; max_width = g_newa (gint, priv->n_cells); max_height = g_newa (gint, priv->n_cells); for (i = priv->n_cells; --i >= 0; ) { max_width[i] = 0; max_height[i] = 0; } gtk_widget_style_get (GTK_WIDGET (icon_view), "focus-line-width", &focus_width, NULL); y = priv->margin + focus_width; current_height = 2 * (priv->margin + focus_width); gtk_widget_get_allocation (GTK_WIDGET (icon_view), &allocation); for (items = first_item; items != NULL; items = items->next) { item = EXO_ICON_VIEW_ITEM (items->data); exo_icon_view_calculate_item_size (icon_view, item); rowspan = 1 + (item->area.height - 1) / (item_height + priv->row_spacing); item->area.height = rowspan * item_height + (rowspan - 1) * priv->row_spacing; current_height += item->area.height + priv->row_spacing + 2 * focus_width; if (G_LIKELY (items != first_item)) { if (current_height >= allocation.height || (max_rows > 0 && row >= max_rows)) break; } item->area.y = y + focus_width; item->area.x = *x; y = current_height - (priv->margin + focus_width); for (i = 0; i < priv->n_cells; i++) { max_width[i] = MAX (max_width[i], item->box[i].width); max_height[i] = MAX (max_height[i], item->box[i].height); } if (current_height > *maximum_height) *maximum_height = current_height; item->row = row; item->col = col; row += rowspan; } last_item = items; /* Now go through the column again and align the icons */ for (items = first_item; items != last_item; items = items->next) { item = EXO_ICON_VIEW_ITEM (items->data); exo_icon_view_calculate_item_size2 (icon_view, item, max_width, max_height); /* We may want to readjust the new x coordinate. */ if (item->area.x + item->area.width + focus_width + priv->column_spacing > *x) *x = item->area.x + item->area.width + focus_width + priv->column_spacing; } return last_item; } static void exo_icon_view_set_adjustment_upper (GtkAdjustment *adj, gdouble upper) { if (upper != gtk_adjustment_get_upper (adj)) { gdouble min = MAX (0.0, upper - gtk_adjustment_get_page_size (adj)); gboolean value_changed = FALSE; gtk_adjustment_set_upper (adj, upper); if (gtk_adjustment_get_value (adj) > min) { gtk_adjustment_set_value (adj, min); value_changed = TRUE; } gtk_adjustment_changed (adj); if (value_changed) gtk_adjustment_value_changed (adj); } } static gint exo_icon_view_layout_cols (ExoIconView *icon_view, gint item_height, gint *x, gint *maximum_height, gint max_rows) { GList *icons = icon_view->priv->items; GList *items; gint col = 0; gint rows; *x = icon_view->priv->margin; do { icons = exo_icon_view_layout_single_col (icon_view, icons, item_height, col, x, maximum_height, max_rows); /* count the number of rows in the first column */ if (G_UNLIKELY (col == 0)) { for (items = icon_view->priv->items, rows = 0; items != icons; items = items->next, ++rows) ; } col++; } while (icons != NULL); *x += icon_view->priv->margin; icon_view->priv->cols = col; return rows; } static gint exo_icon_view_layout_rows (ExoIconView *icon_view, gint item_width, gint *y, gint *maximum_width, gint max_cols) { GList *icons = icon_view->priv->items; GList *items; gint row = 0; gint cols; *y = icon_view->priv->margin; do { icons = exo_icon_view_layout_single_row (icon_view, icons, item_width, row, y, maximum_width, max_cols); /* count the number of columns in the first row */ if (G_UNLIKELY (row == 0)) { for (items = icon_view->priv->items, cols = 0; items != icons; items = items->next, ++cols) ; } row++; } while (icons != NULL); *y += icon_view->priv->margin; icon_view->priv->rows = row; return cols; } static void exo_icon_view_layout (ExoIconView *icon_view) { ExoIconViewPrivate *priv = icon_view->priv; ExoIconViewItem *item; GtkAllocation allocation; GList *icons; gint maximum_height = 0; gint maximum_width = 0; gint item_height; gint item_width; gint rows, cols; gint x, y; /* verify that we still have a valid model */ if (G_UNLIKELY (priv->model == NULL)) return; gtk_widget_get_allocation (GTK_WIDGET (icon_view), &allocation); /* determine the layout mode */ if (G_LIKELY (priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS)) { /* calculate item sizes on-demand */ item_width = priv->item_width; if (item_width < 0) { for (icons = priv->items; icons != NULL; icons = icons->next) { item = icons->data; exo_icon_view_calculate_item_size (icon_view, item); item_width = MAX (item_width, item->area.width); } } cols = exo_icon_view_layout_rows (icon_view, item_width, &y, &maximum_width, 0); /* If, by adding another column, we increase the height of the icon view, thus forcing a * vertical scrollbar to appear that would prevent the last column from being able to fit, * we need to relayout the icons with one less column. */ if (cols == priv->cols + 1 && y > allocation.height && priv->height <= allocation.height) { cols = exo_icon_view_layout_rows (icon_view, item_width, &y, &maximum_width, priv->cols); } priv->width = maximum_width; priv->height = y; priv->cols = cols; } else { /* calculate item sizes on-demand */ for (icons = priv->items, item_height = 0; icons != NULL; icons = icons->next) { item = icons->data; exo_icon_view_calculate_item_size (icon_view, item); item_height = MAX (item_height, item->area.height); } rows = exo_icon_view_layout_cols (icon_view, item_height, &x, &maximum_height, 0); /* If, by adding another row, we increase the width of the icon view, thus forcing a * horizontal scrollbar to appear that would prevent the last row from being able to fit, * we need to relayout the icons with one less row. */ if (rows == priv->rows + 1 && x > allocation.width && priv->width <= allocation.width) { rows = exo_icon_view_layout_cols (icon_view, item_height, &x, &maximum_height, priv->rows); } priv->height = maximum_height; priv->width = x; priv->rows = rows; } exo_icon_view_set_adjustment_upper (priv->hadjustment, priv->width); exo_icon_view_set_adjustment_upper (priv->vadjustment, priv->height); if (gtk_widget_get_realized (GTK_WIDGET (icon_view))) { gdk_window_resize (priv->bin_window, MAX (priv->width, allocation.width), MAX (priv->height, allocation.height)); } /* drop any pending layout idle source */ if (priv->layout_idle_id != 0) g_source_remove (priv->layout_idle_id); gtk_widget_queue_draw (GTK_WIDGET (icon_view)); } static void exo_icon_view_get_cell_area (ExoIconView *icon_view, ExoIconViewItem *item, ExoIconViewCellInfo *info, GdkRectangle *cell_area) { if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) { cell_area->x = item->box[info->position].x - item->before[info->position]; cell_area->y = item->area.y; cell_area->width = item->box[info->position].width + item->before[info->position] + item->after[info->position]; cell_area->height = item->area.height; } else { cell_area->x = item->area.x; cell_area->y = item->box[info->position].y - item->before[info->position]; cell_area->width = item->area.width; cell_area->height = item->box[info->position].height + item->before[info->position] + item->after[info->position]; } } static void exo_icon_view_calculate_item_size (ExoIconView *icon_view, ExoIconViewItem *item) { ExoIconViewCellInfo *info; GList *lp; gchar *buffer; if (G_LIKELY (item->area.width != -1)) return; if (G_UNLIKELY (item->n_cells != icon_view->priv->n_cells)) { /* apply the new cell size */ item->n_cells = icon_view->priv->n_cells; /* release the memory chunk (if any) */ g_free (item->box); /* allocate a single memory chunk for box, after and before */ buffer = g_malloc0 (item->n_cells * (sizeof (GdkRectangle) + 2 * sizeof (gint))); /* assign the memory */ item->box = (GdkRectangle *) buffer; item->after = (gint *) (buffer + item->n_cells * sizeof (GdkRectangle)); item->before = item->after + item->n_cells; } exo_icon_view_set_cell_data (icon_view, item); item->area.width = 0; item->area.height = 0; for (lp = icon_view->priv->cell_list; lp != NULL; lp = lp->next) { info = EXO_ICON_VIEW_CELL_INFO (lp->data); if (G_UNLIKELY (!gtk_cell_renderer_get_visible (info->cell))) continue; gtk_cell_renderer_get_size (info->cell, GTK_WIDGET (icon_view), NULL, NULL, NULL, &item->box[info->position].width, &item->box[info->position].height); if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) { item->area.width += item->box[info->position].width + (info->position > 0 ? icon_view->priv->spacing : 0); item->area.height = MAX (item->area.height, item->box[info->position].height); } else { item->area.width = MAX (item->area.width, item->box[info->position].width); item->area.height += item->box[info->position].height + (info->position > 0 ? icon_view->priv->spacing : 0); } } } static void exo_icon_view_calculate_item_size2 (ExoIconView *icon_view, ExoIconViewItem *item, gint *max_width, gint *max_height) { ExoIconViewCellInfo *info; GdkRectangle *box; GdkRectangle cell_area; gboolean rtl; gfloat xalign, yalign; GList *lp; gint spacing; gint i, k; gint xpad, ypad; rtl = (gtk_widget_get_direction (GTK_WIDGET (icon_view)) == GTK_TEXT_DIR_RTL); spacing = icon_view->priv->spacing; if (G_LIKELY (icon_view->priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS)) { item->area.height = 0; for (i = 0; i < icon_view->priv->n_cells; ++i) { if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) item->area.height = MAX (item->area.height, max_height[i]); else item->area.height += max_height[i] + (i > 0 ? spacing : 0); } } else { item->area.width = 0; for (i = 0; i < icon_view->priv->n_cells; ++i) { if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) item->area.width += max_width[i] + (i > 0 ? spacing : 0); else item->area.width = MAX (item->area.width, max_width[i]); } } cell_area.x = item->area.x; cell_area.y = item->area.y; for (k = 0; k < 2; ++k) { for (lp = icon_view->priv->cell_list, i = 0; lp != NULL; lp = lp->next, ++i) { info = EXO_ICON_VIEW_CELL_INFO (lp->data); if (G_UNLIKELY (!gtk_cell_renderer_get_visible (info->cell) || info->pack == (k ? GTK_PACK_START : GTK_PACK_END))) continue; if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) { cell_area.width = item->box[info->position].width; cell_area.height = item->area.height; } else { cell_area.width = item->area.width; cell_area.height = max_height[i]; } gtk_cell_renderer_get_alignment (info->cell, &xalign, &yalign); gtk_cell_renderer_get_padding (info->cell, &xpad, &ypad); box = item->box + info->position; box->x = cell_area.x + (rtl ? (1.0 - xalign) : xalign) * (cell_area.width - box->width - (2 * xpad)); box->x = MAX (box->x, 0); box->y = cell_area.y + yalign * (cell_area.height - box->height - (2 * ypad)); box->y = MAX (box->y, 0); if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) { item->before[info->position] = item->box[info->position].x - cell_area.x; item->after[info->position] = cell_area.width - item->box[info->position].width - item->before[info->position]; cell_area.x += cell_area.width + spacing; } else { if (item->box[info->position].width > item->area.width) { item->area.width = item->box[info->position].width; cell_area.width = item->area.width; } item->before[info->position] = item->box[info->position].y - cell_area.y; item->after[info->position] = cell_area.height - item->box[info->position].height - item->before[info->position]; cell_area.y += cell_area.height + spacing; } } } if (G_UNLIKELY (rtl && icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL)) { for (i = 0; i < icon_view->priv->n_cells; i++) item->box[i].x = item->area.x + item->area.width - (item->box[i].x + item->box[i].width - item->area.x); } } static void exo_icon_view_invalidate_sizes (ExoIconView *icon_view) { GList *lp; for (lp = icon_view->priv->items; lp != NULL; lp = lp->next) EXO_ICON_VIEW_ITEM (lp->data)->area.width = -1; exo_icon_view_queue_layout (icon_view); } static void exo_icon_view_paint_item (ExoIconView *icon_view, ExoIconViewItem *item, GdkRectangle *area, #if GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr, #else GdkDrawable *drawable, #endif gint x, gint y, gboolean draw_focus) { GtkCellRendererState flags; ExoIconViewCellInfo *info; GtkStateType state; GdkRectangle cell_area; gboolean rtl; GList *lp; if (G_UNLIKELY (icon_view->priv->model == NULL)) return; exo_icon_view_set_cell_data (icon_view, item); rtl = gtk_widget_get_direction (GTK_WIDGET (icon_view)) == GTK_TEXT_DIR_RTL; if (item->selected) { flags = GTK_CELL_RENDERER_SELECTED; state = gtk_widget_has_focus (GTK_WIDGET (icon_view)) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE; } else { flags = 0; state = GTK_STATE_NORMAL; } if (G_UNLIKELY (icon_view->priv->prelit_item == item)) flags |= GTK_CELL_RENDERER_PRELIT; /* NOTE by Hong Jen Yee: We always want to focus rectangle. */ if (G_UNLIKELY (/*EXO_ICON_VIEW_FLAG_SET (icon_view, EXO_ICON_VIEW_DRAW_KEYFOCUS) &&*/ icon_view->priv->cursor_item == item)) flags |= GTK_CELL_RENDERER_FOCUSED; #ifdef DEBUG_ICON_VIEW gdk_draw_rectangle (drawable, GTK_WIDGET (icon_view)->style->black_gc, FALSE, x, y, item->area.width, item->area.height); #endif for (lp = icon_view->priv->cell_list; lp != NULL; lp = lp->next) { info = EXO_ICON_VIEW_CELL_INFO (lp->data); if (G_UNLIKELY (!gtk_cell_renderer_get_visible (info->cell))) continue; exo_icon_view_get_cell_area (icon_view, item, info, &cell_area); #ifdef DEBUG_ICON_VIEW gdk_draw_rectangle (drawable, GTK_WIDGET (icon_view)->style->black_gc, FALSE, x - item->area.x + cell_area.x, y - item->area.y + cell_area.y, cell_area.width, cell_area.height); gdk_draw_rectangle (drawable, GTK_WIDGET (icon_view)->style->black_gc, FALSE, x - item->area.x + item->box[info->position].x, y - item->area.y + item->box[info->position].y, item->box[info->position].width, item->box[info->position].height); #endif cell_area.x = x - item->area.x + cell_area.x; cell_area.y = y - item->area.y + cell_area.y; #if GTK_CHECK_VERSION (3, 0, 0) gtk_cell_renderer_render (info->cell, cr, GTK_WIDGET (icon_view), &cell_area, &cell_area, flags); #else gtk_cell_renderer_render (info->cell, drawable, GTK_WIDGET (icon_view), &cell_area, &cell_area, area, flags); #endif } } static void exo_icon_view_queue_draw_item (ExoIconView *icon_view, ExoIconViewItem *item) { GdkRectangle rect; gint focus_width; gtk_widget_style_get (GTK_WIDGET (icon_view), "focus-line-width", &focus_width, NULL); rect.x = item->area.x - focus_width; rect.y = item->area.y - focus_width; rect.width = item->area.width + 2 * focus_width; rect.height = item->area.height + 2 * focus_width; if (icon_view->priv->bin_window) { //printf("draw_item %d,%d %dx%d\n", rect.x, rect.y, rect.width, rect.height ); gdk_window_invalidate_rect (icon_view->priv->bin_window, &rect, TRUE); } } static gboolean layout_callback (gpointer user_data) { ExoIconView *icon_view = EXO_ICON_VIEW (user_data); GDK_THREADS_ENTER (); exo_icon_view_layout (icon_view); GDK_THREADS_LEAVE(); return FALSE; } static void layout_destroy (gpointer user_data) { EXO_ICON_VIEW (user_data)->priv->layout_idle_id = 0; } static void exo_icon_view_queue_layout (ExoIconView *icon_view) { if (G_UNLIKELY (icon_view->priv->layout_idle_id == 0)) icon_view->priv->layout_idle_id = g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, layout_callback, icon_view, layout_destroy); } static void exo_icon_view_set_cursor_item (ExoIconView *icon_view, ExoIconViewItem *item, gint cursor_cell) { if (icon_view->priv->cursor_item == item && (cursor_cell < 0 || cursor_cell == icon_view->priv->cursor_cell)) return; if (icon_view->priv->cursor_item != NULL) exo_icon_view_queue_draw_item (icon_view, icon_view->priv->cursor_item); icon_view->priv->cursor_item = item; if (cursor_cell >= 0) icon_view->priv->cursor_cell = cursor_cell; exo_icon_view_queue_draw_item (icon_view, item); } static ExoIconViewItem* exo_icon_view_get_item_at_coords (const ExoIconView *icon_view, gint x, gint y, gboolean only_in_cell, ExoIconViewCellInfo **cell_at_pos) { const ExoIconViewPrivate *priv = icon_view->priv; ExoIconViewCellInfo *info; ExoIconViewItem *item; GdkRectangle box; const GList *items; const GList *lp; for (items = priv->items; items != NULL; items = items->next) { item = items->data; if (x >= item->area.x - priv->row_spacing / 2 && x <= item->area.x + item->area.width + priv->row_spacing / 2 && y >= item->area.y - priv->column_spacing / 2 && y <= item->area.y + item->area.height + priv->column_spacing / 2) { if (only_in_cell || cell_at_pos) { exo_icon_view_set_cell_data (icon_view, item); for (lp = priv->cell_list; lp != NULL; lp = lp->next) { /* check if the cell is visible */ info = (ExoIconViewCellInfo *) lp->data; if (!gtk_cell_renderer_get_visible (info->cell)) continue; box = item->box[info->position]; if ((x >= box.x && x <= box.x + box.width && y >= box.y && y <= box.y + box.height) || (x >= box.x && x <= box.x + box.width && y >= box.y && y <= box.y + box.height)) { if (cell_at_pos != NULL) *cell_at_pos = info; return item; } } if (only_in_cell) return NULL; if (cell_at_pos != NULL) *cell_at_pos = NULL; } return item; } } return NULL; } static void exo_icon_view_select_item (ExoIconView *icon_view, ExoIconViewItem *item) { if (item->selected || icon_view->priv->selection_mode == GTK_SELECTION_NONE) return; else if (icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) exo_icon_view_unselect_all_internal (icon_view); item->selected = TRUE; exo_icon_view_queue_draw_item (icon_view, item); g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void exo_icon_view_unselect_item (ExoIconView *icon_view, ExoIconViewItem *item) { if (!item->selected) return; if (icon_view->priv->selection_mode == GTK_SELECTION_NONE || icon_view->priv->selection_mode == GTK_SELECTION_BROWSE) return; item->selected = FALSE; g_signal_emit (G_OBJECT (icon_view), icon_view_signals[SELECTION_CHANGED], 0); exo_icon_view_queue_draw_item (icon_view, item); } static void exo_icon_view_row_changed (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, ExoIconView *icon_view) { ExoIconViewItem *item; item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices(path)[0]); /* stop editing this item */ if (G_UNLIKELY (item == icon_view->priv->edited_item)) exo_icon_view_stop_editing (icon_view, TRUE); /* emit "selection-changed" if the item is selected */ if (G_UNLIKELY (item->selected)) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); /* recalculate layout (a value of -1 for width * indicates that the item needs to be layouted). */ item->area.width = -1; exo_icon_view_queue_layout (icon_view); } static void exo_icon_view_row_inserted (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, ExoIconView *icon_view) { ExoIconViewItem *item; gint index; index = gtk_tree_path_get_indices (path)[0]; /* allocate the new item */ item = _exo_slice_new0 (ExoIconViewItem); item->iter = *iter; item->area.width = -1; icon_view->priv->items = g_list_insert (icon_view->priv->items, item, index); /* recalculate the layout */ exo_icon_view_queue_layout (icon_view); } static void exo_icon_view_row_deleted (GtkTreeModel *model, GtkTreePath *path, ExoIconView *icon_view) { ExoIconViewItem *item; gboolean changed = FALSE; GList *list; /* determine the position and the item for the path */ list = g_list_nth (icon_view->priv->items, gtk_tree_path_get_indices (path)[0]); item = list->data; if (G_UNLIKELY (item == icon_view->priv->edited_item)) exo_icon_view_stop_editing (icon_view, TRUE); /* use the next item (if any) as anchor, else use prev, otherwise reset anchor */ if (G_UNLIKELY (item == icon_view->priv->anchor_item)) icon_view->priv->anchor_item = (list->next != NULL) ? list->next->data : ((list->prev != NULL) ? list->prev->data : NULL); /* use the next item (if any) as cursor, else use prev, otherwise reset cursor */ if (G_UNLIKELY (item == icon_view->priv->cursor_item)) icon_view->priv->cursor_item = (list->next != NULL) ? list->next->data : ((list->prev != NULL) ? list->prev->data : NULL); if (G_UNLIKELY (item == icon_view->priv->prelit_item)) { /* reset the prelit item */ icon_view->priv->prelit_item = NULL; /* cancel any pending single click timer */ if (G_UNLIKELY (icon_view->priv->single_click_timeout_id != 0)) g_source_remove (icon_view->priv->single_click_timeout_id); /* in single click mode, we also reset the cursor when realized */ if (G_UNLIKELY (icon_view->priv->single_click && gtk_widget_get_realized (GTK_WIDGET (icon_view)))) gdk_window_set_cursor (icon_view->priv->bin_window, NULL); } /* check if the selection changed */ if (G_UNLIKELY (item->selected)) changed = TRUE; /* release the item resources */ g_free (item->box); /* drop the item from the list */ icon_view->priv->items = g_list_delete_link (icon_view->priv->items, list); /* release the item */ _exo_slice_free (ExoIconViewItem, item); /* recalculate the layout */ exo_icon_view_queue_layout (icon_view); /* if we removed a previous selected item, we need * to tell others that we have a new selection. */ if (G_UNLIKELY (changed)) g_signal_emit (G_OBJECT (icon_view), icon_view_signals[SELECTION_CHANGED], 0); } static void exo_icon_view_rows_reordered (GtkTreeModel *model, GtkTreePath *parent, GtkTreeIter *iter, gint *new_order, ExoIconView *icon_view) { GList **list_array; GList *list; gint *order; gint length; gint i; /* cancel any editing attempt */ exo_icon_view_stop_editing (icon_view, TRUE); /* determine the number of items to reorder */ length = gtk_tree_model_iter_n_children (model, NULL); if (G_UNLIKELY (length == 0)) return; list_array = g_newa (GList *, length); order = g_newa (gint, length); for (i = 0; i < length; i++) order[new_order[i]] = i; for (i = 0, list = icon_view->priv->items; list != NULL; list = list->next, i++) list_array[order[i]] = list; /* hook up the first item */ icon_view->priv->items = list_array[0]; list_array[0]->prev = NULL; /* hook up the remaining items */ for (i = 1; i < length; ++i) { list_array[i - 1]->next = list_array[i]; list_array[i]->prev = list_array[i - 1]; } /* hook up the last item */ list_array[length - 1]->next = NULL; exo_icon_view_queue_layout (icon_view); } static void exo_icon_view_add_move_binding (GtkBindingSet *binding_set, guint keyval, guint modmask, GtkMovementStep step, gint count) { gtk_binding_entry_add_signal (binding_set, keyval, modmask, "move-cursor", 2, G_TYPE_ENUM, step, G_TYPE_INT, count); gtk_binding_entry_add_signal (binding_set, keyval, GDK_SHIFT_MASK, "move-cursor", 2, G_TYPE_ENUM, step, G_TYPE_INT, count); if ((modmask & GDK_CONTROL_MASK) != GDK_CONTROL_MASK) { gtk_binding_entry_add_signal (binding_set, keyval, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "move-cursor", 2, G_TYPE_ENUM, step, G_TYPE_INT, count); gtk_binding_entry_add_signal (binding_set, keyval, GDK_CONTROL_MASK, "move-cursor", 2, G_TYPE_ENUM, step, G_TYPE_INT, count); } } static gboolean exo_icon_view_real_move_cursor (ExoIconView *icon_view, GtkMovementStep step, gint count) { GdkModifierType state; _exo_return_val_if_fail (EXO_ICON_VIEW (icon_view), FALSE); _exo_return_val_if_fail (step == GTK_MOVEMENT_LOGICAL_POSITIONS || step == GTK_MOVEMENT_VISUAL_POSITIONS || step == GTK_MOVEMENT_DISPLAY_LINES || step == GTK_MOVEMENT_PAGES || step == GTK_MOVEMENT_BUFFER_ENDS, FALSE); if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) return FALSE; exo_icon_view_stop_editing (icon_view, FALSE); EXO_ICON_VIEW_SET_FLAG (icon_view, EXO_ICON_VIEW_DRAW_KEYFOCUS); gtk_widget_grab_focus (GTK_WIDGET (icon_view)); if (gtk_get_current_event_state (&state)) { if ((state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK) icon_view->priv->ctrl_pressed = TRUE; if ((state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK) icon_view->priv->shift_pressed = TRUE; } /* else we assume not pressed */ switch (step) { case GTK_MOVEMENT_LOGICAL_POSITIONS: case GTK_MOVEMENT_VISUAL_POSITIONS: exo_icon_view_move_cursor_left_right (icon_view, count); break; case GTK_MOVEMENT_DISPLAY_LINES: exo_icon_view_move_cursor_up_down (icon_view, count); break; case GTK_MOVEMENT_PAGES: exo_icon_view_move_cursor_page_up_down (icon_view, count); break; case GTK_MOVEMENT_BUFFER_ENDS: exo_icon_view_move_cursor_start_end (icon_view, count); break; default: g_assert_not_reached (); } icon_view->priv->ctrl_pressed = FALSE; icon_view->priv->shift_pressed = FALSE; return TRUE; } static gint find_cell (ExoIconView *icon_view, ExoIconViewItem *item, gint cell, GtkOrientation orientation, gint step, gint *count) { GtkCellRendererMode mode; gint n_focusable; gint *focusable; gint first_text; gint current; gint i, k; GList *l; if (icon_view->priv->orientation != orientation) return cell; exo_icon_view_set_cell_data (icon_view, item); focusable = g_new0 (gint, icon_view->priv->n_cells); n_focusable = 0; first_text = 0; current = 0; for (k = 0; k < 2; k++) for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) { ExoIconViewCellInfo *info = (ExoIconViewCellInfo *)l->data; if (info->pack == (k ? GTK_PACK_START : GTK_PACK_END)) continue; if (!gtk_cell_renderer_get_visible (info->cell)) continue; if (GTK_IS_CELL_RENDERER_TEXT (info->cell)) first_text = i; g_object_get (G_OBJECT (info->cell), "mode", &mode, NULL); if (mode != GTK_CELL_RENDERER_MODE_INERT) { if (cell == i) current = n_focusable; focusable[n_focusable] = i; n_focusable++; } } if (n_focusable == 0) focusable[n_focusable++] = first_text; if (cell < 0) { current = step > 0 ? 0 : n_focusable - 1; cell = focusable[current]; } if (current + *count < 0) { cell = -1; *count = current + *count; } else if (current + *count > n_focusable - 1) { cell = -1; *count = current + *count - (n_focusable - 1); } else { cell = focusable[current + *count]; *count = 0; } g_free (focusable); return cell; } static ExoIconViewItem * find_item_page_up_down (ExoIconView *icon_view, ExoIconViewItem *current, gint count) { GList *item = g_list_find (icon_view->priv->items, current); GList *next; gint col = current->col; gint y = current->area.y + count * gtk_adjustment_get_page_size (icon_view->priv->vadjustment); if (count > 0) { for (; item != NULL; item = item->next) { for (next = item->next; next; next = next->next) if (EXO_ICON_VIEW_ITEM (next->data)->col == col) break; if (next == NULL || EXO_ICON_VIEW_ITEM (next->data)->area.y > y) break; } } else { for (; item != NULL; item = item->prev) { for (next = item->prev; next; next = next->prev) if (EXO_ICON_VIEW_ITEM (next->data)->col == col) break; if (next == NULL || EXO_ICON_VIEW_ITEM (next->data)->area.y < y) break; } } return (item != NULL) ? item->data : NULL; } static gboolean exo_icon_view_select_all_between (ExoIconView *icon_view, ExoIconViewItem *anchor, ExoIconViewItem *cursor) { GList *items; ExoIconViewItem *item, *last; gboolean dirty = FALSE; for (items = icon_view->priv->items; items; items = items->next) { item = items->data; if (item == anchor) { last = cursor; break; } else if (item == cursor) { last = anchor; break; } } for (; items; items = items->next) { item = items->data; if (!item->selected) dirty = TRUE; item->selected = TRUE; exo_icon_view_queue_draw_item (icon_view, item); if (item == last) break; } return dirty; } static void exo_icon_view_move_cursor_up_down (ExoIconView *icon_view, gint count) { ExoIconViewItem *item; gboolean dirty = FALSE; GList *list; gint cell = -1; gint step; if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) return; if (!icon_view->priv->cursor_item) { if (count > 0) list = icon_view->priv->items; else list = g_list_last (icon_view->priv->items); item = list ? list->data : NULL; } else { item = icon_view->priv->cursor_item; cell = icon_view->priv->cursor_cell; step = count > 0 ? 1 : -1; while (item) { cell = find_cell (icon_view, item, cell, GTK_ORIENTATION_VERTICAL, step, &count); if (count == 0) break; /* determine the list position for the item */ list = g_list_find (icon_view->priv->items, item); if (G_LIKELY (icon_view->priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS)) { /* determine the item in the next/prev row */ if (step > 0) { for (list = list->next; list != NULL; list = list->next) if (EXO_ICON_VIEW_ITEM (list->data)->row == item->row + step && EXO_ICON_VIEW_ITEM (list->data)->col == item->col) break; } else { for (list = list->prev; list != NULL; list = list->prev) if (EXO_ICON_VIEW_ITEM (list->data)->row == item->row + step && EXO_ICON_VIEW_ITEM (list->data)->col == item->col) break; } } else { list = (step > 0) ? list->next : list->prev; } /* check if we found a matching item */ item = (list != NULL) ? list->data : NULL; count = count - step; } } if (!item) return; if (icon_view->priv->ctrl_pressed || !icon_view->priv->shift_pressed || !icon_view->priv->anchor_item || icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; exo_icon_view_set_cursor_item (icon_view, item, cell); if (!icon_view->priv->ctrl_pressed && icon_view->priv->selection_mode != GTK_SELECTION_NONE) { dirty = exo_icon_view_unselect_all_internal (icon_view); dirty = exo_icon_view_select_all_between (icon_view, icon_view->priv->anchor_item, item) || dirty; } exo_icon_view_scroll_to_item (icon_view, item); if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void exo_icon_view_move_cursor_page_up_down (ExoIconView *icon_view, gint count) { ExoIconViewItem *item; gboolean dirty = FALSE; if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) return; if (!icon_view->priv->cursor_item) { GList *list; if (count > 0) list = icon_view->priv->items; else list = g_list_last (icon_view->priv->items); item = list ? list->data : NULL; } else item = find_item_page_up_down (icon_view, icon_view->priv->cursor_item, count); if (!item) return; if (icon_view->priv->ctrl_pressed || !icon_view->priv->shift_pressed || !icon_view->priv->anchor_item || icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; exo_icon_view_set_cursor_item (icon_view, item, -1); if (!icon_view->priv->ctrl_pressed && icon_view->priv->selection_mode != GTK_SELECTION_NONE) { dirty = exo_icon_view_unselect_all_internal (icon_view); dirty = exo_icon_view_select_all_between (icon_view, icon_view->priv->anchor_item, item) || dirty; } exo_icon_view_scroll_to_item (icon_view, item); if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void exo_icon_view_move_cursor_left_right (ExoIconView *icon_view, gint count) { ExoIconViewItem *item; gboolean dirty = FALSE; GList *list; gint cell = -1; gint step; if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) return; if (!icon_view->priv->cursor_item) { if (count > 0) list = icon_view->priv->items; else list = g_list_last (icon_view->priv->items); item = list ? list->data : NULL; } else { item = icon_view->priv->cursor_item; cell = icon_view->priv->cursor_cell; step = count > 0 ? 1 : -1; while (item) { cell = find_cell (icon_view, item, cell, GTK_ORIENTATION_HORIZONTAL, step, &count); if (count == 0) break; /* lookup the item in the list */ list = g_list_find (icon_view->priv->items, item); if (G_LIKELY (icon_view->priv->layout_mode == EXO_ICON_VIEW_LAYOUT_ROWS)) { /* determine the next/prev list item depending on step, * support wrapping around on the edges, as requested * in http://bugzilla.xfce.org/show_bug.cgi?id=1623. */ list = (step > 0) ? list->next : list->prev; } else { /* determine the item in the next/prev row */ if (step > 0) { for (list = list->next; list != NULL; list = list->next) if (EXO_ICON_VIEW_ITEM (list->data)->col == item->col + step && EXO_ICON_VIEW_ITEM (list->data)->row == item->row) break; } else { for (list = list->prev; list != NULL; list = list->prev) if (EXO_ICON_VIEW_ITEM (list->data)->col == item->col + step && EXO_ICON_VIEW_ITEM (list->data)->row == item->row) break; } } /* determine the item for the list position (if any) */ item = (list != NULL) ? list->data : NULL; count = count - step; } } if (!item) return; if (icon_view->priv->ctrl_pressed || !icon_view->priv->shift_pressed || !icon_view->priv->anchor_item || icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; exo_icon_view_set_cursor_item (icon_view, item, cell); if (!icon_view->priv->ctrl_pressed && icon_view->priv->selection_mode != GTK_SELECTION_NONE) { dirty = exo_icon_view_unselect_all_internal (icon_view); dirty = exo_icon_view_select_all_between (icon_view, icon_view->priv->anchor_item, item) || dirty; } exo_icon_view_scroll_to_item (icon_view, item); if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void exo_icon_view_move_cursor_start_end (ExoIconView *icon_view, gint count) { ExoIconViewItem *item; gboolean dirty = FALSE; GList *lp; if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) return; lp = (count < 0) ? icon_view->priv->items : g_list_last (icon_view->priv->items); if (G_UNLIKELY (lp == NULL)) return; item = EXO_ICON_VIEW_ITEM (lp->data); if (icon_view->priv->ctrl_pressed || !icon_view->priv->shift_pressed || !icon_view->priv->anchor_item || icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; exo_icon_view_set_cursor_item (icon_view, item, -1); if (!icon_view->priv->ctrl_pressed && icon_view->priv->selection_mode != GTK_SELECTION_NONE) { dirty = exo_icon_view_unselect_all_internal (icon_view); dirty = exo_icon_view_select_all_between (icon_view, icon_view->priv->anchor_item, item) || dirty; } exo_icon_view_scroll_to_item (icon_view, item); if (G_UNLIKELY (dirty)) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } /* Get the actual size needed by an item (as opposed to the size * allocated based on the largest item in the same row/column). */ static void exo_icon_view_get_item_needed_size (ExoIconView *icon_view, ExoIconViewItem *item, gint *width, gint *height) { GList *lp; ExoIconViewCellInfo *info; *width = 0; *height = 0; for (lp = icon_view->priv->cell_list; lp != NULL; lp = lp->next) { info = EXO_ICON_VIEW_CELL_INFO (lp->data); if (G_UNLIKELY (!gtk_cell_renderer_get_visible(info->cell))) continue; if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) { *width += item->box[info->position].width + (info->position > 0 ? icon_view->priv->spacing : 0); *height = MAX (*height, item->box[info->position].height); } else { *width = MAX (*width, item->box[info->position].width); *height += item->box[info->position].height + (info->position > 0 ? icon_view->priv->spacing : 0); } } } static void exo_icon_view_scroll_to_item (ExoIconView *icon_view, ExoIconViewItem *item) { GtkAllocation allocation; gint x, y, width, height; gint focus_width; gint item_width, item_height; gtk_widget_style_get (GTK_WIDGET (icon_view), "focus-line-width", &focus_width, NULL); gtk_widget_get_allocation (GTK_WIDGET (icon_view), &allocation); width = gdk_window_get_width(icon_view->priv->bin_window); height = gdk_window_get_height(icon_view->priv->bin_window); gdk_window_get_position (icon_view->priv->bin_window, &x, &y); exo_icon_view_get_item_needed_size (icon_view, item, &item_width, &item_height); /* * If an item reaches beyond the edges of the view, we scroll just enough * to make as much of it visible as possible. This avoids interfering * with double-click (since the second click will not scroll differently), * prevents narrow items in wide columns from being scrolled out of view * when selected, and ensures that items will be brought into view when * selected even if it was done by a keystroke instead of a mouse click. * See XFCE bugs 1683 and 6014 for some problems seen in the past. */ if (y + item->area.y - focus_width < 0) { gtk_adjustment_set_value (icon_view->priv->vadjustment, gtk_adjustment_get_value (icon_view->priv->vadjustment) + y + item->area.y - focus_width); } else if (y + item->area.y + item_height + focus_width > allocation.height && y + item->area.y - focus_width > 0) { gtk_adjustment_set_value (icon_view->priv->vadjustment, gtk_adjustment_get_value (icon_view->priv->vadjustment) + MIN (y + item->area.y - focus_width, y + item->area.y + item_height + focus_width - allocation.height)); } if (x + item->area.x - focus_width < 0) { gtk_adjustment_set_value (icon_view->priv->hadjustment, gtk_adjustment_get_value (icon_view->priv->hadjustment) + x + item->area.x - focus_width); } else if (x + item->area.x + item_width + focus_width > allocation.width && x + item->area.x - focus_width > 0) { gtk_adjustment_set_value (icon_view->priv->hadjustment, gtk_adjustment_get_value (icon_view->priv->hadjustment) + MIN (x + item->area.x - focus_width, x + item->area.x + item_width + focus_width - allocation.width)); } gtk_adjustment_changed (icon_view->priv->hadjustment); gtk_adjustment_changed (icon_view->priv->vadjustment); } static ExoIconViewCellInfo * exo_icon_view_get_cell_info (ExoIconView *icon_view, GtkCellRenderer *renderer) { GList *lp; for (lp = icon_view->priv->cell_list; lp != NULL; lp = lp->next) if (EXO_ICON_VIEW_CELL_INFO (lp->data)->cell == renderer) return lp->data; return NULL; } static void exo_icon_view_set_cell_data (const ExoIconView *icon_view, ExoIconViewItem *item) { ExoIconViewCellInfo *info; GtkTreePath *path; GtkTreeIter iter; GValue value = {0, }; GSList *slp; GList *lp; if (G_UNLIKELY (!EXO_ICON_VIEW_FLAG_SET (icon_view, EXO_ICON_VIEW_ITERS_PERSIST))) { path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1); gtk_tree_model_get_iter (icon_view->priv->model, &iter, path); gtk_tree_path_free (path); } else { iter = item->iter; } for (lp = icon_view->priv->cell_list; lp != NULL; lp = lp->next) { info = EXO_ICON_VIEW_CELL_INFO (lp->data); for (slp = info->attributes; slp != NULL && slp->next != NULL; slp = slp->next->next) { gtk_tree_model_get_value (icon_view->priv->model, &iter, GPOINTER_TO_INT (slp->next->data), &value); g_object_set_property (G_OBJECT (info->cell), slp->data, &value); g_value_unset (&value); } if (G_UNLIKELY (info->func != NULL)) (*info->func) (GTK_CELL_LAYOUT (icon_view), info->cell, icon_view->priv->model, &iter, info->func_data); } } static void free_cell_attributes (ExoIconViewCellInfo *info) { GSList *lp; for (lp = info->attributes; lp != NULL && lp->next != NULL; lp = lp->next->next) g_free (lp->data); g_slist_free (info->attributes); info->attributes = NULL; } static void free_cell_info (ExoIconViewCellInfo *info) { if (G_UNLIKELY (info->destroy != NULL)) (*info->destroy) (info->func_data); free_cell_attributes (info); g_object_unref (G_OBJECT (info->cell)); _exo_slice_free (ExoIconViewCellInfo, info); } static void exo_icon_view_cell_layout_pack_start (GtkCellLayout *layout, GtkCellRenderer *renderer, gboolean expand) { ExoIconViewCellInfo *info; ExoIconView *icon_view = EXO_ICON_VIEW (layout); _exo_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); _exo_return_if_fail (exo_icon_view_get_cell_info (icon_view, renderer) == NULL); g_object_ref (renderer); g_object_ref_sink (G_OBJECT (renderer)); info = _exo_slice_new0 (ExoIconViewCellInfo); info->cell = renderer; info->expand = expand ? TRUE : FALSE; info->pack = GTK_PACK_START; info->position = icon_view->priv->n_cells; icon_view->priv->cell_list = g_list_append (icon_view->priv->cell_list, info); icon_view->priv->n_cells++; exo_icon_view_invalidate_sizes (icon_view); } static void exo_icon_view_cell_layout_pack_end (GtkCellLayout *layout, GtkCellRenderer *renderer, gboolean expand) { ExoIconViewCellInfo *info; ExoIconView *icon_view = EXO_ICON_VIEW (layout); _exo_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); _exo_return_if_fail (exo_icon_view_get_cell_info (icon_view, renderer) == NULL); g_object_ref (renderer); g_object_ref_sink (G_OBJECT (renderer)); info = _exo_slice_new0 (ExoIconViewCellInfo); info->cell = renderer; info->expand = expand ? TRUE : FALSE; info->pack = GTK_PACK_END; info->position = icon_view->priv->n_cells; icon_view->priv->cell_list = g_list_append (icon_view->priv->cell_list, info); icon_view->priv->n_cells++; exo_icon_view_invalidate_sizes (icon_view); } static void exo_icon_view_cell_layout_add_attribute (GtkCellLayout *layout, GtkCellRenderer *renderer, const gchar *attribute, gint column) { ExoIconViewCellInfo *info; info = exo_icon_view_get_cell_info (EXO_ICON_VIEW (layout), renderer); if (G_LIKELY (info != NULL)) { info->attributes = g_slist_prepend (info->attributes, GINT_TO_POINTER (column)); info->attributes = g_slist_prepend (info->attributes, g_strdup (attribute)); exo_icon_view_invalidate_sizes (EXO_ICON_VIEW (layout)); } } static void exo_icon_view_cell_layout_clear (GtkCellLayout *layout) { ExoIconView *icon_view = EXO_ICON_VIEW (layout); g_list_foreach (icon_view->priv->cell_list, (GFunc) free_cell_info, NULL); g_list_free (icon_view->priv->cell_list); icon_view->priv->cell_list = NULL; icon_view->priv->n_cells = 0; exo_icon_view_invalidate_sizes (icon_view); } static void exo_icon_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy) { ExoIconViewCellInfo *info; GDestroyNotify notify; info = exo_icon_view_get_cell_info (EXO_ICON_VIEW (layout), cell); if (G_LIKELY (info != NULL)) { if (G_UNLIKELY (info->destroy != NULL)) { notify = info->destroy; info->destroy = NULL; (*notify) (info->func_data); } info->func = func; info->func_data = func_data; info->destroy = destroy; exo_icon_view_invalidate_sizes (EXO_ICON_VIEW (layout)); } } static void exo_icon_view_cell_layout_clear_attributes (GtkCellLayout *layout, GtkCellRenderer *renderer) { ExoIconViewCellInfo *info; info = exo_icon_view_get_cell_info (EXO_ICON_VIEW (layout), renderer); if (G_LIKELY (info != NULL)) { free_cell_attributes (info); exo_icon_view_invalidate_sizes (EXO_ICON_VIEW (layout)); } } static void exo_icon_view_cell_layout_reorder (GtkCellLayout *layout, GtkCellRenderer *cell, gint position) { ExoIconViewCellInfo *info; ExoIconView *icon_view = EXO_ICON_VIEW (layout); GList *lp; gint n; icon_view = EXO_ICON_VIEW (layout); info = exo_icon_view_get_cell_info (icon_view, cell); if (G_LIKELY (info != NULL)) { lp = g_list_find (icon_view->priv->cell_list, info); icon_view->priv->cell_list = g_list_remove_link (icon_view->priv->cell_list, lp); icon_view->priv->cell_list = g_list_insert (icon_view->priv->cell_list, info, position); for (lp = icon_view->priv->cell_list, n = 0; lp != NULL; lp = lp->next, ++n) EXO_ICON_VIEW_CELL_INFO (lp->data)->position = n; exo_icon_view_invalidate_sizes (icon_view); } } /** * exo_icon_view_new: * * Creates a new #ExoIconView widget * * Return value: A newly created #ExoIconView widget **/ GtkWidget* exo_icon_view_new (void) { return g_object_new (EXO_TYPE_ICON_VIEW, NULL); } /** * exo_icon_view_new_with_model: * @model: The model. * * Creates a new #ExoIconView widget with the model @model. * * Return value: A newly created #ExoIconView widget. **/ GtkWidget* exo_icon_view_new_with_model (GtkTreeModel *model) { g_return_val_if_fail (model == NULL || GTK_IS_TREE_MODEL (model), NULL); return g_object_new (EXO_TYPE_ICON_VIEW, "model", model, NULL); } /** * exo_icon_view_widget_to_icon_coords: * @icon_view : a #ExoIconView. * @wx : widget x coordinate. * @wy : widget y coordinate. * @ix : return location for icon x coordinate or %NULL. * @iy : return location for icon y coordinate or %NULL. * * Converts widget coordinates to coordinates for the icon window * (the full scrollable area of the icon view). **/ void exo_icon_view_widget_to_icon_coords (const ExoIconView *icon_view, gint wx, gint wy, gint *ix, gint *iy) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (ix != NULL)) *ix = wx + gtk_adjustment_get_value (icon_view->priv->hadjustment); if (G_LIKELY (iy != NULL)) *iy = wy + gtk_adjustment_get_value (icon_view->priv->vadjustment); } /** * exo_icon_view_icon_to_widget_coords: * @icon_view : a #ExoIconView. * @ix : icon x coordinate. * @iy : icon y coordinate. * @wx : return location for widget x coordinate or %NULL. * @wy : return location for widget y coordinate or %NULL. * * Converts icon view coordinates (coordinates in full scrollable * area of the icon view) to widget coordinates. **/ void exo_icon_view_icon_to_widget_coords (const ExoIconView *icon_view, gint ix, gint iy, gint *wx, gint *wy) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (wx != NULL)) *wx = ix - gtk_adjustment_get_value (icon_view->priv->hadjustment); if (G_LIKELY (wy != NULL)) *wy = iy - gtk_adjustment_get_value (icon_view->priv->vadjustment); } /** * exo_icon_view_get_path_at_pos: * @icon_view : A #ExoIconView. * @x : The x position to be identified * @y : The y position to be identified * * Finds the path at the point (@x, @y), relative to widget coordinates. * See exo_icon_view_get_item_at_pos(), if you are also interested in * the cell at the specified position. * * Return value: The #GtkTreePath corresponding to the icon or %NULL * if no icon exists at that position. **/ GtkTreePath* exo_icon_view_get_path_at_pos (const ExoIconView *icon_view, gint x, gint y) { ExoIconViewItem *item; g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), NULL); /* translate the widget coordinates to icon window coordinates */ /* NOTE by Hong Jen Yee: This should be disabled for pcmanfm to work. So weird. x += icon_view->priv->hadjustment->value; y += icon_view->priv->vadjustment->value; */ item = exo_icon_view_get_item_at_coords (icon_view, x, y, TRUE, NULL); return (item != NULL) ? gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1) : NULL; } /** * exo_icon_view_get_item_at_pos: * @icon_view: A #ExoIconView. * @x: The x position to be identified * @y: The y position to be identified * @path: Return location for the path, or %NULL * @cell: Return location for the renderer responsible for the cell * at (@x, @y), or %NULL * * Finds the path at the point (@x, @y), relative to widget coordinates. * In contrast to exo_icon_view_get_path_at_pos(), this function also * obtains the cell at the specified position. The returned path should * be freed with gtk_tree_path_free(). * * Return value: %TRUE if an item exists at the specified position * * Since: 0.3.1 **/ gboolean exo_icon_view_get_item_at_pos (const ExoIconView *icon_view, gint x, gint y, GtkTreePath **path, GtkCellRenderer **cell) { ExoIconViewCellInfo *info; ExoIconViewItem *item; g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); item = exo_icon_view_get_item_at_coords (icon_view, x, y, TRUE, &info); if (G_LIKELY (path != NULL)) *path = (item != NULL) ? gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1) : NULL; if (G_LIKELY (cell != NULL)) *cell = (info != NULL) ? info->cell : NULL; return (item != NULL); } /** * exo_icon_view_get_visible_range: * @icon_view : A #ExoIconView * @start_path : Return location for start of region, or %NULL * @end_path : Return location for end of region, or %NULL * * Sets @start_path and @end_path to be the first and last visible path. * Note that there may be invisible paths in between. * * Both paths should be freed with gtk_tree_path_free() after use. * * Return value: %TRUE, if valid paths were placed in @start_path and @end_path * * Since: 0.3.1 **/ gboolean exo_icon_view_get_visible_range (const ExoIconView *icon_view, GtkTreePath **start_path, GtkTreePath **end_path) { const ExoIconViewPrivate *priv = icon_view->priv; const ExoIconViewItem *item; const GList *lp; gint start_index = -1; gint end_index = -1; gint i; g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); if (priv->hadjustment == NULL || priv->vadjustment == NULL) return FALSE; if (start_path == NULL && end_path == NULL) return FALSE; for (i = 0, lp = priv->items; lp != NULL; ++i, lp = lp->next) { item = (const ExoIconViewItem *) lp->data; if ((item->area.x + item->area.width >= (gint) gtk_adjustment_get_value (priv->hadjustment)) && (item->area.y + item->area.height >= (gint) gtk_adjustment_get_value (priv->vadjustment)) && (item->area.x <= (gint) (gtk_adjustment_get_value (priv->hadjustment) + gtk_adjustment_get_page_size (priv->hadjustment))) && (item->area.y <= (gint) (gtk_adjustment_get_value (priv->vadjustment) + gtk_adjustment_get_page_size (priv->vadjustment)))) { if (start_index == -1) start_index = i; end_index = i; } } if (start_path != NULL && start_index != -1) *start_path = gtk_tree_path_new_from_indices (start_index, -1); if (end_path != NULL && end_index != -1) *end_path = gtk_tree_path_new_from_indices (end_index, -1); return (start_index != -1); } /** * exo_icon_view_selected_foreach: * @icon_view : A #ExoIconView. * @func : The funcion to call for each selected icon. * @data : User data to pass to the function. * * Calls a function for each selected icon. Note that the model or * selection cannot be modified from within this function. **/ void exo_icon_view_selected_foreach (ExoIconView *icon_view, ExoIconViewForeachFunc func, gpointer data) { GtkTreePath *path; GList *lp; path = gtk_tree_path_new_first (); for (lp = icon_view->priv->items; lp != NULL; lp = lp->next) { if (EXO_ICON_VIEW_ITEM (lp->data)->selected) (*func) (icon_view, path, data); gtk_tree_path_next (path); } gtk_tree_path_free (path); } /** * exo_icon_view_get_selection_mode: * @icon_view : A #ExoIconView. * * Gets the selection mode of the @icon_view. * * Return value: the current selection mode **/ GtkSelectionMode exo_icon_view_get_selection_mode (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), GTK_SELECTION_SINGLE); return icon_view->priv->selection_mode; } /** * exo_icon_view_set_selection_mode: * @icon_view : A #ExoIconView. * @mode : The selection mode * * Sets the selection mode of the @icon_view. **/ void exo_icon_view_set_selection_mode (ExoIconView *icon_view, GtkSelectionMode mode) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (mode != icon_view->priv->selection_mode)) { if (mode == GTK_SELECTION_NONE || icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE) exo_icon_view_unselect_all (icon_view); icon_view->priv->selection_mode = mode; g_object_notify (G_OBJECT (icon_view), "selection-mode"); } } /** * exo_icon_view_get_layout_mode: * @icon_view : A #ExoIconView. * * Returns the #ExoIconViewLayoutMode used to layout the * items in the @icon_view. * * Return value: the layout mode of @icon_view. * * Since: 0.3.1.5 **/ ExoIconViewLayoutMode exo_icon_view_get_layout_mode (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), EXO_ICON_VIEW_LAYOUT_ROWS); return icon_view->priv->layout_mode; } /** * exo_icon_view_set_layout_mode: * @icon_view : a #ExoIconView. * @layout_mode : the new #ExoIconViewLayoutMode for @icon_view. * * Sets the layout mode of @icon_view to @layout_mode. * * Since: 0.3.1.5 **/ void exo_icon_view_set_layout_mode (ExoIconView *icon_view, ExoIconViewLayoutMode layout_mode) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); /* check if we have a new setting */ if (G_LIKELY (icon_view->priv->layout_mode != layout_mode)) { /* apply the new setting */ icon_view->priv->layout_mode = layout_mode; /* cancel any active cell editor */ exo_icon_view_stop_editing (icon_view, TRUE); /* invalidate the current item sizes */ exo_icon_view_invalidate_sizes (icon_view); exo_icon_view_queue_layout (icon_view); /* notify listeners */ g_object_notify (G_OBJECT (icon_view), "layout-mode"); } } /** * exo_icon_view_get_model: * @icon_view : a #ExoIconView * * Returns the model the #ExoIconView is based on. Returns %NULL if the * model is unset. * * Return value: A #GtkTreeModel, or %NULL if none is currently being used. **/ GtkTreeModel* exo_icon_view_get_model (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), NULL); return icon_view->priv->model; } /** * exo_icon_view_set_model: * @icon_view : A #ExoIconView. * @model : The model. * * Sets the model for a #ExoIconView. * If the @icon_view already has a model set, it will remove * it before setting the new model. If @model is %NULL, then * it will unset the old model. **/ void exo_icon_view_set_model (ExoIconView *icon_view, GtkTreeModel *model) { ExoIconViewItem *item; GtkTreeIter iter; GList *items = NULL; GList *lp; gint n; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (model == NULL || GTK_IS_TREE_MODEL (model)); /* verify that we don't already use that model */ if (G_UNLIKELY (icon_view->priv->model == model)) return; /* verify the new model */ if (G_LIKELY (model != NULL)) { g_return_if_fail (gtk_tree_model_get_flags (model) & GTK_TREE_MODEL_LIST_ONLY); if (G_UNLIKELY (icon_view->priv->pixbuf_column != -1)) g_return_if_fail (gtk_tree_model_get_column_type (model, icon_view->priv->pixbuf_column) == GDK_TYPE_PIXBUF); if (G_UNLIKELY (icon_view->priv->text_column != -1)) g_return_if_fail (gtk_tree_model_get_column_type (model, icon_view->priv->text_column) == G_TYPE_STRING); if (G_UNLIKELY (icon_view->priv->markup_column != -1)) g_return_if_fail (gtk_tree_model_get_column_type (model, icon_view->priv->markup_column) == G_TYPE_STRING); } /* be sure to cancel any pending editor */ exo_icon_view_stop_editing (icon_view, TRUE); /* disconnect from the previous model */ if (G_LIKELY (icon_view->priv->model != NULL)) { /* disconnect signals handlers from the previous model */ g_signal_handlers_disconnect_by_func (G_OBJECT (icon_view->priv->model), exo_icon_view_row_changed, icon_view); g_signal_handlers_disconnect_by_func (G_OBJECT (icon_view->priv->model), exo_icon_view_row_inserted, icon_view); g_signal_handlers_disconnect_by_func (G_OBJECT (icon_view->priv->model), exo_icon_view_row_deleted, icon_view); g_signal_handlers_disconnect_by_func (G_OBJECT (icon_view->priv->model), exo_icon_view_rows_reordered, icon_view); /* release our reference on the model */ g_object_unref (G_OBJECT (icon_view->priv->model)); /* drop all items belonging to the previous model */ for (lp = icon_view->priv->items; lp != NULL; lp = lp->next) { g_free (EXO_ICON_VIEW_ITEM (lp->data)->box); _exo_slice_free (ExoIconViewItem, lp->data); } g_list_free (icon_view->priv->items); icon_view->priv->items = NULL; /* reset statistics */ icon_view->priv->search_column = -1; icon_view->priv->anchor_item = NULL; icon_view->priv->cursor_item = NULL; icon_view->priv->prelit_item = NULL; icon_view->priv->last_single_clicked = NULL; icon_view->priv->width = 0; icon_view->priv->height = 0; /* cancel any pending single click timer */ if (G_UNLIKELY (icon_view->priv->single_click_timeout_id != 0)) g_source_remove (icon_view->priv->single_click_timeout_id); /* reset cursor when in single click mode and realized */ if (G_UNLIKELY (icon_view->priv->single_click && gtk_widget_get_realized ( GTK_WIDGET (icon_view)))) gdk_window_set_cursor (icon_view->priv->bin_window, NULL); } /* be sure to drop any previous scroll_to_path reference, * as it points to the old (no longer valid) model. */ if (G_UNLIKELY (icon_view->priv->scroll_to_path != NULL)) { gtk_tree_row_reference_free (icon_view->priv->scroll_to_path); icon_view->priv->scroll_to_path = NULL; } /* activate the new model */ icon_view->priv->model = model; /* connect to the new model */ if (G_LIKELY (model != NULL)) { /* take a reference on the model */ g_object_ref (G_OBJECT (model)); /* connect signals */ g_signal_connect (G_OBJECT (model), "row-changed", G_CALLBACK (exo_icon_view_row_changed), icon_view); g_signal_connect (G_OBJECT (model), "row-inserted", G_CALLBACK (exo_icon_view_row_inserted), icon_view); g_signal_connect (G_OBJECT (model), "row-deleted", G_CALLBACK (exo_icon_view_row_deleted), icon_view); g_signal_connect (G_OBJECT (model), "rows-reordered", G_CALLBACK (exo_icon_view_rows_reordered), icon_view); /* check if the new model supports persistent iterators */ if (gtk_tree_model_get_flags (model) & GTK_TREE_MODEL_ITERS_PERSIST) EXO_ICON_VIEW_SET_FLAG (icon_view, EXO_ICON_VIEW_ITERS_PERSIST); else EXO_ICON_VIEW_UNSET_FLAG (icon_view, EXO_ICON_VIEW_ITERS_PERSIST); /* determine an appropriate search column */ if (icon_view->priv->search_column <= 0) { /* we simply use the first string column */ for (n = 0; n < gtk_tree_model_get_n_columns (model); ++n) if (g_value_type_transformable (gtk_tree_model_get_column_type (model, n), G_TYPE_STRING)) { icon_view->priv->search_column = n; break; } } /* build up the initial items list */ if (gtk_tree_model_get_iter_first (model, &iter)) { do { item = _exo_slice_new0 (ExoIconViewItem); item->iter = iter; item->area.width = -1; items = g_list_prepend (items, item); } while (gtk_tree_model_iter_next (model, &iter)); } icon_view->priv->items = g_list_reverse (items); /* layout the new items */ exo_icon_view_queue_layout (icon_view); } /* hide the interactive search dialog (if any) */ if (G_LIKELY (icon_view->priv->search_window != NULL)) exo_icon_view_search_dialog_hide (icon_view->priv->search_window, icon_view); /* notify listeners */ g_object_notify (G_OBJECT (icon_view), "model"); if (gtk_widget_get_realized (GTK_WIDGET (icon_view))) gtk_widget_queue_resize (GTK_WIDGET (icon_view)); } static void update_text_cell (ExoIconView *icon_view) { ExoIconViewCellInfo *info; GList *l; gint i; if (icon_view->priv->text_column == -1 && icon_view->priv->markup_column == -1) { if (icon_view->priv->text_cell != -1) { info = g_list_nth_data (icon_view->priv->cell_list, icon_view->priv->text_cell); icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info); free_cell_info (info); icon_view->priv->n_cells--; icon_view->priv->text_cell = -1; } } else { if (icon_view->priv->text_cell == -1) { GtkCellRenderer *cell = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (icon_view), cell, FALSE); for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) { info = l->data; if (info->cell == cell) { icon_view->priv->text_cell = i; break; } } } info = g_list_nth_data (icon_view->priv->cell_list, icon_view->priv->text_cell); if (icon_view->priv->markup_column != -1) gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view), info->cell, "markup", icon_view->priv->markup_column, NULL); else gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view), info->cell, "text", icon_view->priv->text_column, NULL); } } static void update_pixbuf_cell (ExoIconView *icon_view) { ExoIconViewCellInfo *info; GList *l; gint i; if (icon_view->priv->pixbuf_column == -1) { if (icon_view->priv->pixbuf_cell != -1) { info = g_list_nth_data (icon_view->priv->cell_list, icon_view->priv->pixbuf_cell); icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info); free_cell_info (info); icon_view->priv->n_cells--; icon_view->priv->pixbuf_cell = -1; } } else { if (icon_view->priv->pixbuf_cell == -1) { GtkCellRenderer *cell = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (icon_view), cell, FALSE); for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) { info = l->data; if (info->cell == cell) { icon_view->priv->pixbuf_cell = i; break; } } } info = g_list_nth_data (icon_view->priv->cell_list, icon_view->priv->pixbuf_cell); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view), info->cell, "pixbuf", icon_view->priv->pixbuf_column, NULL); } } /** * exo_icon_view_get_text_column: * @icon_view: A #ExoIconView. * * Returns the column with text for @icon_view. * * Returns: the text column, or -1 if it's unset. * * Deprecated: Use the more powerful #GtkCellRenderers instead, as #ExoIconView * now implements #GtkCellLayout. */ gint exo_icon_view_get_text_column (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->text_column; } /** * exo_icon_view_set_text_column: * @icon_view: A #ExoIconView. * @column: A column in the currently used model. * * Sets the column with text for @icon_view to be @column. The text * column must be of type #G_TYPE_STRING. * * Deprecated: Use the more powerful #GtkCellRenderers instead, as #ExoIconView * now implements #GtkCellLayout. **/ void exo_icon_view_set_text_column (ExoIconView *icon_view, gint column) { GType column_type; if (G_UNLIKELY (column == icon_view->priv->text_column)) return; if (column == -1) { icon_view->priv->text_column = -1; } else { if (icon_view->priv->model != NULL) { column_type = gtk_tree_model_get_column_type (icon_view->priv->model, column); g_return_if_fail (column_type == G_TYPE_STRING); } icon_view->priv->text_column = column; } exo_icon_view_stop_editing (icon_view, TRUE); update_text_cell (icon_view); exo_icon_view_invalidate_sizes (icon_view); g_object_notify (G_OBJECT (icon_view), "text-column"); } /** * exo_icon_view_get_markup_column: * @icon_view: A #ExoIconView. * * Returns the column with markup text for @icon_view. * * Returns: the markup column, or -1 if it's unset. * * Deprecated: Use the more powerful #GtkCellRenderers instead, as #ExoIconView * now implements #GtkCellLayout. */ gint exo_icon_view_get_markup_column (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->markup_column; } /** * exo_icon_view_set_markup_column: * @icon_view : A #ExoIconView. * @column : A column in the currently used model. * * Sets the column with markup information for @icon_view to be * @column. The markup column must be of type #G_TYPE_STRING. * If the markup column is set to something, it overrides * the text column set by exo_icon_view_set_text_column(). * * Deprecated: Use the more powerful #GtkCellRenderers instead, as #ExoIconView * now implements #GtkCellLayout. **/ void exo_icon_view_set_markup_column (ExoIconView *icon_view, gint column) { if (G_UNLIKELY (column == icon_view->priv->markup_column)) return; if (column == -1) icon_view->priv->markup_column = -1; else { if (icon_view->priv->model != NULL) { GType column_type; column_type = gtk_tree_model_get_column_type (icon_view->priv->model, column); g_return_if_fail (column_type == G_TYPE_STRING); } icon_view->priv->markup_column = column; } exo_icon_view_stop_editing (icon_view, TRUE); update_text_cell (icon_view); exo_icon_view_invalidate_sizes (icon_view); g_object_notify (G_OBJECT (icon_view), "markup-column"); } /** * exo_icon_view_get_pixbuf_column: * @icon_view : A #ExoIconView. * * Returns the column with pixbufs for @icon_view. * * Returns: the pixbuf column, or -1 if it's unset. * * Deprecated: Use the more powerful #GtkCellRenderers instead, as #ExoIconView * now implements #GtkCellLayout. */ gint exo_icon_view_get_pixbuf_column (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->pixbuf_column; } /** * exo_icon_view_set_pixbuf_column: * @icon_view : A #ExoIconView. * @column : A column in the currently used model. * * Sets the column with pixbufs for @icon_view to be @column. The pixbuf * column must be of type #GDK_TYPE_PIXBUF * * Deprecated: Use the more powerful #GtkCellRenderers instead, as #ExoIconView * now implements #GtkCellLayout. **/ void exo_icon_view_set_pixbuf_column (ExoIconView *icon_view, gint column) { GType column_type; if (G_UNLIKELY (column == icon_view->priv->pixbuf_column)) return; if (column == -1) { icon_view->priv->pixbuf_column = -1; } else { if (icon_view->priv->model != NULL) { column_type = gtk_tree_model_get_column_type (icon_view->priv->model, column); g_return_if_fail (column_type == GDK_TYPE_PIXBUF); } icon_view->priv->pixbuf_column = column; } exo_icon_view_stop_editing (icon_view, TRUE); update_pixbuf_cell (icon_view); exo_icon_view_invalidate_sizes (icon_view); g_object_notify (G_OBJECT (icon_view), "pixbuf-column"); } /** * exo_icon_view_select_path: * @icon_view : A #ExoIconView. * @path : The #GtkTreePath to be selected. * * Selects the row at @path. **/ void exo_icon_view_select_path (ExoIconView *icon_view, GtkTreePath *path) { ExoIconViewItem *item; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (icon_view->priv->model != NULL); g_return_if_fail (gtk_tree_path_get_depth (path) > 0); item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices(path)[0]); if (G_LIKELY (item != NULL)) exo_icon_view_select_item (icon_view, item); } /** * exo_icon_view_unselect_path: * @icon_view : A #ExoIconView. * @path : The #GtkTreePath to be unselected. * * Unselects the row at @path. **/ void exo_icon_view_unselect_path (ExoIconView *icon_view, GtkTreePath *path) { ExoIconViewItem *item; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (icon_view->priv->model != NULL); g_return_if_fail (gtk_tree_path_get_depth (path) > 0); item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices(path)[0]); if (G_LIKELY (item != NULL)) exo_icon_view_unselect_item (icon_view, item); } /** * exo_icon_view_get_selected_items: * @icon_view: A #ExoIconView. * * Creates a list of paths of all selected items. Additionally, if you are * planning on modifying the model after calling this function, you may * want to convert the returned list into a list of #GtkTreeRowReferences. * To do this, you can use gtk_tree_row_reference_new(). * * To free the return value, use: * * g_list_foreach (list, gtk_tree_path_free, NULL); * g_list_free (list); * * * Return value: A #GList containing a #GtkTreePath for each selected row. **/ GList* exo_icon_view_get_selected_items (const ExoIconView *icon_view) { GList *selected = NULL; GList *lp; gint i; g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), NULL); for (i = 0, lp = icon_view->priv->items; lp != NULL; ++i, lp = lp->next) { if (EXO_ICON_VIEW_ITEM (lp->data)->selected) selected = g_list_append (selected, gtk_tree_path_new_from_indices (i, -1)); } return selected; } /** * exo_icon_view_select_all: * @icon_view : A #ExoIconView. * * Selects all the icons. @icon_view must has its selection mode set * to #GTK_SELECTION_MULTIPLE. **/ void exo_icon_view_select_all (ExoIconView *icon_view) { GList *items; gboolean dirty = FALSE; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) return; for (items = icon_view->priv->items; items; items = items->next) { ExoIconViewItem *item = items->data; if (!item->selected) { dirty = TRUE; item->selected = TRUE; exo_icon_view_queue_draw_item (icon_view, item); } } if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } /** * exo_icon_view_unselect_all: * @icon_view : A #ExoIconView. * * Unselects all the icons. **/ void exo_icon_view_unselect_all (ExoIconView *icon_view) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_UNLIKELY (icon_view->priv->selection_mode == GTK_SELECTION_BROWSE)) return; if (exo_icon_view_unselect_all_internal (icon_view)) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } /** * exo_icon_view_path_is_selected: * @icon_view: A #ExoIconView. * @path: A #GtkTreePath to check selection on. * * Returns %TRUE if the icon pointed to by @path is currently * selected. If @icon does not point to a valid location, %FALSE is returned. * * Return value: %TRUE if @path is selected. **/ gboolean exo_icon_view_path_is_selected (const ExoIconView *icon_view, GtkTreePath *path) { ExoIconViewItem *item; g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); g_return_val_if_fail (icon_view->priv->model != NULL, FALSE); g_return_val_if_fail (gtk_tree_path_get_depth (path) > 0, FALSE); item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices(path)[0]); return (item != NULL && item->selected); } /** * exo_icon_view_item_activated: * @icon_view : a #ExoIconView * @path : the #GtkTreePath to be activated * * Activates the item determined by @path. **/ void exo_icon_view_item_activated (ExoIconView *icon_view, GtkTreePath *path) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (gtk_tree_path_get_depth (path) > 0); g_signal_emit (icon_view, icon_view_signals[ITEM_ACTIVATED], 0, path); } /** * exo_icon_view_get_cursor: * @icon_view : A #ExoIconView * @path : Return location for the current cursor path, or %NULL * @cell : Return location the current focus cell, or %NULL * * Fills in @path and @cell with the current cursor path and cell. * If the cursor isn't currently set, then *@path will be %NULL. * If no cell currently has focus, then *@cell will be %NULL. * * The returned #GtkTreePath must be freed with gtk_tree_path_free(). * * Return value: %TRUE if the cursor is set. * * Since: 0.3.1 **/ gboolean exo_icon_view_get_cursor (const ExoIconView *icon_view, GtkTreePath **path, GtkCellRenderer **cell) { ExoIconViewCellInfo *info; ExoIconViewItem *item; g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); item = icon_view->priv->cursor_item; info = (icon_view->priv->cursor_cell < 0) ? NULL : g_list_nth_data (icon_view->priv->cell_list, icon_view->priv->cursor_cell); if (G_LIKELY (path != NULL)) *path = (item != NULL) ? gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1) : NULL; if (G_LIKELY (cell != NULL)) *cell = (info != NULL) ? info->cell : NULL; return (item != NULL); } /** * exo_icon_view_set_cursor: * @icon_view : a #ExoIconView * @path : a #GtkTreePath * @cell : a #GtkCellRenderer or %NULL * @start_editing : %TRUE if the specified cell should start being edited. * * Sets the current keyboard focus to be at @path, and selects it. This is * useful when you want to focus the user's attention on a particular item. * If @cell is not %NULL, then focus is given to the cell specified by * it. Additionally, if @start_editing is %TRUE, then editing should be * started in the specified cell. * * This function is often followed by gtk_widget_grab_focus * (icon_view) in order to give keyboard focus to the widget. * Please note that editing can only happen when the widget is realized. * * Since: 0.3.1 **/ void exo_icon_view_set_cursor (ExoIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, gboolean start_editing) { ExoIconViewItem *item; ExoIconViewCellInfo *info = NULL; GList *l; gint i, cell_pos; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (path != NULL); g_return_if_fail (cell == NULL || GTK_IS_CELL_RENDERER (cell)); exo_icon_view_stop_editing (icon_view, TRUE); item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices(path)[0]); if (G_UNLIKELY (item == NULL)) return; cell_pos = -1; for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) { info = l->data; if (info->cell == cell) { cell_pos = i; break; } info = NULL; } /* place the cursor on the item */ exo_icon_view_set_cursor_item (icon_view, item, cell_pos); /* scroll to the item (maybe delayed) */ exo_icon_view_scroll_to_path (icon_view, path, FALSE, 0.0f, 0.0f); if (start_editing) exo_icon_view_start_editing (icon_view, item, info, NULL); } /** * exo_icon_view_scroll_to_path: * @icon_view: A #ExoIconView. * @path: The path of the item to move to. * @use_align: whether to use alignment arguments, or %FALSE. * @row_align: The vertical alignment of the item specified by @path. * @col_align: The horizontal alignment of the item specified by @column. * * Moves the alignments of @icon_view to the position specified by @path. * @row_align determines where the row is placed, and @col_align determines where * @column is placed. Both are expected to be between 0.0 and 1.0. * 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center. * * If @use_align is %FALSE, then the alignment arguments are ignored, and the * tree does the minimum amount of work to scroll the item onto the screen. * This means that the item will be scrolled to the edge closest to its current * position. If the item is currently visible on the screen, nothing is done. * * This function only works if the model is set, and @path is a valid row on the * model. If the model changes before the @tree_view is realized, the centered * path will be modified to reflect this change. * * Since: 0.3.1 **/ void exo_icon_view_scroll_to_path (ExoIconView *icon_view, GtkTreePath *path, gboolean use_align, gfloat row_align, gfloat col_align) { ExoIconViewItem *item; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (gtk_tree_path_get_depth (path) > 0); g_return_if_fail (row_align >= 0.0 && row_align <= 1.0); g_return_if_fail (col_align >= 0.0 && col_align <= 1.0); /* Delay scrolling if either not realized or pending layout() */ if (!gtk_widget_get_realized (GTK_WIDGET (icon_view)) || icon_view->priv->layout_idle_id != 0) { /* release the previous scroll_to_path reference */ if (G_UNLIKELY (icon_view->priv->scroll_to_path != NULL)) gtk_tree_row_reference_free (icon_view->priv->scroll_to_path); /* remember a reference for the new path and settings */ icon_view->priv->scroll_to_path = gtk_tree_row_reference_new_proxy (G_OBJECT (icon_view), icon_view->priv->model, path); icon_view->priv->scroll_to_use_align = use_align; icon_view->priv->scroll_to_row_align = row_align; icon_view->priv->scroll_to_col_align = col_align; } else { item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices(path)[0]); if (G_UNLIKELY (item == NULL)) return; if (use_align) { gint x, y; gint focus_width; gfloat offset, value; GtkAllocation allocation; gtk_widget_style_get (GTK_WIDGET (icon_view), "focus-line-width", &focus_width, NULL); gtk_widget_get_allocation (GTK_WIDGET (icon_view), &allocation); gdk_window_get_position (icon_view->priv->bin_window, &x, &y); offset = y + item->area.y - focus_width - row_align * (allocation.height - item->area.height); value = CLAMP (gtk_adjustment_get_value (icon_view->priv->vadjustment) + offset, gtk_adjustment_get_lower (icon_view->priv->vadjustment), gtk_adjustment_get_upper (icon_view->priv->vadjustment) - gtk_adjustment_get_page_size (icon_view->priv->vadjustment)); gtk_adjustment_set_value (icon_view->priv->vadjustment, value); offset = x + item->area.x - focus_width - col_align * (allocation.width - item->area.width); value = CLAMP (gtk_adjustment_get_value (icon_view->priv->hadjustment) + offset, gtk_adjustment_get_lower (icon_view->priv->hadjustment), gtk_adjustment_get_upper (icon_view->priv->hadjustment) - gtk_adjustment_get_page_size (icon_view->priv->hadjustment)); gtk_adjustment_set_value (icon_view->priv->hadjustment, value); gtk_adjustment_changed (icon_view->priv->hadjustment); gtk_adjustment_changed (icon_view->priv->vadjustment); } else { exo_icon_view_scroll_to_item (icon_view, item); } } } /** * exo_icon_view_get_orientation: * @icon_view : a #ExoIconView * * Returns the value of the ::orientation property which determines * whether the labels are drawn beside the icons instead of below. * * Return value: the relative position of texts and icons * * Since: 0.3.1 **/ GtkOrientation exo_icon_view_get_orientation (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), GTK_ORIENTATION_VERTICAL); return icon_view->priv->orientation; } /** * exo_icon_view_set_orientation: * @icon_view : a #ExoIconView * @orientation : the relative position of texts and icons * * Sets the ::orientation property which determines whether the labels * are drawn beside the icons instead of below. * * Since: 0.3.1 **/ void exo_icon_view_set_orientation (ExoIconView *icon_view, GtkOrientation orientation) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (icon_view->priv->orientation != orientation)) { icon_view->priv->orientation = orientation; exo_icon_view_stop_editing (icon_view, TRUE); exo_icon_view_invalidate_sizes (icon_view); update_text_cell (icon_view); update_pixbuf_cell (icon_view); g_object_notify (G_OBJECT (icon_view), "orientation"); } } /** * exo_icon_view_get_columns: * @icon_view: a #ExoIconView * * Returns the value of the ::columns property. * * Return value: the number of columns, or -1 */ gint exo_icon_view_get_columns (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->columns; } /** * exo_icon_view_set_columns: * @icon_view : a #ExoIconView * @columns : the number of columns * * Sets the ::columns property which determines in how * many columns the icons are arranged. If @columns is * -1, the number of columns will be chosen automatically * to fill the available area. * * Since: 0.3.1 */ void exo_icon_view_set_columns (ExoIconView *icon_view, gint columns) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (icon_view->priv->columns != columns)) { icon_view->priv->columns = columns; exo_icon_view_stop_editing (icon_view, TRUE); exo_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "columns"); } } /** * exo_icon_view_get_item_width: * @icon_view: a #ExoIconView * * Returns the value of the ::item-width property. * * Return value: the width of a single item, or -1 * * Since: 0.3.1 */ gint exo_icon_view_get_item_width (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->item_width; } /** * exo_icon_view_set_item_width: * @icon_view : a #ExoIconView * @item_width : the width for each item * * Sets the ::item-width property which specifies the width * to use for each item. If it is set to -1, the icon view will * automatically determine a suitable item size. * * Since: 0.3.1 */ void exo_icon_view_set_item_width (ExoIconView *icon_view, gint item_width) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (icon_view->priv->item_width != item_width) { icon_view->priv->item_width = item_width; exo_icon_view_stop_editing (icon_view, TRUE); exo_icon_view_invalidate_sizes (icon_view); update_text_cell (icon_view); g_object_notify (G_OBJECT (icon_view), "item-width"); } } /** * exo_icon_view_get_spacing: * @icon_view: a #ExoIconView * * Returns the value of the ::spacing property. * * Return value: the space between cells * * Since: 0.3.1 */ gint exo_icon_view_get_spacing (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->spacing; } /** * exo_icon_view_set_spacing: * @icon_view : a #ExoIconView * @spacing : the spacing * * Sets the ::spacing property which specifies the space * which is inserted between the cells (i.e. the icon and * the text) of an item. * * Since: 0.3.1 */ void exo_icon_view_set_spacing (ExoIconView *icon_view, gint spacing) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (icon_view->priv->spacing != spacing)) { icon_view->priv->spacing = spacing; exo_icon_view_stop_editing (icon_view, TRUE); exo_icon_view_invalidate_sizes (icon_view); g_object_notify (G_OBJECT (icon_view), "spacing"); } } /** * exo_icon_view_get_row_spacing: * @icon_view: a #ExoIconView * * Returns the value of the ::row-spacing property. * * Return value: the space between rows * * Since: 0.3.1 */ gint exo_icon_view_get_row_spacing (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->row_spacing; } /** * exo_icon_view_set_row_spacing: * @icon_view : a #ExoIconView * @row_spacing : the row spacing * * Sets the ::row-spacing property which specifies the space * which is inserted between the rows of the icon view. * * Since: 0.3.1 */ void exo_icon_view_set_row_spacing (ExoIconView *icon_view, gint row_spacing) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (icon_view->priv->row_spacing != row_spacing)) { icon_view->priv->row_spacing = row_spacing; exo_icon_view_stop_editing (icon_view, TRUE); exo_icon_view_invalidate_sizes (icon_view); g_object_notify (G_OBJECT (icon_view), "row-spacing"); } } /** * exo_icon_view_get_column_spacing: * @icon_view: a #ExoIconView * * Returns the value of the ::column-spacing property. * * Return value: the space between columns * * Since: 0.3.1 **/ gint exo_icon_view_get_column_spacing (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->column_spacing; } /** * exo_icon_view_set_column_spacing: * @icon_view : a #ExoIconView * @column_spacing : the column spacing * * Sets the ::column-spacing property which specifies the space * which is inserted between the columns of the icon view. * * Since: 0.3.1 **/ void exo_icon_view_set_column_spacing (ExoIconView *icon_view, gint column_spacing) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (icon_view->priv->column_spacing != column_spacing)) { icon_view->priv->column_spacing = column_spacing; exo_icon_view_stop_editing (icon_view, TRUE); exo_icon_view_invalidate_sizes (icon_view); g_object_notify (G_OBJECT (icon_view), "column-spacing"); } } /** * exo_icon_view_get_margin: * @icon_view : a #ExoIconView * * Returns the value of the ::margin property. * * Return value: the space at the borders * * Since: 0.3.1 **/ gint exo_icon_view_get_margin (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->margin; } /** * exo_icon_view_set_margin: * @icon_view : a #ExoIconView * @margin : the margin * * Sets the ::margin property which specifies the space * which is inserted at the top, bottom, left and right * of the icon view. * * Since: 0.3.1 **/ void exo_icon_view_set_margin (ExoIconView *icon_view, gint margin) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (G_LIKELY (icon_view->priv->margin != margin)) { icon_view->priv->margin = margin; exo_icon_view_stop_editing (icon_view, TRUE); exo_icon_view_invalidate_sizes (icon_view); g_object_notify (G_OBJECT (icon_view), "margin"); } } /* Get/set whether drag_motion requested the drag data and * drag_data_received should thus not actually insert the data, * since the data doesn't result from a drop. */ static void set_status_pending (GdkDragContext *context, GdkDragAction suggested_action) { g_object_set_data (G_OBJECT (context), I_("exo-icon-view-status-pending"), GINT_TO_POINTER (suggested_action)); } static GdkDragAction get_status_pending (GdkDragContext *context) { return GPOINTER_TO_INT (g_object_get_data (G_OBJECT (context), I_("exo-icon-view-status-pending"))); } static void unset_reorderable (ExoIconView *icon_view) { if (icon_view->priv->reorderable) { icon_view->priv->reorderable = FALSE; g_object_notify (G_OBJECT (icon_view), "reorderable"); } } static void clear_source_info (ExoIconView *icon_view) { if (icon_view->priv->source_targets) gtk_target_list_unref (icon_view->priv->source_targets); icon_view->priv->source_targets = NULL; icon_view->priv->source_set = FALSE; } static void clear_dest_info (ExoIconView *icon_view) { if (icon_view->priv->dest_targets) gtk_target_list_unref (icon_view->priv->dest_targets); icon_view->priv->dest_targets = NULL; icon_view->priv->dest_set = FALSE; } static void set_source_row (GdkDragContext *context, GtkTreeModel *model, GtkTreePath *source_row) { if (source_row) g_object_set_data_full (G_OBJECT (context), I_("exo-icon-view-source-row"), gtk_tree_row_reference_new (model, source_row), (GDestroyNotify) gtk_tree_row_reference_free); else g_object_set_data_full (G_OBJECT (context), I_("exo-icon-view-source-row"), NULL, NULL); } static GtkTreePath* get_source_row (GdkDragContext *context) { GtkTreeRowReference *ref; ref = g_object_get_data (G_OBJECT (context), I_("exo-icon-view-source-row")); if (ref) return gtk_tree_row_reference_get_path (ref); else return NULL; } typedef struct { GtkTreeRowReference *dest_row; gboolean empty_view_drop; gboolean drop_append_mode; } DestRow; static void dest_row_free (gpointer data) { DestRow *dr = (DestRow *)data; gtk_tree_row_reference_free (dr->dest_row); _exo_slice_free (DestRow, dr); } static void set_dest_row (GdkDragContext *context, GtkTreeModel *model, GtkTreePath *dest_row, gboolean empty_view_drop, gboolean drop_append_mode) { DestRow *dr; if (!dest_row) { g_object_set_data_full (G_OBJECT (context), I_("exo-icon-view-dest-row"), NULL, NULL); return; } dr = _exo_slice_new0 (DestRow); dr->dest_row = gtk_tree_row_reference_new (model, dest_row); dr->empty_view_drop = empty_view_drop; dr->drop_append_mode = drop_append_mode; g_object_set_data_full (G_OBJECT (context), I_("exo-icon-view-dest-row"), dr, (GDestroyNotify) dest_row_free); } static GtkTreePath* get_dest_row (GdkDragContext *context) { DestRow *dr; dr = g_object_get_data (G_OBJECT (context), I_("exo-icon-view-dest-row")); if (dr) { GtkTreePath *path = NULL; if (dr->dest_row) path = gtk_tree_row_reference_get_path (dr->dest_row); else if (dr->empty_view_drop) path = gtk_tree_path_new_from_indices (0, -1); else path = NULL; if (path && dr->drop_append_mode) gtk_tree_path_next (path); return path; } else return NULL; } static gboolean check_model_dnd (GtkTreeModel *model, GType required_iface, const gchar *signal) { if (model == NULL || !G_TYPE_CHECK_INSTANCE_TYPE ((model), required_iface)) { g_warning ("You must override the default '%s' handler " "on ExoIconView when using models that don't support " "the %s interface and enabling drag-and-drop. The simplest way to do this " "is to connect to '%s' and call " "g_signal_stop_emission_by_name() in your signal handler to prevent " "the default handler from running. Look at the source code " "for the default handler in gtkiconview.c to get an idea what " "your handler should do. (gtkiconview.c is in the GTK+ source " "code.) If you're using GTK+ from a language other than C, " "there may be a more natural way to override default handlers, e.g. via derivation.", signal, g_type_name (required_iface), signal); return FALSE; } else return TRUE; } static void remove_scroll_timeout (ExoIconView *icon_view) { if (icon_view->priv->scroll_timeout_id != 0) { g_source_remove (icon_view->priv->scroll_timeout_id); icon_view->priv->scroll_timeout_id = 0; } } static void exo_icon_view_autoscroll (ExoIconView *icon_view) { gint px, py, x, y, width, height; gint hoffset, voffset; gfloat value; gdk_window_get_pointer (gtk_widget_get_window (GTK_WIDGET (icon_view)), &px, &py, NULL); #if GTK_CHECK_VERSION (3, 0, 0) gdk_window_get_geometry (gtk_widget_get_window (GTK_WIDGET (icon_view)), &x, &y, &width, &height); #else gdk_window_get_geometry (gtk_widget_get_window (GTK_WIDGET (icon_view)), &x, &y, &width, &height, NULL); #endif /* see if we are near the edge. */ voffset = py - (y + 2 * SCROLL_EDGE_SIZE); if (voffset > 0) voffset = MAX (py - (y + height - 2 * SCROLL_EDGE_SIZE), 0); hoffset = px - (x + 2 * SCROLL_EDGE_SIZE); if (hoffset > 0) hoffset = MAX (px - (x + width - 2 * SCROLL_EDGE_SIZE), 0); if (voffset != 0) { value = CLAMP (gtk_adjustment_get_value (icon_view->priv->vadjustment) + voffset, gtk_adjustment_get_lower (icon_view->priv->vadjustment), gtk_adjustment_get_upper (icon_view->priv->vadjustment) - gtk_adjustment_get_page_size (icon_view->priv->vadjustment)); gtk_adjustment_set_value (icon_view->priv->vadjustment, value); } if (hoffset != 0) { value = CLAMP (gtk_adjustment_get_value (icon_view->priv->hadjustment) + hoffset, gtk_adjustment_get_lower (icon_view->priv->hadjustment), gtk_adjustment_get_upper (icon_view->priv->hadjustment) - gtk_adjustment_get_page_size (icon_view->priv->hadjustment)); gtk_adjustment_set_value (icon_view->priv->hadjustment, value); } } static gboolean drag_scroll_timeout (gpointer data) { ExoIconView *icon_view = EXO_ICON_VIEW (data); GDK_THREADS_ENTER (); exo_icon_view_autoscroll (icon_view); GDK_THREADS_LEAVE (); return TRUE; } static gboolean set_destination (ExoIconView *icon_view, GdkDragContext *context, gint x, gint y, GdkDragAction *suggested_action, GdkAtom *target) { GtkWidget *widget; GtkTreePath *path = NULL; ExoIconViewDropPosition pos; ExoIconViewDropPosition old_pos; GtkTreePath *old_dest_path = NULL; gboolean can_drop = FALSE; widget = GTK_WIDGET (icon_view); *suggested_action = 0; *target = GDK_NONE; if (!icon_view->priv->dest_set) { /* someone unset us as a drag dest, note that if * we return FALSE drag_leave isn't called */ exo_icon_view_set_drag_dest_item (icon_view, NULL, EXO_ICON_VIEW_DROP_LEFT); remove_scroll_timeout (EXO_ICON_VIEW (widget)); return FALSE; /* no longer a drop site */ } *target = gtk_drag_dest_find_target (widget, context, icon_view->priv->dest_targets); if (*target == GDK_NONE) return FALSE; if (!exo_icon_view_get_dest_item_at_pos (icon_view, x, y, &path, &pos)) { gint n_children; GtkTreeModel *model; /* the row got dropped on empty space, let's setup a special case */ if (path) gtk_tree_path_free (path); model = exo_icon_view_get_model (icon_view); n_children = gtk_tree_model_iter_n_children (model, NULL); if (n_children) { pos = EXO_ICON_VIEW_DROP_BELOW; path = gtk_tree_path_new_from_indices (n_children - 1, -1); } else { pos = EXO_ICON_VIEW_DROP_ABOVE; path = gtk_tree_path_new_from_indices (0, -1); } can_drop = TRUE; goto out; } g_assert (path); exo_icon_view_get_drag_dest_item (icon_view, &old_dest_path, &old_pos); if (old_dest_path) gtk_tree_path_free (old_dest_path); if (TRUE /* FIXME if the location droppable predicate */) { can_drop = TRUE; } out: if (can_drop) { GtkWidget *source_widget; *suggested_action = gdk_drag_context_get_suggested_action (context); source_widget = gtk_drag_get_source_widget (context); if (source_widget == widget) { /* Default to MOVE, unless the user has * pressed ctrl or shift to affect available actions */ if ((gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0) *suggested_action = GDK_ACTION_MOVE; } exo_icon_view_set_drag_dest_item (EXO_ICON_VIEW (widget), path, pos); } else { /* can't drop here */ exo_icon_view_set_drag_dest_item (EXO_ICON_VIEW (widget), NULL, EXO_ICON_VIEW_DROP_LEFT); } if (path) gtk_tree_path_free (path); return TRUE; } static GtkTreePath* get_logical_destination (ExoIconView *icon_view, gboolean *drop_append_mode) { /* adjust path to point to the row the drop goes in front of */ GtkTreePath *path = NULL; ExoIconViewDropPosition pos; *drop_append_mode = FALSE; exo_icon_view_get_drag_dest_item (icon_view, &path, &pos); if (path == NULL) return NULL; if (pos == EXO_ICON_VIEW_DROP_RIGHT || pos == EXO_ICON_VIEW_DROP_BELOW) { GtkTreeIter iter; GtkTreeModel *model = icon_view->priv->model; if (!gtk_tree_model_get_iter (model, &iter, path) || !gtk_tree_model_iter_next (model, &iter)) *drop_append_mode = TRUE; else { *drop_append_mode = FALSE; gtk_tree_path_next (path); } } return path; } static gboolean exo_icon_view_maybe_begin_drag (ExoIconView *icon_view, GdkEventMotion *event) { GdkDragContext *context; GtkTreePath *path = NULL; gint button; GtkTreeModel *model; gboolean retval = FALSE; if (!icon_view->priv->source_set) goto out; if (icon_view->priv->pressed_button < 0) goto out; if (!gtk_drag_check_threshold (GTK_WIDGET (icon_view), icon_view->priv->press_start_x, icon_view->priv->press_start_y, event->x, event->y)) goto out; model = exo_icon_view_get_model (icon_view); if (model == NULL) goto out; button = icon_view->priv->pressed_button; icon_view->priv->pressed_button = -1; path = exo_icon_view_get_path_at_pos (icon_view, icon_view->priv->press_start_x, icon_view->priv->press_start_y); if (path == NULL) goto out; if (!GTK_IS_TREE_DRAG_SOURCE (model) || !gtk_tree_drag_source_row_draggable (GTK_TREE_DRAG_SOURCE (model), path)) goto out; /* FIXME Check whether we're a start button, if not return FALSE and * free path */ /* Now we can begin the drag */ retval = TRUE; context = gtk_drag_begin (GTK_WIDGET (icon_view), icon_view->priv->source_targets, icon_view->priv->source_actions, button, (GdkEvent*)event); set_source_row (context, model, path); out: if (path) gtk_tree_path_free (path); return retval; } /* Source side drag signals */ static void exo_icon_view_drag_begin (GtkWidget *widget, GdkDragContext *context) { ExoIconView *icon_view; ExoIconViewItem *item; #if GTK_CHECK_VERSION (3, 0, 0) cairo_surface_t *icon; #else GdkPixmap *icon; #endif gint x, y; GtkTreePath *path; icon_view = EXO_ICON_VIEW (widget); /* if the user uses a custom DnD impl, we don't set the icon here */ if (!icon_view->priv->dest_set && !icon_view->priv->source_set) return; item = exo_icon_view_get_item_at_coords (icon_view, icon_view->priv->press_start_x, icon_view->priv->press_start_y, TRUE, NULL); _exo_return_if_fail (item != NULL); x = icon_view->priv->press_start_x - item->area.x + 1; y = icon_view->priv->press_start_y - item->area.y + 1; path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1); icon = exo_icon_view_create_drag_icon (icon_view, path); gtk_tree_path_free (path); #if GTK_CHECK_VERSION (3, 0, 0) gtk_drag_set_icon_surface (context, icon); cairo_surface_destroy (icon); #else gtk_drag_set_icon_pixmap (context, gdk_drawable_get_colormap (icon), icon, NULL, x, y); g_object_unref (icon); #endif } static void exo_icon_view_drag_end (GtkWidget *widget, GdkDragContext *context) { /* do nothing */ } static void exo_icon_view_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time) { ExoIconView *icon_view; GtkTreeModel *model; GtkTreePath *source_row; icon_view = EXO_ICON_VIEW (widget); model = exo_icon_view_get_model (icon_view); if (model == NULL) return; if (!icon_view->priv->dest_set) return; source_row = get_source_row (context); if (source_row == NULL) return; /* We can implement the GTK_TREE_MODEL_ROW target generically for * any model; for DragSource models there are some other targets * we also support. */ if (GTK_IS_TREE_DRAG_SOURCE (model) && gtk_tree_drag_source_drag_data_get (GTK_TREE_DRAG_SOURCE (model), source_row, selection_data)) goto done; /* If drag_data_get does nothing, try providing row data. */ if (gtk_selection_data_get_target (selection_data) == gdk_atom_intern ("GTK_TREE_MODEL_ROW", FALSE)) gtk_tree_set_row_drag_data (selection_data, model, source_row); done: gtk_tree_path_free (source_row); } static void exo_icon_view_drag_data_delete (GtkWidget *widget, GdkDragContext *context) { GtkTreeModel *model; ExoIconView *icon_view; GtkTreePath *source_row; icon_view = EXO_ICON_VIEW (widget); model = exo_icon_view_get_model (icon_view); if (!check_model_dnd (model, GTK_TYPE_TREE_DRAG_SOURCE, "drag_data_delete")) return; if (!icon_view->priv->dest_set) return; source_row = get_source_row (context); if (source_row == NULL) return; gtk_tree_drag_source_drag_data_delete (GTK_TREE_DRAG_SOURCE (model), source_row); gtk_tree_path_free (source_row); set_source_row (context, NULL, NULL); } /* Target side drag signals */ static void exo_icon_view_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time) { ExoIconView *icon_view; icon_view = EXO_ICON_VIEW (widget); /* unset any highlight row */ exo_icon_view_set_drag_dest_item (icon_view, NULL, EXO_ICON_VIEW_DROP_LEFT); remove_scroll_timeout (icon_view); } static gboolean exo_icon_view_drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time) { ExoIconViewDropPosition pos; GdkDragAction suggested_action = 0; GtkTreePath *path = NULL; ExoIconView *icon_view = EXO_ICON_VIEW (widget); gboolean empty; GdkAtom target; if (!set_destination (icon_view, context, x, y, &suggested_action, &target)) return FALSE; exo_icon_view_get_drag_dest_item (icon_view, &path, &pos); /* we only know this *after* set_desination_row */ empty = icon_view->priv->empty_view_drop; if (path == NULL && !empty) { /* Can't drop here. */ gdk_drag_status (context, 0, time); } else { if (icon_view->priv->scroll_timeout_id == 0) icon_view->priv->scroll_timeout_id = g_timeout_add (50, drag_scroll_timeout, icon_view); if (target == gdk_atom_intern ("GTK_TREE_MODEL_ROW", FALSE)) { /* Request data so we can use the source row when * determining whether to accept the drop */ set_status_pending (context, suggested_action); gtk_drag_get_data (widget, context, target, time); } else { set_status_pending (context, 0); gdk_drag_status (context, suggested_action, time); } } if (path != NULL) gtk_tree_path_free (path); return TRUE; } static gboolean exo_icon_view_drag_drop (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time) { ExoIconView *icon_view; GtkTreePath *path; GdkDragAction suggested_action = 0; GdkAtom target = GDK_NONE; GtkTreeModel *model; gboolean drop_append_mode; icon_view = EXO_ICON_VIEW (widget); model = exo_icon_view_get_model (icon_view); remove_scroll_timeout (EXO_ICON_VIEW (widget)); if (!icon_view->priv->dest_set) return FALSE; if (!check_model_dnd (model, GTK_TYPE_TREE_DRAG_DEST, "drag_drop")) return FALSE; if (!set_destination (icon_view, context, x, y, &suggested_action, &target)) return FALSE; path = get_logical_destination (icon_view, &drop_append_mode); if (target != GDK_NONE && path != NULL) { /* in case a motion had requested drag data, change things so we * treat drag data receives as a drop. */ set_status_pending (context, 0); set_dest_row (context, model, path, icon_view->priv->empty_view_drop, drop_append_mode); } if (path) gtk_tree_path_free (path); /* Unset this thing */ exo_icon_view_set_drag_dest_item (icon_view, NULL, EXO_ICON_VIEW_DROP_LEFT); if (target != GDK_NONE) { gtk_drag_get_data (widget, context, target, time); return TRUE; } else return FALSE; } static void exo_icon_view_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time) { GtkTreePath *path; gboolean accepted = FALSE; GtkTreeModel *model; ExoIconView *icon_view; GtkTreePath *dest_row; GdkDragAction suggested_action; gboolean drop_append_mode; icon_view = EXO_ICON_VIEW (widget); model = exo_icon_view_get_model (icon_view); if (!check_model_dnd (model, GTK_TYPE_TREE_DRAG_DEST, "drag_data_received")) return; if (!icon_view->priv->dest_set) return; suggested_action = get_status_pending (context); if (suggested_action) { /* We are getting this data due to a request in drag_motion, * rather than due to a request in drag_drop, so we are just * supposed to call drag_status, not actually paste in the * data. */ path = get_logical_destination (icon_view, &drop_append_mode); if (path == NULL) suggested_action = 0; if (suggested_action) { if (!gtk_tree_drag_dest_row_drop_possible (GTK_TREE_DRAG_DEST (model), path, selection_data)) suggested_action = 0; } gdk_drag_status (context, suggested_action, time); if (path) gtk_tree_path_free (path); /* If you can't drop, remove user drop indicator until the next motion */ if (suggested_action == 0) exo_icon_view_set_drag_dest_item (icon_view, NULL, EXO_ICON_VIEW_DROP_LEFT); return; } dest_row = get_dest_row (context); if (dest_row == NULL) return; if (gtk_selection_data_get_length (selection_data) >= 0) { if (gtk_tree_drag_dest_drag_data_received (GTK_TREE_DRAG_DEST (model), dest_row, selection_data)) accepted = TRUE; } gtk_drag_finish (context, accepted, (gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE), time); gtk_tree_path_free (dest_row); /* drop dest_row */ set_dest_row (context, NULL, NULL, FALSE, FALSE); } /** * exo_icon_view_enable_model_drag_source: * @icon_view : a #GtkIconTreeView * @start_button_mask : Mask of allowed buttons to start drag * @targets : the table of targets that the drag will support * @n_targets : the number of items in @targets * @actions : the bitmask of possible actions for a drag from this widget * * Turns @icon_view into a drag source for automatic DND. * * Since: 0.3.1 **/ void exo_icon_view_enable_model_drag_source (ExoIconView *icon_view, GdkModifierType start_button_mask, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); gtk_drag_source_set (GTK_WIDGET (icon_view), 0, NULL, 0, actions); clear_source_info (icon_view); icon_view->priv->start_button_mask = start_button_mask; icon_view->priv->source_targets = gtk_target_list_new (targets, n_targets); icon_view->priv->source_actions = actions; icon_view->priv->source_set = TRUE; unset_reorderable (icon_view); } /** * exo_icon_view_enable_model_drag_dest: * @icon_view : a #ExoIconView * @targets : the table of targets that the drag will support * @n_targets : the number of items in @targets * @actions : the bitmask of possible actions for a drag from this widget * * Turns @icon_view into a drop destination for automatic DND. * * Since: 0.3.1 **/ void exo_icon_view_enable_model_drag_dest (ExoIconView *icon_view, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); gtk_drag_dest_set (GTK_WIDGET (icon_view), 0, NULL, 0, actions); clear_dest_info (icon_view); icon_view->priv->dest_targets = gtk_target_list_new (targets, n_targets); icon_view->priv->dest_actions = actions; icon_view->priv->dest_set = TRUE; unset_reorderable (icon_view); } /** * exo_icon_view_unset_model_drag_source: * @icon_view : a #ExoIconView * * Undoes the effect of #exo_icon_view_enable_model_drag_source(). * * Since: 0.3.1 **/ void exo_icon_view_unset_model_drag_source (ExoIconView *icon_view) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (icon_view->priv->source_set) { gtk_drag_source_unset (GTK_WIDGET (icon_view)); clear_source_info (icon_view); } unset_reorderable (icon_view); } /** * exo_icon_view_unset_model_drag_dest: * @icon_view : a #ExoIconView * * Undoes the effect of #exo_icon_view_enable_model_drag_dest(). * * Since: 0.3.1 **/ void exo_icon_view_unset_model_drag_dest (ExoIconView *icon_view) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (icon_view->priv->dest_set) { gtk_drag_dest_unset (GTK_WIDGET (icon_view)); clear_dest_info (icon_view); } unset_reorderable (icon_view); } /** * exo_icon_view_set_drag_dest_item: * @icon_view : a #ExoIconView * @path : The path of the item to highlight, or %NULL. * @pos : Specifies whether to drop, relative to the item * * Sets the item that is highlighted for feedback. * * Since: 0.3.1 */ void exo_icon_view_set_drag_dest_item (ExoIconView *icon_view, GtkTreePath *path, ExoIconViewDropPosition pos) { ExoIconViewItem *item; GtkTreePath *previous_path; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); /* Note; this function is exported to allow a custom DND * implementation, so it can't touch TreeViewDragInfo */ if (icon_view->priv->dest_item != NULL) { /* determine and reset the previous path */ previous_path = gtk_tree_row_reference_get_path (icon_view->priv->dest_item); gtk_tree_row_reference_free (icon_view->priv->dest_item); icon_view->priv->dest_item = NULL; /* check if the path is still valid */ if (G_LIKELY (previous_path != NULL)) { /* schedule a redraw for the previous path */ item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices (previous_path)[0]); if (G_LIKELY (item != NULL)) exo_icon_view_queue_draw_item (icon_view, item); gtk_tree_path_free (previous_path); } } /* special case a drop on an empty model */ icon_view->priv->empty_view_drop = FALSE; if (pos == GTK_TREE_VIEW_DROP_BEFORE && path && gtk_tree_path_get_depth (path) == 1 && gtk_tree_path_get_indices (path)[0] == 0) { gint n_children; n_children = gtk_tree_model_iter_n_children (icon_view->priv->model, NULL); if (n_children == 0) icon_view->priv->empty_view_drop = TRUE; } icon_view->priv->dest_pos = pos; if (G_LIKELY (path != NULL)) { /* take a row reference for the new item path */ icon_view->priv->dest_item = gtk_tree_row_reference_new_proxy (G_OBJECT (icon_view), icon_view->priv->model, path); /* schedule a redraw on the new path */ item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices (path)[0]); if (G_LIKELY (item != NULL)) exo_icon_view_queue_draw_item (icon_view, item); } } /** * exo_icon_view_get_drag_dest_item: * @icon_view : a #ExoIconView * @path : Return location for the path of the highlighted item, or %NULL. * @pos : Return location for the drop position, or %NULL * * Gets information about the item that is highlighted for feedback. * * Since: 0.3.1 **/ void exo_icon_view_get_drag_dest_item (ExoIconView *icon_view, GtkTreePath **path, ExoIconViewDropPosition *pos) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (path) { if (icon_view->priv->dest_item) *path = gtk_tree_row_reference_get_path (icon_view->priv->dest_item); else *path = NULL; } if (pos) *pos = icon_view->priv->dest_pos; } /** * exo_icon_view_get_dest_item_at_pos: * @icon_view : a #ExoIconView * @drag_x : the position to determine the destination item for * @drag_y : the position to determine the destination item for * @path : Return location for the path of the highlighted item, or %NULL. * @pos : Return location for the drop position, or %NULL * * Determines the destination item for a given position. * * Both @drag_x and @drag_y are given in icon window coordinates. Use * #exo_icon_view_widget_to_icon_coords() if you need to translate * widget coordinates first. * * Return value: whether there is an item at the given position. * * Since: 0.3.1 **/ gboolean exo_icon_view_get_dest_item_at_pos (ExoIconView *icon_view, gint drag_x, gint drag_y, GtkTreePath **path, ExoIconViewDropPosition *pos) { ExoIconViewItem *item; /* Note; this function is exported to allow a custom DND * implementation, so it can't touch TreeViewDragInfo */ g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); g_return_val_if_fail (drag_x >= 0, FALSE); g_return_val_if_fail (drag_y >= 0, FALSE); g_return_val_if_fail (icon_view->priv->bin_window != NULL, FALSE); if (G_LIKELY (path != NULL)) *path = NULL; item = exo_icon_view_get_item_at_coords (icon_view, drag_x, drag_y, FALSE, NULL); if (G_UNLIKELY (item == NULL)) return FALSE; if (G_LIKELY (path != NULL)) *path = gtk_tree_path_new_from_indices (g_list_index (icon_view->priv->items, item), -1); if (G_LIKELY (pos != NULL)) { if (drag_x < item->area.x + item->area.width / 4) *pos = EXO_ICON_VIEW_DROP_LEFT; else if (drag_x > item->area.x + item->area.width * 3 / 4) *pos = EXO_ICON_VIEW_DROP_RIGHT; else if (drag_y < item->area.y + item->area.height / 4) *pos = EXO_ICON_VIEW_DROP_ABOVE; else if (drag_y > item->area.y + item->area.height * 3 / 4) *pos = EXO_ICON_VIEW_DROP_BELOW; else *pos = EXO_ICON_VIEW_DROP_INTO; } return TRUE; } /** * exo_icon_view_create_drag_icon: * @icon_view : a #ExoIconView * @path : a #GtkTreePath in @icon_view * * Creates a #GdkPixmap or #cairo_surface_t representation of the item at @path. * This image is used for a drag icon. * * Return value: a newly-allocated pixmap (gtk2) or cairo surface (gtk3) of the drag icon. * * Since: 0.3.1 **/ #if GTK_CHECK_VERSION (3, 0, 0) cairo_surface_t* #else GdkPixmap* #endif exo_icon_view_create_drag_icon (ExoIconView *icon_view, GtkTreePath *path) { GdkRectangle area; GtkWidget *widget = GTK_WIDGET (icon_view); #if GTK_CHECK_VERSION (3, 0, 0) cairo_surface_t *drawable; #else GdkDrawable *drawable; #endif GList *lp; gint index; cairo_t *cr; g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), NULL); g_return_val_if_fail (gtk_tree_path_get_depth (path) > 0, NULL); /* verify that the widget is realized */ if (G_UNLIKELY (!gtk_widget_get_realized (GTK_WIDGET (icon_view)))) return NULL; index = gtk_tree_path_get_indices (path)[0]; for (lp = icon_view->priv->items; lp != NULL; lp = lp->next) { ExoIconViewItem *item = lp->data; if (G_UNLIKELY (index == g_list_index (icon_view->priv->items, item))) { #if GTK_CHECK_VERSION (3, 0, 0) drawable = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, item->area.width + 2, item->area.height + 2); cr = cairo_create (drawable); #else drawable = gdk_pixmap_new (icon_view->priv->bin_window, item->area.width + 2, item->area.height + 2, -1); cr = gdk_cairo_create (drawable); #endif cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); gdk_cairo_set_source_color (cr, >k_widget_get_style(widget)->base[gtk_widget_get_state (widget)]); cairo_rectangle (cr, 0, 0, item->area.width + 2, item->area.height + 2); cairo_fill (cr); area.x = 0; area.y = 0; area.width = item->area.width; area.height = item->area.height; #if GTK_CHECK_VERSION (3, 0, 0) exo_icon_view_paint_item (icon_view, item, &area, cr, 1, 1, FALSE); #else exo_icon_view_paint_item (icon_view, item, &area, drawable, 1, 1, FALSE); #endif gdk_cairo_set_source_color (cr, >k_widget_get_style(widget)->black); cairo_rectangle (cr, 1, 1, item->area.width + 1, item->area.height + 1); cairo_stroke (cr); cairo_destroy (cr); return drawable; } } return NULL; } /** * exo_icon_view_get_reorderable: * @icon_view : a #ExoIconView * * Retrieves whether the user can reorder the list via drag-and-drop. * See exo_icon_view_set_reorderable(). * * Return value: %TRUE if the list can be reordered. * * Since: 0.3.1 **/ gboolean exo_icon_view_get_reorderable (ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); return icon_view->priv->reorderable; } /** * exo_icon_view_set_reorderable: * @icon_view : A #ExoIconView. * @reorderable : %TRUE, if the list of items can be reordered. * * This function is a convenience function to allow you to reorder models that * support the #GtkTreeDragSourceIface and the #GtkTreeDragDestIface. Both * #GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then * the user can reorder the model by dragging and dropping rows. The * developer can listen to these changes by connecting to the model's * ::row-inserted and ::row-deleted signals. * * This function does not give you any degree of control over the order -- any * reordering is allowed. If more control is needed, you should probably * handle drag and drop manually. * * Since: 0.3.1 **/ void exo_icon_view_set_reorderable (ExoIconView *icon_view, gboolean reorderable) { static const GtkTargetEntry item_targets[] = { { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0, }, }; g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); reorderable = (reorderable != FALSE); if (G_UNLIKELY (icon_view->priv->reorderable == reorderable)) return; if (G_LIKELY (reorderable)) { exo_icon_view_enable_model_drag_source (icon_view, GDK_BUTTON1_MASK, item_targets, G_N_ELEMENTS (item_targets), GDK_ACTION_MOVE); exo_icon_view_enable_model_drag_dest (icon_view, item_targets, G_N_ELEMENTS (item_targets), GDK_ACTION_MOVE); } else { exo_icon_view_unset_model_drag_source (icon_view); exo_icon_view_unset_model_drag_dest (icon_view); } icon_view->priv->reorderable = reorderable; g_object_notify (G_OBJECT (icon_view), "reorderable"); } /*----------------------* * Single-click support * *----------------------*/ /** * exo_icon_view_get_single_click: * @icon_view : a #ExoIconView. * * Returns %TRUE if @icon_view is currently in single click mode, * else %FALSE will be returned. * * Return value: whether @icon_view is currently in single click mode. * * Since: 0.3.1.3 **/ gboolean exo_icon_view_get_single_click (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); return icon_view->priv->single_click; } /** * exo_icon_view_set_single_click: * @icon_view : a #ExoIconView. * @single_click : %TRUE for single click, %FALSE for double click mode. * * If @single_click is %TRUE, @icon_view will be in single click mode * afterwards, else @icon_view will be in double click mode. * * Since: 0.3.1.3 **/ void exo_icon_view_set_single_click (ExoIconView *icon_view, gboolean single_click) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); /* normalize the value */ single_click = !!single_click; /* check if we have a new setting here */ if (icon_view->priv->single_click != single_click) { icon_view->priv->single_click = single_click; g_object_notify (G_OBJECT (icon_view), "single-click"); } } /** * exo_icon_view_get_single_click_timeout: * @icon_view : a #ExoIconView. * * Returns the amount of time in milliseconds after which the * item under the mouse cursor will be selected automatically * in single click mode. A value of %0 means that the behavior * is disabled and the user must alter the selection manually. * * Return value: the single click autoselect timeout or %0 if * the behavior is disabled. * * Since: 0.3.1.5 **/ guint exo_icon_view_get_single_click_timeout (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), 0u); return icon_view->priv->single_click_timeout; } /** * exo_icon_view_set_single_click_timeout: * @icon_view : a #ExoIconView. * @single_click_timeout : the new timeout or %0 to disable. * * If @single_click_timeout is a value greater than zero, it specifies * the amount of time in milliseconds after which the item under the * mouse cursor will be selected automatically in single click mode. * A value of %0 for @single_click_timeout disables the autoselection * for @icon_view. * * This setting does not have any effect unless the @icon_view is in * single-click mode, see exo_icon_view_set_single_click(). * * Since: 0.3.1.5 **/ void exo_icon_view_set_single_click_timeout (ExoIconView *icon_view, guint single_click_timeout) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); /* check if we have a new setting */ if (icon_view->priv->single_click_timeout != single_click_timeout) { /* apply the new setting */ icon_view->priv->single_click_timeout = single_click_timeout; /* be sure to cancel any pending single click timeout */ if (G_UNLIKELY (icon_view->priv->single_click_timeout_id != 0)) g_source_remove (icon_view->priv->single_click_timeout_id); /* notify listeners */ g_object_notify (G_OBJECT (icon_view), "single-click-timeout"); } } static gboolean exo_icon_view_single_click_timeout (gpointer user_data) { ExoIconViewItem *item; gboolean dirty = FALSE; ExoIconView *icon_view = EXO_ICON_VIEW (user_data); GDK_THREADS_ENTER (); /* verify that we are in single-click mode, have focus and a prelit item */ if (gtk_widget_has_focus (GTK_WIDGET (icon_view)) && icon_view->priv->single_click && icon_view->priv->prelit_item != NULL) { /* work on the prelit item */ item = icon_view->priv->prelit_item; /* be sure the item is fully visible */ exo_icon_view_scroll_to_item (icon_view, item); /* change the selection appropriately */ if (G_UNLIKELY (icon_view->priv->selection_mode == GTK_SELECTION_NONE)) { exo_icon_view_set_cursor_item (icon_view, item, -1); } else if ((icon_view->priv->single_click_timeout_state & GDK_SHIFT_MASK) != 0 && icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE) { if (!(icon_view->priv->single_click_timeout_state & GDK_CONTROL_MASK)) /* unselect all previously selected items */ exo_icon_view_unselect_all_internal (icon_view); /* select all items between the anchor and the prelit item */ exo_icon_view_set_cursor_item (icon_view, item, -1); if (icon_view->priv->anchor_item == NULL) icon_view->priv->anchor_item = item; else exo_icon_view_select_all_between (icon_view, icon_view->priv->anchor_item, item); /* selection was changed */ dirty = TRUE; } else { if ((icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE || ((icon_view->priv->selection_mode == GTK_SELECTION_SINGLE) && item->selected)) && (icon_view->priv->single_click_timeout_state & GDK_CONTROL_MASK) != 0) { item->selected = !item->selected; exo_icon_view_queue_draw_item (icon_view, item); dirty = TRUE; } else if (!item->selected) { exo_icon_view_unselect_all_internal (icon_view); exo_icon_view_queue_draw_item (icon_view, item); item->selected = TRUE; dirty = TRUE; } exo_icon_view_set_cursor_item (icon_view, item, -1); icon_view->priv->anchor_item = item; } } /* emit "selection-changed" and stop drawing keyboard * focus indicator if the selection was altered */ if (G_LIKELY (dirty)) { /* reset "draw keyfocus" flag */ EXO_ICON_VIEW_UNSET_FLAG (icon_view, EXO_ICON_VIEW_DRAW_KEYFOCUS); /* emit "selection-changed" */ g_signal_emit (G_OBJECT (icon_view), icon_view_signals[SELECTION_CHANGED], 0); } GDK_THREADS_LEAVE (); return FALSE; } static void exo_icon_view_single_click_timeout_destroy (gpointer user_data) { EXO_ICON_VIEW (user_data)->priv->single_click_timeout_id = 0; } /*----------------------------* * Interactive search support * *----------------------------*/ /** * exo_icon_view_get_enable_search: * @icon_view : an #ExoIconView. * * Returns whether or not the @icon_view allows to start * interactive searching by typing in text. * * Return value: whether or not to let the user search * interactively. * * Since: 0.3.1.3 **/ gboolean exo_icon_view_get_enable_search (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); return icon_view->priv->enable_search; } /** * exo_icon_view_set_enable_search: * @icon_view : an #ExoIconView. * @enable_search : %TRUE if the user can search interactively. * * If @enable_search is set, then the user can type in text to search through * the @icon_view interactively (this is sometimes called "typeahead find"). * * Note that even if this is %FALSE, the user can still initiate a search * using the "start-interactive-search" key binding. * * Since: 0.3.1.3 **/ void exo_icon_view_set_enable_search (ExoIconView *icon_view, gboolean enable_search) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); enable_search = !!enable_search; if (G_LIKELY (icon_view->priv->enable_search != enable_search)) { icon_view->priv->enable_search = enable_search; g_object_notify (G_OBJECT (icon_view), "enable-search"); } } /** * exo_icon_view_get_search_column: * @icon_view : an #ExoIconView. * * Returns the column searched on by the interactive search code. * * Return value: the column the interactive search code searches in. * * Since: 0.3.1.3 **/ gint exo_icon_view_get_search_column (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), -1); return icon_view->priv->search_column; } /** * exo_icon_view_set_search_column: * @icon_view : an #ExoIconView. * @search_column : the column of the model to search in, or -1 to disable searching. * * Sets @search_column as the column where the interactive search code should search in. * * If the search column is set, user can use the "start-interactive-search" key * binding to bring up search popup. The "enable-search" property controls * whether simply typing text will also start an interactive search. * * Note that @search_column refers to a column of the model. * * Since: 0.3.1.3 **/ void exo_icon_view_set_search_column (ExoIconView *icon_view, gint search_column) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (search_column >= -1); if (G_LIKELY (icon_view->priv->search_column != search_column)) { icon_view->priv->search_column = search_column; g_object_notify (G_OBJECT (icon_view), "search-column"); } } /** * exo_icon_view_get_search_equal_func: * @icon_view : an #ExoIconView. * * Returns the compare function currently in use. * * Return value: the currently used compare function for the search code. * * Since: 0.3.1.3 **/ ExoIconViewSearchEqualFunc exo_icon_view_get_search_equal_func (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), NULL); return icon_view->priv->search_equal_func; } /** * exo_icon_view_set_search_equal_func: * @icon_view : an #ExoIconView. * @search_equal_func : the compare function to use during the search, or %NULL. * @search_equal_data : user data to pass to @search_equal_func, or %NULL. * @search_equal_destroy : destroy notifier for @search_equal_data, or %NULL. * * Sets the compare function for the interactive search capabilities; * note that some like strcmp() returning 0 for equality * #ExoIconViewSearchEqualFunc returns %FALSE on matches. * * Specifying %NULL for @search_equal_func will reset @icon_view to use the default * search equal function. * * Since: 0.3.1.3 **/ void exo_icon_view_set_search_equal_func (ExoIconView *icon_view, ExoIconViewSearchEqualFunc search_equal_func, gpointer search_equal_data, GDestroyNotify search_equal_destroy) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (search_equal_func != NULL || (search_equal_data == NULL && search_equal_destroy == NULL)); /* destroy the previous data (if any) */ if (G_UNLIKELY (icon_view->priv->search_equal_destroy != NULL && icon_view->priv->search_equal_data != NULL)) //sfm (*icon_view->priv->search_equal_destroy) (icon_view->priv->search_equal_data); icon_view->priv->search_equal_func = (search_equal_func != NULL) ? search_equal_func : exo_icon_view_search_equal_func; icon_view->priv->search_equal_data = search_equal_data; icon_view->priv->search_equal_destroy = search_equal_destroy; } /** * exo_icon_view_get_search_position_func: * @icon_view : an #ExoIconView. * * Returns the search dialog positioning function currently in use. * * Return value: the currently used function for positioning the search dialog. * * Since: 0.3.1.3 **/ ExoIconViewSearchPositionFunc exo_icon_view_get_search_position_func (const ExoIconView *icon_view) { g_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), NULL); return icon_view->priv->search_position_func; } /** * exo_icon_view_set_search_position_func: * @icon_view : an #ExoIconView. * @search_position_func : the function to use to position the search dialog, or %NULL. * @search_position_data : user data to pass to @search_position_func, or %NULL. * @search_position_destroy : destroy notifier for @search_position_data, or %NULL. * * Sets the function to use when positioning the seach dialog. * * Specifying %NULL for @search_position_func will reset @icon_view to use the default * search position function. * * Since: 0.3.1.3 **/ void exo_icon_view_set_search_position_func (ExoIconView *icon_view, ExoIconViewSearchPositionFunc search_position_func, gpointer search_position_data, GDestroyNotify search_position_destroy) { g_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); g_return_if_fail (search_position_func != NULL || (search_position_data == NULL && search_position_destroy == NULL)); /* destroy the previous data (if any) */ if (icon_view->priv->search_position_destroy != NULL) (*icon_view->priv->search_position_destroy) (icon_view->priv->search_position_data); icon_view->priv->search_position_func = (search_position_func != NULL) ? search_position_func : exo_icon_view_search_position_func; icon_view->priv->search_position_data = search_position_data; icon_view->priv->search_position_destroy = search_position_destroy; } static void exo_icon_view_search_activate (GtkEntry *entry, ExoIconView *icon_view) { GtkTreePath *path; /* hide the interactive search dialog */ exo_icon_view_search_dialog_hide (icon_view->priv->search_window, icon_view); /* check if we have a cursor item, and if so, activate it */ if (exo_icon_view_get_cursor (icon_view, &path, NULL)) { /* only activate the cursor item if it's selected */ if (exo_icon_view_path_is_selected (icon_view, path)) exo_icon_view_item_activated (icon_view, path); gtk_tree_path_free (path); } } static void exo_icon_view_search_dialog_hide (GtkWidget *search_dialog, ExoIconView *icon_view) { _exo_return_if_fail (GTK_IS_WIDGET (search_dialog)); _exo_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); if (icon_view->priv->search_disable_popdown) return; /* disconnect the "changed" signal handler */ if (icon_view->priv->search_entry_changed_id != 0) { g_signal_handler_disconnect (G_OBJECT (icon_view->priv->search_entry), icon_view->priv->search_entry_changed_id); icon_view->priv->search_entry_changed_id = 0; } /* disable the flush timeout */ if (icon_view->priv->search_timeout_id != 0) g_source_remove (icon_view->priv->search_timeout_id); /* send focus-out event */ _exo_gtk_widget_send_focus_change (icon_view->priv->search_entry, FALSE); gtk_widget_hide (search_dialog); gtk_entry_set_text (GTK_ENTRY (icon_view->priv->search_entry), ""); } static void exo_icon_view_search_ensure_directory (ExoIconView *icon_view) { GtkWidget *toplevel; GtkWidget *frame; GtkWidget *vbox; /* determine the toplevel window */ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (icon_view)); /* check if we already have a search window */ if (G_LIKELY (icon_view->priv->search_window != NULL)) { if (gtk_window_has_group (GTK_WINDOW (toplevel))) gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), GTK_WINDOW (icon_view->priv->search_window)); else if (gtk_window_has_group (GTK_WINDOW (icon_view->priv->search_window))) gtk_window_group_remove_window (gtk_window_get_group (GTK_WINDOW (icon_view->priv->search_window)), GTK_WINDOW (icon_view->priv->search_window)); return; } /* allocate a new search window */ icon_view->priv->search_window = gtk_window_new (GTK_WINDOW_POPUP); if (gtk_window_has_group (GTK_WINDOW (toplevel))) gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), GTK_WINDOW (icon_view->priv->search_window)); gtk_window_set_modal (GTK_WINDOW (icon_view->priv->search_window), TRUE); gtk_window_set_screen (GTK_WINDOW (icon_view->priv->search_window), gtk_widget_get_screen (GTK_WIDGET (icon_view))); /* connect signal handlers */ g_signal_connect (G_OBJECT (icon_view->priv->search_window), "delete-event", G_CALLBACK (exo_icon_view_search_delete_event), icon_view); g_signal_connect (G_OBJECT (icon_view->priv->search_window), "scroll-event", G_CALLBACK (exo_icon_view_search_scroll_event), icon_view); g_signal_connect (G_OBJECT (icon_view->priv->search_window), "key-press-event", G_CALLBACK (exo_icon_view_search_key_press_event), icon_view); g_signal_connect (G_OBJECT (icon_view->priv->search_window), "button-press-event", G_CALLBACK (exo_icon_view_search_button_press_event), icon_view); /* allocate the frame widget */ frame = g_object_new (GTK_TYPE_FRAME, "shadow-type", GTK_SHADOW_ETCHED_IN, NULL); gtk_container_add (GTK_CONTAINER (icon_view->priv->search_window), frame); gtk_widget_show (frame); /* allocate the vertical box */ vbox = g_object_new (GTK_TYPE_VBOX, "border-width", 3, NULL); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); /* allocate the search entry widget */ icon_view->priv->search_entry = gtk_entry_new (); g_signal_connect (G_OBJECT (icon_view->priv->search_entry), "activate", G_CALLBACK (exo_icon_view_search_activate), icon_view); #if GTK_CHECK_VERSION (3, 0, 0) g_signal_connect (G_OBJECT (GTK_ENTRY (icon_view->priv->search_entry)), "preedit-changed", G_CALLBACK (exo_icon_view_search_preedit_changed), icon_view); #else g_signal_connect (G_OBJECT (GTK_ENTRY (icon_view->priv->search_entry)->im_context), "preedit-changed", G_CALLBACK (exo_icon_view_search_preedit_changed), icon_view); #endif gtk_box_pack_start (GTK_BOX (vbox), icon_view->priv->search_entry, TRUE, TRUE, 0); gtk_widget_realize (icon_view->priv->search_entry); gtk_widget_show (icon_view->priv->search_entry); } static void exo_icon_view_search_init (GtkWidget *search_entry, ExoIconView *icon_view) { GtkTreeModel *model; GtkTreeIter iter; const gchar *text; gint length; gint count = 0; _exo_return_if_fail (GTK_IS_ENTRY (search_entry)); _exo_return_if_fail (EXO_IS_ICON_VIEW (icon_view)); /* determine the current text for the search entry */ text = gtk_entry_get_text (GTK_ENTRY (search_entry)); if (G_UNLIKELY (text == NULL)) return; /* unselect all items */ exo_icon_view_unselect_all (icon_view); /* renew the flush timeout */ if ((icon_view->priv->search_timeout_id != 0)) { /* drop the previous timeout */ g_source_remove (icon_view->priv->search_timeout_id); /* schedule a new timeout */ icon_view->priv->search_timeout_id = g_timeout_add_full (G_PRIORITY_LOW, EXO_ICON_VIEW_SEARCH_DIALOG_TIMEOUT, exo_icon_view_search_timeout, icon_view, exo_icon_view_search_timeout_destroy); } /* verify that we have a search text */ length = strlen (text); if (length < 1) return; /* verify that we have a valid model */ model = exo_icon_view_get_model (icon_view); if (G_UNLIKELY (model == NULL)) return; /* start the interactive search */ if (gtk_tree_model_get_iter_first (model, &iter)) { /* let's see if we have a match */ if (exo_icon_view_search_iter (icon_view, model, &iter, text, &count, 1)) icon_view->priv->search_selected_iter = 1; } } static gboolean exo_icon_view_search_iter (ExoIconView *icon_view, GtkTreeModel *model, GtkTreeIter *iter, const gchar *text, gint *count, gint n) { GtkTreePath *path; _exo_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); _exo_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE); _exo_return_val_if_fail (count != NULL, FALSE); /* search for a matching item */ do { if (!(*icon_view->priv->search_equal_func) (model, icon_view->priv->search_column, text, iter, icon_view->priv->search_equal_data)) { (*count) += 1; if (*count == n) { /* place cursor on the item and select it */ path = gtk_tree_model_get_path (model, iter); exo_icon_view_select_path (icon_view, path); exo_icon_view_set_cursor (icon_view, path, NULL, FALSE); gtk_tree_path_free (path); return TRUE; } } } while (gtk_tree_model_iter_next (model, iter)); /* no match */ return FALSE; } static void exo_icon_view_search_move (GtkWidget *widget, ExoIconView *icon_view, gboolean move_up) { GtkTreeModel *model; const gchar *text; GtkTreeIter iter; gboolean retval; gint length; gint count = 0; /* determine the current text for the search entry */ text = gtk_entry_get_text (GTK_ENTRY (icon_view->priv->search_entry)); if (G_UNLIKELY (text == NULL)) return; /* if we already selected the first item, we cannot go up */ if (move_up && icon_view->priv->search_selected_iter == 1) return; /* determine the length of the search text */ length = strlen (text); if (G_UNLIKELY (length < 1)) return; /* unselect all items */ exo_icon_view_unselect_all (icon_view); /* verify that we have a valid model */ model = exo_icon_view_get_model (icon_view); if (G_UNLIKELY (model == NULL)) return; /* determine the iterator to the first item */ if (!gtk_tree_model_get_iter_first (model, &iter)) return; /* first attempt to search */ retval = exo_icon_view_search_iter (icon_view, model, &iter, text, &count, move_up ? (icon_view->priv->search_selected_iter - 1) : (icon_view->priv->search_selected_iter + 1)); /* check if we found something */ if (G_LIKELY (retval)) { /* match found */ icon_view->priv->search_selected_iter += move_up ? -1 : 1; } else { /* return to old iter */ if (gtk_tree_model_get_iter_first (model, &iter)) { count = 0; exo_icon_view_search_iter (icon_view, model, &iter, text, &count, icon_view->priv->search_selected_iter); } } } #if GTK_CHECK_VERSION (3, 0, 0) static void exo_icon_view_search_preedit_changed (GtkEntry *entry, gchar *preedit, #else static void exo_icon_view_search_preedit_changed (GtkIMContext *im_context, #endif ExoIconView *icon_view) { icon_view->priv->search_imcontext_changed = TRUE; /* re-register the search timeout */ if (G_LIKELY (icon_view->priv->search_timeout_id != 0)) { g_source_remove (icon_view->priv->search_timeout_id); icon_view->priv->search_timeout_id = g_timeout_add_full (G_PRIORITY_LOW, EXO_ICON_VIEW_SEARCH_DIALOG_TIMEOUT, exo_icon_view_search_timeout, icon_view, exo_icon_view_search_timeout_destroy); } } static gboolean exo_icon_view_search_start (ExoIconView *icon_view, gboolean keybinding) { GTypeClass *klass; /* check if typeahead is enabled */ if (G_UNLIKELY (!icon_view->priv->enable_search && !keybinding)) return FALSE; /* check if we already display the search window */ if (icon_view->priv->search_window != NULL && gtk_widget_get_visible (icon_view->priv->search_window)) return TRUE; /* we only start interactive search if we have focus, * we don't want to start interactive search if one of * our children has the focus. */ if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) return FALSE; /* verify that we have a search column */ if (G_UNLIKELY (icon_view->priv->search_column < 0)) return FALSE; exo_icon_view_search_ensure_directory (icon_view); /* clear search entry if we were started by a keybinding */ if (G_UNLIKELY (keybinding)) gtk_entry_set_text (GTK_ENTRY (icon_view->priv->search_entry), ""); /* determine the position for the search dialog */ (*icon_view->priv->search_position_func) (icon_view, icon_view->priv->search_window, icon_view->priv->search_position_data); /* display the search dialog */ gtk_widget_show (icon_view->priv->search_window); /* connect "changed" signal for the entry */ if (G_UNLIKELY (icon_view->priv->search_entry_changed_id == 0)) { icon_view->priv->search_entry_changed_id = g_signal_connect (G_OBJECT (icon_view->priv->search_entry), "changed", G_CALLBACK (exo_icon_view_search_init), icon_view); } /* start the search timeout */ icon_view->priv->search_timeout_id = g_timeout_add_full (G_PRIORITY_LOW, EXO_ICON_VIEW_SEARCH_DIALOG_TIMEOUT, exo_icon_view_search_timeout, icon_view, exo_icon_view_search_timeout_destroy); /* grab focus will select all the text, we don't want that to happen, so we * call the parent instance and bypass the selection change. This is probably * really hackish, but GtkTreeView does it as well *hrhr* */ klass = g_type_class_peek_parent (GTK_ENTRY_GET_CLASS (icon_view->priv->search_entry)); (*GTK_WIDGET_CLASS (klass)->grab_focus) (icon_view->priv->search_entry); /* send focus-in event */ _exo_gtk_widget_send_focus_change (icon_view->priv->search_entry, TRUE); /* search first matching iter */ exo_icon_view_search_init (icon_view->priv->search_entry, icon_view); return TRUE; } static gboolean exo_icon_view_search_equal_func (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer user_data) { const gchar *str; gboolean retval = TRUE; GValue transformed = { 0, }; GValue value = { 0, }; gchar *case_normalized_string = NULL; gchar *case_normalized_key = NULL; gchar *normalized_string; gchar *normalized_key; /* determine the value for the column/iter */ gtk_tree_model_get_value (model, iter, column, &value); /* try to transform the value to a string */ g_value_init (&transformed, G_TYPE_STRING); if (!g_value_transform (&value, &transformed)) { g_value_unset (&value); return TRUE; } g_value_unset (&value); /* check if we have a string value */ str = g_value_get_string (&transformed); if (G_UNLIKELY (str == NULL)) { g_value_unset (&transformed); return TRUE; } /* normalize the string and the key */ normalized_string = g_utf8_normalize (str, -1, G_NORMALIZE_ALL); normalized_key = g_utf8_normalize (key, -1, G_NORMALIZE_ALL); /* check if we have normalized both string */ if (G_LIKELY (normalized_string != NULL && normalized_key != NULL)) { case_normalized_string = g_utf8_casefold (normalized_string, -1); case_normalized_key = g_utf8_casefold (normalized_key, -1); /* compare the casefolded strings */ if (strncmp (case_normalized_key, case_normalized_string, strlen (case_normalized_key)) == 0) retval = FALSE; } /* cleanup */ g_free (case_normalized_string); g_free (case_normalized_key); g_value_unset (&transformed); g_free (normalized_string); g_free (normalized_key); return retval; } static void exo_icon_view_search_position_func (ExoIconView *icon_view, GtkWidget *search_dialog, gpointer user_data) { GtkRequisition requisition; GdkRectangle monitor; GdkWindow *view_window = gtk_widget_get_window (GTK_WIDGET (icon_view)); GdkScreen *screen = gtk_widget_get_screen(GTK_WIDGET(icon_view)); gint view_width, view_height; gint view_x, view_y; gint monitor_num; gint x, y; /* determine the monitor geometry */ monitor_num = gdk_screen_get_monitor_at_window (screen, view_window); gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); /* make sure the search dialog is realized */ gtk_widget_realize (search_dialog); gdk_window_get_origin (view_window, &view_x, &view_y); view_width = gdk_window_get_width (view_window); view_height = gdk_window_get_height (view_window); gtk_widget_size_request (search_dialog, &requisition); if (view_x + view_width - requisition.width > gdk_screen_get_width (screen)) x = gdk_screen_get_width (screen) - requisition.width; else if (view_x + view_width - requisition.width < 0) x = 0; else x = view_x + view_width - requisition.width; if (view_y + view_height > gdk_screen_get_height (screen)) y = gdk_screen_get_height (screen) - requisition.height; else if (view_y + view_height < 0) /* isn't really possible ... */ y = 0; else y = view_y + view_height; gtk_window_move (GTK_WINDOW (search_dialog), x, y); } static gboolean exo_icon_view_search_button_press_event (GtkWidget *widget, GdkEventButton *event, ExoIconView *icon_view) { _exo_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); _exo_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); /* hide the search dialog */ exo_icon_view_search_dialog_hide (widget, icon_view); if (event->window == icon_view->priv->bin_window) exo_icon_view_button_press_event (GTK_WIDGET (icon_view), event); return TRUE; } static gboolean exo_icon_view_search_delete_event (GtkWidget *widget, GdkEventAny *event, ExoIconView *icon_view) { _exo_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); _exo_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); /* hide the search dialog */ exo_icon_view_search_dialog_hide (widget, icon_view); return TRUE; } static gboolean exo_icon_view_search_key_press_event (GtkWidget *widget, GdkEventKey *event, ExoIconView *icon_view) { gboolean retval = FALSE; int nonlatin_key = 0; _exo_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); _exo_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); /* close window and cancel the search */ if (event->keyval == GDK_KEY_Escape || event->keyval == GDK_KEY_Tab) { exo_icon_view_search_dialog_hide (widget, icon_view); return TRUE; } //sfm need to transpose nonlatin keyboard layout ? if ( !( ( GDK_KEY_0 <= event->keyval && event->keyval <= GDK_KEY_9 ) || ( GDK_KEY_A <= event->keyval && event->keyval <= GDK_KEY_Z ) || ( GDK_KEY_a <= event->keyval && event->keyval <= GDK_KEY_z ) ) ) { nonlatin_key = event->keyval; transpose_nonlatin_keypress( event ); } /* select previous matching iter */ if (event->keyval == GDK_KEY_Up || event->keyval == GDK_KEY_KP_Up) { exo_icon_view_search_move (widget, icon_view, TRUE); retval = TRUE; } if (((event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) && (event->keyval == GDK_KEY_g || event->keyval == GDK_KEY_G)) { exo_icon_view_search_move (widget, icon_view, TRUE); retval = TRUE; } /* select next matching iter */ if (event->keyval == GDK_KEY_Down || event->keyval == GDK_KEY_KP_Down) { exo_icon_view_search_move (widget, icon_view, FALSE); retval = TRUE; } if (((event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) == GDK_CONTROL_MASK) && (event->keyval == GDK_KEY_g || event->keyval == GDK_KEY_G)) { exo_icon_view_search_move (widget, icon_view, FALSE); retval = TRUE; } /* renew the flush timeout */ if (retval && (icon_view->priv->search_timeout_id != 0)) { /* drop the previous timeout */ g_source_remove (icon_view->priv->search_timeout_id); /* schedule a new timeout */ icon_view->priv->search_timeout_id = g_timeout_add_full (G_PRIORITY_LOW, EXO_ICON_VIEW_SEARCH_DIALOG_TIMEOUT, exo_icon_view_search_timeout, icon_view, exo_icon_view_search_timeout_destroy); } if ( !retval && nonlatin_key != 0 ) event->keyval = nonlatin_key; return retval; } static gboolean exo_icon_view_search_scroll_event (GtkWidget *widget, GdkEventScroll *event, ExoIconView *icon_view) { gboolean retval = TRUE; _exo_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); _exo_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE); if (event->direction == GDK_SCROLL_UP) exo_icon_view_search_move (widget, icon_view, TRUE); else if (event->direction == GDK_SCROLL_DOWN) exo_icon_view_search_move (widget, icon_view, FALSE); else retval = FALSE; return retval; } static gboolean exo_icon_view_search_timeout (gpointer user_data) { ExoIconView *icon_view = EXO_ICON_VIEW (user_data); GDK_THREADS_ENTER (); exo_icon_view_search_dialog_hide (icon_view->priv->search_window, icon_view); GDK_THREADS_LEAVE (); return FALSE; } static void exo_icon_view_search_timeout_destroy (gpointer user_data) { EXO_ICON_VIEW (user_data)->priv->search_timeout_id = 0; } gboolean exo_icon_view_is_rubber_banding_active( ExoIconView* icon_view ) //sfm { return icon_view->priv->doing_rubberband; } spacefm-1.0.5/src/exo/exo-icon-view.h000066400000000000000000000513761264770501700174040ustar00rootroot00000000000000/* $Id: exo-icon-view.h 20879 2006-04-14 11:23:42Z benny $ */ /*- * Copyright (c) 2004-2006 os-cillation e.K. * Copyright (c) 2002,2004 Anders Carlsson * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* Modified by Hong Jen Yee (PCMan) * on 2008.05.11 for use in PCManFM */ /* #if !defined (EXO_INSIDE_EXO_H) && !defined (EXO_COMPILATION) #error "Only can be included directly, this file may disappear or change contents." #endif */ #ifndef __EXO_ICON_VIEW_H__ #define __EXO_ICON_VIEW_H__ #include G_BEGIN_DECLS; typedef struct _ExoIconViewPrivate ExoIconViewPrivate; typedef struct _ExoIconViewClass ExoIconViewClass; typedef struct _ExoIconView ExoIconView; #define EXO_TYPE_ICON_VIEW (exo_icon_view_get_type ()) #define EXO_ICON_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXO_TYPE_ICON_VIEW, ExoIconView)) #define EXO_ICON_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXO_TYPE_ICON_VIEW, ExoIconViewClass)) #define EXO_IS_ICON_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXO_TYPE_ICON_VIEW)) #define EXO_IS_ICON_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXO_TYPE_ICON_VIEW)) #define EXO_ICON_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXO_TYPE_ICON_VIEW, ExoIconViewClass)) /** * ExoIconViewForeachFunc: * @icon_view : an #ExoIconView. * @path : the current path. * @user_data : the user data supplied to exo_icon_view_selected_foreach(). * * Callback function prototype, invoked for every selected path in the * @icon_view. See exo_icon_view_selected_foreach() for details. **/ typedef void (*ExoIconViewForeachFunc) (ExoIconView *icon_view, GtkTreePath *path, gpointer user_data); /** * ExoIconViewSearchEqualFunc: * @model : the #GtkTreeModel being searched. * @column : the search column set by exo_icon_view_set_search_column(). * @key : the key string to compare with. * @iter : the #GtkTreeIter of the current item. * @search_data : user data from exo_icon_view_set_search_equal_func(). * * A function used for checking whether a row in @model matches a search key string * entered by the user. Note the return value is reversed from what you would normally * expect, though it has some similarity to strcmp() returning 0 for equal strings. * * Return value: %FALSE if the row matches, %TRUE otherwise. **/ typedef gboolean (*ExoIconViewSearchEqualFunc) (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data); /** * ExoIconViewSearchPositionFunc: * @icon_view : an #ExoIconView. * @search_dialog : the search dialog window to place. * @user_data : user data from exo_icon_view_set_search_position_func(). * * A function used to place the @search_dialog for the @icon_view. **/ typedef void (*ExoIconViewSearchPositionFunc) (ExoIconView *icon_view, GtkWidget *search_dialog, gpointer user_data); /** * ExoIconViewDropPosition: * @EXO_ICON_VIEW_NO_DROP : no drop indicator. * @EXO_ICON_VIEW_DROP_INTO : drop indicator on an item. * @EXO_ICON_VIEW_DROP_LEFT : drop indicator on the left of an item. * @EXO_ICON_VIEW_DROP_RIGHT : drop indicator on the right of an item. * @EXO_ICON_VIEW_DROP_ABOVE : drop indicator above an item. * @EXO_ICON_VIEW_DROP_BELOW : drop indicator below an item. * * Specifies whether to display the drop indicator, * i.e. where to drop into the icon view. **/ typedef enum { EXO_ICON_VIEW_NO_DROP, EXO_ICON_VIEW_DROP_INTO, EXO_ICON_VIEW_DROP_LEFT, EXO_ICON_VIEW_DROP_RIGHT, EXO_ICON_VIEW_DROP_ABOVE, EXO_ICON_VIEW_DROP_BELOW } ExoIconViewDropPosition; /** * ExoIconViewLayoutMode: * @EXO_ICON_VIEW_LAYOUT_ROWS : layout items in rows. * @EXO_ICON_VIEW_LAYOUT_COLS : layout items in columns. * * Specifies the layouting mode of an #ExoIconView. @EXO_ICON_VIEW_LAYOUT_ROWS * is the default, which lays out items vertically in rows from top to bottom. * @EXO_ICON_VIEW_LAYOUT_COLS lays out items horizontally in columns from left * to right. **/ typedef enum { EXO_ICON_VIEW_LAYOUT_ROWS, EXO_ICON_VIEW_LAYOUT_COLS } ExoIconViewLayoutMode; struct _ExoIconView { GtkContainer __parent__; /*< private >*/ ExoIconViewPrivate *priv; }; struct _ExoIconViewClass { GtkContainerClass __parent__; /* virtual methods */ void (*set_scroll_adjustments) (ExoIconView *icon_view, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); /* signals */ void (*item_activated) (ExoIconView *icon_view, GtkTreePath *path); void (*selection_changed) (ExoIconView *icon_view); /* Key binding signals */ void (*select_all) (ExoIconView *icon_view); void (*unselect_all) (ExoIconView *icon_view); void (*select_cursor_item) (ExoIconView *icon_view); void (*toggle_cursor_item) (ExoIconView *icon_view); gboolean (*move_cursor) (ExoIconView *icon_view, GtkMovementStep step, gint count); gboolean (*activate_cursor_item) (ExoIconView *icon_view); gboolean (*start_interactive_search) (ExoIconView *icon_view); /*< private >*/ /* void (*reserved0) (void); void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); void (*reserved4) (void); void (*reserved5) (void); void (*reserved6) (void); void (*reserved7) (void); void (*reserved8) (void); void (*reserved9) (void); */ }; GType exo_icon_view_get_type (void) G_GNUC_CONST; GtkWidget *exo_icon_view_new (void); GtkWidget *exo_icon_view_new_with_model (GtkTreeModel *model); GtkTreeModel *exo_icon_view_get_model (const ExoIconView *icon_view); void exo_icon_view_set_model (ExoIconView *icon_view, GtkTreeModel *model); #ifndef EXO_DISABLE_DEPRECATED gint exo_icon_view_get_text_column (const ExoIconView *icon_view); void exo_icon_view_set_text_column (ExoIconView *icon_view, gint column); gint exo_icon_view_get_markup_column (const ExoIconView *icon_view); void exo_icon_view_set_markup_column (ExoIconView *icon_view, gint column); gint exo_icon_view_get_pixbuf_column (const ExoIconView *icon_view); void exo_icon_view_set_pixbuf_column (ExoIconView *icon_view, gint column); #endif GtkOrientation exo_icon_view_get_orientation (const ExoIconView *icon_view); void exo_icon_view_set_orientation (ExoIconView *icon_view, GtkOrientation orientation); gint exo_icon_view_get_columns (const ExoIconView *icon_view); void exo_icon_view_set_columns (ExoIconView *icon_view, gint columns); gint exo_icon_view_get_item_width (const ExoIconView *icon_view); void exo_icon_view_set_item_width (ExoIconView *icon_view, gint item_width); gint exo_icon_view_get_spacing (const ExoIconView *icon_view); void exo_icon_view_set_spacing (ExoIconView *icon_view, gint spacing); gint exo_icon_view_get_row_spacing (const ExoIconView *icon_view); void exo_icon_view_set_row_spacing (ExoIconView *icon_view, gint row_spacing); gint exo_icon_view_get_column_spacing (const ExoIconView *icon_view); void exo_icon_view_set_column_spacing (ExoIconView *icon_view, gint column_spacing); gint exo_icon_view_get_margin (const ExoIconView *icon_view); void exo_icon_view_set_margin (ExoIconView *icon_view, gint margin); GtkSelectionMode exo_icon_view_get_selection_mode (const ExoIconView *icon_view); void exo_icon_view_set_selection_mode (ExoIconView *icon_view, GtkSelectionMode mode); ExoIconViewLayoutMode exo_icon_view_get_layout_mode (const ExoIconView *icon_view); void exo_icon_view_set_layout_mode (ExoIconView *icon_view, ExoIconViewLayoutMode layout_mode); gboolean exo_icon_view_get_single_click (const ExoIconView *icon_view); void exo_icon_view_set_single_click (ExoIconView *icon_view, gboolean single_click); guint exo_icon_view_get_single_click_timeout (const ExoIconView *icon_view); void exo_icon_view_set_single_click_timeout (ExoIconView *icon_view, guint single_click_timeout); void exo_icon_view_widget_to_icon_coords (const ExoIconView *icon_view, gint wx, gint wy, gint *ix, gint *iy); void exo_icon_view_icon_to_widget_coords (const ExoIconView *icon_view, gint ix, gint iy, gint *wx, gint *wy); GtkTreePath *exo_icon_view_get_path_at_pos (const ExoIconView *icon_view, gint x, gint y); gboolean exo_icon_view_get_item_at_pos (const ExoIconView *icon_view, gint x, gint y, GtkTreePath **path, GtkCellRenderer **cell); gboolean exo_icon_view_get_visible_range (const ExoIconView *icon_view, GtkTreePath **start_path, GtkTreePath **end_path); void exo_icon_view_selected_foreach (ExoIconView *icon_view, ExoIconViewForeachFunc func, gpointer data); void exo_icon_view_select_path (ExoIconView *icon_view, GtkTreePath *path); void exo_icon_view_unselect_path (ExoIconView *icon_view, GtkTreePath *path); gboolean exo_icon_view_path_is_selected (const ExoIconView *icon_view, GtkTreePath *path); GList *exo_icon_view_get_selected_items (const ExoIconView *icon_view); void exo_icon_view_select_all (ExoIconView *icon_view); void exo_icon_view_unselect_all (ExoIconView *icon_view); void exo_icon_view_item_activated (ExoIconView *icon_view, GtkTreePath *path); gboolean exo_icon_view_get_cursor (const ExoIconView *icon_view, GtkTreePath **path, GtkCellRenderer **cell); void exo_icon_view_set_cursor (ExoIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, gboolean start_editing); void exo_icon_view_scroll_to_path (ExoIconView *icon_view, GtkTreePath *path, gboolean use_align, gfloat row_align, gfloat col_align); /* Drag-and-Drop support */ void exo_icon_view_enable_model_drag_source (ExoIconView *icon_view, GdkModifierType start_button_mask, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions); void exo_icon_view_enable_model_drag_dest (ExoIconView *icon_view, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions); void exo_icon_view_unset_model_drag_source (ExoIconView *icon_view); void exo_icon_view_unset_model_drag_dest (ExoIconView *icon_view); void exo_icon_view_set_reorderable (ExoIconView *icon_view, gboolean reorderable); gboolean exo_icon_view_get_reorderable (ExoIconView *icon_view); /* These are useful to implement your own custom stuff. */ void exo_icon_view_set_drag_dest_item (ExoIconView *icon_view, GtkTreePath *path, ExoIconViewDropPosition pos); void exo_icon_view_get_drag_dest_item (ExoIconView *icon_view, GtkTreePath **path, ExoIconViewDropPosition *pos); gboolean exo_icon_view_get_dest_item_at_pos (ExoIconView *icon_view, gint drag_x, gint drag_y, GtkTreePath **path, ExoIconViewDropPosition *pos); #if GTK_CHECK_VERSION (3, 0, 0) cairo_surface_t *exo_icon_view_create_drag_icon (ExoIconView *icon_view, #else GdkPixmap *exo_icon_view_create_drag_icon (ExoIconView *icon_view, #endif GtkTreePath *path); /* Interactive search support */ gboolean exo_icon_view_get_enable_search (const ExoIconView *icon_view); void exo_icon_view_set_enable_search (ExoIconView *icon_view, gboolean enable_search); gint exo_icon_view_get_search_column (const ExoIconView *icon_view); void exo_icon_view_set_search_column (ExoIconView *icon_view, gint search_column); ExoIconViewSearchEqualFunc exo_icon_view_get_search_equal_func (const ExoIconView *icon_view); void exo_icon_view_set_search_equal_func (ExoIconView *icon_view, ExoIconViewSearchEqualFunc search_equal_func, gpointer search_equal_data, GDestroyNotify search_equal_destroy); ExoIconViewSearchPositionFunc exo_icon_view_get_search_position_func (const ExoIconView *icon_view); void exo_icon_view_set_search_position_func (ExoIconView *icon_view, ExoIconViewSearchPositionFunc search_position_func, gpointer search_position_data, GDestroyNotify search_position_destroy); gboolean exo_icon_view_is_rubber_banding_active( ExoIconView* icon_view ); //sfm G_END_DECLS; #endif /* __EXO_ICON_VIEW_H__ */ spacefm-1.0.5/src/exo/exo-marshal.c000066400000000000000000000323251264770501700171170ustar00rootroot00000000000000 #include #ifdef G_ENABLE_DEBUG #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) #define g_marshal_value_peek_char(v) g_value_get_char (v) #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) #define g_marshal_value_peek_int(v) g_value_get_int (v) #define g_marshal_value_peek_uint(v) g_value_get_uint (v) #define g_marshal_value_peek_long(v) g_value_get_long (v) #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) #define g_marshal_value_peek_int64(v) g_value_get_int64 (v) #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) #define g_marshal_value_peek_enum(v) g_value_get_enum (v) #define g_marshal_value_peek_flags(v) g_value_get_flags (v) #define g_marshal_value_peek_float(v) g_value_get_float (v) #define g_marshal_value_peek_double(v) g_value_get_double (v) #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) #define g_marshal_value_peek_param(v) g_value_get_param (v) #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) #define g_marshal_value_peek_object(v) g_value_get_object (v) #else /* !G_ENABLE_DEBUG */ /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. * Do not access GValues directly in your code. Instead, use the * g_value_get_*() functions */ #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int #define g_marshal_value_peek_char(v) (v)->data[0].v_int #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint #define g_marshal_value_peek_int(v) (v)->data[0].v_int #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint #define g_marshal_value_peek_long(v) (v)->data[0].v_long #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 #define g_marshal_value_peek_enum(v) (v)->data[0].v_long #define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong #define g_marshal_value_peek_float(v) (v)->data[0].v_float #define g_marshal_value_peek_double(v) (v)->data[0].v_double #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer #endif /* !G_ENABLE_DEBUG */ /* VOID:INT,INT (exo-marshal.list:1) */ void _exo_marshal_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); register GMarshalFunc_VOID__INT_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), data2); } /* VOID:OBJECT,OBJECT (exo-marshal.list:2) */ void _exo_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__OBJECT_OBJECT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_object (param_values + 1), g_marshal_value_peek_object (param_values + 2), data2); } /* STRING:POINTER (exo-marshal.list:3) */ void _exo_marshal_STRING__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gchar* (*GMarshalFunc_STRING__POINTER) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_STRING__POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gchar* v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_STRING__POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), data2); g_value_take_string (return_value, v_return); } /* STRING:STRING,STRING (exo-marshal.list:4) */ void _exo_marshal_STRING__STRING_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gchar* (*GMarshalFunc_STRING__STRING_STRING) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_STRING__STRING_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gchar* v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_STRING__STRING_STRING) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_string (param_values + 1), g_marshal_value_peek_string (param_values + 2), data2); g_value_take_string (return_value, v_return); } /* BOOLEAN:VOID (exo-marshal.list:5) */ void _exo_marshal_BOOLEAN__VOID (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__VOID) (gpointer data1, gpointer data2); register GMarshalFunc_BOOLEAN__VOID callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 1); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__VOID) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, data2); g_value_set_boolean (return_value, v_return); } /* BOOLEAN:ENUM,INT (exo-marshal.list:6) */ void _exo_marshal_BOOLEAN__ENUM_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__ENUM_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__ENUM_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__ENUM_INT) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_enum (param_values + 1), g_marshal_value_peek_int (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOLEAN:INT,ENUM,BOOLEAN,ENUM,BOOLEAN (exo-marshal.list:7) */ void _exo_marshal_BOOLEAN__INT_ENUM_BOOLEAN_ENUM_BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__INT_ENUM_BOOLEAN_ENUM_BOOLEAN) (gpointer data1, gint arg_1, gint arg_2, gboolean arg_3, gint arg_4, gboolean arg_5, gpointer data2); register GMarshalFunc_BOOLEAN__INT_ENUM_BOOLEAN_ENUM_BOOLEAN callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 6); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__INT_ENUM_BOOLEAN_ENUM_BOOLEAN) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_enum (param_values + 2), g_marshal_value_peek_boolean (param_values + 3), g_marshal_value_peek_enum (param_values + 4), g_marshal_value_peek_boolean (param_values + 5), data2); g_value_set_boolean (return_value, v_return); } spacefm-1.0.5/src/exo/exo-marshal.h000066400000000000000000000070601264770501700171220ustar00rootroot00000000000000 #ifndef ___exo_marshal_MARSHAL_H__ #define ___exo_marshal_MARSHAL_H__ #include G_BEGIN_DECLS /* VOID:INT,INT (exo-marshal.list:1) */ extern void _exo_marshal_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:OBJECT,OBJECT (exo-marshal.list:2) */ extern void _exo_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* STRING:POINTER (exo-marshal.list:3) */ extern void _exo_marshal_STRING__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* STRING:STRING,STRING (exo-marshal.list:4) */ extern void _exo_marshal_STRING__STRING_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* BOOLEAN:VOID (exo-marshal.list:5) */ extern void _exo_marshal_BOOLEAN__VOID (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* BOOLEAN:ENUM,INT (exo-marshal.list:6) */ extern void _exo_marshal_BOOLEAN__ENUM_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* BOOLEAN:INT,ENUM,BOOLEAN,ENUM,BOOLEAN (exo-marshal.list:7) */ extern void _exo_marshal_BOOLEAN__INT_ENUM_BOOLEAN_ENUM_BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); G_END_DECLS #endif /* ___exo_marshal_MARSHAL_H__ */ spacefm-1.0.5/src/exo/exo-private.c000066400000000000000000000105731264770501700171430ustar00rootroot00000000000000/* $Id: exo-private.c 22884 2006-08-26 12:40:43Z benny $ */ /*- * Copyright (c) 2004-2006 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_LIBINTL_H #include #endif #ifdef HAVE_LOCALE_H #include #endif #include "exo-private.h" #include "exo-string.h" /* void _exo_i18n_init (void) { static gboolean inited = FALSE; if (G_UNLIKELY (!inited)) { inited = TRUE; bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); #ifdef HAVE_BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); #endif } } */ void _exo_gtk_widget_send_focus_change (GtkWidget *widget, gboolean in) { #if !GTK_CHECK_VERSION (2, 22, 0) if (in) GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS); else GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS); #endif GdkEvent *fevent; g_object_ref (G_OBJECT (widget)); fevent = gdk_event_new (GDK_FOCUS_CHANGE); fevent->focus_change.type = GDK_FOCUS_CHANGE; fevent->focus_change.window = g_object_ref (gtk_widget_get_window (widget)); fevent->focus_change.in = in; #if GTK_CHECK_VERSION (2, 22, 0) gtk_widget_send_focus_change (widget, fevent); #else gtk_widget_event (widget, fevent); g_object_notify (G_OBJECT (widget), "has-focus"); #endif g_object_unref (G_OBJECT (widget)); gdk_event_free (fevent); } /** * _exo_g_type_register_simple: * @type_parent : the parent #GType. * @type_name_static : the name of the new #GType, must reside in static * storage and remain unchanged during the lifetime * of the process. * @class_size : the size of the class structure in bytes. * @class_init : the class init function or %NULL. * @instance_size : the size of the instance structure in bytes. * @instance_init : the constructor function or %NULL. * * Simple wrapper for g_type_register_static(), which takes the most * important aspects of the type as parameters to avoid relocations * when using static constant #GTypeInfos. * * Return value: the newly registered #GType. **/ GType _exo_g_type_register_simple (GType type_parent, const gchar *type_name_static, guint class_size, gpointer class_init, guint instance_size, gpointer instance_init) { /* generate the type info (on the stack) */ GTypeInfo info = { class_size, NULL, NULL, class_init, NULL, NULL, instance_size, 0, instance_init, NULL, }; /* register the static type */ return g_type_register_static (type_parent, I_(type_name_static), &info, 0); } /** * _exo_g_type_add_interface_simple: * @instance_type : the #GType which should implement the @interface_type. * @interface_type : the #GType of the interface. * @interface_init_func : initialization function for the interface. * * Simple wrapper for g_type_add_interface_static(), which helps to avoid unnecessary * relocations for the #GInterfaceInfos. **/ void _exo_g_type_add_interface_simple (GType instance_type, GType interface_type, GInterfaceInitFunc interface_init_func) { GInterfaceInfo info = { interface_init_func, NULL, NULL, }; g_type_add_interface_static (instance_type, interface_type, &info); } spacefm-1.0.5/src/exo/exo-private.h000066400000000000000000000122761264770501700171520ustar00rootroot00000000000000/* $Id: exo-private.h 22884 2006-08-26 12:40:43Z benny $ */ /*- * Copyright (c) 2004-2006 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* #if !defined (EXO_COMPILATION) #error "Only can be included directly, this file is not part of the public API." #endif */ #ifndef __EXO_PRIVATE_H__ #define __EXO_PRIVATE_H__ #include /*#include */ #include G_BEGIN_DECLS; /* support macros for debugging */ #ifndef NDEBUG #define _exo_assert(expr) g_assert (expr) #define _exo_assert_not_reached() g_assert_not_reached () #define _exo_return_if_fail(expr) g_return_if_fail (expr) #define _exo_return_val_if_fail(expr, val) g_return_val_if_fail (expr, (val)) #else #define _exo_assert(expr) G_STMT_START{ (void)0; }G_STMT_END #define _exo_assert_not_reached() G_STMT_START{ (void)0; }G_STMT_END #define _exo_return_if_fail(expr) G_STMT_START{ (void)0; }G_STMT_END #define _exo_return_val_if_fail(expr, val) G_STMT_START{ (void)0; }G_STMT_END #endif /* support macros for the slice allocator */ #if GLIB_CHECK_VERSION(2,10,0) #define _exo_slice_alloc(block_size) (g_slice_alloc ((block_size))) #define _exo_slice_alloc0(block_size) (g_slice_alloc0 ((block_size))) #define _exo_slice_free1(block_size, mem_block) G_STMT_START{ g_slice_free1 ((block_size), (mem_block)); }G_STMT_END #define _exo_slice_new(type) (g_slice_new (type)) #define _exo_slice_new0(type) (g_slice_new0 (type)) #define _exo_slice_free(type, ptr) G_STMT_START{ g_slice_free (type, (ptr)); }G_STMT_END #else #define _exo_slice_alloc(block_size) (g_malloc ((block_size))) #define _exo_slice_alloc0(block_size) (g_malloc0 ((block_size))) #define _exo_slice_free1(block_size, mem_block) G_STMT_START{ g_free ((mem_block)); }G_STMT_END #define _exo_slice_new(type) (g_new (type, 1)) #define _exo_slice_new0(type) (g_new0 (type, 1)) #define _exo_slice_free(type, ptr) G_STMT_START{ g_free ((ptr)); }G_STMT_END #endif /* avoid trivial g_value_get_*() function calls */ #ifdef NDEBUG #define g_value_get_boolean(v) (((const GValue *) (v))->data[0].v_int) #define g_value_get_char(v) (((const GValue *) (v))->data[0].v_int) #define g_value_get_uchar(v) (((const GValue *) (v))->data[0].v_uint) #define g_value_get_int(v) (((const GValue *) (v))->data[0].v_int) #define g_value_get_uint(v) (((const GValue *) (v))->data[0].v_uint) #define g_value_get_long(v) (((const GValue *) (v))->data[0].v_long) #define g_value_get_ulong(v) (((const GValue *) (v))->data[0].v_ulong) #define g_value_get_int64(v) (((const GValue *) (v))->data[0].v_int64) #define g_value_get_uint64(v) (((const GValue *) (v))->data[0].v_uint64) #define g_value_get_enum(v) (((const GValue *) (v))->data[0].v_long) #define g_value_get_flags(v) (((const GValue *) (v))->data[0].v_ulong) #define g_value_get_float(v) (((const GValue *) (v))->data[0].v_float) #define g_value_get_double(v) (((const GValue *) (v))->data[0].v_double) #define g_value_get_string(v) (((const GValue *) (v))->data[0].v_pointer) #define g_value_get_param(v) (((const GValue *) (v))->data[0].v_pointer) #define g_value_get_boxed(v) (((const GValue *) (v))->data[0].v_pointer) #define g_value_get_pointer(v) (((const GValue *) (v))->data[0].v_pointer) #define g_value_get_object(v) (((const GValue *) (v))->data[0].v_pointer) #endif void _exo_i18n_init (void) G_GNUC_INTERNAL; void _exo_gtk_widget_send_focus_change (GtkWidget *widget, gboolean in) G_GNUC_INTERNAL; GType _exo_g_type_register_simple (GType type_parent, const gchar *type_name_static, guint class_size, gpointer class_init, guint instance_size, gpointer instance_init) G_GNUC_INTERNAL; void _exo_g_type_add_interface_simple (GType instance_type, GType interface_type, GInterfaceInitFunc interface_init_func) G_GNUC_INTERNAL; G_END_DECLS; #endif /* !__EXO_PRIVATE_H__ */ spacefm-1.0.5/src/exo/exo-string.c000066400000000000000000000062721264770501700170000ustar00rootroot00000000000000/* $Id: exo-string.c 47 2006-01-30 02:32:10Z pcmanx $ */ /*- * Copyright (c) 2004 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_MEMORY_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "exo-string.h" /** * exo_str_elide_underscores: * @text : A zero terminated string. * * Returns a copy of @text with all mnemonic underscores * stripped off. * * Return value: A copy of @text without underscores. The * returned string must be freed when no * longer required. **/ gchar* exo_str_elide_underscores (const gchar *text) { const gchar *s; gboolean last_underscore = FALSE; gchar *result; gchar *t; g_return_val_if_fail (text != NULL, NULL); result = g_malloc (strlen (text) + 1); for (s = text, t = result; *s != '\0'; ++s) if (!last_underscore && *s == '_') { last_underscore = TRUE; } else { last_underscore = FALSE; *t++ = *s; } *t = '\0'; return result; } /** * exo_str_is_equal: * @a : A pointer to first string or %NULL. * @b : A pointer to second string or %NULL. * * %NULL-safe string comparison. Returns %TRUE if both @a and @b are * %NULL or if @a and @b refer to valid strings which are equal. * * You should always prefer this function over strcmp(). * * Return value: %TRUE if @a equals @b, else %FALSE. **/ gboolean exo_str_is_equal (const gchar *a, const gchar *b) { if (a == NULL && b == NULL) return TRUE; else if (a == NULL || b == NULL) return FALSE; while (*a == *b++) if (*a++ == '\0') return TRUE; return FALSE; } /** * exo_strndupv: * @strv : String vector to duplicate. * @num : Number of strings in @strv to * duplicate. * * Creates a new string vector containing the * first @n elements of @strv. * * Return value: The new string vector. Should be * freed using g_strfreev() when no * longer needed. **/ gchar** exo_strndupv (gchar **strv, gint num) { gchar **result; g_return_val_if_fail (strv != NULL, NULL); g_return_val_if_fail (num >= 0, NULL); result = g_new (gchar *, num + 1); result[num--] = NULL; for (; num >= 0; --num) result[num] = g_strdup (strv[num]); return result; } spacefm-1.0.5/src/exo/exo-string.h000066400000000000000000000037571264770501700170120ustar00rootroot00000000000000/* $Id: exo-string.h 47 2006-01-30 02:32:10Z pcmanx $ */ /*- * Copyright (c) 2004 os-cillation e.K. * * Written by Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* 2006.01.23 modified by Hong Jen Yee (PCMan) to used in PCMan File Manager */ #ifndef __EXO_STRING_H__ #define __EXO_STRING_H__ #include G_BEGIN_DECLS; gchar *exo_str_elide_underscores (const gchar *text); gboolean exo_str_is_equal (const gchar *a, const gchar *b); gchar **exo_strndupv (gchar **strv, gint num); /** * exo_str_is_empty: * @string : a string * * Macro to check if a string is %NULL or empty. You should prefer * this function over strlen (str) == 0. * * Returns: %TRUE if the string is not %NULL and its length > 1, * %FALSE otherwise. * * Since : 0.5.0 **/ #define exo_str_is_empty(string) ((string) == NULL || *(string) == '\0') /** * I_: * @string : A static string. * * Shortcut for g_intern_static_string() to return a * canonical representation for @string. * * Returns: a canonical representation for the string. * * Since : 0.3.1.1 **/ #define I_(string) (g_intern_static_string ((string))) G_END_DECLS; #endif /* !__EXO_STRING_H__ */ spacefm-1.0.5/src/exo/exo-thumbnail-preview.c000066400000000000000000000314401264770501700211270ustar00rootroot00000000000000/*- * Copyright (c) 2006 Benedikt Meurer * Copyright (c) 2015 OmegaPhil * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ //sfm-gtk3 #include #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_STAT_H #include #endif #ifdef HAVE_MEMORY_H #include #endif #ifdef HAVE_STRING_H #include #endif /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ #include "exo-gdk-pixbuf-extensions.h" #include "exo-private.h" #include "exo-thumbnail-preview.h" #include "exo-utils.h" #include "exo-string.h" #include "vfs-thumbnail-loader.h" // From exo-thumbnail.h /** * ExoThumbnailSize: * @EXO_THUMBNAIL_SIZE_NORMAL : normal sized thumbnails (up to 128px). * @EXO_THUMBNAIL_SIZE_LARGE : large sized thumbnails. * * Thumbnail sizes used by the thumbnail database. **/ typedef enum /*< skip >*/ { EXO_THUMBNAIL_SIZE_NORMAL = 128, EXO_THUMBNAIL_SIZE_LARGE = 256, } ExoThumbnailSize; #if 0 static void exo_thumbnail_preview_style_set (GtkWidget *ebox, GtkStyle *previous_style, ExoThumbnailPreview *thumbnail_preview); #endif struct _ExoThumbnailPreviewClass { GtkFrameClass __parent__; }; struct _ExoThumbnailPreview { GtkFrame __parent__; GtkWidget *image; GtkWidget *name_label; GtkWidget *size_label; }; G_DEFINE_TYPE (ExoThumbnailPreview, exo_thumbnail_preview, GTK_TYPE_FRAME) static void exo_thumbnail_preview_class_init (ExoThumbnailPreviewClass *klass) { } static void exo_thumbnail_preview_init (ExoThumbnailPreview *thumbnail_preview) { GtkWidget *button; GtkWidget *label; GtkWidget *ebox; GtkWidget *vbox; GtkWidget *box; gtk_frame_set_shadow_type (GTK_FRAME (thumbnail_preview), GTK_SHADOW_IN); gtk_widget_set_sensitive (GTK_WIDGET (thumbnail_preview), FALSE); ebox = gtk_event_box_new (); /* IgnorantGuru wants the background of the thumbnail widget to be grey/ * black depending on the theme, rather than the default white, which is * associated with GTK_STATE_NORMAL * Note that this event box is what defines the colour, not thumbnail_preview */ gtk_widget_modify_bg (ebox, GTK_STATE_NORMAL, >k_widget_get_style (ebox)->base[GTK_STATE_INSENSITIVE]); /* This function has been demonstrated to be unnecessary and causes loops * for IgnorantGuru */ /* g_signal_connect (G_OBJECT (ebox), "style-set", G_CALLBACK (exo_thumbnail_preview_style_set), thumbnail_preview);*/ gtk_container_add (GTK_CONTAINER (thumbnail_preview), ebox); gtk_widget_show (ebox); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (ebox), vbox); gtk_widget_show (vbox); button = gtk_button_new (); g_signal_connect (G_OBJECT (button), "button-press-event", G_CALLBACK (exo_noop_true), NULL); g_signal_connect (G_OBJECT (button), "button-release-event", G_CALLBACK (exo_noop_true), NULL); g_signal_connect (G_OBJECT (button), "enter-notify-event", G_CALLBACK (exo_noop_true), NULL); g_signal_connect (G_OBJECT (button), "leave-notify-event", G_CALLBACK (exo_noop_true), NULL); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); label = gtk_label_new (_("Preview")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_container_add (GTK_CONTAINER (button), label); gtk_widget_show (label); box = gtk_vbox_new (FALSE, 2); gtk_container_set_border_width (GTK_CONTAINER (box), 2); gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 0); gtk_widget_show (box); thumbnail_preview->image = gtk_image_new_from_stock (GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_DIALOG); gtk_widget_set_size_request (thumbnail_preview->image, EXO_THUMBNAIL_SIZE_NORMAL + 2 * 12, EXO_THUMBNAIL_SIZE_NORMAL + 2 * 12); gtk_image_set_pixel_size (GTK_IMAGE (thumbnail_preview->image), EXO_THUMBNAIL_SIZE_NORMAL / 2); gtk_box_pack_start (GTK_BOX (box), thumbnail_preview->image, FALSE, FALSE, 0); gtk_widget_show (thumbnail_preview->image); thumbnail_preview->name_label = gtk_label_new (_("No file selected")); gtk_label_set_justify (GTK_LABEL (thumbnail_preview->name_label), GTK_JUSTIFY_CENTER); gtk_label_set_ellipsize (GTK_LABEL (thumbnail_preview->name_label), PANGO_ELLIPSIZE_MIDDLE); gtk_box_pack_start (GTK_BOX (box), thumbnail_preview->name_label, FALSE, FALSE, 0); gtk_widget_show (thumbnail_preview->name_label); thumbnail_preview->size_label = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (box), thumbnail_preview->size_label, FALSE, FALSE, 0); gtk_widget_show (thumbnail_preview->size_label); } /* This is not needed in GTK2 or 3, and causes a loop with GTK v3.14 for * IgnorantGuru */ #if 0 static void exo_thumbnail_preview_style_set (GtkWidget *ebox, GtkStyle *previous_style, ExoThumbnailPreview *thumbnail_preview) { _exo_return_if_fail (EXO_IS_THUMBNAIL_PREVIEW (thumbnail_preview)); _exo_return_if_fail (GTK_IS_EVENT_BOX (ebox)); /* Check if the ebox is already realized */ //sfm-gtk3 - note that as we target v2.18, can't just move to gtk_widget_get_realized #if GTK_CHECK_VERSION (3, 0, 0) if (gtk_widget_get_realized (ebox)) #else if (GTK_WIDGET_REALIZED (ebox)) #endif { /* Set background color (using the base color) */ /* IgnorantGuru wants the background of the thumbnail widget to be grey/ * black depending on the theme, rather than the default white, which is * associated with GTK_STATE_NORMAL */ g_signal_handlers_block_by_func (G_OBJECT (ebox), exo_thumbnail_preview_style_set, thumbnail_preview); exo_thumbnail_preview_fix_background(thumbnail_preview); g_signal_handlers_unblock_by_func (G_OBJECT (ebox), exo_thumbnail_preview_style_set, thumbnail_preview); } } #endif /** * _exo_thumbnail_preview_new: * * Allocates a new #ExoThumbnailPreview instance. * * Returns: the newly allocated #ExoThumbnailPreview. **/ GtkWidget* _exo_thumbnail_preview_new (void) { return g_object_new (EXO_TYPE_THUMBNAIL_PREVIEW, NULL); } /** * _exo_thumbnail_preview_set_uri: * @thumbnail_preview : an #ExoThumbnailPreview. * @uri : the new URI for which to show a preview or %NULL. * * Updates the @thumbnail_preview to display a preview of the specified @uri. **/ void _exo_thumbnail_preview_set_uri (ExoThumbnailPreview *thumbnail_preview, const gchar *uri) { struct stat statb; GdkPixbuf *thumbnail; gchar *icon_name = NULL; gchar *size_name = NULL; gchar *displayname; gchar *filename; gchar *slash; _exo_return_if_fail (EXO_IS_THUMBNAIL_PREVIEW (thumbnail_preview)); /* Check if we have an URI to preview */ if (G_UNLIKELY (uri == NULL)) { /* The preview widget is insensitive if we don't have an URI */ gtk_widget_set_sensitive (GTK_WIDGET (thumbnail_preview), FALSE); gtk_image_set_from_stock (GTK_IMAGE (thumbnail_preview->image), GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_DIALOG); gtk_label_set_text (GTK_LABEL (thumbnail_preview->name_label), _("No file selected")); } else { /* Make the preview widget appear sensitive */ gtk_widget_set_sensitive (GTK_WIDGET (thumbnail_preview), TRUE); /* Check if we have a local file here */ filename = g_filename_from_uri (uri, NULL, NULL); if (G_LIKELY (filename != NULL)) { /* Try to stat the file */ if (stat (filename, &statb) == 0) { /* Icon and size label depends on the mode */ if (S_ISBLK (statb.st_mode)) { icon_name = g_strdup ("gnome-fs-blockdev"); size_name = g_strdup (_("Block Device")); } else if (S_ISCHR (statb.st_mode)) { icon_name = g_strdup ("gnome-fs-chardev"); size_name = g_strdup (_("Character Device")); } else if (S_ISDIR (statb.st_mode)) { icon_name = g_strdup ("gnome-fs-directory"); size_name = g_strdup (_("Folder")); } else if (S_ISFIFO (statb.st_mode)) { icon_name = g_strdup ("gnome-fs-fifo"); size_name = g_strdup (_("FIFO")); } else if (S_ISSOCK (statb.st_mode)) { icon_name = g_strdup ("gnome-fs-socket"); size_name = g_strdup (_("Socket")); } else if (S_ISREG (statb.st_mode)) { if (G_UNLIKELY ((gulong) statb.st_size > 1024ul * 1024ul * 1024ul)) size_name = g_strdup_printf ("%0.1f GB", statb.st_size / (1024.0 * 1024.0 * 1024.0)); else if ((gulong) statb.st_size > 1024ul * 1024ul) size_name = g_strdup_printf ("%0.1f MB", statb.st_size / (1024.0 * 1024.0)); else if ((gulong) statb.st_size > 1024ul) size_name = g_strdup_printf ("%0.1f kB", statb.st_size / 1024.0); else size_name = g_strdup_printf ("%lu B", (gulong) statb.st_size); } } /* Determine the basename from the filename */ displayname = g_filename_display_basename (filename); } else { /* Determine the basename from the URI */ slash = strrchr (uri, '/'); if (G_LIKELY (!exo_str_is_empty (slash))) displayname = g_filename_display_name (slash + 1); else displayname = g_filename_display_name (uri); } /* Check if we have an icon-name */ if (G_UNLIKELY (icon_name != NULL)) { /* Setup the named icon then */ gtk_image_set_from_icon_name (GTK_IMAGE (thumbnail_preview->image), icon_name, GTK_ICON_SIZE_DIALOG); g_free (icon_name); } else { /* Try to load a thumbnail for the URI */ //thumbnail = _exo_thumbnail_get_for_uri (uri, EXO_THUMBNAIL_SIZE_NORMAL, NULL); thumbnail = vfs_thumbnail_load_for_uri (uri, EXO_THUMBNAIL_SIZE_NORMAL, 0); if (thumbnail == NULL && G_LIKELY (filename != NULL)) { /* But we can try to generate a thumbnail */ //thumbnail = _exo_thumbnail_get_for_file (filename, EXO_THUMBNAIL_SIZE_NORMAL, NULL); thumbnail = vfs_thumbnail_load_for_file (filename, EXO_THUMBNAIL_SIZE_NORMAL, 0); } /* Check if we have a thumbnail */ if (G_LIKELY (thumbnail != NULL)) { /* Setup the thumbnail for the image */ gtk_image_set_from_pixbuf (GTK_IMAGE (thumbnail_preview->image), thumbnail); g_object_unref (G_OBJECT (thumbnail)); } else { /* No thumbnail, cannot display anything useful then */ gtk_image_set_from_stock (GTK_IMAGE (thumbnail_preview->image), GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_DIALOG); } } /* Setup the name label */ gtk_label_set_text (GTK_LABEL (thumbnail_preview->name_label), displayname); /* Cleanup */ g_free (displayname); g_free (filename); } /* Setup the new size label */ gtk_label_set_text (GTK_LABEL (thumbnail_preview->size_label), (size_name != NULL) ? size_name : ""); g_free (size_name); } #define __EXO_THUMBNAIL_PREVIEW_C__ spacefm-1.0.5/src/exo/exo-thumbnail-preview.h000066400000000000000000000044471264770501700211430ustar00rootroot00000000000000/*- * Copyright (c) 2006 Benedikt Meurer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_THUMBNAIL_PREVIEW_H__ #define __EXO_THUMBNAIL_PREVIEW_H__ /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ #include G_BEGIN_DECLS typedef struct _ExoThumbnailPreviewClass ExoThumbnailPreviewClass; typedef struct _ExoThumbnailPreview ExoThumbnailPreview; #define EXO_TYPE_THUMBNAIL_PREVIEW (exo_thumbnail_preview_get_type ()) #define EXO_THUMBNAIL_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXO_TYPE_THUMBNAIL_PREVIEW, ExoThumbnailPreview)) #define EXO_THUMBNAIL_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXO_TYPE_THUMBNAIL_PREVIEW, ExoThumbnailPreviewClass)) #define EXO_IS_THUMBNAIL_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXO_TYPE_THUMBNAIL_PREVIEW)) #define EXO_IS_THUMBNAIL_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXO_TYPE_THUMBNAIL_PREVIEW)) #define EXO_THUMBNAIL_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXO_TYPE_THUMBNAIL_PREVIEW, ExoThumbnailPreviewClass)) G_GNUC_INTERNAL GType exo_thumbnail_preview_get_type (void) G_GNUC_CONST; G_GNUC_INTERNAL GtkWidget *_exo_thumbnail_preview_new (void) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; G_GNUC_INTERNAL void _exo_thumbnail_preview_set_uri (ExoThumbnailPreview *thumbnail_preview, const gchar *uri); G_END_DECLS #endif /* !__EXO_THUMBNAIL_PREVIEW_H__ */ spacefm-1.0.5/src/exo/exo-tree-view.c000066400000000000000000001114761264770501700174040ustar00rootroot00000000000000/* $Id: exo-tree-view.c 22991 2006-09-02 11:41:18Z benny $ */ /*- * Copyright (c) 2004-2006 Benedikt Meurer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* Modified by Hong Jen Yee (PCMan) * on 2008.05.11 for use in PCManFM */ #ifdef HAVE_CONFIG_H #include #endif #include #include "exo-tree-view.h" #include "exo-string.h" #include "exo-marshal.h" #include "exo-private.h" #include "gtk2-compat.h" #if defined(G_PARAM_STATIC_NAME) && defined(G_PARAM_STATIC_NICK) && defined(G_PARAM_STATIC_BLURB) #define EXO_PARAM_READABLE (G_PARAM_READABLE \ | G_PARAM_STATIC_NAME \ | G_PARAM_STATIC_NICK \ | G_PARAM_STATIC_BLURB) #define EXO_PARAM_WRITABLE (G_PARAM_WRITABLE \ | G_PARAM_STATIC_NAME \ | G_PARAM_STATIC_NICK \ | G_PARAM_STATIC_BLURB) #define EXO_PARAM_READWRITE (G_PARAM_READWRITE \ | G_PARAM_STATIC_NAME \ | G_PARAM_STATIC_NICK \ | G_PARAM_STATIC_BLURB) #else #define EXO_PARAM_READABLE (G_PARAM_READABLE) #define EXO_PARAM_WRITABLE (G_PARAM_WRITABLE) #define EXO_PARAM_READWRITE (G_PARAM_READWRITE) #endif #define exo_noop_false gtk_false #define EXO_TREE_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EXO_TYPE_TREE_VIEW, ExoTreeViewPrivate)) /* Property identifiers */ enum { PROP_0, PROP_SINGLE_CLICK, PROP_SINGLE_CLICK_TIMEOUT, }; static void exo_tree_view_class_init (ExoTreeViewClass *klass); static void exo_tree_view_init (ExoTreeView *tree_view); static void exo_tree_view_finalize (GObject *object); static void exo_tree_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void exo_tree_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static gboolean exo_tree_view_button_press_event (GtkWidget *widget, GdkEventButton *event); static gboolean exo_tree_view_button_release_event (GtkWidget *widget, GdkEventButton *event); static gboolean exo_tree_view_motion_notify_event (GtkWidget *widget, GdkEventMotion *event); static gboolean exo_tree_view_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event); static void exo_tree_view_drag_begin (GtkWidget *widget, GdkDragContext *context); static gboolean exo_tree_view_move_cursor (GtkTreeView *view, GtkMovementStep step, gint count); static gboolean exo_tree_view_single_click_timeout (gpointer user_data); static void exo_tree_view_single_click_timeout_destroy (gpointer user_data); struct _ExoTreeViewPrivate { /* whether the next button-release-event should emit "row-activate" */ guint button_release_activates : 1; /* whether drag and drop must be re-enabled on button-release-event (rubberbanding active) */ guint button_release_unblocks_dnd : 1; /* whether rubberbanding must be re-enabled on button-release-event (drag and drop active) */ guint button_release_enables_rubber_banding : 1; /* single click mode */ guint single_click : 1; guint single_click_timeout; gint single_click_timeout_id; guint single_click_timeout_state; /* the path below the pointer or NULL */ GtkTreePath *hover_path; /* the column which is the only activable */ GtkTreeViewColumn* activable_column; }; static GObjectClass *exo_tree_view_parent_class; GType exo_tree_view_get_type (void) { static GType type = G_TYPE_INVALID; if (G_UNLIKELY (type == G_TYPE_INVALID)) { type = _exo_g_type_register_simple (GTK_TYPE_TREE_VIEW, "ExoTreeView", sizeof (ExoTreeViewClass), exo_tree_view_class_init, sizeof (ExoTreeView), exo_tree_view_init); } return type; } static void exo_tree_view_class_init (ExoTreeViewClass *klass) { GtkTreeViewClass *gtktree_view_class; GtkWidgetClass *gtkwidget_class; GObjectClass *gobject_class; /* add our private data to the class */ g_type_class_add_private (klass, sizeof (ExoTreeViewPrivate)); /* determine our parent type class */ exo_tree_view_parent_class = g_type_class_peek_parent (klass); gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = exo_tree_view_finalize; gobject_class->get_property = exo_tree_view_get_property; gobject_class->set_property = exo_tree_view_set_property; gtkwidget_class = GTK_WIDGET_CLASS (klass); gtkwidget_class->button_press_event = exo_tree_view_button_press_event; gtkwidget_class->button_release_event = exo_tree_view_button_release_event; gtkwidget_class->motion_notify_event = exo_tree_view_motion_notify_event; gtkwidget_class->leave_notify_event = exo_tree_view_leave_notify_event; gtkwidget_class->drag_begin = exo_tree_view_drag_begin; gtktree_view_class = GTK_TREE_VIEW_CLASS (klass); gtktree_view_class->move_cursor = exo_tree_view_move_cursor; /** * ExoTreeView:single-click: * * %TRUE to activate items using a single click instead of a * double click. * * Since: 0.3.1.3 **/ g_object_class_install_property (gobject_class, PROP_SINGLE_CLICK, g_param_spec_boolean ("single-click", "Single Click", "Whether the items in the view can be activated with single clicks", FALSE, EXO_PARAM_READWRITE)); /** * ExoTreeView:single-click-timeout: * * The amount of time in milliseconds after which the hover row (the row * which is hovered by the mouse cursor) will be selected automatically * in single-click mode. A value of %0 disables the automatic selection. * * Since: 0.3.1.5 **/ g_object_class_install_property (gobject_class, PROP_SINGLE_CLICK_TIMEOUT, g_param_spec_uint ("single-click-timeout", "Single Click Timeout", "The amount of time after which the item under the mouse cursor will be selected automatically in single click mode", 0, G_MAXUINT, 0, EXO_PARAM_READWRITE)); } static void exo_tree_view_init (ExoTreeView *tree_view) { /* grab a pointer on the private data */ tree_view->priv = EXO_TREE_VIEW_GET_PRIVATE (tree_view); tree_view->priv->single_click_timeout_id = -1; } static void exo_tree_view_finalize (GObject *object) { ExoTreeView *tree_view = EXO_TREE_VIEW (object); /* be sure to cancel any single-click timeout */ if (G_UNLIKELY (tree_view->priv->single_click_timeout_id >= 0)) g_source_remove (tree_view->priv->single_click_timeout_id); /* be sure to release the hover path */ if (G_UNLIKELY (tree_view->priv->hover_path == NULL)) gtk_tree_path_free (tree_view->priv->hover_path); (*G_OBJECT_CLASS (exo_tree_view_parent_class)->finalize) (object); } static void exo_tree_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { ExoTreeView *tree_view = EXO_TREE_VIEW (object); switch (prop_id) { case PROP_SINGLE_CLICK: g_value_set_boolean (value, exo_tree_view_get_single_click (tree_view)); break; case PROP_SINGLE_CLICK_TIMEOUT: g_value_set_uint (value, exo_tree_view_get_single_click_timeout (tree_view)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void exo_tree_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { ExoTreeView *tree_view = EXO_TREE_VIEW (object); switch (prop_id) { case PROP_SINGLE_CLICK: exo_tree_view_set_single_click (tree_view, g_value_get_boolean (value)); break; case PROP_SINGLE_CLICK_TIMEOUT: exo_tree_view_set_single_click_timeout (tree_view, g_value_get_uint (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static gboolean exo_tree_view_button_press_event (GtkWidget *widget, GdkEventButton *event) { GtkTreeSelection *selection; ExoTreeView *tree_view = EXO_TREE_VIEW (widget); GtkTreePath *path = NULL; gboolean result; GList *selected_paths = NULL; GList *lp; GtkTreeViewColumn* col; gboolean treat_as_blank = FALSE; /* by default we won't emit "row-activated" on button-release-events */ tree_view->priv->button_release_activates = FALSE; /* grab the tree selection */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); /* be sure to cancel any pending single-click timeout */ if (G_UNLIKELY (tree_view->priv->single_click_timeout_id >= 0)) g_source_remove (tree_view->priv->single_click_timeout_id); /* check if the button press was on the internal tree view window */ if (G_LIKELY (event->window == gtk_tree_view_get_bin_window (GTK_TREE_VIEW (tree_view)))) { /* determine the path at the event coordinates */ if (!gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (tree_view), event->x, event->y, &path, &col, NULL, NULL)) path = NULL; if( tree_view->priv->activable_column && col != tree_view->priv->activable_column ) { treat_as_blank = TRUE; if( path ) { gtk_tree_path_free( path ); path = NULL; } gtk_tree_selection_unselect_all (selection); } /* we unselect all selected items if the user clicks on an empty * area of the tree view and no modifier key is active. */ if (path == NULL && (event->state & gtk_accelerator_get_default_mod_mask ()) == 0) gtk_tree_selection_unselect_all (selection); /* completely ignore double-clicks in single-click mode */ if (tree_view->priv->single_click && event->type == GDK_2BUTTON_PRESS) { /* make sure we ignore the GDK_BUTTON_RELEASE * event for this GDK_2BUTTON_PRESS event. */ gtk_tree_path_free (path); return TRUE; } /* check if the next button-release-event should activate the selected row (single click support) */ tree_view->priv->button_release_activates = (tree_view->priv->single_click && event->type == GDK_BUTTON_PRESS && event->button == 1 && (event->state & gtk_accelerator_get_default_mod_mask ()) == 0); } /* unfortunately GtkTreeView will unselect rows except the clicked one, * which makes dragging from a GtkTreeView problematic. That's why we * remember the selected paths here and restore them later. */ if (event->type == GDK_BUTTON_PRESS && (event->state & gtk_accelerator_get_default_mod_mask ()) == 0 && path != NULL && gtk_tree_selection_path_is_selected (selection, path)) { /* if no custom select function is set, we simply use exo_noop_false here, * to tell the tree view that it may not alter the selection. */ //MOD disabled exo_noop_false due to GTK 2.20 bug https://bugzilla.gnome.org/show_bug.cgi?id=612802 /* if (G_LIKELY (selection->user_func == NULL)) gtk_tree_selection_set_select_function (selection, (GtkTreeSelectionFunc) exo_noop_false, NULL, NULL); else */ selected_paths = gtk_tree_selection_get_selected_rows (selection, NULL); } /* Rubberbanding in GtkTreeView 2.9.0 and above is rather buggy, unfortunately, and * doesn't interact properly with GTKs own DnD mechanism. So we need to block all * dragging here when pressing the mouse button on a not yet selected row if * rubberbanding is active, or disable rubberbanding when starting a drag. */ if (gtk_tree_selection_get_mode (selection) == GTK_SELECTION_MULTIPLE && gtk_tree_view_get_rubber_banding (GTK_TREE_VIEW (tree_view)) && event->button == 1 && event->type == GDK_BUTTON_PRESS) { /* Check if clicked on empty area or on a not yet selected row * path must not be NULL - an item must be selected to start a rubberband * select - this seems to be the case normally for GTK2 and 3 up until * v3.14 where you could now rubberband select from nothing in the * detailed view. If you do this, move the box up to select something * then down to deselect, GTK crashes as soon as 0 items are selected - * https://github.com/IgnorantGuru/spacefm/issues/485 */ if (G_LIKELY (path && !gtk_tree_selection_path_is_selected (selection, path))) { /* need to disable drag and drop because we're rubberbanding now */ gpointer drag_data = g_object_get_data (G_OBJECT (tree_view), I_("gtk-site-data")); if (G_LIKELY (drag_data != NULL)) { g_signal_handlers_block_matched (G_OBJECT (tree_view), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, drag_data); } /* remember to re-enable drag and drop later */ tree_view->priv->button_release_unblocks_dnd = TRUE; } else { /* Need to disable rubberbanding because we're dragging now, or * nothing has been selected so rubberbanding is not allowed */ gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (tree_view), FALSE); /* Remember to re-enable rubberbanding later */ tree_view->priv->button_release_enables_rubber_banding = TRUE; } } /* call the parent's button press handler */ result = (*GTK_WIDGET_CLASS (exo_tree_view_parent_class)->button_press_event) (widget, event); if( treat_as_blank ) gtk_tree_selection_unselect_all( selection ); /* restore previous selection if the path is still selected */ if (event->type == GDK_BUTTON_PRESS && (event->state & gtk_accelerator_get_default_mod_mask ()) == 0 && path != NULL && gtk_tree_selection_path_is_selected (selection, path)) { /* check if we have to restore paths */ if (G_LIKELY (gtk_tree_selection_get_select_function (selection) == (GtkTreeSelectionFunc) exo_noop_false)) { /* just reset the select function (previously set to exo_noop_false), * there's no clean way to do this, so what the heck. */ gtk_tree_selection_set_select_function (selection, NULL, NULL, NULL); } else { /* select all previously selected paths */ for (lp = selected_paths; lp != NULL; lp = lp->next) gtk_tree_selection_select_path (selection, lp->data); } } /* release the path (if any) */ if (G_LIKELY (path != NULL)) gtk_tree_path_free (path); /* release the selected paths list */ g_list_foreach (selected_paths, (GFunc) gtk_tree_path_free, NULL); g_list_free (selected_paths); return result; } static gboolean exo_tree_view_button_release_event (GtkWidget *widget, GdkEventButton *event) { GtkTreeViewColumn *column; GtkTreeSelection *selection; GtkTreePath *path; ExoTreeView *tree_view = EXO_TREE_VIEW (widget); /* verify that the release event is for the internal tree view window */ if (G_LIKELY (event->window == gtk_tree_view_get_bin_window (GTK_TREE_VIEW (tree_view)))) { /* check if we're in single-click mode and the button-release-event should emit a "row-activate" */ if (G_UNLIKELY (tree_view->priv->single_click && tree_view->priv->button_release_activates)) { /* reset the "release-activates" flag */ tree_view->priv->button_release_activates = FALSE; /* determine the path to the row that should be activated */ if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (tree_view), event->x, event->y, &path, &column, NULL, NULL)) { /* emit row-activated for the determined row */ if( ! tree_view->priv->activable_column || tree_view->priv->activable_column == column ) gtk_tree_view_row_activated (GTK_TREE_VIEW (tree_view), path, column); /* cleanup */ gtk_tree_path_free (path); } } else if ((event->state & gtk_accelerator_get_default_mod_mask ()) == 0 && !tree_view->priv->button_release_unblocks_dnd) { /* determine the path on which the button was released and select only this row, this way * the user is still able to alter the selection easily if all rows are selected. */ if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (tree_view), event->x, event->y, &path, &column, NULL, NULL)) { /* check if the path is selected */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); if (gtk_tree_selection_path_is_selected (selection, path)) { /* unselect all rows */ gtk_tree_selection_unselect_all (selection); /* select the row and place the cursor on it */ gtk_tree_view_set_cursor (GTK_TREE_VIEW (tree_view), path, column, FALSE); } /* cleanup */ gtk_tree_path_free (path); } } } /* check if we need to re-enable drag and drop */ if (G_LIKELY (tree_view->priv->button_release_unblocks_dnd)) { gpointer drag_data = g_object_get_data (G_OBJECT (tree_view), I_("gtk-site-data")); if (G_LIKELY (drag_data != NULL)) { g_signal_handlers_unblock_matched (G_OBJECT (tree_view), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, drag_data); } tree_view->priv->button_release_unblocks_dnd = FALSE; } /* check if we need to re-enable rubberbanding */ if (G_UNLIKELY (tree_view->priv->button_release_enables_rubber_banding)) { gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (tree_view), TRUE); tree_view->priv->button_release_enables_rubber_banding = FALSE; } /* call the parent's button release handler */ return (*GTK_WIDGET_CLASS (exo_tree_view_parent_class)->button_release_event) (widget, event); } static gboolean exo_tree_view_motion_notify_event (GtkWidget *widget, GdkEventMotion *event) { ExoTreeView *tree_view = EXO_TREE_VIEW (widget); GtkTreePath *path; GdkCursor *cursor; GtkTreeViewColumn *column; /* check if the event occurred on the tree view internal window and we are in single-click mode */ if (event->window == gtk_tree_view_get_bin_window (GTK_TREE_VIEW (tree_view)) && tree_view->priv->single_click) { /* check if we're doing a rubberband selection right now (which means DnD is blocked) */ if (G_UNLIKELY (tree_view->priv->button_release_unblocks_dnd)) { /* we're doing a rubberband selection, so don't activate anything */ tree_view->priv->button_release_activates = FALSE; /* also be sure to reset the cursor */ gdk_window_set_cursor (event->window, NULL); } else { /* determine the path at the event coordinates */ if (!gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (tree_view), event->x, event->y, &path, &column, NULL, NULL)) path = NULL; /* determine if the column is activable */ if( tree_view->priv->activable_column && column != tree_view->priv->activable_column ) { if(path) { gtk_tree_path_free(path); path = NULL; } } /* check if we have a new path */ if ((path == NULL && tree_view->priv->hover_path != NULL) || (path != NULL && tree_view->priv->hover_path == NULL) || (path != NULL && tree_view->priv->hover_path != NULL && gtk_tree_path_compare (path, tree_view->priv->hover_path) != 0)) { /* release the previous hover path */ if (tree_view->priv->hover_path != NULL) gtk_tree_path_free (tree_view->priv->hover_path); /* setup the new path */ tree_view->priv->hover_path = path; /* check if we're over a row right now */ if (G_LIKELY (path != NULL)) { /* setup the hand cursor to indicate that the row at the pointer can be activated with a single click */ cursor = gdk_cursor_new (GDK_HAND2); gdk_window_set_cursor (event->window, cursor); gdk_cursor_unref (cursor); } else { /* reset the cursor to its default */ gdk_window_set_cursor (event->window, NULL); } /* check if autoselection is enabled and the pointer is over a row */ if (G_LIKELY (tree_view->priv->single_click_timeout > 0 && tree_view->priv->hover_path != NULL)) { /* cancel any previous single-click timeout */ if (G_LIKELY (tree_view->priv->single_click_timeout_id >= 0)) g_source_remove (tree_view->priv->single_click_timeout_id); /* remember the current event state */ tree_view->priv->single_click_timeout_state = event->state; /* schedule a new single-click timeout */ tree_view->priv->single_click_timeout_id = g_timeout_add_full (G_PRIORITY_LOW, tree_view->priv->single_click_timeout, exo_tree_view_single_click_timeout, tree_view, exo_tree_view_single_click_timeout_destroy); } } else { /* release the path resources */ if (path != NULL) gtk_tree_path_free (path); } } } /* call the parent's motion notify handler */ return (*GTK_WIDGET_CLASS (exo_tree_view_parent_class)->motion_notify_event) (widget, event); } static gboolean exo_tree_view_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event) { ExoTreeView *tree_view = EXO_TREE_VIEW (widget); /* be sure to cancel any pending single-click timeout */ if (G_UNLIKELY (tree_view->priv->single_click_timeout_id >= 0)) g_source_remove (tree_view->priv->single_click_timeout_id); /* release and reset the hover path (if any) */ if (tree_view->priv->hover_path != NULL) { gtk_tree_path_free (tree_view->priv->hover_path); tree_view->priv->hover_path = NULL; } /* reset the cursor for the tree view internal window */ if (gtk_widget_get_realized (GTK_WIDGET (tree_view))) gdk_window_set_cursor (gtk_tree_view_get_bin_window (GTK_TREE_VIEW (tree_view)), NULL); /* the next button-release-event should not activate */ tree_view->priv->button_release_activates = FALSE; /* call the parent's leave notify handler */ return (*GTK_WIDGET_CLASS (exo_tree_view_parent_class)->leave_notify_event) (widget, event); } static void exo_tree_view_drag_begin (GtkWidget *widget, GdkDragContext *context) { ExoTreeView *tree_view = EXO_TREE_VIEW (widget); /* the next button-release-event should not activate */ tree_view->priv->button_release_activates = FALSE; /* call the parent's drag begin handler */ (*GTK_WIDGET_CLASS (exo_tree_view_parent_class)->drag_begin) (widget, context); } static gboolean exo_tree_view_move_cursor (GtkTreeView *view, GtkMovementStep step, gint count) { ExoTreeView *tree_view = EXO_TREE_VIEW (view); /* be sure to cancel any pending single-click timeout */ if (G_UNLIKELY (tree_view->priv->single_click_timeout_id >= 0)) g_source_remove (tree_view->priv->single_click_timeout_id); /* release and reset the hover path (if any) */ if (tree_view->priv->hover_path != NULL) { gtk_tree_path_free (tree_view->priv->hover_path); tree_view->priv->hover_path = NULL; } /* reset the cursor for the tree view internal window */ if (gtk_widget_get_realized (GTK_WIDGET (tree_view))) gdk_window_set_cursor (gtk_tree_view_get_bin_window (GTK_TREE_VIEW (tree_view)), NULL); /* call the parent's handler */ return (*GTK_TREE_VIEW_CLASS (exo_tree_view_parent_class)->move_cursor) (view, step, count); } static gboolean exo_tree_view_single_click_timeout (gpointer user_data) { GtkTreeViewColumn *cursor_column; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreePath *cursor_path; GtkTreeIter iter; ExoTreeView *tree_view = EXO_TREE_VIEW (user_data); gboolean hover_path_selected; GList *rows; GList *lp; //GDK_THREADS_ENTER (); //sfm not needed because called from g_idle? /* verify that we are in single-click mode, have focus and a hover path */ if (gtk_widget_has_focus (GTK_WIDGET (tree_view)) && tree_view->priv->single_click && tree_view->priv->hover_path != NULL) { /* transform the hover_path to a tree iterator */ model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view)); if (model != NULL && gtk_tree_model_get_iter (model, &iter, tree_view->priv->hover_path)) { /* determine the current cursor path/column */ gtk_tree_view_get_cursor (GTK_TREE_VIEW (tree_view), &cursor_path, &cursor_column); /* be sure the row is fully visible */ gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (tree_view), tree_view->priv->hover_path, 0, //sfm was cursor_column - caused horizontal scroll FALSE, 0.0f, 0.0f); /* determine the selection and change it appropriately */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); if (gtk_tree_selection_get_mode (selection) == GTK_SELECTION_NONE) { /* just place the cursor on the row */ gtk_tree_view_set_cursor (GTK_TREE_VIEW (tree_view), tree_view->priv->hover_path, cursor_column, FALSE); } else if ((tree_view->priv->single_click_timeout_state & GDK_SHIFT_MASK) != 0 && gtk_tree_selection_get_mode (selection) == GTK_SELECTION_MULTIPLE) { /* check if the item is not already selected (otherwise do nothing) */ if (!gtk_tree_selection_path_is_selected (selection, tree_view->priv->hover_path)) { /* unselect all previously selected items */ gtk_tree_selection_unselect_all (selection); /* since we cannot access the anchor of a GtkTreeView, we * use the cursor instead which is usually the same row. */ if (G_UNLIKELY (cursor_path == NULL)) { /* place the cursor on the new row */ gtk_tree_view_set_cursor (GTK_TREE_VIEW (tree_view), tree_view->priv->hover_path, cursor_column, FALSE); } else { /* select all between the cursor and the current row */ gtk_tree_selection_select_range (selection, tree_view->priv->hover_path, cursor_path); } } } else { /* remember the previously selected rows as set_cursor() clears the selection */ rows = gtk_tree_selection_get_selected_rows (selection, NULL); /* check if the hover path is selected (as it will be selected after the set_cursor() call) */ hover_path_selected = gtk_tree_selection_path_is_selected (selection, tree_view->priv->hover_path); /* place the cursor on the hover row */ gtk_tree_view_set_cursor (GTK_TREE_VIEW (tree_view), tree_view->priv->hover_path, cursor_column, FALSE); /* restore the previous selection */ for (lp = rows; lp != NULL; lp = lp->next) { gtk_tree_selection_select_path (selection, lp->data); gtk_tree_path_free (lp->data); } g_list_free (rows); /* check what to do */ if ((gtk_tree_selection_get_mode (selection) == GTK_SELECTION_MULTIPLE || (gtk_tree_selection_get_mode (selection) == GTK_SELECTION_SINGLE && hover_path_selected)) && (tree_view->priv->single_click_timeout_state & GDK_CONTROL_MASK) != 0) { /* toggle the selection state of the row */ if (G_UNLIKELY (hover_path_selected)) gtk_tree_selection_unselect_path (selection, tree_view->priv->hover_path); else gtk_tree_selection_select_path (selection, tree_view->priv->hover_path); } else if (G_UNLIKELY (!hover_path_selected)) { /* unselect all other rows */ gtk_tree_selection_unselect_all (selection); /* select only the hover row */ gtk_tree_selection_select_path (selection, tree_view->priv->hover_path); } } /* cleanup */ if (G_LIKELY (cursor_path != NULL)) gtk_tree_path_free (cursor_path); } } //GDK_THREADS_LEAVE (); return FALSE; } static void exo_tree_view_single_click_timeout_destroy (gpointer user_data) { EXO_TREE_VIEW (user_data)->priv->single_click_timeout_id = -1; } /** * exo_tree_view_new: * * Allocates a new #ExoTreeView instance. * * Return value: the newly allocated #ExoTreeView. * * Since: 0.3.1.3 **/ GtkWidget* exo_tree_view_new (void) { return g_object_new (EXO_TYPE_TREE_VIEW, NULL); } /** * exo_tree_view_get_single_click: * @tree_view : an #ExoTreeView. * * Returns %TRUE if @tree_view is in single-click mode, else %FALSE. * * Return value: whether @tree_view is in single-click mode. * * Since: 0.3.1.3 **/ gboolean exo_tree_view_get_single_click (const ExoTreeView *tree_view) { g_return_val_if_fail (EXO_IS_TREE_VIEW (tree_view), FALSE); return tree_view->priv->single_click; } /** * exo_tree_view_set_single_click: * @tree_view : an #ExoTreeView. * @single_click : %TRUE to use single-click for @tree_view, %FALSE otherwise. * * If @single_click is %TRUE, @tree_view will use single-click mode, else * the default double-click mode will be used. * * Since: 0.3.1.3 **/ void exo_tree_view_set_single_click (ExoTreeView *tree_view, gboolean single_click) { g_return_if_fail (EXO_IS_TREE_VIEW (tree_view)); if (tree_view->priv->single_click != !!single_click) { tree_view->priv->single_click = !!single_click; g_object_notify (G_OBJECT (tree_view), "single-click"); } } /** * exo_tree_view_get_single_click_timeout: * @tree_view : a #ExoTreeView. * * Returns the amount of time in milliseconds after which the * item under the mouse cursor will be selected automatically * in single click mode. A value of %0 means that the behavior * is disabled and the user must alter the selection manually. * * Return value: the single click autoselect timeout or %0 if * the behavior is disabled. * * Since: 0.3.1.5 **/ guint exo_tree_view_get_single_click_timeout (const ExoTreeView *tree_view) { g_return_val_if_fail (EXO_IS_TREE_VIEW (tree_view), 0u); return tree_view->priv->single_click_timeout; } /** * exo_tree_view_set_single_click_timeout: * @tree_view : a #ExoTreeView. * @single_click_timeout : the new timeout or %0 to disable. * * If @single_click_timeout is a value greater than zero, it specifies * the amount of time in milliseconds after which the item under the * mouse cursor will be selected automatically in single click mode. * A value of %0 for @single_click_timeout disables the autoselection * for @tree_view. * * This setting does not have any effect unless the @tree_view is in * single-click mode, see exo_tree_view_set_single_click(). * * Since: 0.3.1.5 **/ void exo_tree_view_set_single_click_timeout (ExoTreeView *tree_view, guint single_click_timeout) { g_return_if_fail (EXO_IS_TREE_VIEW (tree_view)); /* check if we have a new setting */ if (tree_view->priv->single_click_timeout != single_click_timeout) { /* apply the new setting */ tree_view->priv->single_click_timeout = single_click_timeout; /* be sure to cancel any pending single click timeout */ if (G_UNLIKELY (tree_view->priv->single_click_timeout_id >= 0)) g_source_remove (tree_view->priv->single_click_timeout_id); /* notify listeners */ g_object_notify (G_OBJECT (tree_view), "single-click-timeout"); } } /* 2008.07.16 added by Hong Jen Yee for PCManFM. * If activable column is set, only the specified column can be activated. * Other columns are viewed as blank area and won't receive mouse clicks. */ GtkTreeViewColumn* exo_tree_view_get_activable_column( ExoTreeView *tree_view ) { return tree_view->priv->activable_column; } void exo_tree_view_set_activable_column( ExoTreeView *tree_view, GtkTreeViewColumn* column ) { tree_view->priv->activable_column = column; } /* #define __EXO_TREE_VIEW_C__ */ spacefm-1.0.5/src/exo/exo-tree-view.h000066400000000000000000000067701264770501700174110ustar00rootroot00000000000000/* $Id: exo-tree-view.h 20828 2006-04-09 17:16:48Z benny $ */ /*- * Copyright (c) 2004-2006 Benedikt Meurer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* Modified by Hong Jen Yee (PCMan) * on 2008.07.13 for use in PCManFM */ /* #if !defined (EXO_INSIDE_EXO_H) && !defined (EXO_COMPILATION) #error "Only can be included directly, this file may disappear or change contents." #endif */ #ifndef __EXO_TREE_VIEW_H__ #define __EXO_TREE_VIEW_H__ #include G_BEGIN_DECLS; typedef struct _ExoTreeViewPrivate ExoTreeViewPrivate; typedef struct _ExoTreeViewClass ExoTreeViewClass; typedef struct _ExoTreeView ExoTreeView; #define EXO_TYPE_TREE_VIEW (exo_tree_view_get_type ()) #define EXO_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXO_TYPE_TREE_VIEW, ExoTreeView)) #define EXO_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXO_TYPE_TREE_VIEW, ExoTreeViewClass)) #define EXO_IS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXO_TYPE_TREE_VIEW)) #define EXO_IS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXO_TYPE_TREE_VIEW)) #define EXO_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXO_TYPE_TREE_VIEW, ExoTreeViewClass)) struct _ExoTreeViewClass { /*< private >*/ GtkTreeViewClass __parent__; /*< private >*/ /* void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); void (*reserved4) (void); void (*reserved5) (void); void (*reserved6) (void); void (*reserved7) (void); void (*reserved8) (void); */ }; struct _ExoTreeView { /*< private >*/ GtkTreeView __parent__; /*< private >*/ ExoTreeViewPrivate *priv; }; GType exo_tree_view_get_type (void) G_GNUC_CONST; GtkWidget *exo_tree_view_new (void) G_GNUC_MALLOC; gboolean exo_tree_view_get_single_click (const ExoTreeView *tree_view); void exo_tree_view_set_single_click (ExoTreeView *tree_view, gboolean single_click); guint exo_tree_view_get_single_click_timeout (const ExoTreeView *tree_view); void exo_tree_view_set_single_click_timeout (ExoTreeView *tree_view, guint single_click_timeout); /* 2008.07.16 added by Hong Jen Yee for PCManFM. * If activable column is set, only the specified column can be activated. * Other columns are viewed as blank area and won't receive mouse clicks. */ GtkTreeViewColumn* exo_tree_view_get_activable_column( ExoTreeView *tree_view ); void exo_tree_view_set_activable_column( ExoTreeView *tree_view, GtkTreeViewColumn* column ); G_END_DECLS; #endif /* !__EXO_TREE_VIEW_H__ */ spacefm-1.0.5/src/exo/exo-utils.c000066400000000000000000000072001264770501700166220ustar00rootroot00000000000000/*- * Copyright (c) 2005 Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include #endif /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ /* implement exo-utils's inline functions */ #define G_IMPLEMENT_INLINES 1 #define __EXO_UTILS_C__ #include "exo-utils.h" /** * SECTION: exo-utils * @title: Miscellaneous Utility Functions * @short_description: Various utility functions * @include: exo/exo.h * @see_also: * GLib Atomic Operations * * This module contains various utility functions that extend the basic * utility functions provided by the GLib library. **/ /** * exo_noop: * * This function has no effect. It does nothing but * returning instantly. It is mostly useful in * situations that require a function to be called, * but that function does not need to do anything * useful. * * Since: 0.3.1 **/ void exo_noop (void) { } /** * exo_noop_one: * * This function has no effect but simply returns * the integer value %1. It is mostly useful in * situations where you just need a function that * returns %1, but don't want to perform any other * actions. * * Returns: the integer value %1. * * Since: 0.3.1 **/ gint exo_noop_one (void) { return 1; } /** * exo_noop_zero: * * This function has no effect but simply returns * the integer value %0. It is mostly useful in * situations where you just need a function that * returns %0, but don't want to perform any other * actions. * * Returns: the integer value %0. * * Since: 0.3.1 **/ gint exo_noop_zero (void) { return 0; } /** * exo_noop_null: * * This function has no effect but simply returns * a %NULL pointer. It is mostly useful in * situations where you just need a function that * returns %NULL, but don't want to perform any * other actions. * * Returns: a %NULL pointer. * * Since: 0.3.1 **/ gpointer exo_noop_null (void) { return NULL; } /** * exo_noop_true: * * This function has no effect, but simply returns * the boolean value %TRUE. It is mostly useful in * situations where you just need a function that * returns %TRUE, but don't want to perform any * other actions. * * Returns: the boolean value %TRUE. * * Since: 0.3.1 **/ gboolean exo_noop_true (void) { return TRUE; } /** * exo_noop_false: * * This function has no effect, but simply returns * the boolean value %FALSE. It is mostly useful in * situations where you just need a function that * returns %FALSE, but don't want to perform any * other actions. * * Returns: the boolean value %FALSE. * * Since: 0.3.1 **/ gboolean exo_noop_false (void) { return FALSE; } #define __EXO_UTILS_C__ spacefm-1.0.5/src/exo/exo-utils.h000066400000000000000000000026611264770501700166350ustar00rootroot00000000000000/*- * Copyright (c) 2005-2006 Benedikt Meurer . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ #ifndef __EXO_UTILS_H__ #define __EXO_UTILS_H__ #include /* Taken from exo v0.10.2 (Debian package libexo-1-0), according to changelog * commit f455681554ca205ffe49bd616310b19f5f9f8ef1 Dec 27 13:50:21 2012 */ G_BEGIN_DECLS void exo_noop (void) G_GNUC_PURE; gint exo_noop_one (void) G_GNUC_PURE; gint exo_noop_zero (void) G_GNUC_PURE; gpointer exo_noop_null (void) G_GNUC_PURE; gboolean exo_noop_true (void) G_GNUC_PURE; gboolean exo_noop_false (void) G_GNUC_PURE; G_END_DECLS #endif /* !__EXO_UTILS_H__ */ spacefm-1.0.5/src/find-files.c000066400000000000000000001174271264770501700161330ustar00rootroot00000000000000/* * find-files.c * * Copyright 2008 PCMan * * 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 3 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. */ /* FIXME: Currently this only works with GNU find-utils. * Compatibility with other systems like BSD, need to be improved. */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include #include "pcmanfm.h" #include "glib-mem.h" #include "vfs-dir.h" #include "vfs-file-info.h" #include "vfs-async-task.h" #include "exo-tree-view.h" #include "vfs-volume.h" #include "main-window.h" #include "settings.h" #include "ptk-file-misc.h" #include "ptk-utils.h" enum { COL_ICON, COL_NAME, COL_DIR, COL_SIZE, COL_TYPE, COL_MTIME, COL_INFO, N_RES_COLS }; typedef struct _FindFile { GtkWidget* win; GtkWidget* search_criteria; GtkWidget* fn_pattern; GtkWidget* fn_pattern_entry; GtkWidget* fn_case_sensitive; /* file content */ GtkWidget* fc_pattern; GtkWidget* fc_case_sensitive; GtkWidget* fc_use_regexp; /* advanced options */ GtkWidget* search_hidden; /* size & date */ GtkWidget* use_size_lower; GtkWidget* use_size_upper; GtkWidget* size_lower; GtkWidget* size_upper; GtkWidget* size_lower_unit; GtkWidget* size_upper_unit; GtkWidget* date_limit; GtkWidget* date1; GtkWidget* date2; /* file types */ GtkWidget* all_files; GtkWidget* text_files; GtkWidget* img_files; GtkWidget* audio_files; GtkWidget* video_files; /* places */ GtkListStore* places_list; GtkWidget* places_view; GtkWidget* add_folder_btn; GtkWidget* remove_folder_btn; GtkWidget* include_sub; /* search result pane */ GtkWidget* search_result; GtkWidget* result_view; GtkListStore* result_list; /* buttons */ GtkWidget* start_btn; GtkWidget* stop_btn; GtkWidget* again_btn; GPid pid; int stdo; VFSAsyncTask* task; }FindFile; typedef struct { VFSFileInfo* fi; char* dir_path; }FoundFile; static const char menu_def[] = "" "" "" "" "" ""; static gboolean open_file( char* dir, GList* files, PtkFileBrowser* file_browser ) { if( files ) { /*igtodo test passing file_browser here? */ ptk_open_files_with_app( dir, files, NULL, NULL, NULL, FALSE, TRUE ); //sfm open selected dirs if ( file_browser ) { GList * l; gchar* full_path; VFSFileInfo* file; for ( l = files; l; l = l->next ) { file = ( VFSFileInfo* ) l->data; if ( G_UNLIKELY( ! file ) ) continue; full_path = g_build_filename( dir, vfs_file_info_get_name( file ), NULL ); if ( G_LIKELY( full_path ) ) { if ( g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) { ptk_file_browser_emit_open( file_browser, full_path, PTK_OPEN_NEW_TAB ); } g_free( full_path ); } } } vfs_file_info_list_free( files ); //sfm moved free list to here return TRUE; } return FALSE; } static void open_dir( char* dir, GList* files, FMMainWindow* w ) { fm_main_window_add_new_tab( w, dir ); } static void on_open_files( GtkAction* action, FindFile* data ) { GtkTreeModel* model; GtkTreeSelection* sel; GtkTreeIter it; GList *row, *rows, *sel_files; GHashTable* hash; GtkWidget* w; VFSFileInfo* fi; gboolean open_files_has_dir = FALSE; //sfm PtkFileBrowser* file_browser = NULL; //sfm gboolean open_files = TRUE; if ( action ) open_files = (0 == strcmp( gtk_action_get_name(action), "OpenAction") ); sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( data->result_view ) ); rows = gtk_tree_selection_get_selected_rows( sel, &model ); if( ! rows ) return; //sfm this frees list when new value inserted - caused segfault //hash = g_hash_table_new_full( g_str_hash, g_str_equal, (GDestroyNotify)g_free, open_files ? (GDestroyNotify)vfs_file_info_list_free : NULL ); hash = g_hash_table_new_full( g_str_hash, g_str_equal, (GDestroyNotify)g_free, NULL ); for( row = rows; row; row = row->next ) { char* dir; GtkTreePath* tp = (GtkTreePath*)row->data; if( gtk_tree_model_get_iter( model, &it, tp ) ) { if( open_files ) /* open files */ gtk_tree_model_get( model, &it, COL_INFO, &fi, COL_DIR, &dir, -1 ); else /* open containing folders */ gtk_tree_model_get( model, &it, COL_DIR, &dir, -1 ); if( open_files ) { GList *l; l = g_hash_table_lookup( hash, dir ); l = g_list_prepend( l, vfs_file_info_ref(fi) ); g_hash_table_insert( hash, dir, l ); //sfm caused segfault with destroy function if ( vfs_file_info_is_dir( fi ) ) //sfm open_files_has_dir = TRUE; } else { if( g_hash_table_lookup( hash, dir ) ) g_free( dir ); g_hash_table_insert( hash, dir, NULL ); } } gtk_tree_path_free( tp ); } g_list_free( rows ); if( open_files ) { if ( open_files_has_dir ) { w = GTK_WIDGET( fm_main_window_get_on_current_desktop() ); if( ! w ) { w = fm_main_window_new(); // now done in fm_main_window_new //gtk_window_set_default_size( GTK_WINDOW( w ), app_settings.width, app_settings.height ); } gtk_window_present( (GtkWindow*)w ); file_browser = (PtkFileBrowser*)fm_main_window_get_current_file_browser( (FMMainWindow*)w ); } g_hash_table_foreach_steal( hash, (GHRFunc)open_file, file_browser ); } else { w = GTK_WIDGET( fm_main_window_get_on_current_desktop() ); if( ! w ) { w = fm_main_window_new(); // now done in fm_main_window_new //gtk_window_set_default_size( GTK_WINDOW( w ), app_settings.width, app_settings.height ); } g_hash_table_foreach( hash, (GHFunc)open_dir, w ); gtk_window_present( (GtkWindow*)w ); } g_hash_table_destroy( hash ); } static GtkActionEntry menu_actions[] = { { "OpenAction", GTK_STOCK_OPEN, N_("_Open"), NULL, NULL, G_CALLBACK(on_open_files) }, { "OpenFolderAction", GTK_STOCK_OPEN, N_("Open Containing _Folder"), NULL, NULL, G_CALLBACK(on_open_files) } }; static int get_date_offset( GtkCalendar* calendar ) { /* FIXME: I think we need a better implementation for this */ GDate* date; GDate* today; int y, m, d, offset; time_t timeval = time(NULL); struct tm* lt = localtime( &timeval ); gtk_calendar_get_date( calendar, &y, &m, &d ); date = g_date_new_dmy( d, m, y ); today = g_date_new_dmy( lt->tm_mday, lt->tm_mon, lt->tm_year+1900 ); offset = g_date_days_between( date, today ); g_date_free(date); g_date_free(today); return ABS(offset); } static char** compose_command( FindFile* data ) { GArray* argv = g_array_sized_new( TRUE, TRUE, sizeof(char*), 10 ); char *arg, *tmp; GtkTreeIter it; char size_units[] = {"ckMG"}; int idx; gboolean print = FALSE; arg = g_strdup( "find" ); g_array_append_val( argv, arg ); arg = g_strdup("-H"); g_array_append_val( argv, arg ); if( gtk_tree_model_get_iter_first( GTK_TREE_MODEL( data->places_list ), &it ) ) { do { gtk_tree_model_get( GTK_TREE_MODEL( data->places_list ), &it, 0, &arg, -1 ); if( arg ) { if( *arg ) g_array_append_val( argv, arg ); else g_free( arg ); } }while( gtk_tree_model_iter_next( GTK_TREE_MODEL( data->places_list ), &it ) ); } /* if include sub is excluded */ //MOD added if( ! gtk_toggle_button_get_active((GtkToggleButton*)data->include_sub ) ) { arg = g_strdup("-maxdepth"); g_array_append_val( argv, arg ); arg = g_strdup("1"); g_array_append_val( argv, arg ); } /* if hidden files is excluded */ if( ! gtk_toggle_button_get_active((GtkToggleButton*)data->search_hidden ) ) { arg = g_strdup("-name"); g_array_append_val( argv, arg ); arg = g_strdup(".*"); g_array_append_val( argv, arg ); arg = g_strdup("-prune"); g_array_append_val( argv, arg ); arg = g_strdup("-or"); g_array_append_val( argv, arg ); } /* if lower limit of file size is set */ if( gtk_toggle_button_get_active((GtkToggleButton*)data->use_size_lower ) ) { // arg = g_strdup("("); // g_array_append_val( argv, arg ); arg = g_strdup("-size"); g_array_append_val( argv, arg ); tmp = g_strdup_printf( "+%u%c", gtk_spin_button_get_value_as_int( (GtkSpinButton*)data->size_lower ), size_units[ gtk_combo_box_get_active( (GtkComboBox*)data->size_lower_unit ) ] ); g_array_append_val( argv, tmp ); /* arg = g_strdup( tmp + 1 ); g_array_append_val( argv, arg ); arg = g_strdup("-o"); // -or g_array_append_val( argv, arg ); arg = g_strdup("-size"); g_array_append_val( argv, arg ); g_array_append_val( argv, tmp ); arg = g_strdup(")"); g_array_append_val( argv, arg ); */ } /* if upper limit of file size is set */ if( gtk_toggle_button_get_active((GtkToggleButton*)data->use_size_upper ) ) { // arg = g_strdup("("); // g_array_append_val( argv, arg ); arg = g_strdup("-size"); g_array_append_val( argv, arg ); tmp = g_strdup_printf( "-%u%c", gtk_spin_button_get_value_as_int( (GtkSpinButton*)data->size_upper ), size_units[ gtk_combo_box_get_active( (GtkComboBox*)data->size_upper_unit ) ] ); arg = g_strdup( tmp + 1 ); g_array_append_val( argv, arg ); /* arg = g_strdup("-o"); // -or g_array_append_val( argv, arg ); arg = g_strdup("-size"); g_array_append_val( argv, arg ); g_array_append_val( argv, tmp ); arg = g_strdup(")"); g_array_append_val( argv, arg ); */ } /* If -name is used */ tmp = (char*)gtk_entry_get_text( (GtkEntry*)data->fn_pattern_entry ); if( tmp && strcmp(tmp, "*") ) { if( gtk_toggle_button_get_active((GtkToggleButton*)data->fn_case_sensitive) ) arg = g_strdup("-name"); else arg = g_strdup("-iname"); g_array_append_val( argv, arg ); arg = g_strdup( tmp ); g_array_append_val( argv, arg ); } /* match by mtime */ idx = gtk_combo_box_get_active( (GtkComboBox*)data->date_limit ); if( idx > 0 ) { if( idx == 5 ) /* range */ { arg = g_strdup("("); g_array_append_val( argv, arg ); arg = g_strdup( "-mtime" ); g_array_append_val( argv, arg ); /* date1 */ arg = g_strdup_printf( "-%d", get_date_offset( (GtkCalendar*)data->date1 ) ); g_array_append_val( argv, arg ); arg = g_strdup( "-mtime" ); g_array_append_val( argv, arg ); /* date2 */ arg = g_strdup_printf( "+%d", get_date_offset( (GtkCalendar*)data->date2 ) ); g_array_append_val( argv, arg ); arg = g_strdup(")"); g_array_append_val( argv, arg ); } else { arg = g_strdup( "-mtime" ); g_array_append_val( argv, arg ); switch( idx ) { case 1: /* within one day */ arg = g_strdup( "-1" ); break; case 2: /* within one week */ arg = g_strdup( "-7" ); break; case 3: /* within one month */ arg = g_strdup( "-30" ); break; case 4: /* within one year */ arg = g_strdup( "-365" ); break; } g_array_append_val( argv, arg ); } } /* grep text inside files */ tmp = (char*)gtk_entry_get_text( (GtkEntry*)data->fc_pattern ); if( tmp && *tmp ) { print = TRUE; /* ensure we only call 'grep' on regular files */ arg = g_strdup("-type"); g_array_append_val( argv, arg ); arg = g_strdup("f"); g_array_append_val( argv, arg ); arg = g_strdup("-exec"); g_array_append_val( argv, arg ); arg = g_strdup("grep"); g_array_append_val( argv, arg ); if( !gtk_toggle_button_get_active((GtkToggleButton*)data->fc_case_sensitive) ) { arg = g_strdup("-i"); g_array_append_val( argv, arg ); } arg = g_strdup("--files-with-matches"); g_array_append_val( argv, arg ); if( gtk_toggle_button_get_active((GtkToggleButton*)data->fc_use_regexp) ) arg = g_strdup( "--regexp" ); else arg = g_strdup( "--fixed-strings" ); g_array_append_val( argv, arg ); arg = g_strdup(tmp); g_array_append_val( argv, arg ); arg = g_strdup("{}"); g_array_append_val( argv, arg ); arg = g_strdup(";"); g_array_append_val( argv, arg ); } if( ! print ) { arg = g_strdup("-print"); g_array_append_val( argv, arg ); } return (char**)g_array_free( argv, FALSE ); } static void finish_search( FindFile* data ) { if( data->pid ) { int status; kill( data->pid, SIGTERM ); waitpid( data->pid, &status, 0 ); data->pid = 0; /* g_debug( "find process is killed!" ); */ } if( data->task ) { g_object_unref( data->task ); data->task = NULL; } gdk_window_set_cursor( gtk_widget_get_window( data->search_result ), NULL ); gtk_widget_hide( data->stop_btn ); gtk_widget_show( data->again_btn ); } static void process_found_files( FindFile* data, GQueue* queue, const char* path ) { char *name; gsize len, term; GtkTreeIter it; VFSFileInfo* fi; GdkPixbuf* icon; FoundFile* ff; if( path ) { name = g_filename_display_basename( path ); fi = vfs_file_info_new(); if( vfs_file_info_get( fi, path, name ) ) { ff = g_slice_new0( FoundFile ); ff->fi = fi; ff->dir_path = g_path_get_dirname( path ); g_queue_push_tail( queue, ff ); } else { vfs_file_info_unref( fi ); } g_free( name ); /* we queue the found files, and not add them to the tree view direclty. * when we queued more than 10 files, we add them at once. I think * this can prevent locking gtk+ too frequently and improve responsiveness. * FIXME: This could blocked the last queued files and delay their display * to the end of the whole search. A better method is needed. */ //MOD disabled this - causes last queued files to not display // if( g_queue_get_length( queue ) < 10 ) // return; } while( ff = (FoundFile*)g_queue_pop_head(queue) ) { GDK_THREADS_ENTER(); gtk_list_store_append( data->result_list, &it ); icon = vfs_file_info_get_small_icon( ff->fi ); gtk_list_store_set( data->result_list, &it, COL_ICON, icon, COL_NAME, vfs_file_info_get_disp_name(ff->fi), COL_DIR, ff->dir_path, /* FIXME: non-UTF8? */ COL_TYPE, vfs_file_info_get_mime_type_desc( ff->fi ), COL_SIZE, vfs_file_info_get_disp_size( ff->fi ), COL_MTIME, vfs_file_info_get_disp_mtime( ff->fi ), COL_INFO, ff->fi, -1 ); g_object_unref( icon ); GDK_THREADS_LEAVE(); g_slice_free( FoundFile, ff ); } } static gpointer search_thread( VFSAsyncTask* task, FindFile* data ) { ssize_t rlen; char buf[4096 ]; GString* path = g_string_new_len( NULL, 256 ); GQueue* queue = g_queue_new(); while( ! data->task->cancel && ( rlen = read( data->stdo, buf, sizeof(buf) - 1 ) ) > 0 ) { char*pbuf, *eol; buf[ rlen ] = '\0'; pbuf = buf; while( ! data->task->cancel ) { if( eol = strchr( pbuf, '\n' ) ) /* end of line is reached */ { *eol = '\0'; g_string_append( path, pbuf ); /* we get a complete file path */ if( ! data->task->cancel ) { process_found_files( data, queue, path->str ); } pbuf = eol + 1; /* start reading the next line */ g_string_assign( path, "" ); /* empty the line buffer */ } else /* end of line is not reached */ { g_string_append( path, pbuf ); /* store the partial path in the buffer */ break; } } } /* end of stream (EOF) is reached */ if( path->len > 0 ) /* this is the last line without eol character '\n' */ { if( ! data->task->cancel ) { process_found_files( data, queue, path->str ); process_found_files( data, queue, NULL ); } } g_queue_free( queue ); g_string_free( path, TRUE ); return NULL; } static void on_search_finish( VFSAsyncTask* task, gboolean cancelled, FindFile* data ) { finish_search( data ); } static void on_start_search( GtkWidget* btn, FindFile* data ) { char** argv; GError* err = NULL; int stdo, stde; char* cmd_line; GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( data->win ), &allocation ); int width = allocation.width; int height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); xset_set( "main_search", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "main_search", "y", str ); g_free( str ); } gtk_widget_hide( data->search_criteria ); gtk_widget_show( data->search_result ); gtk_widget_hide( btn ); gtk_widget_show( data->stop_btn ); argv = compose_command( data ); cmd_line = g_strjoinv( " ", argv ); g_debug( "find command: %s", cmd_line ); g_free( cmd_line ); if( g_spawn_async_with_pipes( g_get_home_dir(), argv, NULL, G_SPAWN_SEARCH_PATH | G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, &data->pid, NULL, &data->stdo, NULL, &err ) ) { GdkCursor* busy_cursor; data->task = vfs_async_task_new( (VFSAsyncFunc)search_thread, data ); g_signal_connect( data->task, "finish", G_CALLBACK( on_search_finish ), data ); vfs_async_task_execute( data->task ); busy_cursor = gdk_cursor_new( GDK_WATCH ); gdk_window_set_cursor( gtk_widget_get_window (data->search_result), busy_cursor ); gdk_cursor_unref( busy_cursor ); } else { g_error_free( err ); } g_strfreev( argv ); } static void on_stop_search( GtkWidget* btn, FindFile* data ) { if( data->task && ! vfs_async_task_is_finished( data->task ) ) { // see note in vfs-async-task.c: vfs_async_task_real_cancel() GDK_THREADS_LEAVE(); vfs_async_task_cancel( data->task ); GDK_THREADS_ENTER(); } } static void on_search_again( GtkWidget* btn, FindFile* data ) { GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( data->win ), &allocation ); int width = allocation.width; int height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); xset_set( "main_search", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "main_search", "y", str ); g_free( str ); } gtk_widget_show( data->search_criteria ); gtk_widget_hide( data->search_result ); gtk_widget_hide( btn ); gtk_widget_show( data->start_btn ); g_object_ref( data->result_list ); gtk_tree_view_set_model( (GtkTreeView*)data->result_view, NULL ); gtk_list_store_clear( data->result_list ); gtk_tree_view_set_model( (GtkTreeView*)data->result_view, GTK_TREE_MODEL( data->result_list ) ); g_object_unref( data->result_list ); } static void menu_pos( GtkMenu* menu, int* x, int* y, gboolean *push_in, GtkWidget* btn ) { GtkAllocation allocation; /* FIXME: I'm not sure if this work well in different WMs */ gdk_window_get_position( gtk_widget_get_window( btn ), x, y); /* gdk_window_get_root_origin( btn->window, x, y); */ gtk_widget_get_allocation ( GTK_WIDGET( btn ), &allocation ); *x += allocation.x; *y += allocation.y + allocation.height; *push_in = FALSE; } static void add_search_dir( FindFile* data, const char* path ) { GtkTreeIter it; gtk_list_store_append( data->places_list, &it ); gtk_list_store_set( data->places_list, &it, 0, path, -1 ); } static void on_add_search_browse(GtkWidget* menu, FindFile* data) { GtkWidget* dlg = gtk_file_chooser_dialog_new( _("Select a folder"), GTK_WINDOW( data->win ), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL ); gtk_dialog_set_alternative_button_order( GTK_DIALOG( dlg ), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL ); if( gtk_dialog_run( GTK_DIALOG( dlg ) ) == GTK_RESPONSE_OK ) { char* path = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dlg ) ); add_search_dir( data, path ); g_free( path ); } gtk_widget_destroy( dlg ); } static void on_add_search_home(GtkWidget* menu, FindFile* data) { add_search_dir( data, g_get_home_dir() ); } static void on_add_search_desktop(GtkWidget* menu, FindFile* data) { add_search_dir( data, vfs_get_desktop_dir() ); } static void on_add_search_volumes(GtkWidget* menu, FindFile* data) { const char* path; const GList* vols = vfs_volume_get_all_volumes(), *l; for( l = vols; l; l = l->next ) { VFSVolume* vol = (VFSVolume*)l->data; if ( vfs_volume_is_mounted( vol ) ) { path = vfs_volume_get_mount_point( vol ); if ( path && path[0] != '\0' ) add_search_dir( data, path ); } } } static void on_add_search_folder( GtkWidget* btn, FindFile* data ) { GtkWidget* menu = gtk_menu_new(); GtkWidget* item; GtkWidget* img; const char* dir; item = gtk_image_menu_item_new_with_label( _("Browse...") ); gtk_menu_shell_append( GTK_MENU_SHELL( menu ), item ); g_signal_connect( item, "activate", G_CALLBACK(on_add_search_browse), data ); item = gtk_separator_menu_item_new(); gtk_menu_shell_append( GTK_MENU_SHELL( menu ), item ); item = gtk_image_menu_item_new_with_label( g_get_home_dir() ); //img = gtk_image_new_from_icon_name( "gnome-fs-directory", GTK_ICON_SIZE_MENU ); img = xset_get_image( "gtk-directory", GTK_ICON_SIZE_MENU ); gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), img ); gtk_menu_shell_append( GTK_MENU_SHELL( menu ), item ); g_signal_connect( item, "activate", G_CALLBACK(on_add_search_home), data ); if( dir = vfs_get_desktop_dir() ) { item = gtk_image_menu_item_new_with_label( dir ); //img = gtk_image_new_from_icon_name( "gnome-fs-desktop", GTK_ICON_SIZE_MENU ); img = xset_get_image( "gtk-directory", GTK_ICON_SIZE_MENU ); gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), img ); gtk_menu_shell_append( GTK_MENU_SHELL( menu ), item ); g_signal_connect( item, "activate", G_CALLBACK(on_add_search_desktop), data ); } item = gtk_image_menu_item_new_with_label( _("Local Volumes") ); //img = gtk_image_new_from_icon_name( "gnome-dev-harddisk", GTK_ICON_SIZE_MENU ); img = xset_get_image( "gtk-harddisk", GTK_ICON_SIZE_MENU ); gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), img ); gtk_menu_shell_append( GTK_MENU_SHELL( menu ), item ); g_signal_connect( item, "activate", G_CALLBACK(on_add_search_volumes), data ); /* FIXME: Add all volumes */ /* FIXME: Add all bookmarks */ gtk_widget_show_all( menu ); gtk_menu_popup( GTK_MENU( menu ), NULL, NULL, (GtkMenuPositionFunc)menu_pos, btn, 0, gtk_get_current_event_time() ); } static void on_remove_search_folder( GtkWidget* btn, FindFile* data ) { GtkTreeIter it; GtkTreeSelection* sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( data->places_view ) ); if( gtk_tree_selection_get_selected(sel, NULL, &it) ) gtk_list_store_remove( data->places_list, &it ); } static void on_date_limit_changed( GtkWidget* date_limit, FindFile* data ) { int sel = gtk_combo_box_get_active( (GtkComboBox*)date_limit ); gboolean sensitive = ( sel == 5 ); /* date range */ gtk_widget_set_sensitive( data->date1, sensitive ); gtk_widget_set_sensitive( data->date2, sensitive ); } static void free_data( FindFile* data ) { g_slice_free( FindFile, data ); } static void init_search_result( FindFile* data ) { GtkTreeIter it; GtkTreeViewColumn* col; GtkCellRenderer* render; gtk_tree_selection_set_mode( gtk_tree_view_get_selection((GtkTreeView*)data->result_view), GTK_SELECTION_MULTIPLE ); data->result_list = gtk_list_store_new( N_RES_COLS, GDK_TYPE_PIXBUF, /* icon */ G_TYPE_STRING, /* name */ G_TYPE_STRING, /* dir */ G_TYPE_STRING, /* type */ G_TYPE_STRING, /* size */ G_TYPE_STRING, /* mtime */ G_TYPE_POINTER /* VFSFileInfo */ ); gtk_tree_view_set_model( (GtkTreeView*)data->result_view, (GtkTreeModel*)data->result_list ); g_object_unref( data->result_list ); col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title( col, _("Name") ); render = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start( col, render, FALSE ); gtk_tree_view_column_set_attributes( col, render, "pixbuf", COL_ICON, NULL ); render = gtk_cell_renderer_text_new(); g_object_set( render, "ellipsize", PANGO_ELLIPSIZE_END, NULL ); gtk_tree_view_column_pack_start( col, render, TRUE ); gtk_tree_view_column_set_attributes( col, render, "text", COL_NAME, NULL ); gtk_tree_view_column_set_expand ( col, TRUE ); gtk_tree_view_column_set_min_width( col, 200 ); gtk_tree_view_column_set_resizable ( col, TRUE ); gtk_tree_view_append_column( (GtkTreeView*)data->result_view, col ); render = gtk_cell_renderer_text_new(); g_object_set( render, "ellipsize", PANGO_ELLIPSIZE_END, NULL ); col = gtk_tree_view_column_new_with_attributes( _("Folder"), render, "text", COL_DIR, NULL ); gtk_tree_view_column_set_expand ( col, TRUE ); gtk_tree_view_column_set_resizable ( col, TRUE ); gtk_tree_view_column_set_min_width( col, 200 ); gtk_tree_view_append_column( (GtkTreeView*)data->result_view, col ); col = gtk_tree_view_column_new_with_attributes( _("Size"), gtk_cell_renderer_text_new(), "text", COL_SIZE, NULL ); gtk_tree_view_column_set_resizable ( col, TRUE ); gtk_tree_view_append_column( (GtkTreeView*)data->result_view, col ); col = gtk_tree_view_column_new_with_attributes( _("Type"), gtk_cell_renderer_text_new(), "text", COL_TYPE, NULL ); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_FIXED ); gtk_tree_view_column_set_fixed_width ( col, 120 ); gtk_tree_view_column_set_resizable ( col, TRUE ); gtk_tree_view_append_column( (GtkTreeView*)data->result_view, col ); col = gtk_tree_view_column_new_with_attributes( _("Last Modified"), gtk_cell_renderer_text_new(), "text", COL_MTIME, NULL ); gtk_tree_view_column_set_resizable ( col, TRUE ); gtk_tree_view_append_column( (GtkTreeView*)data->result_view, col ); } static gboolean on_view_button_press( GtkTreeView* view, GdkEventButton* evt, FindFile* data ) { if( evt->type == GDK_BUTTON_PRESS ) { if( evt->button == 3 ) /* right single click */ { //sfm if current item not selected, unselect all and select it GtkTreePath *tree_path; GtkTreeSelection* tree_sel; gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), evt->x, evt->y, &tree_path, NULL, NULL, NULL ); tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) ); if ( tree_path && tree_sel && !gtk_tree_selection_path_is_selected( tree_sel, tree_path ) ) { gtk_tree_selection_unselect_all( tree_sel ); gtk_tree_selection_select_path( tree_sel, tree_path ); } gtk_tree_path_free( tree_path ); GtkWidget* popup; GtkUIManager* menu_mgr; GtkActionGroup* action_group = gtk_action_group_new ("PopupActions"); gtk_action_group_set_translation_domain( action_group, GETTEXT_PACKAGE ); menu_mgr = gtk_ui_manager_new (); gtk_action_group_add_actions( action_group, menu_actions, G_N_ELEMENTS(menu_actions), data ); gtk_ui_manager_insert_action_group( menu_mgr, action_group, 0 ); gtk_ui_manager_add_ui_from_string( menu_mgr, menu_def, -1, NULL ); popup = gtk_ui_manager_get_widget( menu_mgr, "/Popup" ); g_object_unref( action_group ); gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, evt->button, evt->time ); /* clean up */ g_signal_connect( popup, "selection-done", G_CALLBACK(gtk_widget_destroy), NULL ); g_object_weak_ref( G_OBJECT( popup ), (GWeakNotify)g_object_unref, menu_mgr ); return TRUE; } } else if( evt->type == GDK_2BUTTON_PRESS ) { if( evt->button == 1 ) /* left double click */ { on_open_files( NULL, data ); return TRUE; } } return FALSE; } void on_use_size_lower_toggled( GtkWidget* widget, FindFile* data ) { gtk_widget_set_sensitive( data->size_lower, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->use_size_lower ) ) ); gtk_widget_set_sensitive( data->size_lower_unit, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->use_size_lower ) ) ); } void on_use_size_upper_toggled( GtkWidget* widget, FindFile* data ) { gtk_widget_set_sensitive( data->size_upper, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->use_size_upper ) ) ); gtk_widget_set_sensitive( data->size_upper_unit, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->use_size_upper ) ) ); } void fm_find_files( const char** search_dirs ) { FindFile* data = g_slice_new0(FindFile); GtkTreeIter it; GtkTreeViewColumn* col; GtkWidget *add_folder_btn, *remove_folder_btn, *img; #if GTK_CHECK_VERSION (3, 0, 0) GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/find-files2.ui", NULL ); #else GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/find-files.ui", NULL ); #endif data->win = (GtkWidget*)gtk_builder_get_object( builder, "win" ); g_object_set_data_full( G_OBJECT( data->win ), "find-files", data, (GDestroyNotify)free_data ); GdkPixbuf* icon = NULL; GtkIconTheme* theme = gtk_icon_theme_get_default(); if ( theme ) icon = gtk_icon_theme_load_icon( theme, "spacefm-find", 48, 0, NULL ); if ( icon ) { gtk_window_set_icon( GTK_WINDOW( data->win ), icon ); g_object_unref( icon ); } else gtk_window_set_icon_name( GTK_WINDOW( data->win ), GTK_STOCK_FIND ); /* search criteria pane */ data->search_criteria = (GtkWidget*)gtk_builder_get_object( builder, "search_criteria" ); data->fn_pattern = (GtkWidget*)gtk_builder_get_object( builder, "fn_pattern" ); data->fn_pattern_entry = gtk_bin_get_child( GTK_BIN( data->fn_pattern ) ); data->fn_case_sensitive = (GtkWidget*)gtk_builder_get_object( builder, "fn_case_sensitive" ); gtk_entry_set_activates_default( (GtkEntry*)data->fn_pattern_entry, TRUE ); /* file content */ data->fc_pattern = (GtkWidget*)gtk_builder_get_object( builder, "fc_pattern" ); data->fc_case_sensitive = (GtkWidget*)gtk_builder_get_object( builder, "fc_case_sensitive" ); data->fc_use_regexp = (GtkWidget*)gtk_builder_get_object( builder, "fc_use_regexp" ); /* advanced options */ data->search_hidden = (GtkWidget*)gtk_builder_get_object( builder, "search_hidden" ); /* size & date */ data->use_size_lower = (GtkWidget*)gtk_builder_get_object( builder, "use_size_lower" ); data->use_size_upper = (GtkWidget*)gtk_builder_get_object( builder, "use_size_upper" ); data->size_lower = (GtkWidget*)gtk_builder_get_object( builder, "size_lower" ); data->size_upper = (GtkWidget*)gtk_builder_get_object( builder, "size_upper" ); data->size_lower_unit = (GtkWidget*)gtk_builder_get_object( builder, "size_lower_unit" ); data->size_upper_unit = (GtkWidget*)gtk_builder_get_object( builder, "size_upper_unit" ); g_signal_connect( data->use_size_lower, "toggled", G_CALLBACK( on_use_size_lower_toggled ), data ); g_signal_connect( data->use_size_upper, "toggled", G_CALLBACK( on_use_size_upper_toggled ), data ); on_use_size_lower_toggled( data->use_size_lower, data ); on_use_size_upper_toggled( data->use_size_upper, data ); data->date_limit = (GtkWidget*)gtk_builder_get_object( builder, "date_limit" ); data->date1 = (GtkWidget*)gtk_builder_get_object( builder, "date1" ); data->date2 = (GtkWidget*)gtk_builder_get_object( builder, "date2" ); g_signal_connect( data->date_limit, "changed", G_CALLBACK( on_date_limit_changed ), data ); /* file types */ data->all_files = (GtkWidget*)gtk_builder_get_object( builder, "all_files" ); data->text_files = (GtkWidget*)gtk_builder_get_object( builder, "text_files" ); data->img_files = (GtkWidget*)gtk_builder_get_object( builder, "img_files" ); data->audio_files = (GtkWidget*)gtk_builder_get_object( builder, "audio_files" ); data->video_files = (GtkWidget*)gtk_builder_get_object( builder, "video_files" ); /* places */ data->places_list = gtk_list_store_new( 1, G_TYPE_STRING ); data->places_view = (GtkWidget*)gtk_builder_get_object( builder, "places_view" ); add_folder_btn = (GtkWidget*)gtk_builder_get_object( builder, "add_folder_btn" ); remove_folder_btn = (GtkWidget*)gtk_builder_get_object( builder, "remove_folder_btn" ); data->include_sub = (GtkWidget*)gtk_builder_get_object( builder, "include_sub" ); if( search_dirs ) { const char** dir; for( dir = search_dirs; *dir; ++dir ) { if( g_file_test( *dir, G_FILE_TEST_IS_DIR ) ) gtk_list_store_insert_with_values( data->places_list, &it, 0, 0, *dir, -1 ); } } gtk_tree_view_set_model( (GtkTreeView*)data->places_view, (GtkTreeModel*)data->places_list ); g_object_unref( data->places_list ); col = gtk_tree_view_column_new_with_attributes(NULL, gtk_cell_renderer_text_new(), "text", 0, NULL ); gtk_tree_view_append_column( (GtkTreeView*)data->places_view, col ); g_signal_connect(add_folder_btn, "clicked", G_CALLBACK( on_add_search_folder ), data ); g_signal_connect(remove_folder_btn, "clicked", G_CALLBACK( on_remove_search_folder ), data ); /* search result pane */ data->search_result = (GtkWidget*)gtk_builder_get_object( builder, "search_result" ); /* replace the problematic GtkTreeView with ExoTreeView */ data->result_view = exo_tree_view_new(); if( app_settings.single_click ) { exo_tree_view_set_single_click( EXO_TREE_VIEW( data->result_view ), TRUE ); exo_tree_view_set_single_click_timeout( EXO_TREE_VIEW( data->result_view ), SINGLE_CLICK_TIMEOUT ); } gtk_widget_show( data->result_view ); gtk_container_add( (GtkContainer*)gtk_builder_get_object(builder, "result_scroll"), data->result_view ); init_search_result( data ); g_signal_connect(data->result_view, "button-press-event", G_CALLBACK( on_view_button_press ), data ); /* buttons */ data->start_btn = (GtkWidget*)gtk_builder_get_object( builder, "start_btn" ); data->stop_btn = (GtkWidget*)gtk_builder_get_object( builder, "stop_btn" ); data->again_btn = (GtkWidget*)gtk_builder_get_object( builder, "again_btn" ); img = gtk_image_new_from_icon_name( GTK_STOCK_REFRESH, GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( (GtkButton*)data->again_btn, img ); g_signal_connect(data->start_btn, "clicked", G_CALLBACK( on_start_search ), data ); g_signal_connect(data->stop_btn, "clicked", G_CALLBACK( on_stop_search ), data ); g_signal_connect(data->again_btn, "clicked", G_CALLBACK( on_search_again ), data ); gtk_entry_set_text( (GtkEntry*)data->fn_pattern_entry, "*" ); gtk_editable_select_region( (GtkEditable*)data->fn_pattern_entry, 0, -1 ); gtk_combo_box_set_active( (GtkComboBox*)data->size_lower_unit, 1 ); gtk_spin_button_set_range( (GtkSpinButton*)data->size_lower, 0, G_MAXINT ); gtk_combo_box_set_active( (GtkComboBox*)data->size_upper_unit, 2 ); gtk_spin_button_set_range( (GtkSpinButton*)data->size_upper, 0, G_MAXINT ); gtk_combo_box_set_active( (GtkComboBox*)data->date_limit, 0 ); g_signal_connect( data->win, "delete-event", G_CALLBACK(gtk_widget_destroy), NULL ); pcmanfm_ref(); g_signal_connect( data->win, "destroy", G_CALLBACK(pcmanfm_unref), NULL ); int width = xset_get_int( "main_search", "x" ); int height = xset_get_int( "main_search", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( data->win ), width, height ); gtk_widget_show( data->win ); } spacefm-1.0.5/src/find-files.h000066400000000000000000000017711264770501700161320ustar00rootroot00000000000000/* * find-files.h * * Copyright 2008 PCMan * * 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 3 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. */ #ifndef _FIND_FILES_H #define _FIND_FILES_H #include G_BEGIN_DECLS void fm_find_files( const char** search_dirs ); G_END_DECLS #endif spacefm-1.0.5/src/go-dialog.c000066400000000000000000000042671264770501700157520ustar00rootroot00000000000000#ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include "go-dialog.h" #include "main-window.h" #include "ptk-file-browser.h" #include "ptk-path-entry.h" #include "ptk-utils.h" static const char * chosen_path; static gboolean show_go_dialog( GtkWindow* parent, char * initial_path ) { GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/godlg.ui", NULL ); GtkDialog* dlg = GTK_DIALOG(gtk_builder_get_object( builder, "godlg" )); GtkEntry* path_entry = ( GtkEntry* ) ptk_path_entry_new ( NULL ); gtk_entry_set_activates_default( path_entry, TRUE ); gtk_entry_set_text( path_entry, initial_path ); gtk_container_add( GTK_CONTAINER( gtk_dialog_get_content_area( dlg ) ), GTK_WIDGET( path_entry ) ); gtk_widget_show_all( gtk_dialog_get_content_area( dlg ) ); gtk_widget_grab_focus( GTK_WIDGET( path_entry ) ); gboolean ret = ( gtk_dialog_run( GTK_DIALOG( dlg ) ) == GTK_RESPONSE_OK ); if ( ret ) { chosen_path = strdup( gtk_entry_get_text( path_entry ) ); } gtk_widget_destroy( GTK_WIDGET( dlg ) ); return ret; } gboolean fm_go( FMMainWindow* main_window ) { int i = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->notebook ) ); PtkFileBrowser* file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->notebook ), i ) ); if( file_browser->dir ) { char* disp_path = file_browser->dir->disp_path; if( disp_path ) { if( show_go_dialog( GTK_WINDOW( main_window ), disp_path ) ) { char* dir_path = g_filename_from_utf8( chosen_path , -1, NULL, NULL, NULL ); free( (char*)chosen_path ); char* final_path = vfs_file_resolve_path( ptk_file_browser_get_cwd(file_browser), dir_path ); g_free( dir_path ); ptk_file_browser_chdir( file_browser, final_path, PTK_FB_CHDIR_ADD_HISTORY ); g_free( final_path ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); } } } return TRUE; } spacefm-1.0.5/src/go-dialog.h000066400000000000000000000002431264770501700157450ustar00rootroot00000000000000#ifndef _GO_DLG_H_ #define _GO_DLG_H_ #include "main-window.h" #include G_BEGIN_DECLS gboolean fm_go( FMMainWindow* parent ); G_END_DECLS #endif spacefm-1.0.5/src/gtk2-compat.h000066400000000000000000000067461264770501700162510ustar00rootroot00000000000000#ifndef __GTK2_COMPAT_H #define __GTK2_COMPAT_H #if GTK_CHECK_VERSION(3, 0, 0) #else #define gtk_menu_shell_get_selected_item(mc) mc->active_menu_item #endif #if GTK_CHECK_VERSION(2, 24, 0) #else #define gtk_combo_box_text_new_with_entry gtk_combo_box_entry_new_text #define gtk_combo_box_text_new gtk_combo_box_new_text #define gtk_combo_box_text_get_active_text gtk_combo_box_get_active_text #define gtk_combo_box_text_append_text gtk_combo_box_append_text static inline void gtk_combo_box_set_entry_text_column( GtkComboBox *combo_box, gint text_column ) { gtk_combo_box_entry_set_text_column( GTK_COMBO_BOX_ENTRY( combo_box ), text_column ); } #define gtk_combo_box_text_prepend_text gtk_combo_box_prepend_text #define GTK_COMBO_BOX_TEXT GTK_COMBO_BOX static inline gint gdk_window_get_width (GdkWindow *window) { gint width; gdk_drawable_get_size(GDK_DRAWABLE(window), &width, NULL); return width; } static inline gint gdk_window_get_height (GdkWindow *window) { gint height; gdk_drawable_get_size(GDK_DRAWABLE(window), NULL, &height); return height; } #define gdk_x11_window_lookup_for_display gdk_window_lookup_for_display #endif #if GTK_CHECK_VERSION(2, 22, 0) #else #define gdk_drag_context_get_suggested_action(dc) dc->suggested_action #define gdk_drag_context_get_selected_action(dc) dc->action #define gdk_drag_context_get_actions(dc) dc->actions #define gdk_drag_context_list_targets(dc) dc->targets #define gtk_window_has_group(window) (window->group != NULL) #define GDK_KEY_space GDK_space #define GDK_KEY_Return GDK_Return #define GDK_KEY_ISO_Enter GDK_ISO_Enter #define GDK_KEY_KP_Enter GDK_KP_Enter #define GDK_KEY_Up GDK_Up #define GDK_KEY_KP_Up GDK_KP_Up #define GDK_KEY_Down GDK_Down #define GDK_KEY_KP_Down GDK_KP_Down #define GDK_KEY_Home GDK_Home #define GDK_KEY_KP_Home GDK_KP_Home #define GDK_KEY_End GDK_End #define GDK_KEY_KP_End GDK_KP_End #define GDK_KEY_Page_Up GDK_Page_Up #define GDK_KEY_KP_Page_Up GDK_KP_Page_Up #define GDK_KEY_Page_Down GDK_Page_Down #define GDK_KEY_KP_Page_Down GDK_KP_Page_Down #define GDK_KEY_Right GDK_Right #define GDK_KEY_KP_Right GDK_KP_Right #define GDK_KEY_Left GDK_Left #define GDK_KEY_KP_Left GDK_KP_Left #define GDK_KEY_Escape GDK_Escape #define GDK_KEY_Delete GDK_Delete #define GDK_KEY_BackSpace GDK_BackSpace #define GDK_KEY_Menu GDK_Menu #define GDK_KEY_Tab GDK_Tab #define GDK_KEY_F1 GDK_F1 #define GDK_KEY_F2 GDK_F2 #define GDK_KEY_F3 GDK_F3 #define GDK_KEY_F4 GDK_F4 #define GDK_KEY_Insert GDK_Insert #define GDK_KEY_0 GDK_0 #define GDK_KEY_9 GDK_9 #define GDK_KEY_a GDK_a #define GDK_KEY_c GDK_c #define GDK_KEY_e GDK_e #define GDK_KEY_g GDK_g #define GDK_KEY_i GDK_i #define GDK_KEY_k GDK_k #define GDK_KEY_n GDK_n #define GDK_KEY_p GDK_p #define GDK_KEY_v GDK_v #define GDK_KEY_w GDK_w #define GDK_KEY_x GDK_x #define GDK_KEY_z GDK_z #define GDK_KEY_A GDK_A #define GDK_KEY_F GDK_F #define GDK_KEY_G GDK_G #define GDK_KEY_W GDK_W #define GDK_KEY_Z GDK_Z #endif #if GTK_CHECK_VERSION(2, 20, 0) #else #define gtk_statusbar_get_message_area(widget) widget->frame #define gtk_widget_get_realized GTK_WIDGET_REALIZED #define gtk_widget_get_mapped GTK_WIDGET_MAPPED static inline void gtk_widget_set_realized( GtkWidget *widget, gboolean realized ) { if ( realized ) GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); else GTK_WIDGET_UNSET_FLAGS (widget, GTK_REALIZED); } #endif #endif /* __GTK2_COMPAT_H */ spacefm-1.0.5/src/item-prop.c000077500000000000000000003176001264770501700160250ustar00rootroot00000000000000#ifdef HAVE_CONFIG_H # include #endif //#include #include #include "exo-tree-view.h" #include "gtk2-compat.h" #include #include #include #include #include #include #include "item-prop.h" #include "ptk-app-chooser.h" #include "main-window.h" const char* enter_command_use = N_("Enter program or bash command line(s):\n\nUse:\n\t%F\tselected files or %f first selected file\n\t%N\tselected filenames or %n first selected filename\n\t%d\tcurrent directory\n\t%v\tselected device (eg /dev/sda1)\n\t%m\tdevice mount point (eg /media/dvd); %l device label\n\t%b\tselected bookmark\n\t%t\tselected task directory; %p task pid\n\t%a\tmenu item value\n\t$fm_panel, $fm_tab, $fm_command, etc"); enum { CONTEXT_COL_DISP, CONTEXT_COL_SUB, CONTEXT_COL_COMP, CONTEXT_COL_VALUE }; typedef struct { GtkWidget* dlg; GtkWidget* parent; GtkWidget* notebook; XSetContext* context; XSet* set; char* temp_cmd_line; struct stat64 script_stat; gboolean script_stat_valid; gboolean reset_command; // Menu Item Page GtkWidget* item_type; GtkWidget* item_name; GtkWidget* item_key; GtkWidget* item_icon; GtkWidget* target_vbox; GtkWidget* target_label; GtkWidget* item_target; GtkWidget* item_choose; GtkWidget* item_browse; GtkWidget* icon_choose_btn; // Context Page GtkWidget* vbox_context; GtkWidget* view; GtkButton* btn_remove; GtkButton* btn_add; GtkButton* btn_apply; GtkButton* btn_ok; GtkWidget* box_sub; GtkWidget* box_comp; GtkWidget* box_value; GtkWidget* box_match; GtkWidget* box_action; GtkLabel* current_value; GtkLabel* test; GtkWidget* hbox_match; GtkFrame* frame; GtkWidget* ignore_context; GtkWidget* hbox_opener; GtkWidget* opener; // Command Page GtkWidget* cmd_opt_line; GtkWidget* cmd_opt_script; GtkWidget* cmd_edit; GtkWidget* cmd_edit_root; GtkWidget* cmd_line_label; GtkWidget* cmd_scroll_script; GtkWidget* cmd_script; GtkWidget* cmd_opt_normal; GtkWidget* cmd_opt_checkbox; GtkWidget* cmd_opt_confirm; GtkWidget* cmd_opt_input; GtkWidget* cmd_vbox_msg; GtkWidget* cmd_scroll_msg; GtkWidget* cmd_msg; GtkWidget* opt_terminal; GtkWidget* opt_keep_term; GtkWidget* cmd_user; GtkWidget* opt_task; GtkWidget* opt_task_pop; GtkWidget* opt_task_err; GtkWidget* opt_task_out; GtkWidget* opt_scroll; GtkWidget* opt_hbox_task; GtkWidget* open_browser; } ContextData; static const char* context_sub[] = { N_("MIME Type"), N_("Filename"), N_("Directory"), N_("Dir Write Access"), N_("File Is Text"), N_("File Is Dir"), N_("File Is Link"), N_("User Is Root"), N_("Multiple Selected"), N_("Clipboard Has Files"), N_("Clipboard Has Text"), N_("Current Panel"), N_("Panel Count"), N_("Current Tab"), N_("Tab Count"), N_("Bookmark"), N_("Device"), N_("Device Mount Point"), N_("Device Label"), N_("Device FSType"), N_("Device UDI"), N_("Device Properties"), N_("Task Count"), N_("Task Directory"), N_("Task Type"), N_("Task Name"), N_("Panel 1 Directory"), N_("Panel 2 Directory"), N_("Panel 3 Directory"), N_("Panel 4 Directory"), N_("Panel 1 Has Sel"), N_("Panel 2 Has Sel"), N_("Panel 3 Has Sel"), N_("Panel 4 Has Sel"), N_("Panel 1 Device"), N_("Panel 2 Device"), N_("Panel 3 Device"), N_("Panel 4 Device") }; static const char* context_sub_list[] = { "4%%%%%application/%%%%%audio/%%%%%audio/ || video/%%%%%image/%%%%%inode/directory%%%%%text/%%%%%video/%%%%%application/x-bzip||application/x-bzip-compressed-tar||application/x-gzip||application/zip||application/x-7z-compressed||application/x-bzip2||application/x-bzip2-compressed-tar||application/x-xz-compressed-tar||application/x-compressed-tar||application/x-rar", //"MIME Type", "6%%%%%archive_types || .gz || .bz2 || .7z || .xz || .txz || .tgz || .zip || .rar || .tar || .tar.gz || .tar.xz || .tar.bz2 || .tar.7z%%%%%audio_types || .mp3 || .MP3 || .m3u || .wav || .wma || .aac || .ac3 || .flac || .ram || .m4a || .ogg%%%%%image_types || .jpg || .jpeg || .gif || .png || .xpm%%%%%video_types || .mp4 || .MP4 || .avi || .AVI || .mkv || .mpeg || .mpg || .flv || .vob || .asf || .rm || .m2ts || .mov", //"Filename", "0%%%%%", //"Dir", "0%%%%%false%%%%%true", //"Dir Write Access", "0%%%%%false%%%%%true", //"File Is Text", "0%%%%%false%%%%%true", //"File Is Dir", "0%%%%%false%%%%%true", //"File Is Link", "0%%%%%false%%%%%true", //"User Is Root", "0%%%%%false%%%%%true", //"Multiple Selected", "0%%%%%false%%%%%true", //"Clipboard Has Files", "0%%%%%false%%%%%true", //"Clipboard Has Text", "0%%%%%1%%%%%2%%%%%3%%%%%4", //"Current Panel", "0%%%%%1%%%%%2%%%%%3%%%%%4", //"Panel Count", "0%%%%%1%%%%%2%%%%%3%%%%%4%%%%%5%%%%%6", //"Current Tab", "0%%%%%1%%%%%2%%%%%3%%%%%4%%%%%5%%%%%6", //"Tab Count", "0%%%%%", //"Bookmark", "0%%%%%/dev/sdb1%%%%%/dev/sdc1%%%%%/dev/sdd1%%%%%/dev/sr0", //"Device", "0%%%%%", //"Device Mount Point", "0%%%%%", //"Device Label", "0%%%%%btrfs%%%%%ext2%%%%%ext3%%%%%ext4%%%%%ext2 || ext3 || ext4%%%%%ntfs%%%%%reiser4%%%%%reiserfs%%%%%swap%%%%%ufs%%%%%vfat%%%%%xfs", //Device FSType", "0%%%%%", //"Device UDI", "2%%%%%audiocd%%%%%blank%%%%%dvd%%%%%dvd && blank%%%%%ejectable%%%%%floppy%%%%%internal%%%%%mountable%%%%%mounted%%%%%no_media%%%%%optical%%%%%optical && blank%%%%%optical && mountable%%%%%optical && mounted%%%%%removable%%%%%removable && mountable%%%%%removable && mounted%%%%%removable || optical%%%%%table%%%%%policy_hide%%%%%policy_noauto", //"Device Properties", "8%%%%%0%%%%%1%%%%%2", //"Task Count", "0%%%%%", //"Task Dir", "0%%%%%change%%%%%copy%%%%%delete%%%%%link%%%%%move%%%%%run%%%%%trash", //"Task Type", "0%%%%%", //"Task Name", "0%%%%%", //"Panel 1 Dir", "0%%%%%", //"Panel 2 Dir", "0%%%%%", //"Panel 3 Dir", "0%%%%%", //"Panel 4 Dir", "0%%%%%false%%%%%true", //"Panel 1 Has Sel", "0%%%%%false%%%%%true", //"Panel 2 Has Sel", "0%%%%%false%%%%%true", //"Panel 3 Has Sel", "0%%%%%false%%%%%true", //"Panel 4 Has Sel", "0%%%%%dev/sdb1%%%%%/dev/sdc1%%%%%/dev/sdd1%%%%%/dev/sr0", //"Panel 1 Device", "0%%%%%dev/sdb1%%%%%/dev/sdc1%%%%%/dev/sdd1%%%%%/dev/sr0", //"Panel 2 Device", "0%%%%%dev/sdb1%%%%%/dev/sdc1%%%%%/dev/sdd1%%%%%/dev/sr0", //"Panel 3 Device", "0%%%%%dev/sdb1%%%%%/dev/sdc1%%%%%/dev/sdd1%%%%%/dev/sr0" //"Panel 4 Device" }; enum { CONTEXT_COMP_EQUALS, CONTEXT_COMP_NEQUALS, CONTEXT_COMP_CONTAINS, CONTEXT_COMP_NCONTAINS, CONTEXT_COMP_BEGINS, CONTEXT_COMP_NBEGINS, CONTEXT_COMP_ENDS, CONTEXT_COMP_NENDS, CONTEXT_COMP_LESS, CONTEXT_COMP_GREATER, CONTEXT_COMP_MATCH, CONTEXT_COMP_NMATCH }; static const char* context_comp[] = { N_("equals"), N_("doesn't equal"), N_("contains"), N_("doesn't contain"), N_("begins with"), N_("doesn't begin with"), N_("ends with"), N_("doesn't end with"), N_("is less than"), N_("is greater than"), N_("matches"), N_("doesn't match") }; static const char* item_types[] = { N_("Bookmark"), N_("Application"), N_("Command"), }; enum { ITEM_TYPE_BOOKMARK, ITEM_TYPE_APP, ITEM_TYPE_COMMAND }; static char* get_element_next( char** s ) { char* ret; if ( !*s ) return NULL; char* sep = strstr( *s, "%%%%%" ); if ( !sep ) { if ( *s[0] == '\0' ) return ( *s = NULL ); ret = g_strdup( *s ); *s = NULL; return ret; } ret = g_strndup( *s, sep - *s ); *s = sep + 5; return ret; } gboolean get_rule_next( char** s, int* sub, int* comp, char** value ) { char* vs; vs = get_element_next( s ); if ( !vs ) return FALSE; *sub = atoi( vs ); g_free( vs ); if ( *sub < 0 || *sub >= G_N_ELEMENTS( context_sub ) ) return FALSE; vs = get_element_next( s ); *comp = atoi( vs ); g_free( vs ); if ( *comp < 0 || *comp >= G_N_ELEMENTS( context_comp ) ) return FALSE; if ( !( *value = get_element_next( s ) ) ) *value = g_strdup( "" ); return TRUE; } int xset_context_test( XSetContext* context, char* rules, gboolean def_disable ) { // assumes valid xset_context and rules != NULL and no global ignore int i, sep_type, sub, comp; char* value; int match, action; char* s; char* eleval; char* sep; gboolean test; enum { ANY, ALL, NANY, NALL }; // get valid action and match char* elements = rules; if ( !( s = get_element_next( &elements ) ) ) return 0; action = atoi( s ); g_free( s ); if ( action < 0 || action > 3 ) return 0; if ( !( s = get_element_next( &elements ) ) ) return 0; match = atoi( s ); g_free( s ); if ( match < 0 || match > 3 ) return 0; if ( action != CONTEXT_HIDE && action != CONTEXT_SHOW && def_disable ) return CONTEXT_DISABLE; // parse rules gboolean is_rules = FALSE; gboolean all_match = TRUE; gboolean no_match = TRUE; gboolean any_match = FALSE; while ( get_rule_next( &elements, &sub, &comp, &value ) ) { is_rules = TRUE; eleval = value; do { if ( sep = strstr( eleval, "||" ) ) sep_type = 1; else if ( sep = strstr( eleval, "&&" ) ) sep_type = 2; if ( sep ) { sep[0] = '\0'; i = -1; // remove trailing spaces from eleval while ( sep + i >= eleval && sep[i] == ' ' ) { sep[i] = '\0'; i--; } } switch ( comp ) { case CONTEXT_COMP_EQUALS: test = !strcmp( context->var[sub], eleval ); break; case CONTEXT_COMP_NEQUALS: test = strcmp( context->var[sub], eleval ); break; case CONTEXT_COMP_CONTAINS: test = !!strstr( context->var[sub], eleval ); break; case CONTEXT_COMP_NCONTAINS: test = !strstr( context->var[sub], eleval ); break; case CONTEXT_COMP_BEGINS: test = g_str_has_prefix( context->var[sub], eleval ); break; case CONTEXT_COMP_NBEGINS: test = !g_str_has_prefix( context->var[sub], eleval ); break; case CONTEXT_COMP_ENDS: test = g_str_has_suffix( context->var[sub], eleval ); break; case CONTEXT_COMP_NENDS: test = !g_str_has_suffix( context->var[sub], eleval ); break; case CONTEXT_COMP_LESS: test = atoi( context->var[sub] ) < atoi( eleval ); break; case CONTEXT_COMP_GREATER: test = atoi( context->var[sub] ) > atoi( eleval ); break; case CONTEXT_COMP_MATCH: case CONTEXT_COMP_NMATCH: s = g_utf8_strdown( eleval, -1 ); if ( g_strcmp0( eleval, s ) ) { // pattern contains uppercase chars - test case sensitive test = fnmatch( eleval, context->var[sub], 0 ); } else { // case insensitive char* str = g_utf8_strdown( context->var[sub], -1 ); test = fnmatch( s, str, 0 ); g_free( str ); } g_free( s ); if ( comp == CONTEXT_COMP_MATCH ) test = !test; break; default: test = match == NANY || match == NALL; //failsafe } if ( sep ) { if ( test ) { if ( sep_type == 1 ) // || break; } else { if ( sep_type == 2 ) // && break; } eleval = sep + 2; while ( eleval[0] == ' ' ) eleval++; } else eleval[0] = '\0'; } while ( eleval[0] != '\0' ); g_free( value ); if ( test ) { any_match = TRUE; no_match = FALSE; if ( match == ANY || match == NANY || match == NALL ) break; } else { all_match = FALSE; if ( match == ALL ) break; } } if ( !is_rules ) return CONTEXT_SHOW; gboolean is_match; if ( match == ALL ) is_match = all_match; else if ( match == NALL ) is_match = !any_match; else if ( match == NANY ) is_match = no_match; else // ANY is_match = !no_match; if ( action == CONTEXT_SHOW ) return is_match ? CONTEXT_SHOW : CONTEXT_HIDE; if ( action == CONTEXT_ENABLE ) return is_match ? CONTEXT_SHOW : CONTEXT_DISABLE; if ( action == CONTEXT_DISABLE ) return is_match ? CONTEXT_DISABLE : CONTEXT_SHOW; // CONTEXT_HIDE if ( is_match ) return CONTEXT_HIDE; return def_disable ? CONTEXT_DISABLE : CONTEXT_SHOW; } char* context_build( ContextData* ctxt ) { GtkTreeIter it; char* value; int sub, comp; char* new_context = NULL; char* old_context; GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( ctxt->view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { new_context = g_strdup_printf( "%d%%%%%%%%%%%d", gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->box_action ) ), gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->box_match ) ) ); do { gtk_tree_model_get( model, &it, CONTEXT_COL_VALUE, &value, CONTEXT_COL_SUB, &sub, CONTEXT_COL_COMP, &comp, -1 ); old_context = new_context; new_context = g_strdup_printf( "%s%%%%%%%%%%%d%%%%%%%%%%%d%%%%%%%%%%%s", old_context, sub, comp, value ); g_free( old_context ); } while ( gtk_tree_model_iter_next( model, &it ) ); } return new_context; } void enable_context( ContextData* ctxt ) { GtkTreeIter it; gboolean is_sel = gtk_tree_selection_get_selected( gtk_tree_view_get_selection( GTK_TREE_VIEW( ctxt->view ) ), NULL, NULL ); gtk_widget_set_sensitive( GTK_WIDGET( ctxt->btn_remove ), is_sel ); gtk_widget_set_sensitive( GTK_WIDGET( ctxt->btn_apply ), is_sel ); //gtk_widget_set_sensitive( GTK_WIDGET( ctxt->hbox_match ), // gtk_tree_model_get_iter_first( // gtk_tree_view_get_model( GTK_TREE_VIEW( ctxt->view ) ), &it ) ); if ( ctxt->context && ctxt->context->valid ) { char* rules = context_build( ctxt ); char* text = _("Current: Show"); if ( rules ) { int action = xset_context_test( ctxt->context, rules, FALSE ); if ( action == CONTEXT_HIDE ) text = _("Current: Hide"); else if ( action == CONTEXT_DISABLE ) text = _("Current: Disable"); else if ( action == CONTEXT_SHOW && gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->box_action ) ) == CONTEXT_DISABLE ) text = _("Current: Enable"); } gtk_label_set_text( ctxt->test, text ); } } void on_context_action_changed( GtkComboBox* box, ContextData* ctxt ) { enable_context( ctxt ); } char* context_display( int sub, int comp, char* value ) { char* disp; if ( value[0] == '\0' || value[0] == ' ' || g_str_has_suffix( value, " " ) ) disp = g_strdup_printf( "%s %s \"%s\"", _(context_sub[sub]), _(context_comp[comp]), value ); else disp = g_strdup_printf( "%s %s %s", _(context_sub[sub]), _(context_comp[comp]), value ); return disp; } void on_context_button_press( GtkWidget* widget, ContextData* ctxt ) { GtkTreeIter it; GtkTreeSelection* tree_sel; GtkTreeModel* model; if ( widget == GTK_WIDGET( ctxt->btn_add ) || widget == GTK_WIDGET( ctxt->btn_apply ) ) { int sub = gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->box_sub ) ); int comp = gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->box_comp ) ); if ( sub < 0 || comp < 0 ) return; model = gtk_tree_view_get_model( GTK_TREE_VIEW( ctxt->view ) ); if ( widget == GTK_WIDGET( ctxt->btn_add ) ) gtk_list_store_append( GTK_LIST_STORE( model ), &it ); else { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( ctxt->view ) ); if ( !gtk_tree_selection_get_selected( tree_sel, NULL, &it ) ) return; } char* value = gtk_combo_box_text_get_active_text( GTK_COMBO_BOX_TEXT( ctxt->box_value ) ); char* disp = context_display( sub, comp, value ); gtk_list_store_set( GTK_LIST_STORE( model ), &it, CONTEXT_COL_DISP, disp, CONTEXT_COL_SUB, sub, CONTEXT_COL_COMP, comp, CONTEXT_COL_VALUE, value, -1 ); g_free( disp ); g_free( value ); gtk_widget_set_sensitive( GTK_WIDGET( ctxt->btn_ok ), TRUE ); if ( widget == GTK_WIDGET( ctxt->btn_add ) ) gtk_tree_selection_select_iter( gtk_tree_view_get_selection( GTK_TREE_VIEW( ctxt->view ) ), &it ); enable_context( ctxt ); return; } //remove model = gtk_tree_view_get_model( GTK_TREE_VIEW( ctxt->view ) ); tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( ctxt->view ) ); if ( gtk_tree_selection_get_selected( tree_sel, NULL, &it ) ) gtk_list_store_remove( GTK_LIST_STORE( model ), &it ); enable_context( ctxt ); } void on_context_sub_changed( GtkComboBox* box, ContextData* ctxt ) { GtkTreeIter it; char* value; GtkTreeModel* model = gtk_combo_box_get_model( GTK_COMBO_BOX( ctxt->box_value ) ); while ( gtk_tree_model_get_iter_first( model, &it ) ) gtk_list_store_remove( GTK_LIST_STORE( model ), &it ); int sub = gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->box_sub ) ); if ( sub < 0 ) return; char* elements = (char*)context_sub_list[sub]; char* def_comp = get_element_next( &elements ); if ( def_comp ) { gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_comp ), atoi( def_comp ) ); g_free( def_comp ); } while ( value = get_element_next( &elements ) ) { gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_value ), value ); g_free( value ); } gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( ctxt->box_value ) ) ), "" ); if ( ctxt->context && ctxt->context->valid ) gtk_label_set_text( ctxt->current_value, ctxt->context->var[sub] ); } void on_context_row_activated( GtkTreeView* view, GtkTreePath* tree_path, GtkTreeViewColumn* col, ContextData* ctxt ) { GtkTreeIter it; char* value; int sub, comp; GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( ctxt->view ) ); if ( !gtk_tree_model_get_iter( model, &it, tree_path ) ) return; gtk_tree_model_get( model, &it, CONTEXT_COL_VALUE, &value, CONTEXT_COL_SUB, &sub, CONTEXT_COL_COMP, &comp, -1 ); gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_sub ), sub ); gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_comp ), comp ); gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( ctxt->box_value ) ) ), value ); gtk_widget_grab_focus( ctxt->box_value ); //enable_context( ctxt ); } gboolean on_current_value_button_press( GtkWidget *widget, GdkEventButton *event, ContextData* ctxt ) { if ( event->type == GDK_2BUTTON_PRESS && event->button == 1 ) { gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( ctxt->box_value ) ) ), gtk_label_get_text( ctxt->current_value ) ); gtk_widget_grab_focus( ctxt->box_value ); return TRUE; } return FALSE; } void on_context_entry_insert( GtkEntryBuffer *buf, guint position, gchar *chars, guint n_chars, gpointer user_data ) { // remove linefeeds from pasted text if ( !strchr( gtk_entry_buffer_get_text( buf ), '\n' ) ) return; char* new_text = replace_string( gtk_entry_buffer_get_text( buf ), "\n", "", FALSE ); gtk_entry_buffer_set_text( buf, new_text, -1 ); g_free( new_text ); } gboolean on_context_selection_change( GtkTreeSelection* tree_sel, ContextData* ctxt ) { enable_context( ctxt ); return FALSE; } static gboolean on_context_entry_keypress( GtkWidget *entry, GdkEventKey* event, ContextData* ctxt ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { if ( gtk_widget_get_sensitive( GTK_WIDGET( ctxt->btn_apply ) ) ) on_context_button_press( GTK_WIDGET( ctxt->btn_apply ), ctxt ); else on_context_button_press( GTK_WIDGET( ctxt->btn_add ), ctxt ); return TRUE; } return FALSE; } void enable_options( ContextData* ctxt ) { gtk_widget_set_sensitive( ctxt->opt_keep_term, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_terminal ) ) ); gboolean as_task = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_task ) ); gtk_widget_set_sensitive( ctxt->opt_task_pop, as_task ); gtk_widget_set_sensitive( ctxt->opt_task_err, as_task ); gtk_widget_set_sensitive( ctxt->opt_task_out, as_task ); gtk_widget_set_sensitive( ctxt->opt_scroll, as_task ); gtk_widget_set_sensitive( ctxt->cmd_vbox_msg, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_confirm ) ) || gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_input ) ) ); gtk_widget_set_sensitive( ctxt->item_icon, !gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_checkbox ) ) && ctxt->set->menu_style != XSET_MENU_SEP && ctxt->set->menu_style != XSET_MENU_SUBMENU ); if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_confirm ) ) ) { // add default msg GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->cmd_msg ) ); if ( gtk_text_buffer_get_char_count( buf ) == 0 ) gtk_text_buffer_set_text( buf, _("Are you sure?"), -1 ); } else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_input ) ) ) { // remove default msg GtkTextIter iter, siter; GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->cmd_msg ) ); gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* text = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); if ( text && !strcmp( text, _("Are you sure?") ) ) gtk_text_buffer_set_text( buf, "", -1 ); g_free( text ); } } gboolean is_command_script_newer( ContextData* ctxt ) { struct stat64 statbuf; if ( !ctxt->script_stat_valid ) return FALSE; char* script = xset_custom_get_script( ctxt->set, FALSE ); if ( script && stat64( script, &statbuf ) == 0 ) { if ( statbuf.st_mtime != ctxt->script_stat.st_mtime || statbuf.st_size != ctxt->script_stat.st_size ) return TRUE; } return FALSE; } void command_script_stat( ContextData* ctxt ) { char* script = xset_custom_get_script( ctxt->set, FALSE ); if ( script && stat64( script, &ctxt->script_stat ) == 0 ) ctxt->script_stat_valid = TRUE; else ctxt->script_stat_valid = FALSE; g_free( script ); } void load_text_view( GtkTextView* view, const char* line ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( view ); if ( !line ) { gtk_text_buffer_set_text( buf, "", -1 ); return; } char* lines = replace_string( line, "\\n", "\n", FALSE ); char* tabs = replace_string( lines, "\\t", "\t", FALSE ); gtk_text_buffer_set_text( buf, tabs, -1 ); g_free( lines ); g_free( tabs ); } char* get_text_view( GtkTextView* view ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( view ); GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* text = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); if ( !( text && text[0] ) ) { g_free( text ); return NULL; } char* lines = replace_string( text, "\n", "\\n", FALSE ); char* tabs = replace_string( lines, "\t", "\\t", FALSE ); g_free( text ); g_free( lines ); return tabs; } void load_command_script( ContextData* ctxt, XSet* set ) { gboolean modified = FALSE; FILE* file = 0; GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->cmd_script ) ); char* script = xset_custom_get_script( set, !set->plugin ); if ( !script ) gtk_text_buffer_set_text( buf, "", -1 ); else { char line[ 4096 ]; gtk_text_buffer_set_text( buf, "", -1 ); file = fopen( script, "r" ); if ( !file ) g_warning( _("error reading file %s: %s"), script, g_strerror( errno ) ); else { // read file one line at a time to prevent splitting UTF-8 characters while ( fgets( line, sizeof( line ), file ) ) { if ( !g_utf8_validate( line, -1, NULL ) ) { fclose( file ); gtk_text_buffer_set_text( buf, "", -1 ); modified = TRUE; g_warning( _("file '%s' contents are not valid UTF-8"), script ); break; } gtk_text_buffer_insert_at_cursor( buf, line, -1 ); } fclose( file ); } } gboolean have_access = script && have_rw_access( script ); gtk_text_view_set_editable( GTK_TEXT_VIEW( ctxt->cmd_script ), !set->plugin && ( !file || have_access ) ); gtk_text_buffer_set_modified( buf, modified ); command_script_stat( ctxt ); g_free( script ); if ( have_access && geteuid() != 0 ) gtk_widget_hide( ctxt->cmd_edit_root ); else gtk_widget_show( ctxt->cmd_edit_root ); } void save_command_script( ContextData* ctxt, gboolean query ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->cmd_script ) ); if ( !gtk_text_buffer_get_modified( buf ) ) return; if ( query && xset_msg_dialog( ctxt->dlg, GTK_MESSAGE_QUESTION, _("Save Modified Script?"), NULL, GTK_BUTTONS_YES_NO, _("Save your changes to the command script?"), NULL, NULL ) == GTK_RESPONSE_NO ) return; if ( is_command_script_newer( ctxt ) && xset_msg_dialog( ctxt->dlg, GTK_MESSAGE_QUESTION, _("Overwrite Script?"), NULL, GTK_BUTTONS_YES_NO, _("The command script on disk has changed.\n\nDo you want to overwrite it?"), NULL, NULL ) == GTK_RESPONSE_NO ) return; char* script = xset_custom_get_script( ctxt->set, FALSE ); if ( !script ) return; GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* text = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); FILE* file = fopen( script, "w" ); if ( file ) { fputs( text, file ); fclose( file ); } g_free( text ); } void on_script_toggled( GtkWidget* item, ContextData* ctxt ) { if ( !gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( item ) ) ) return; if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_line ) ) ) { // set to command line save_command_script( ctxt, TRUE ); gtk_widget_show( ctxt->cmd_line_label ); gtk_widget_show( ctxt->cmd_edit_root ); load_text_view( GTK_TEXT_VIEW( ctxt->cmd_script ), ctxt->temp_cmd_line ); } else { // set to script gtk_widget_hide( ctxt->cmd_line_label ); g_free( ctxt->temp_cmd_line ); ctxt->temp_cmd_line = get_text_view( GTK_TEXT_VIEW( ctxt->cmd_script ) ); load_command_script( ctxt, ctxt->set ); #if GTK_CHECK_VERSION(2, 24, 0) // update Open In Browser file count - cosmetic only // should probably rebuild entire list on click to avoid gtk 2.24 dep char* path; if ( ctxt->set->plugin ) path = g_build_filename( ctxt->set->plug_dir, ctxt->set->plug_name, NULL ); else path = g_build_filename( xset_get_config_dir(), "scripts", ctxt->set->name, NULL ); char* str = g_strdup_printf( "%s $fm_cmd_dir %s", _("Command Dir"), dir_has_files( path ) ? "" : _("(no files)") ); gtk_combo_box_text_remove( GTK_COMBO_BOX_TEXT( ctxt->open_browser ), 0); gtk_combo_box_text_insert_text( GTK_COMBO_BOX_TEXT( ctxt->open_browser ), 0, str ); g_free( str ); g_free( path ); #endif } GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->cmd_script ) ); GtkTextIter siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_place_cursor( buf, &siter ); gtk_widget_grab_focus( ctxt->cmd_script ); } void on_cmd_opt_toggled( GtkWidget* item, ContextData* ctxt ) { enable_options( ctxt ); if ( ( item == ctxt->cmd_opt_confirm || item == ctxt->cmd_opt_input ) && gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( item ) ) ) gtk_widget_grab_focus( ctxt->cmd_msg ); else if ( item == ctxt->opt_terminal && gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( item ) ) ) // checking run in terminal unchecks run as task gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_task ), FALSE ); } void on_ignore_context_toggled( GtkWidget* item, ContextData* ctxt ) { gtk_widget_set_sensitive( ctxt->vbox_context, !gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( item ) ) ); } void on_edit_button_press( GtkWidget* btn, ContextData* ctxt ) { char* path; if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_line ) ) ) { // set to command line - get path of first argument GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->cmd_script ) ); GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* text = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); if ( !( text && text[0] ) ) path = NULL; else { char* str; if ( str = strchr( text, ' ' ) ) str[0] = '\0'; if ( str = strchr( text, '\n' ) ) str[0] = '\0'; path = g_strdup( g_strstrip( text ) ); if ( path[0] == '\0' || ( path[0] != '/' && !g_ascii_isalnum( path[0] ) ) ) { g_free( path ); path = NULL; } else if ( path[0] != '/' ) { str = path; path = g_find_program_in_path( str ); g_free( str ); } } g_free( text ); if ( !( path && mime_type_is_text_file( path, NULL ) ) ) { xset_msg_dialog( GTK_WIDGET( ctxt->dlg ), GTK_MESSAGE_ERROR, _("Error"), NULL, 0, _("The command line does not begin with a text file (script) to be opened, or the script was not found in your $PATH."), NULL, NULL ); g_free( path ); return; } } else { // set to script save_command_script( ctxt, FALSE ); path = xset_custom_get_script( ctxt->set, !ctxt->set->plugin ); } if ( path && mime_type_is_text_file( path, NULL ) ) { xset_edit( ctxt->dlg, path, btn == ctxt->cmd_edit_root, btn != ctxt->cmd_edit_root ); } g_free( path ); } void on_open_browser( GtkComboBox* box, ContextData* ctxt ) { char* folder = NULL; char* script; int job = gtk_combo_box_get_active( GTK_COMBO_BOX( box ) ); gtk_combo_box_set_active( GTK_COMBO_BOX( box ), -1 ); if ( job == 0 ) { // Command Dir if ( ctxt->set->plugin ) { folder = g_build_filename( ctxt->set->plug_dir, "files", NULL ); if ( !g_file_test( folder, G_FILE_TEST_EXISTS ) ) { g_free( folder ); folder = g_build_filename( ctxt->set->plug_dir, ctxt->set->plug_name, NULL ); } } else { script = xset_custom_get_script( ctxt->set, FALSE ); //backwards compat copy if ( script ) g_free( script ); folder = g_build_filename( xset_get_config_dir(), "scripts", ctxt->set->name, NULL ); } if ( !g_file_test( folder, G_FILE_TEST_EXISTS ) && !ctxt->set->plugin ) { g_mkdir_with_parents( folder, 0700 ); chmod( folder, 0700 ); } } else if ( job == 1 ) { // Data Dir if ( ctxt->set->plugin ) { XSet* mset = xset_get_plugin_mirror( ctxt->set ); folder = g_build_filename( xset_get_config_dir(), "plugin-data", mset->name, NULL ); } else folder = g_build_filename( xset_get_config_dir(), "plugin-data", ctxt->set->name, NULL ); if ( !g_file_test( folder, G_FILE_TEST_EXISTS ) ) { g_mkdir_with_parents( folder, 0700 ); chmod( folder, 0700 ); } } else if ( job == 2 ) { // Plugin Dir if ( ctxt->set->plugin && ctxt->set->plug_dir ) folder = g_strdup( ctxt->set->plug_dir ); } else return; if ( folder && g_file_test( folder, G_FILE_TEST_IS_DIR ) ) open_in_prog( folder ); g_free( folder ); } void on_key_button_clicked( GtkWidget* widget, ContextData* ctxt ) { xset_set_key( ctxt->dlg, ctxt->set ); XSet* keyset; if ( ctxt->set->shared_key ) keyset = xset_get( ctxt->set->shared_key ); else keyset = ctxt->set; char* str = xset_get_keyname( keyset, 0, 0 ); gtk_button_set_label( GTK_BUTTON( ctxt->item_key ), str ); g_free( str ); } void on_type_changed( GtkComboBox* box, ContextData* ctxt ) { XSet* rset = ctxt->set; XSet* mset = xset_get_plugin_mirror( rset ); int job = gtk_combo_box_get_active( GTK_COMBO_BOX( box ) ); if ( job < ITEM_TYPE_COMMAND ) { // Bookmark or App gtk_widget_show( ctxt->target_vbox ); gtk_widget_hide( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), 2 ) ); gtk_widget_hide( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), 3 ) ); if ( job == ITEM_TYPE_BOOKMARK ) { gtk_widget_hide( ctxt->item_choose ); gtk_widget_hide( ctxt->hbox_opener ); gtk_button_set_image( GTK_BUTTON( ctxt->item_browse ), xset_get_image( GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); gtk_label_set_text( GTK_LABEL( ctxt->target_label ), _("Targets: (a semicolon-separated list of paths or URLs)") ); } else { gtk_widget_show( ctxt->item_choose ); gtk_widget_show( ctxt->hbox_opener ); gtk_button_set_image( GTK_BUTTON( ctxt->item_browse ), xset_get_image( GTK_STOCK_EXECUTE, GTK_ICON_SIZE_BUTTON ) ); gtk_label_set_text( GTK_LABEL( ctxt->target_label ), _("Target: (a .desktop or executable file)") ); } } else { // Command gtk_widget_hide( ctxt->target_vbox ); gtk_widget_show( ctxt->hbox_opener ); gtk_widget_show( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), 2 ) ); gtk_widget_show( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), 3 ) ); } // load command data if ( rset->x && atoi( rset->x ) == XSET_CMD_SCRIPT ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_script ), TRUE ); gtk_widget_hide( ctxt->cmd_line_label ); load_command_script( ctxt, rset ); } else load_text_view( GTK_TEXT_VIEW( ctxt->cmd_script ), rset->line ); GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->cmd_script ) ); GtkTextIter siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_place_cursor( buf, &siter ); // command options // if ctxt->reset_command is TRUE, user may be switching from bookmark to // command, so reset the command options to defaults (they are not stored // for bookmarks/applications) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_terminal ), mset->in_terminal == XSET_B_TRUE && !ctxt->reset_command ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_keep_term ), mset->keep_terminal == XSET_B_TRUE || ctxt->reset_command ); gtk_entry_set_text( GTK_ENTRY( ctxt->cmd_user ), rset->y ? rset->y : "" ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_task ), mset->task == XSET_B_TRUE || ctxt->reset_command ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_task_pop ), mset->task_pop == XSET_B_TRUE && !ctxt->reset_command ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_task_err ), mset->task_err == XSET_B_TRUE || ctxt->reset_command ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_task_out ), mset->task_out == XSET_B_TRUE || ctxt->reset_command ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->opt_scroll ), mset->scroll_lock != XSET_B_TRUE || ctxt->reset_command ); if ( rset->menu_style == XSET_MENU_CHECK ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_checkbox ), TRUE ); else if ( rset->menu_style == XSET_MENU_CONFIRM ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_confirm ), TRUE ); else if ( rset->menu_style == XSET_MENU_STRING ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_input ), TRUE ); else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_normal ), TRUE ); load_text_view( GTK_TEXT_VIEW( ctxt->cmd_msg ), rset->desc ); enable_options( ctxt ); if ( geteuid() == 0 ) { // running as root gtk_widget_hide( ctxt->cmd_edit ); } if ( job < ITEM_TYPE_COMMAND ) { // Bookmark or App buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->item_target ) ); gtk_text_buffer_set_text( buf, "", -1 ); gtk_entry_set_text( GTK_ENTRY( ctxt->item_name ), "" ); gtk_entry_set_text( GTK_ENTRY( ctxt->item_icon ), "" ); gtk_widget_grab_focus( ctxt->item_target ); // click Browse //gtk_button_clicked( GTK_BUTTON( ctxt->item_browse ) ); } if ( job == ITEM_TYPE_COMMAND || job == ITEM_TYPE_APP ) { // Opener if ( mset->opener > 2 || mset->opener < 0 ) // forwards compat gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->opener ), -1 ); else gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->opener ), mset->opener ); } } void on_browse_button_clicked( GtkWidget* widget, ContextData* ctxt ) { int job = gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->item_type ) ); if ( job == ITEM_TYPE_BOOKMARK ) { // Bookmark Browse char* add_path = xset_file_dialog( ctxt->dlg, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _("Choose Folder"), ctxt->context->var[CONTEXT_DIR], NULL ); if ( add_path && add_path[0] ) { char* old_path = multi_input_get_text( ctxt->item_target ); char* new_path = g_strdup_printf( "%s%s%s", old_path && old_path[0] ? old_path : "", old_path && old_path[0] ? "; " : "", add_path ); GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->item_target ) ); gtk_text_buffer_set_text( buf, new_path, -1 ); g_free( new_path ); g_free( add_path ); g_free( old_path ); } } else { // Application if ( widget == ctxt->item_choose ) { // Choose VFSMimeType* mime_type = vfs_mime_type_get_from_type( ctxt->context->var[CONTEXT_MIME] && ctxt->context->var[CONTEXT_MIME][0] ? ctxt->context->var[CONTEXT_MIME] : XDG_MIME_TYPE_UNKNOWN ); char* app = (char*)ptk_choose_app_for_mime_type( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( ctxt->dlg ) ) ), mime_type, TRUE, FALSE, FALSE, FALSE ); if ( app && app[0] ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->item_target ) ); gtk_text_buffer_set_text( buf, app, -1 ); } g_free( app ); vfs_mime_type_unref( mime_type ); } else { // Browse char* exec_path = xset_file_dialog( ctxt->dlg, GTK_FILE_CHOOSER_ACTION_OPEN, _("Choose Executable"), "/usr/bin", NULL ); if ( exec_path && exec_path[0] ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->item_target ) ); gtk_text_buffer_set_text( buf, exec_path, -1 ); g_free( exec_path ); } } } } void replace_item_props( ContextData* ctxt ) { int item_type, x; XSet* rset = ctxt->set; XSet* mset = xset_get_plugin_mirror( rset ); if ( !rset->lock && rset->menu_style != XSET_MENU_SUBMENU && rset->menu_style != XSET_MENU_SEP && rset->tool <= XSET_TOOL_CUSTOM ) { // custom bookmark, app, or command gboolean is_bookmark_or_app = FALSE; int item_type = gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->item_type ) ); if ( item_type == ITEM_TYPE_COMMAND ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_line ) ) ) // line x = XSET_CMD_LINE; else { // script x = XSET_CMD_SCRIPT; save_command_script( ctxt, FALSE ); } } else if ( item_type == ITEM_TYPE_APP) { x = XSET_CMD_APP; is_bookmark_or_app = TRUE; } else if ( item_type == ITEM_TYPE_BOOKMARK ) { x = XSET_CMD_BOOKMARK; is_bookmark_or_app = TRUE; } else x = -1; if ( x >= 0 ) { g_free( rset->x ); if ( x == 0 ) rset->x = NULL; else rset->x = g_strdup_printf( "%d", x ); } if ( !rset->plugin ) { // target char* str = multi_input_get_text( ctxt->item_target ); g_free( rset->z ); rset->z = str ? g_strstrip( str ) : NULL; // run as user g_free( rset->y ); rset->y = g_strdup( gtk_entry_get_text( GTK_ENTRY( ctxt->cmd_user ) ) ); // menu style if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_checkbox ) ) ) rset->menu_style = XSET_MENU_CHECK; else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_confirm ) ) ) rset->menu_style = XSET_MENU_CONFIRM; else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->cmd_opt_input ) ) ) rset->menu_style = XSET_MENU_STRING; else rset->menu_style = XSET_MENU_NORMAL; // style msg g_free( rset->desc ); rset->desc = get_text_view( GTK_TEXT_VIEW( ctxt->cmd_msg ) ); } // command line g_free( rset->line ); if ( x == XSET_CMD_LINE ) { rset->line = get_text_view( GTK_TEXT_VIEW( ctxt->cmd_script ) ); if ( rset->line && strlen( rset->line ) > 2000 ) xset_msg_dialog( ctxt->dlg, GTK_MESSAGE_WARNING, _("Command Line Too Long"), NULL, GTK_BUTTONS_OK, _("Your command line is greater than 2000 characters and may be truncated when saved. Consider using a command script instead by selecting Script on the Command tab."), NULL, NULL ); } else rset->line = g_strdup( ctxt->temp_cmd_line ); // run options mset->in_terminal = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_terminal ) ) && !is_bookmark_or_app ? XSET_B_TRUE : XSET_B_UNSET; mset->keep_terminal = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_keep_term ) ) && !is_bookmark_or_app ? XSET_B_TRUE : XSET_B_UNSET; mset->task = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_task ) ) && !is_bookmark_or_app ? XSET_B_TRUE : XSET_B_UNSET; mset->task_pop = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_task_pop ) ) && !is_bookmark_or_app ? XSET_B_TRUE : XSET_B_UNSET; mset->task_err = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_task_err ) ) && !is_bookmark_or_app ? XSET_B_TRUE : XSET_B_UNSET; mset->task_out = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_task_out ) ) && !is_bookmark_or_app ? XSET_B_TRUE : XSET_B_UNSET; mset->scroll_lock = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->opt_scroll ) ) || is_bookmark_or_app ? XSET_B_UNSET : XSET_B_TRUE; // Opener if ( ( item_type == ITEM_TYPE_COMMAND || item_type == ITEM_TYPE_APP ) ) { if ( gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->opener ) ) > -1 ) mset->opener = gtk_combo_box_get_active( GTK_COMBO_BOX( ctxt->opener ) ); // otherwise don't change for forward compat } else // reset if not applicable mset->opener = 0; } if ( rset->menu_style != XSET_MENU_SEP && !rset->plugin ) { // name if ( rset->lock && rset->in_terminal == XSET_B_UNSET && g_strcmp0( rset->menu_label, gtk_entry_get_text( GTK_ENTRY( ctxt->item_name ) ) ) ) // built-in label has been changed from default, save it rset->in_terminal = XSET_B_TRUE; g_free( rset->menu_label ); if ( rset->tool > XSET_TOOL_CUSTOM && !g_strcmp0( gtk_entry_get_text( GTK_ENTRY( ctxt->item_name ) ), xset_get_builtin_toolitem_label( rset->tool ) ) ) // don't save default label of builtin toolitems rset->menu_label = NULL; else rset->menu_label = g_strdup( gtk_entry_get_text( GTK_ENTRY( ctxt->item_name ) ) ); } // icon if ( rset->menu_style != XSET_MENU_RADIO && rset->menu_style != XSET_MENU_SEP ) // checkbox items in 1.0.1 allow icon due to bookmark list showing // toolbar checkbox items have icon //( rset->menu_style != XSET_MENU_CHECK || rset->tool ) ) { char* old_icon = g_strdup( mset->icon ); g_free( mset->icon ); const char* icon_name = gtk_entry_get_text( GTK_ENTRY( ctxt->item_icon ) ); if ( icon_name && icon_name[0] ) mset->icon = g_strdup( icon_name ); else mset->icon = NULL; if ( rset->lock && rset->keep_terminal == XSET_B_UNSET && g_strcmp0( old_icon, mset->icon ) ) // built-in icon has been changed from default, save it rset->keep_terminal = XSET_B_TRUE; g_free( old_icon ); } // Ignore Context xset_set_b( "context_dlg", gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( ctxt->ignore_context ) ) ); } void on_script_font_change( GtkMenuItem* item, GtkTextView *input ) { char* fontname = xset_get_s( "context_dlg" ); if ( fontname ) { PangoFontDescription* font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( input ), font_desc ); pango_font_description_free( font_desc ); } else gtk_widget_modify_font( GTK_WIDGET( input ), NULL ); } void on_script_popup( GtkTextView *input, GtkMenu *menu, gpointer user_data ) { GtkAccelGroup* accel_group = gtk_accel_group_new(); XSet* set = xset_get( "sep_ctxt" ); set->menu_style = XSET_MENU_SEP; set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); set = xset_set_cb( "context_dlg", on_script_font_change, input ); set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); gtk_widget_show_all( GTK_WIDGET( menu ) ); } static gboolean delayed_focus( GtkWidget* widget ) { if ( GTK_IS_WIDGET( widget ) ) gtk_widget_grab_focus( widget ); return FALSE; } void on_prop_notebook_switch_page( GtkNotebook *notebook, GtkWidget *page, guint page_num, ContextData* ctxt ) { GtkWidget* widget; if ( page_num == 0 ) widget = ctxt->set->plugin ? ctxt->item_icon : ctxt->item_name; else if ( page_num == 2 ) widget = ctxt->cmd_script; else widget = NULL; g_idle_add( (GSourceFunc)delayed_focus, widget ); } static void on_icon_choose_button_clicked( GtkWidget* widget, ContextData* ctxt ) { // get current icon char* new_icon; const char* icon = gtk_entry_get_text( GTK_ENTRY( ctxt->item_icon ) ); new_icon = xset_icon_chooser_dialog( GTK_WINDOW( ctxt->dlg ), icon ); if ( new_icon ) { gtk_entry_set_text( GTK_ENTRY( ctxt->item_icon ), new_icon ); g_free( new_icon ); } } static void on_entry_buffer_inserted_text( GtkEntryBuffer* buf, guint position, gchar* chars, guint n_chars, ContextData* ctxt ) { // update icon of icon choose button const char* icon = gtk_entry_get_text( GTK_ENTRY( ctxt->item_icon ) ); gtk_button_set_image( GTK_BUTTON( ctxt->icon_choose_btn ), xset_get_image( icon && icon[0] ? icon : GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); } static void on_entry_buffer_deleted_text( GtkEntryBuffer* buf, guint position, guint n_chars, ContextData* ctxt ) { on_entry_buffer_inserted_text( buf, position, NULL, n_chars, ctxt ); } void on_entry_activate( GtkWidget* entry, ContextData* ctxt ) { gtk_button_clicked( GTK_BUTTON( ctxt->btn_ok ) ); } static gboolean on_target_keypress( GtkWidget *widget, GdkEventKey *event, ContextData* ctxt ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { gtk_button_clicked( GTK_BUTTON( ctxt->btn_ok ) ); return TRUE; } return FALSE; } static gboolean on_dlg_keypress( GtkWidget *widget, GdkEventKey *event, ContextData* ctxt ) { int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( event->keyval == GDK_KEY_F1 && keymod == 0 ) { gtk_dialog_response( GTK_DIALOG( ctxt->dlg ), GTK_RESPONSE_HELP ); return TRUE; } return FALSE; } void xset_item_prop_dlg( XSetContext* context, XSet* set, int page ) { GtkTreeViewColumn* col; GtkCellRenderer* renderer; int i, x; char* str; if ( !context || !set ) return; ContextData* ctxt = g_slice_new0( ContextData ); ctxt->context = context; ctxt->set = set; ctxt->script_stat_valid = ctxt->reset_command = FALSE; ctxt->parent = NULL; if ( set->browser ) ctxt->parent = gtk_widget_get_toplevel( GTK_WIDGET( set->browser ) ); else if ( set->desktop ) ctxt->parent = gtk_widget_get_toplevel( GTK_WIDGET( set->desktop ) ); // Dialog ctxt->dlg = gtk_dialog_new_with_buttons( set->tool ? _("Toolbar Item Properties") : _("Menu Item Properties"), GTK_WINDOW( ctxt->parent ), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, NULL, NULL ); xset_set_window_icon( GTK_WINDOW( ctxt->dlg ) ); gtk_window_set_role( GTK_WINDOW( ctxt->dlg ), "context_dialog" ); int width = xset_get_int( "context_dlg", "x" ); int height = xset_get_int( "context_dlg", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( ctxt->dlg ), width, height ); else gtk_window_set_default_size( GTK_WINDOW( ctxt->dlg ), 800, 600 ); gtk_button_set_focus_on_click( GTK_BUTTON( gtk_dialog_add_button( GTK_DIALOG( ctxt->dlg ), GTK_STOCK_HELP, GTK_RESPONSE_HELP ) ), FALSE ); gtk_dialog_add_button( GTK_DIALOG( ctxt->dlg ), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL ); ctxt->btn_ok = GTK_BUTTON( gtk_dialog_add_button( GTK_DIALOG( ctxt->dlg ), GTK_STOCK_OK, GTK_RESPONSE_OK ) ); // Notebook ctxt->notebook = gtk_notebook_new(); gtk_notebook_set_show_border( GTK_NOTEBOOK( ctxt->notebook ), TRUE ); gtk_notebook_set_scrollable ( GTK_NOTEBOOK( ctxt->notebook ), TRUE ); gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area( GTK_DIALOG( ctxt->dlg ) ) ), ctxt->notebook, TRUE, TRUE, 0 ); // Menu Item Page ===================================================== GtkWidget* align = gtk_alignment_new( 0, 0, 0.4, 1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 8, 0, 8, 8 ); GtkWidget* vbox = gtk_vbox_new( FALSE, 4 ); gtk_container_add ( GTK_CONTAINER ( align ), vbox ); gtk_notebook_append_page( GTK_NOTEBOOK( ctxt->notebook ), align, gtk_label_new_with_mnemonic( set->tool ? _("_Toolbar Item") : _("_Menu Item") ) ); GtkTable* table = GTK_TABLE( gtk_table_new( 4, 2, FALSE ) ); gtk_container_set_border_width( GTK_CONTAINER ( table ), 0 ); gtk_table_set_row_spacings( table, 6 ); gtk_table_set_col_spacings( table, 8 ); int row = 0; GtkWidget* label = gtk_label_new_with_mnemonic( _("Type:") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_table_attach( table, label, 0, 1, row, row + 1, GTK_FILL, GTK_SHRINK, 0, 0 ); ctxt->item_type = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->item_type ), FALSE ); //align = gtk_alignment_new( 0, 0.5, 1, 1 ); //gtk_container_add ( GTK_CONTAINER ( align ), GTK_WIDGET( ctxt->item_type ) ); gtk_table_attach( table, ctxt->item_type, 1, 2, row, row + 1, GTK_FILL, GTK_SHRINK, 0, 0 ); label = gtk_label_new_with_mnemonic( _("Name:") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); row++; gtk_table_attach( table, label, 0, 1, row, row + 1, GTK_FILL, GTK_SHRINK, 0, 0 ); ctxt->item_name = gtk_entry_new(); gtk_table_attach( table, ctxt->item_name, 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0 ); label = gtk_label_new_with_mnemonic( _("Key:") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); row++; gtk_table_attach( table, label, 0, 1, row, row + 1, GTK_FILL, GTK_SHRINK, 0, 0 ); ctxt->item_key = gtk_button_new_with_label( " " ); gtk_button_set_focus_on_click( GTK_BUTTON( ctxt->item_key ), FALSE ); gtk_table_attach( table, ctxt->item_key, 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0 ); label = gtk_label_new_with_mnemonic( _("Icon:") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); row++; gtk_table_attach( table, label, 0, 1, row, row + 1, GTK_FILL, GTK_SHRINK, 0, 0 ); GtkWidget* hbox = gtk_hbox_new( FALSE, 0 ); ctxt->icon_choose_btn = gtk_button_new_with_mnemonic( _("C_hoose") ); gtk_button_set_image( GTK_BUTTON( ctxt->icon_choose_btn ), xset_get_image( GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( ctxt->icon_choose_btn ), FALSE ); #if GTK_CHECK_VERSION (3, 6, 0) // keep this gtk_button_set_always_show_image( GTK_BUTTON( ctxt->icon_choose_btn ), TRUE ); #endif ctxt->item_icon = gtk_entry_new(); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( ctxt->item_icon ) ) ), "inserted-text", G_CALLBACK( on_entry_buffer_inserted_text ), ctxt ); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( ctxt->item_icon ) ) ), "deleted-text", G_CALLBACK( on_entry_buffer_deleted_text ), ctxt ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->item_icon ), TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->icon_choose_btn ), FALSE, TRUE, 0 ); gtk_table_attach( table, hbox, 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( table ), FALSE, TRUE, 0 ); // Target ctxt->target_vbox = gtk_vbox_new( FALSE, 0 ); ctxt->target_label = gtk_label_new( NULL ); gtk_misc_set_alignment( GTK_MISC ( ctxt->target_label ), 0, 0.5 ); GtkWidget* scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scroll ), GTK_SHADOW_ETCHED_IN ); ctxt->item_target = GTK_WIDGET( multi_input_new( GTK_SCROLLED_WINDOW( scroll ), NULL, FALSE ) ); gtk_widget_set_size_request( GTK_WIDGET( ctxt->item_target ), -1, 100 ); gtk_widget_set_size_request( GTK_WIDGET( scroll ), -1, 100 ); gtk_box_pack_start( GTK_BOX( ctxt->target_vbox ), GTK_WIDGET( ctxt->target_label ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( ctxt->target_vbox ), GTK_WIDGET( scroll ), FALSE, TRUE, 0 ); hbox = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( gtk_label_new( NULL ) ), TRUE, TRUE, 0 ); ctxt->item_choose = gtk_button_new_with_mnemonic( _("C_hoose") ); gtk_button_set_image( GTK_BUTTON( ctxt->item_choose ), xset_get_image( GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( ctxt->item_choose ), FALSE ); //align = gtk_alignment_new( 1, 0.5, 0.2, 1 ); //gtk_container_add ( GTK_CONTAINER ( align ), ctxt->item_choose ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->item_choose ), FALSE, TRUE, 12 ); ctxt->item_browse = gtk_button_new_with_mnemonic( _("_Browse") ); gtk_button_set_focus_on_click( GTK_BUTTON( ctxt->item_browse ), FALSE ); //align = gtk_alignment_new( 1, 0.5, 0.2, 1 ); //gtk_container_add ( GTK_CONTAINER ( align ), ctxt->item_browse ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->item_browse ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( ctxt->target_vbox ), GTK_WIDGET( hbox ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( ctxt->target_vbox ), FALSE, TRUE, 4 ); //ctxt->show_tool = gtk_check_button_new_with_mnemonic( // _("S_how In Toolbar") ); //gtk_box_pack_start( GTK_BOX( vbox ), // GTK_WIDGET( ctxt->show_tool ), FALSE, TRUE, 16 ); // Context Page ======================================================= align = gtk_alignment_new( 0, 0, 1, 1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 8, 0, 8, 8 ); vbox = gtk_vbox_new( FALSE, 0 ); gtk_container_add ( GTK_CONTAINER ( align ), vbox ); gtk_notebook_append_page( GTK_NOTEBOOK( ctxt->notebook ), align, gtk_label_new_with_mnemonic( _("Con_text") ) ); GtkListStore* list = gtk_list_store_new( 4, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING ); // Listview ctxt->view = exo_tree_view_new(); gtk_tree_view_set_model( GTK_TREE_VIEW( ctxt->view ), GTK_TREE_MODEL( list ) ); // gtk_tree_view_set_model adds a ref g_object_unref( list ); exo_tree_view_set_single_click( (ExoTreeView*)ctxt->view, TRUE ); gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( ctxt->view ), FALSE ); scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scroll ), GTK_SHADOW_ETCHED_IN ); gtk_container_add( GTK_CONTAINER( scroll ), ctxt->view ); g_signal_connect( G_OBJECT( ctxt->view ), "row-activated", G_CALLBACK( on_context_row_activated ), ctxt ); g_signal_connect( G_OBJECT( gtk_tree_view_get_selection( GTK_TREE_VIEW( ctxt->view ) ) ), "changed", G_CALLBACK( on_context_selection_change ), ctxt ); // col display col = gtk_tree_view_column_new(); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_AUTOSIZE ); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", CONTEXT_COL_DISP, NULL ); gtk_tree_view_append_column ( GTK_TREE_VIEW( ctxt->view ), col ); gtk_tree_view_column_set_expand ( col, TRUE ); // list buttons ctxt->btn_remove = GTK_BUTTON( gtk_button_new_with_mnemonic( _("_Remove") ) ); gtk_button_set_image( ctxt->btn_remove, xset_get_image( "GTK_STOCK_REMOVE", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( ctxt->btn_remove, FALSE ); g_signal_connect( G_OBJECT( ctxt->btn_remove ), "clicked", G_CALLBACK( on_context_button_press ), ctxt ); ctxt->btn_add = GTK_BUTTON( gtk_button_new_with_mnemonic( _("_Add") ) ); gtk_button_set_image( ctxt->btn_add, xset_get_image( "GTK_STOCK_ADD", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( ctxt->btn_add, FALSE ); g_signal_connect( G_OBJECT( ctxt->btn_add ), "clicked", G_CALLBACK( on_context_button_press ), ctxt ); ctxt->btn_apply = GTK_BUTTON( gtk_button_new_with_mnemonic( _("A_pply") ) ); gtk_button_set_image( ctxt->btn_apply, xset_get_image( "GTK_STOCK_APPLY", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( ctxt->btn_apply, FALSE ); g_signal_connect( G_OBJECT( ctxt->btn_apply ), "clicked", G_CALLBACK( on_context_button_press ), ctxt ); // boxes ctxt->box_sub = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->box_sub ), FALSE ); for ( i = 0; i < G_N_ELEMENTS( context_sub ); i++ ) gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_sub ), _(context_sub[i]) ); g_signal_connect( G_OBJECT( ctxt->box_sub ), "changed", G_CALLBACK( on_context_sub_changed ), ctxt ); ctxt->box_comp = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->box_comp ), FALSE ); for ( i = 0; i < G_N_ELEMENTS( context_comp ); i++ ) gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_comp ), _(context_comp[i]) ); ctxt->box_value = gtk_combo_box_text_new_with_entry(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->box_value ), FALSE ); #if GTK_CHECK_VERSION (3, 0, 0) // see https://github.com/IgnorantGuru/spacefm/issues/43 // this seems to have no effect gtk_combo_box_set_popup_fixed_width( GTK_COMBO_BOX( ctxt->box_value ), TRUE ); #endif ctxt->box_match = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->box_match ), FALSE ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_match ), _("matches any rule:") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_match ), _("matches all rules:") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_match ), _("doesn't match any rule:") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_match ), _("doesn't match all rules:") ); g_signal_connect( G_OBJECT( ctxt->box_match ), "changed", G_CALLBACK( on_context_action_changed ), ctxt ); ctxt->box_action = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->box_action ), FALSE ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_action ), _("Show") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_action ), _("Enable") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_action ), _("Hide") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->box_action ), _("Disable") ); g_signal_connect( G_OBJECT( ctxt->box_action ), "changed", G_CALLBACK( on_context_action_changed ), ctxt ); ctxt->current_value = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_ellipsize( ctxt->current_value, PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( ctxt->current_value, TRUE ); gtk_misc_set_alignment( GTK_MISC( ctxt->current_value ), 0, 0 ); g_signal_connect( G_OBJECT( ctxt->current_value ), "button-press-event", G_CALLBACK( on_current_value_button_press ), ctxt ); g_signal_connect_after( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( ctxt->box_value ) ) ) ) ), "inserted-text", G_CALLBACK( on_context_entry_insert ), NULL ); g_signal_connect( G_OBJECT( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( ctxt->box_value ) ) ) ), "key-press-event", G_CALLBACK( on_context_entry_keypress ), ctxt ); ctxt->test = GTK_LABEL( gtk_label_new( NULL ) ); //PACK gtk_container_set_border_width( GTK_CONTAINER ( ctxt->dlg ), 10 ); ctxt->vbox_context = gtk_vbox_new( FALSE, 0 ); ctxt->hbox_match = gtk_hbox_new( FALSE, 4 ); gtk_box_pack_start( GTK_BOX( ctxt->hbox_match ), GTK_WIDGET( ctxt->box_action ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( ctxt->hbox_match ), GTK_WIDGET( gtk_label_new( _("item if context") ) ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( ctxt->hbox_match ), GTK_WIDGET( ctxt->box_match ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( ctxt->vbox_context ), GTK_WIDGET( ctxt->hbox_match ), FALSE, TRUE, 4 ); // GtkLabel* label = gtk_label_new( "Rules:" ); // gtk_misc_set_alignment( label, 0, 1 ); // gtk_box_pack_start( GTK_BOX( GTK_DIALOG( ctxt->dlg )->vbox ), // GTK_WIDGET( label ), FALSE, TRUE, 8 ); gtk_box_pack_start( GTK_BOX( ctxt->vbox_context ), GTK_WIDGET( scroll ), TRUE, TRUE, 4 ); GtkWidget* hbox_btns = gtk_hbox_new( FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_btns ), GTK_WIDGET( ctxt->btn_remove ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_btns ), GTK_WIDGET( gtk_vseparator_new() ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_btns ), GTK_WIDGET( ctxt->btn_add ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_btns ), GTK_WIDGET( ctxt->btn_apply ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_btns ), GTK_WIDGET( ctxt->test ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( ctxt->vbox_context ), GTK_WIDGET( hbox_btns ), FALSE, TRUE, 4 ); ctxt->frame = GTK_FRAME( gtk_frame_new( _("Edit Rule") ) ); GtkWidget* vbox_frame = gtk_vbox_new( FALSE, 4 ); gtk_container_add ( GTK_CONTAINER ( ctxt->frame ), vbox_frame ); GtkWidget* hbox_frame = gtk_hbox_new( FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_frame ), GTK_WIDGET( ctxt->box_sub ), FALSE, TRUE, 8 ); gtk_box_pack_start( GTK_BOX( hbox_frame ), GTK_WIDGET( ctxt->box_comp ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( hbox_frame ), FALSE, TRUE, 4 ); hbox = gtk_hbox_new( FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->box_value ), TRUE, TRUE, 8 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( hbox ), TRUE, TRUE, 4 ); hbox = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( gtk_label_new( _("Value:") ) ), FALSE, TRUE, 8 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->current_value ), TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( hbox ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( ctxt->vbox_context ), GTK_WIDGET( ctxt->frame ), FALSE, TRUE, 16 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( ctxt->vbox_context ), TRUE, TRUE, 0 ); // Opener ctxt->hbox_opener = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX( ctxt->hbox_opener ), GTK_WIDGET( gtk_label_new( _("If enabled, use as handler for:") ) ), FALSE, TRUE, 0 ); ctxt->opener = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->opener ), FALSE ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->opener ), _("none") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->opener ), _("files") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->opener ), _("devices") ); gtk_box_pack_start( GTK_BOX( ctxt->hbox_opener ), GTK_WIDGET( ctxt->opener ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( ctxt->hbox_opener ), FALSE, TRUE, 0 ); // Ignore Context ctxt->ignore_context = gtk_check_button_new_with_mnemonic( _("_Ignore Context / Show All (global setting)") ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( ctxt->ignore_context ), FALSE, TRUE, 0 ); if ( xset_get_b( "context_dlg" ) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->ignore_context ), TRUE ); gtk_widget_set_sensitive( ctxt->vbox_context, FALSE ); } g_signal_connect( G_OBJECT( ctxt->ignore_context ), "toggled", G_CALLBACK( on_ignore_context_toggled ), ctxt ); // plugin? XSet* mset; // mirror set or set XSet* rset; // real set if ( set->plugin ) { // set is plugin mset = xset_get_plugin_mirror( set ); rset = set; } else if ( !set->lock && set->desc && !strcmp( set->desc, "@plugin@mirror@" ) && set->shared_key ) { // set is plugin mirror mset = set; rset = xset_get( set->shared_key ); rset->browser = set->browser; rset->desktop = set->desktop; } else { mset = set; rset = set; } ctxt->set = rset; // set match / action char* elements = mset->context; char* action = get_element_next( &elements ); char* match = get_element_next( &elements ); if ( match && action ) { i = atoi( match ); if ( i < 0 || i > 3 ) i = 0; gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_match ), i ); i = atoi( action ); if ( i < 0 || i > 3 ) i = 0; gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_action ), i ); g_free( match ); g_free( action ); } else { gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_match ), 0 ); gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_action ), 0 ); if ( match ) g_free( match ); if ( action ) g_free( action ); } // set rules int sub, comp; char* value; char* disp; GtkTreeIter it; gboolean is_rules = FALSE; while ( get_rule_next( &elements, &sub, &comp, &value ) ) { disp = context_display( sub, comp, value ); gtk_list_store_append( GTK_LIST_STORE( list ), &it ); gtk_list_store_set( GTK_LIST_STORE( list ), &it, CONTEXT_COL_DISP, disp, CONTEXT_COL_SUB, sub, CONTEXT_COL_COMP, comp, CONTEXT_COL_VALUE, value, -1 ); g_free( disp ); if ( value ) g_free( value ); is_rules = TRUE; } gtk_combo_box_set_active( GTK_COMBO_BOX( ctxt->box_sub ), 0 ); //gtk_widget_set_sensitive( GTK_WIDGET( ctxt->btn_ok ), is_rules ); // Command Page ===================================================== align = gtk_alignment_new( 0, 0, 1, 1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 8, 0, 8, 8 ); vbox = gtk_vbox_new( FALSE, 4 ); gtk_container_add ( GTK_CONTAINER ( align ), vbox ); gtk_notebook_append_page( GTK_NOTEBOOK( ctxt->notebook ), align, gtk_label_new_with_mnemonic( _("Comm_and") ) ); hbox = gtk_hbox_new( FALSE, 8 ); ctxt->cmd_opt_line = gtk_radio_button_new_with_mnemonic( NULL, _("Command _Line") ); ctxt->cmd_opt_script = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON( ctxt->cmd_opt_line ), _("_Script") ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_opt_line ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_opt_script ), FALSE, TRUE, 0 ); ctxt->cmd_edit = gtk_button_new_with_mnemonic( _("Open In _Editor") ); gtk_button_set_focus_on_click( GTK_BUTTON( ctxt->cmd_edit ), FALSE ); g_signal_connect( G_OBJECT( ctxt->cmd_edit ), "clicked", G_CALLBACK( on_edit_button_press ), ctxt ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_edit ), FALSE, TRUE, 24 ); ctxt->cmd_edit_root = gtk_button_new_with_mnemonic( _("_Root Editor") ); gtk_button_set_focus_on_click( GTK_BUTTON( ctxt->cmd_edit_root ), FALSE ); g_signal_connect( G_OBJECT( ctxt->cmd_edit_root ), "clicked", G_CALLBACK( on_edit_button_press ), ctxt ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_edit_root ), FALSE, TRUE, 24 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, TRUE, 8 ); // Line ctxt->cmd_line_label = gtk_label_new( _(enter_command_use) ); gtk_misc_set_alignment( GTK_MISC ( ctxt->cmd_line_label ), 0, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( ctxt->cmd_line_label ), FALSE, TRUE, 8 ); // Script ctxt->cmd_scroll_script = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( ctxt->cmd_scroll_script ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( ctxt->cmd_scroll_script ), GTK_SHADOW_ETCHED_IN ); ctxt->cmd_script = GTK_WIDGET( gtk_text_view_new() ); // ubuntu shows input too small so use mininum height gtk_widget_set_size_request( GTK_WIDGET( ctxt->cmd_script ), -1, 50 ); gtk_widget_set_size_request( GTK_WIDGET( ctxt->cmd_scroll_script ), -1, 50 ); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( ctxt->cmd_script ), GTK_WRAP_WORD_CHAR ); on_script_font_change( NULL, GTK_TEXT_VIEW( ctxt->cmd_script ) ); g_signal_connect_after( G_OBJECT( ctxt->cmd_script ), "populate-popup", G_CALLBACK( on_script_popup ), NULL ); gtk_container_add ( GTK_CONTAINER ( ctxt->cmd_scroll_script ), GTK_WIDGET( ctxt->cmd_script ) ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( ctxt->cmd_scroll_script ), TRUE, TRUE, 4 ); // Option Page ===================================================== align = gtk_alignment_new( 0, 0, 1, 1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 8, 0, 8, 8 ); vbox = gtk_vbox_new( FALSE, 4 ); gtk_container_add ( GTK_CONTAINER ( align ), vbox ); gtk_notebook_append_page( GTK_NOTEBOOK( ctxt->notebook ), align, gtk_label_new_with_mnemonic( _("Optio_ns") ) ); GtkWidget* frame = gtk_frame_new( _("Run Options") ); align = gtk_alignment_new( 0, 0, 1, 1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 8, 0, 8, 8 ); vbox_frame = gtk_vbox_new( FALSE, 8 ); gtk_container_add ( GTK_CONTAINER ( align ), vbox_frame ); gtk_container_add ( GTK_CONTAINER ( frame ), align ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( frame ), FALSE, TRUE, 8 ); ctxt->opt_task = gtk_check_button_new_with_mnemonic( _("Run As Task") ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( ctxt->opt_task ), FALSE, TRUE, 0 ); ctxt->opt_hbox_task = gtk_hbox_new( FALSE, 8 ); ctxt->opt_task_pop = gtk_check_button_new_with_mnemonic( _("Popup Task") ); ctxt->opt_task_err = gtk_check_button_new_with_mnemonic( _("Popup Error") ); ctxt->opt_task_out = gtk_check_button_new_with_mnemonic( _("Popup Output") ); ctxt->opt_scroll = gtk_check_button_new_with_mnemonic( _("Scroll Output") ); gtk_box_pack_start( GTK_BOX( ctxt->opt_hbox_task ), GTK_WIDGET( ctxt->opt_task_pop ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( ctxt->opt_hbox_task ), GTK_WIDGET( ctxt->opt_task_err ), FALSE, TRUE, 6 ); gtk_box_pack_start( GTK_BOX( ctxt->opt_hbox_task ), GTK_WIDGET( ctxt->opt_task_out ), FALSE, TRUE, 6 ); gtk_box_pack_start( GTK_BOX( ctxt->opt_hbox_task ), GTK_WIDGET( ctxt->opt_scroll ), FALSE, TRUE, 6 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( ctxt->opt_hbox_task ), FALSE, TRUE, 8 ); hbox = gtk_hbox_new( FALSE, 8 ); ctxt->opt_terminal = gtk_check_button_new_with_mnemonic( _("Run In Terminal") ); ctxt->opt_keep_term = gtk_check_button_new_with_mnemonic( _("Keep Terminal Open") ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->opt_terminal ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->opt_keep_term ), FALSE, TRUE, 6 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( hbox ), FALSE, TRUE, 0 ); hbox = gtk_hbox_new( FALSE, 0 ); label = gtk_label_new( _("Run As User:") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, TRUE, 2 ); ctxt->cmd_user = gtk_entry_new(); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_user ), FALSE, TRUE, 8 ); label = gtk_label_new( _("( leave blank for current user )") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, TRUE, 8 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( hbox ), FALSE, TRUE, 4 ); frame = gtk_frame_new( _("Style") ); align = gtk_alignment_new( 0, 0, 1, 1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 8, 0, 8, 8 ); vbox_frame = gtk_vbox_new( FALSE, 8 ); gtk_container_add ( GTK_CONTAINER ( align ), vbox_frame ); gtk_container_add ( GTK_CONTAINER ( frame ), align ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( frame ), TRUE, TRUE, 8 ); hbox = gtk_hbox_new( FALSE, 8 ); ctxt->cmd_opt_normal = gtk_radio_button_new_with_mnemonic( NULL, _("Normal") ); ctxt->cmd_opt_checkbox = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON( ctxt->cmd_opt_normal ), _("Checkbox") ); ctxt->cmd_opt_confirm = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON( ctxt->cmd_opt_normal ), _("Confirmation") ); ctxt->cmd_opt_input = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON( ctxt->cmd_opt_normal ), _("Input") ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_opt_normal ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_opt_checkbox ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_opt_confirm ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->cmd_opt_input ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( hbox ), FALSE, TRUE, 0 ); // message box ctxt->cmd_vbox_msg = gtk_vbox_new( FALSE, 4 ); label = gtk_label_new( _("Confirmation/Input Message:") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0 ); gtk_box_pack_start( GTK_BOX( ctxt->cmd_vbox_msg ), GTK_WIDGET( label ), FALSE, TRUE, 8 ); ctxt->cmd_scroll_msg = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( ctxt->cmd_scroll_msg ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( ctxt->cmd_scroll_msg ), GTK_SHADOW_ETCHED_IN ); ctxt->cmd_msg = GTK_WIDGET( gtk_text_view_new() ); // ubuntu shows input too small so use mininum height gtk_widget_set_size_request( GTK_WIDGET( ctxt->cmd_msg ), -1, 50 ); gtk_widget_set_size_request( GTK_WIDGET( ctxt->cmd_scroll_msg ), -1, 50 ); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( ctxt->cmd_msg ), GTK_WRAP_WORD_CHAR ); gtk_container_add ( GTK_CONTAINER ( ctxt->cmd_scroll_msg ), GTK_WIDGET( ctxt->cmd_msg ) ); gtk_box_pack_start( GTK_BOX( ctxt->cmd_vbox_msg ), GTK_WIDGET( ctxt->cmd_scroll_msg ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_frame ), GTK_WIDGET( ctxt->cmd_vbox_msg ), TRUE, TRUE, 0 ); // open folder hbox = gtk_hbox_new( FALSE, 0 ); label = gtk_label_new( _("Open In Browser:") ); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, TRUE, 0 ); ctxt->open_browser = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ctxt->open_browser ), FALSE ); char* path; if ( rset->plugin ) path = g_build_filename( rset->plug_dir, rset->plug_name, NULL ); else path = g_build_filename( xset_get_config_dir(), "scripts", rset->name, NULL ); str = g_strdup_printf( "%s $fm_cmd_dir %s", _("Command Dir"), dir_has_files( path ) ? "" : _("(no files)") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->open_browser ), str ); g_free( str ); g_free( path ); path = g_build_filename( xset_get_config_dir(), "plugin-data", rset->plugin ? mset->name : rset->name, NULL ); str = g_strdup_printf( "%s $fm_cmd_data %s", _("Data Dir"), dir_has_files( path ) ? "" : _("(no files)") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->open_browser ), str ); g_free( str ); g_free( path ); if ( rset->plugin ) { str = g_strdup_printf( "%s $fm_plugin_dir", _("Plugin Dir") ); gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->open_browser ), str ); g_free( str ); } gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( ctxt->open_browser ), FALSE, TRUE, 8 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, TRUE, 0 ); // show all gtk_widget_show_all( GTK_WIDGET( ctxt->dlg ) ); // load values ======================================================== // type int item_type = -1; char* item_type_str = NULL; if ( set->tool > XSET_TOOL_CUSTOM ) item_type_str = g_strdup_printf( "%s: %s", _("Built-In Toolbar Item"), xset_get_builtin_toolitem_label( set->tool ) ); else if ( rset->menu_style == XSET_MENU_SUBMENU ) item_type_str = g_strdup( _("Submenu") ); else if ( rset->menu_style == XSET_MENU_SEP ) item_type_str = g_strdup( _("Separator") ); else if ( set->lock ) { // built-in item_type_str = g_strdup( _("Built-In Command") ); } else { // custom command for ( i = 0; i < G_N_ELEMENTS( item_types ); i++ ) gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->item_type ), _(item_types[i]) ); x = rset->x ? atoi( rset->x ) : 0; if ( x < XSET_CMD_APP ) // line or script item_type = ITEM_TYPE_COMMAND; else if ( x == XSET_CMD_APP ) item_type = ITEM_TYPE_APP; else if ( x == XSET_CMD_BOOKMARK ) item_type = ITEM_TYPE_BOOKMARK; else item_type = -1; gtk_combo_box_set_active( GTK_COMBO_BOX ( ctxt->item_type ), item_type ); //g_signal_connect( G_OBJECT( ctxt->item_type ), "changed", // G_CALLBACK( on_item_type_changed ), ctxt ); } if ( item_type_str ) { gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ctxt->item_type ), item_type_str ); gtk_combo_box_set_active( GTK_COMBO_BOX ( ctxt->item_type ), 0 ); gtk_widget_set_sensitive( ctxt->item_type, FALSE ); g_free( item_type_str ); } ctxt->temp_cmd_line = !set->lock ? g_strdup( rset->line ) : NULL; if ( set->lock || rset->menu_style == XSET_MENU_SUBMENU || rset->menu_style == XSET_MENU_SEP || set->tool > XSET_TOOL_CUSTOM ) { gtk_widget_hide( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), 2 ) ); gtk_widget_hide( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), 3 ) ); gtk_widget_hide( ctxt->target_vbox ); gtk_widget_hide( ctxt->hbox_opener ); } else { // load command values on_type_changed( GTK_COMBO_BOX( ctxt->item_type ), ctxt ); if ( rset->z ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( ctxt->item_target ) ); gtk_text_buffer_set_text( buf, rset->z, -1 ); } } ctxt->reset_command = TRUE; // name if ( rset->menu_style != XSET_MENU_SEP ) { if ( set->menu_label ) gtk_entry_set_text( GTK_ENTRY( ctxt->item_name ), set->menu_label ); else if ( set->tool > XSET_TOOL_CUSTOM ) gtk_entry_set_text( GTK_ENTRY( ctxt->item_name ), xset_get_builtin_toolitem_label( set->tool ) ); } else gtk_widget_set_sensitive( ctxt->item_name, FALSE ); // key if ( rset->menu_style < XSET_MENU_SUBMENU || set->tool == XSET_TOOL_BACK_MENU || set->tool == XSET_TOOL_FWD_MENU ) { XSet* keyset; if ( set->shared_key ) keyset = xset_get( set->shared_key ); else keyset = set; str = xset_get_keyname( keyset, 0, 0 ); gtk_button_set_label( GTK_BUTTON( ctxt->item_key ), str ); g_free( str ); } else gtk_widget_set_sensitive( ctxt->item_key, FALSE ); // icon if ( rset->icon || mset->icon ) gtk_entry_set_text( GTK_ENTRY( ctxt->item_icon ), mset->icon ? mset->icon : rset->icon ); gtk_widget_set_sensitive( ctxt->item_icon, rset->menu_style != XSET_MENU_RADIO && rset->menu_style != XSET_MENU_SEP ); // toolbar checkbox items have icon //( rset->menu_style != XSET_MENU_CHECK || rset->tool ) ); gtk_widget_set_sensitive( ctxt->icon_choose_btn, rset->menu_style != XSET_MENU_RADIO && rset->menu_style != XSET_MENU_SEP ); if ( set->plugin ) { gtk_widget_set_sensitive( ctxt->item_type, FALSE ); gtk_widget_set_sensitive( ctxt->item_name, FALSE ); gtk_widget_set_sensitive( ctxt->item_target, FALSE ); gtk_widget_set_sensitive( ctxt->item_browse, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_opt_normal, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_opt_checkbox, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_opt_confirm, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_opt_input, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_user, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_msg, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_opt_script, FALSE ); gtk_widget_set_sensitive( ctxt->cmd_opt_line, FALSE ); } if ( set->tool ) { // Hide Context tab gtk_widget_hide( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), 1 ) ); //gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( ctxt->show_tool ), // set->tool == XSET_B_TRUE ); } //else // gtk_widget_hide( ctxt->show_tool ); // signals g_signal_connect( G_OBJECT( ctxt->opt_terminal ), "toggled", G_CALLBACK( on_cmd_opt_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->opt_task ), "toggled", G_CALLBACK( on_cmd_opt_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->cmd_opt_normal ), "toggled", G_CALLBACK( on_cmd_opt_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->cmd_opt_checkbox ), "toggled", G_CALLBACK( on_cmd_opt_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->cmd_opt_confirm ), "toggled", G_CALLBACK( on_cmd_opt_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->cmd_opt_input ), "toggled", G_CALLBACK( on_cmd_opt_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->cmd_opt_line ), "toggled", G_CALLBACK( on_script_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->cmd_opt_script ), "toggled", G_CALLBACK( on_script_toggled ), ctxt ); g_signal_connect( G_OBJECT( ctxt->item_target ), "key-press-event", G_CALLBACK( on_target_keypress ), ctxt ); g_signal_connect( G_OBJECT( ctxt->item_key ), "clicked", G_CALLBACK( on_key_button_clicked ), ctxt ); g_signal_connect( G_OBJECT( ctxt->icon_choose_btn ), "clicked", G_CALLBACK( on_icon_choose_button_clicked ), ctxt ); g_signal_connect( G_OBJECT( ctxt->item_choose ), "clicked", G_CALLBACK( on_browse_button_clicked ), ctxt ); g_signal_connect( G_OBJECT( ctxt->item_browse ), "clicked", G_CALLBACK( on_browse_button_clicked ), ctxt ); g_signal_connect( G_OBJECT( ctxt->item_name ), "activate", G_CALLBACK( on_entry_activate ), ctxt ); g_signal_connect( G_OBJECT( ctxt->item_icon ), "activate", G_CALLBACK( on_entry_activate ), ctxt ); g_signal_connect( G_OBJECT( ctxt->open_browser ), "changed", G_CALLBACK( on_open_browser ), ctxt ); g_signal_connect( G_OBJECT( ctxt->item_type ), "changed", G_CALLBACK( on_type_changed ), ctxt ); g_signal_connect( ctxt->notebook, "switch-page", G_CALLBACK ( on_prop_notebook_switch_page ), ctxt ); g_signal_connect( G_OBJECT( ctxt->dlg ), "key-press-event", G_CALLBACK( on_dlg_keypress ), ctxt ); // run enable_context( ctxt ); if ( page && gtk_widget_get_visible( gtk_notebook_get_nth_page( GTK_NOTEBOOK( ctxt->notebook ), page ) ) ) gtk_notebook_set_current_page( GTK_NOTEBOOK( ctxt->notebook ), page ); else gtk_widget_grab_focus( ctxt->set->plugin ? ctxt->item_icon : ctxt->item_name ); int response; while ( response = gtk_dialog_run( GTK_DIALOG( ctxt->dlg ) ) ) { if ( response == GTK_RESPONSE_OK ) { if ( mset->context ) g_free( mset->context ); mset->context = context_build( ctxt ); replace_item_props( ctxt ); break; } else if ( response == GTK_RESPONSE_HELP ) { const char* help; switch ( gtk_notebook_get_current_page( GTK_NOTEBOOK( ctxt->notebook ) ) ) { case 1: help = "#designmode-props-context"; break; case 2: help = "#designmode-props-command"; break; case 3: help = "#designmode-props-opts"; break; default: help = "#designmode-props"; break; } xset_show_help( ctxt->dlg, NULL, help ); } else break; } GtkAllocation allocation; gtk_widget_get_allocation (GTK_WIDGET(ctxt->dlg), &allocation); width = allocation.width; height = allocation.height; if ( width && height ) { str = g_strdup_printf( "%d", width ); xset_set( "context_dlg", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "context_dlg", "y", str ); g_free( str ); } gtk_widget_destroy( ctxt->dlg ); g_free( ctxt->temp_cmd_line ); g_slice_free( ContextData, ctxt ); } spacefm-1.0.5/src/item-prop.h000066400000000000000000000023451264770501700160240ustar00rootroot00000000000000#ifndef _ITEM_PROP_H_ #define _ITEM_PROP_H_ #include G_BEGIN_DECLS enum { CONTEXT_SHOW, CONTEXT_ENABLE, CONTEXT_HIDE, CONTEXT_DISABLE }; enum { CONTEXT_MIME, CONTEXT_NAME, CONTEXT_DIR, CONTEXT_WRITE_ACCESS, CONTEXT_IS_TEXT, CONTEXT_IS_DIR, CONTEXT_IS_LINK, CONTEXT_IS_ROOT, CONTEXT_MUL_SEL, CONTEXT_CLIP_FILES, CONTEXT_CLIP_TEXT, CONTEXT_PANEL, CONTEXT_PANEL_COUNT, CONTEXT_TAB, CONTEXT_TAB_COUNT, CONTEXT_BOOKMARK, CONTEXT_DEVICE, CONTEXT_DEVICE_MOUNT_POINT, CONTEXT_DEVICE_LABEL, CONTEXT_DEVICE_FSTYPE, CONTEXT_DEVICE_UDI, CONTEXT_DEVICE_PROP, CONTEXT_TASK_COUNT, CONTEXT_TASK_DIR, CONTEXT_TASK_TYPE, CONTEXT_TASK_NAME, CONTEXT_PANEL1_DIR, CONTEXT_PANEL2_DIR, CONTEXT_PANEL3_DIR, CONTEXT_PANEL4_DIR, CONTEXT_PANEL1_SEL, CONTEXT_PANEL2_SEL, CONTEXT_PANEL3_SEL, CONTEXT_PANEL4_SEL, CONTEXT_PANEL1_DEVICE, CONTEXT_PANEL2_DEVICE, CONTEXT_PANEL3_DEVICE, CONTEXT_PANEL4_DEVICE, CONTEXT_END }; void xset_item_prop_dlg( XSetContext* context, XSet* set, int page ); int xset_context_test( XSetContext* context, char* rules, gboolean def_disable ); G_END_DECLS #endif spacefm-1.0.5/src/libmd5-rfc/000077500000000000000000000000001264770501700156575ustar00rootroot00000000000000spacefm-1.0.5/src/libmd5-rfc/md5.c000066400000000000000000000305021264770501700165100ustar00rootroot00000000000000/* Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. L. Peter Deutsch ghost@aladdin.com */ /* $Id: md5.c,v 1.6 2002/04/13 19:20:28 lpd Exp $ */ /* Independent implementation of MD5 (RFC 1321). This code implements the MD5 Algorithm defined in RFC 1321, whose text is available at http://www.ietf.org/rfc/rfc1321.txt The code is derived from the text of the RFC, including the test suite (section A.5) but excluding the rest of Appendix A. It does not include any code or documentation that is identified in the RFC as being copyrighted. The original and principal author of md5.c is L. Peter Deutsch . Other authors are noted in the change history that follows (in reverse chronological order): 2002-04-13 lpd Clarified derivation from RFC 1321; now handles byte order either statically or dynamically; added missing #include in library. 2002-03-11 lpd Corrected argument list for main(), and added int return type, in test program and T value program. 2002-02-21 lpd Added missing #include in test program. 2000-07-03 lpd Patched to eliminate warnings about "constant is unsigned in ANSI C, signed in traditional"; made test program self-checking. 1999-11-04 lpd Edited comments slightly for automatic TOC extraction. 1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5). 1999-05-03 lpd Original version. */ /* Add by Hong Jen Yee on 2008-12-17 */ #include #if ! GLIB_CHECK_VERSION(2, 16, 0) /* since glib 2.16, md5 is provided */ #include "md5.h" #include #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ #ifdef ARCH_IS_BIG_ENDIAN # define BYTE_ORDER (ARCH_IS_BIG_ENDIAN ? 1 : -1) #else # define BYTE_ORDER 0 #endif #define T_MASK ((md5_word_t)~0) #define T1 /* 0xd76aa478 */ (T_MASK ^ 0x28955b87) #define T2 /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9) #define T3 0x242070db #define T4 /* 0xc1bdceee */ (T_MASK ^ 0x3e423111) #define T5 /* 0xf57c0faf */ (T_MASK ^ 0x0a83f050) #define T6 0x4787c62a #define T7 /* 0xa8304613 */ (T_MASK ^ 0x57cfb9ec) #define T8 /* 0xfd469501 */ (T_MASK ^ 0x02b96afe) #define T9 0x698098d8 #define T10 /* 0x8b44f7af */ (T_MASK ^ 0x74bb0850) #define T11 /* 0xffff5bb1 */ (T_MASK ^ 0x0000a44e) #define T12 /* 0x895cd7be */ (T_MASK ^ 0x76a32841) #define T13 0x6b901122 #define T14 /* 0xfd987193 */ (T_MASK ^ 0x02678e6c) #define T15 /* 0xa679438e */ (T_MASK ^ 0x5986bc71) #define T16 0x49b40821 #define T17 /* 0xf61e2562 */ (T_MASK ^ 0x09e1da9d) #define T18 /* 0xc040b340 */ (T_MASK ^ 0x3fbf4cbf) #define T19 0x265e5a51 #define T20 /* 0xe9b6c7aa */ (T_MASK ^ 0x16493855) #define T21 /* 0xd62f105d */ (T_MASK ^ 0x29d0efa2) #define T22 0x02441453 #define T23 /* 0xd8a1e681 */ (T_MASK ^ 0x275e197e) #define T24 /* 0xe7d3fbc8 */ (T_MASK ^ 0x182c0437) #define T25 0x21e1cde6 #define T26 /* 0xc33707d6 */ (T_MASK ^ 0x3cc8f829) #define T27 /* 0xf4d50d87 */ (T_MASK ^ 0x0b2af278) #define T28 0x455a14ed #define T29 /* 0xa9e3e905 */ (T_MASK ^ 0x561c16fa) #define T30 /* 0xfcefa3f8 */ (T_MASK ^ 0x03105c07) #define T31 0x676f02d9 #define T32 /* 0x8d2a4c8a */ (T_MASK ^ 0x72d5b375) #define T33 /* 0xfffa3942 */ (T_MASK ^ 0x0005c6bd) #define T34 /* 0x8771f681 */ (T_MASK ^ 0x788e097e) #define T35 0x6d9d6122 #define T36 /* 0xfde5380c */ (T_MASK ^ 0x021ac7f3) #define T37 /* 0xa4beea44 */ (T_MASK ^ 0x5b4115bb) #define T38 0x4bdecfa9 #define T39 /* 0xf6bb4b60 */ (T_MASK ^ 0x0944b49f) #define T40 /* 0xbebfbc70 */ (T_MASK ^ 0x4140438f) #define T41 0x289b7ec6 #define T42 /* 0xeaa127fa */ (T_MASK ^ 0x155ed805) #define T43 /* 0xd4ef3085 */ (T_MASK ^ 0x2b10cf7a) #define T44 0x04881d05 #define T45 /* 0xd9d4d039 */ (T_MASK ^ 0x262b2fc6) #define T46 /* 0xe6db99e5 */ (T_MASK ^ 0x1924661a) #define T47 0x1fa27cf8 #define T48 /* 0xc4ac5665 */ (T_MASK ^ 0x3b53a99a) #define T49 /* 0xf4292244 */ (T_MASK ^ 0x0bd6ddbb) #define T50 0x432aff97 #define T51 /* 0xab9423a7 */ (T_MASK ^ 0x546bdc58) #define T52 /* 0xfc93a039 */ (T_MASK ^ 0x036c5fc6) #define T53 0x655b59c3 #define T54 /* 0x8f0ccc92 */ (T_MASK ^ 0x70f3336d) #define T55 /* 0xffeff47d */ (T_MASK ^ 0x00100b82) #define T56 /* 0x85845dd1 */ (T_MASK ^ 0x7a7ba22e) #define T57 0x6fa87e4f #define T58 /* 0xfe2ce6e0 */ (T_MASK ^ 0x01d3191f) #define T59 /* 0xa3014314 */ (T_MASK ^ 0x5cfebceb) #define T60 0x4e0811a1 #define T61 /* 0xf7537e82 */ (T_MASK ^ 0x08ac817d) #define T62 /* 0xbd3af235 */ (T_MASK ^ 0x42c50dca) #define T63 0x2ad7d2bb #define T64 /* 0xeb86d391 */ (T_MASK ^ 0x14792c6e) static void md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) { md5_word_t a = pms->abcd[0], b = pms->abcd[1], c = pms->abcd[2], d = pms->abcd[3]; md5_word_t t; #if BYTE_ORDER > 0 /* Define storage only for big-endian CPUs. */ md5_word_t X[16]; #else /* Define storage for little-endian or both types of CPUs. */ md5_word_t xbuf[16]; const md5_word_t *X; #endif { #if BYTE_ORDER == 0 /* * Determine dynamically whether this is a big-endian or * little-endian machine, since we can use a more efficient * algorithm on the latter. */ static const int w = 1; if (*((const md5_byte_t *)&w)) /* dynamic little-endian */ #endif #if BYTE_ORDER <= 0 /* little-endian */ { /* * On little-endian machines, we can process properly aligned * data without copying it. */ if (!((data - (const md5_byte_t *)0) & 3)) { /* data are properly aligned */ X = (const md5_word_t *)data; } else { /* not aligned */ memcpy(xbuf, data, 64); X = xbuf; } } #endif #if BYTE_ORDER == 0 else /* dynamic big-endian */ #endif #if BYTE_ORDER >= 0 /* big-endian */ { /* * On big-endian machines, we must arrange the bytes in the * right order. */ const md5_byte_t *xp = data; int i; # if BYTE_ORDER == 0 X = xbuf; /* (dynamic only) */ # else # define xbuf X /* (static only) */ # endif for (i = 0; i < 16; ++i, xp += 4) xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24); } #endif } #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n)))) /* Round 1. */ /* Let [abcd k s i] denote the operation a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */ #define F(x, y, z) (((x) & (y)) | (~(x) & (z))) #define SET(a, b, c, d, k, s, Ti)\ t = a + F(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 0, 7, T1); SET(d, a, b, c, 1, 12, T2); SET(c, d, a, b, 2, 17, T3); SET(b, c, d, a, 3, 22, T4); SET(a, b, c, d, 4, 7, T5); SET(d, a, b, c, 5, 12, T6); SET(c, d, a, b, 6, 17, T7); SET(b, c, d, a, 7, 22, T8); SET(a, b, c, d, 8, 7, T9); SET(d, a, b, c, 9, 12, T10); SET(c, d, a, b, 10, 17, T11); SET(b, c, d, a, 11, 22, T12); SET(a, b, c, d, 12, 7, T13); SET(d, a, b, c, 13, 12, T14); SET(c, d, a, b, 14, 17, T15); SET(b, c, d, a, 15, 22, T16); #undef SET /* Round 2. */ /* Let [abcd k s i] denote the operation a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */ #define G(x, y, z) (((x) & (z)) | ((y) & ~(z))) #define SET(a, b, c, d, k, s, Ti)\ t = a + G(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 1, 5, T17); SET(d, a, b, c, 6, 9, T18); SET(c, d, a, b, 11, 14, T19); SET(b, c, d, a, 0, 20, T20); SET(a, b, c, d, 5, 5, T21); SET(d, a, b, c, 10, 9, T22); SET(c, d, a, b, 15, 14, T23); SET(b, c, d, a, 4, 20, T24); SET(a, b, c, d, 9, 5, T25); SET(d, a, b, c, 14, 9, T26); SET(c, d, a, b, 3, 14, T27); SET(b, c, d, a, 8, 20, T28); SET(a, b, c, d, 13, 5, T29); SET(d, a, b, c, 2, 9, T30); SET(c, d, a, b, 7, 14, T31); SET(b, c, d, a, 12, 20, T32); #undef SET /* Round 3. */ /* Let [abcd k s t] denote the operation a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */ #define H(x, y, z) ((x) ^ (y) ^ (z)) #define SET(a, b, c, d, k, s, Ti)\ t = a + H(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 5, 4, T33); SET(d, a, b, c, 8, 11, T34); SET(c, d, a, b, 11, 16, T35); SET(b, c, d, a, 14, 23, T36); SET(a, b, c, d, 1, 4, T37); SET(d, a, b, c, 4, 11, T38); SET(c, d, a, b, 7, 16, T39); SET(b, c, d, a, 10, 23, T40); SET(a, b, c, d, 13, 4, T41); SET(d, a, b, c, 0, 11, T42); SET(c, d, a, b, 3, 16, T43); SET(b, c, d, a, 6, 23, T44); SET(a, b, c, d, 9, 4, T45); SET(d, a, b, c, 12, 11, T46); SET(c, d, a, b, 15, 16, T47); SET(b, c, d, a, 2, 23, T48); #undef SET /* Round 4. */ /* Let [abcd k s t] denote the operation a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */ #define I(x, y, z) ((y) ^ ((x) | ~(z))) #define SET(a, b, c, d, k, s, Ti)\ t = a + I(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 0, 6, T49); SET(d, a, b, c, 7, 10, T50); SET(c, d, a, b, 14, 15, T51); SET(b, c, d, a, 5, 21, T52); SET(a, b, c, d, 12, 6, T53); SET(d, a, b, c, 3, 10, T54); SET(c, d, a, b, 10, 15, T55); SET(b, c, d, a, 1, 21, T56); SET(a, b, c, d, 8, 6, T57); SET(d, a, b, c, 15, 10, T58); SET(c, d, a, b, 6, 15, T59); SET(b, c, d, a, 13, 21, T60); SET(a, b, c, d, 4, 6, T61); SET(d, a, b, c, 11, 10, T62); SET(c, d, a, b, 2, 15, T63); SET(b, c, d, a, 9, 21, T64); #undef SET /* Then perform the following additions. (That is increment each of the four registers by the value it had before this block was started.) */ pms->abcd[0] += a; pms->abcd[1] += b; pms->abcd[2] += c; pms->abcd[3] += d; } void md5_init(md5_state_t *pms) { pms->count[0] = pms->count[1] = 0; pms->abcd[0] = 0x67452301; pms->abcd[1] = /*0xefcdab89*/ T_MASK ^ 0x10325476; pms->abcd[2] = /*0x98badcfe*/ T_MASK ^ 0x67452301; pms->abcd[3] = 0x10325476; } void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes) { const md5_byte_t *p = data; int left = nbytes; int offset = (pms->count[0] >> 3) & 63; md5_word_t nbits = (md5_word_t)(nbytes << 3); if (nbytes <= 0) return; /* Update the message length. */ pms->count[1] += nbytes >> 29; pms->count[0] += nbits; if (pms->count[0] < nbits) pms->count[1]++; /* Process an initial partial block. */ if (offset) { int copy = (offset + nbytes > 64 ? 64 - offset : nbytes); memcpy(pms->buf + offset, p, copy); if (offset + copy < 64) return; p += copy; left -= copy; md5_process(pms, pms->buf); } /* Process full blocks. */ for (; left >= 64; p += 64, left -= 64) md5_process(pms, p); /* Process a final partial block. */ if (left) memcpy(pms->buf, p, left); } void md5_finish(md5_state_t *pms, md5_byte_t digest[16]) { static const md5_byte_t pad[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; md5_byte_t data[8]; int i; /* Save the length before padding. */ for (i = 0; i < 8; ++i) data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3)); /* Pad to 56 bytes mod 64. */ md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1); /* Append the length. */ md5_append(pms, data, 8); for (i = 0; i < 16; ++i) digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3)); } #endif /* GLIB_CHECK_VERSION(2, 16, 0) */ spacefm-1.0.5/src/libmd5-rfc/md5.h000066400000000000000000000065001264770501700165160ustar00rootroot00000000000000/* Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. L. Peter Deutsch ghost@aladdin.com */ /* $Id: md5.h,v 1.4 2002/04/13 19:20:28 lpd Exp $ */ /* Independent implementation of MD5 (RFC 1321). This code implements the MD5 Algorithm defined in RFC 1321, whose text is available at http://www.ietf.org/rfc/rfc1321.txt The code is derived from the text of the RFC, including the test suite (section A.5) but excluding the rest of Appendix A. It does not include any code or documentation that is identified in the RFC as being copyrighted. The original and principal author of md5.h is L. Peter Deutsch . Other authors are noted in the change history that follows (in reverse chronological order): 2002-04-13 lpd Removed support for non-ANSI compilers; removed references to Ghostscript; clarified derivation from RFC 1321; now handles byte order either statically or dynamically. 1999-11-04 lpd Edited comments slightly for automatic TOC extraction. 1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5); added conditionalization for C++ compilation from Martin Purschke . 1999-05-03 lpd Original version. */ #ifndef md5_INCLUDED # define md5_INCLUDED /* * This package supports both compile-time and run-time determination of CPU * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be * compiled to run only on little-endian CPUs; if ARCH_IS_BIG_ENDIAN is * defined as non-zero, the code will be compiled to run only on big-endian * CPUs; if ARCH_IS_BIG_ENDIAN is not defined, the code will be compiled to * run on either big- or little-endian CPUs, but will run slightly less * efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined. */ typedef unsigned char md5_byte_t; /* 8-bit byte */ typedef unsigned int md5_word_t; /* 32-bit word */ /* Define the state of the MD5 Algorithm. */ typedef struct md5_state_s { md5_word_t count[2]; /* message length in bits, lsw first */ md5_word_t abcd[4]; /* digest buffer */ md5_byte_t buf[64]; /* accumulate block */ } md5_state_t; #ifdef __cplusplus extern "C" { #endif /* Initialize the algorithm. */ void md5_init(md5_state_t *pms); /* Append a string to the message. */ void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes); /* Finish the message and return the digest. */ void md5_finish(md5_state_t *pms, md5_byte_t digest[16]); #ifdef __cplusplus } /* end extern "C" */ #endif #endif /* md5_INCLUDED */ spacefm-1.0.5/src/main-window.c000066400000000000000000012023421264770501700163340ustar00rootroot00000000000000/* * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H # include #endif #include #include "pcmanfm.h" #include "private.h" #include #include #include #include #include #include #include // XGetWindowProperty #include // XA_CARDINAL #include #include #include #include #include #include #include #include "ptk-location-view.h" #include "exo-tree-view.h" #include "ptk-file-browser.h" #include "main-window.h" #include "ptk-utils.h" #include "pref-dialog.h" #include "ptk-file-properties.h" #include "ptk-path-entry.h" #include "ptk-file-menu.h" #include "settings.h" #include "item-prop.h" #include "find-files.h" #include "desktop.h" #ifdef HAVE_STATVFS /* FIXME: statvfs support should be moved to src/vfs */ #include #endif #include "vfs-app-desktop.h" #include "vfs-execute.h" #include "vfs-utils.h" /* for vfs_sudo() */ #include "go-dialog.h" #include "vfs-file-task.h" #include "ptk-location-view.h" #include "ptk-clipboard.h" #include "ptk-handler.h" #include "gtk2-compat.h" void rebuild_menus( FMMainWindow* main_window ); static void fm_main_window_class_init( FMMainWindowClass* klass ); static void fm_main_window_init( FMMainWindow* main_window ); static void fm_main_window_finalize( GObject *obj ); static void fm_main_window_get_property ( GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec ); static void fm_main_window_set_property ( GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec ); static gboolean fm_main_window_delete_event ( GtkWidget *widget, GdkEvent *event ); #if 0 static void fm_main_window_destroy ( GtkObject *object ); #endif //static gboolean fm_main_window_key_press_event ( GtkWidget *widget, // GdkEventKey *event ); static gboolean fm_main_window_window_state_event ( GtkWidget *widget, GdkEventWindowState *event ); static void fm_main_window_next_tab ( FMMainWindow* widget ); static void fm_main_window_prev_tab ( FMMainWindow* widget ); static void on_folder_notebook_switch_pape ( GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data ); //static void on_close_tab_activate ( GtkMenuItem *menuitem, // gpointer user_data ); //static void on_file_browser_before_chdir( PtkFileBrowser* file_browser, // const char* path, gboolean* cancel, // FMMainWindow* main_window ); static void on_file_browser_begin_chdir( PtkFileBrowser* file_browser, FMMainWindow* main_window ); static void on_file_browser_open_item( PtkFileBrowser* file_browser, const char* path, PtkOpenAction action, FMMainWindow* main_window ); static void on_file_browser_after_chdir( PtkFileBrowser* file_browser, FMMainWindow* main_window ); static void on_file_browser_content_change( PtkFileBrowser* file_browser, FMMainWindow* main_window ); static void on_file_browser_sel_change( PtkFileBrowser* file_browser, FMMainWindow* main_window ); //static void on_file_browser_pane_mode_change( PtkFileBrowser* file_browser, // FMMainWindow* main_window ); void on_file_browser_panel_change( PtkFileBrowser* file_browser, FMMainWindow* main_window ); static void on_file_browser_splitter_pos_change( PtkFileBrowser* file_browser, GParamSpec *param, FMMainWindow* main_window ); static gboolean on_tab_drag_motion ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ); static gboolean on_main_window_focus( GtkWidget* main_window, GdkEventFocus *event, gpointer user_data ); static gboolean on_main_window_keypress( FMMainWindow* main_window, GdkEventKey* event, XSet* known_set ); //static gboolean on_main_window_keyrelease( FMMainWindow* widget, // GdkEventKey* event, gpointer data); static gboolean on_window_button_press_event( GtkWidget* widget, GdkEventButton *event, FMMainWindow* main_window ); //sfm static void on_new_window_activate ( GtkMenuItem *menuitem, gpointer user_data ); static void fm_main_window_close( FMMainWindow* main_window ); GtkWidget* main_task_view_new( FMMainWindow* main_window ); void main_task_add_menu( FMMainWindow* main_window, GtkMenu* menu, GtkAccelGroup* accel_group ); void on_task_popup_show( GtkMenuItem* item, FMMainWindow* main_window, char* name2 ); gboolean main_tasks_running( FMMainWindow* main_window ); void on_task_stop( GtkMenuItem* item, GtkWidget* view, XSet* set2, PtkFileTask* task2 ); void on_preference_activate ( GtkMenuItem *menuitem, gpointer user_data ); void main_task_prepare_menu( FMMainWindow* main_window, GtkWidget* menu, GtkAccelGroup* accel_group ); void on_task_columns_changed( GtkWidget *view, gpointer user_data ); PtkFileTask* get_selected_task( GtkWidget* view ); static void fm_main_window_update_status_bar( FMMainWindow* main_window, PtkFileBrowser* file_browser ); void set_window_title( FMMainWindow* main_window, PtkFileBrowser* file_browser ); void on_task_column_selected( GtkMenuItem* item, GtkWidget* view ); void on_task_popup_errset( GtkMenuItem* item, FMMainWindow* main_window, char* name2 ); void show_task_dialog( GtkWidget* widget, GtkWidget* view ); void on_about_activate ( GtkMenuItem *menuitem, gpointer user_data ); void on_main_help_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ); void on_main_faq ( GtkMenuItem *menuitem, FMMainWindow* main_window ); void on_homepage_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ); void on_news_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ); void on_getplug_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ); void update_window_title( GtkMenuItem* item, FMMainWindow* main_window ); void on_toggle_panelbar( GtkWidget* widget, FMMainWindow* main_window ); void on_fullscreen_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ); static gboolean delayed_focus( GtkWidget* widget ); static gboolean delayed_focus_file_browser( PtkFileBrowser* file_browser ); static gboolean idle_set_task_height( FMMainWindow* main_window ); static GtkWindowClass *parent_class = NULL; static int n_windows = 0; static GList* all_windows = NULL; static guint theme_change_notify = 0; // Drag & Drop/Clipboard targets static GtkTargetEntry drag_targets[] = { {"text/uri-list", 0 , 0 } }; GType fm_main_window_get_type() { static GType type = G_TYPE_INVALID; if ( G_UNLIKELY ( type == G_TYPE_INVALID ) ) { static const GTypeInfo info = { sizeof ( FMMainWindowClass ), NULL, NULL, ( GClassInitFunc ) fm_main_window_class_init, NULL, NULL, sizeof ( FMMainWindow ), 0, ( GInstanceInitFunc ) fm_main_window_init, NULL, }; type = g_type_register_static ( GTK_TYPE_WINDOW, "FMMainWindow", &info, 0 ); } return type; } void fm_main_window_class_init( FMMainWindowClass* klass ) { GObjectClass * object_class; GtkWidgetClass *widget_class; object_class = ( GObjectClass * ) klass; parent_class = g_type_class_peek_parent ( klass ); object_class->set_property = fm_main_window_set_property; object_class->get_property = fm_main_window_get_property; object_class->finalize = fm_main_window_finalize; widget_class = GTK_WIDGET_CLASS ( klass ); widget_class->delete_event = (gpointer) fm_main_window_delete_event; //widget_class->key_press_event = on_main_window_keypress; //fm_main_window_key_press_event; widget_class->window_state_event = fm_main_window_window_state_event; /* this works but desktop_window doesn't g_signal_new ( "task-notify", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER ); */ } gboolean on_configure_evt_timer( FMMainWindow* main_window ) { // verify main_window still valid GList* l; for ( l = all_windows; l; l = l->next ) { if ( (FMMainWindow*)l->data == main_window ) break; } if ( !l ) return FALSE; if ( main_window->configure_evt_timer ) { g_source_remove( main_window->configure_evt_timer ); main_window->configure_evt_timer = 0; } main_window_event( main_window, evt_win_move, "evt_win_move", 0, 0, NULL, 0, 0, 0, TRUE ); return FALSE; } gboolean on_window_configure_event( GtkWindow *window, GdkEvent *event, FMMainWindow* main_window ) { // use timer to prevent rapid events during resize if ( ( evt_win_move->s || evt_win_move->ob2_data ) && !main_window->configure_evt_timer ) main_window->configure_evt_timer = g_timeout_add( 200, ( GSourceFunc ) on_configure_evt_timer, main_window ); return FALSE; } void on_plugin_install( GtkMenuItem* item, FMMainWindow* main_window, XSet* set2 ) { XSet* set; char* path = NULL; char* deffolder; char* plug_dir; char* msg; int type = 0; int job = PLUGIN_JOB_INSTALL; if ( !item ) set = set2; else set = (XSet*)g_object_get_data( G_OBJECT(item), "set" ); if ( !set ) return; if ( g_str_has_suffix( set->name, "cfile" ) || g_str_has_suffix( set->name, "curl" ) ) job = PLUGIN_JOB_COPY; if ( g_str_has_suffix( set->name, "file" ) ) { // get file path XSet* save = xset_get( "plug_ifile" ); if ( save->s ) //&& g_file_test( save->s, G_FILE_TEST_IS_DIR ) deffolder = save->s; else { if ( !( deffolder = xset_get_s( "go_set_default" ) ) ) deffolder = "/"; } path = xset_file_dialog( GTK_WIDGET( main_window ), GTK_FILE_CHOOSER_ACTION_OPEN, _("Choose Plugin File"), deffolder, NULL ); if ( !path ) return; if ( save->s ) g_free( save->s ); save->s = g_path_get_dirname( path ); } else { // get url if ( !xset_text_dialog( GTK_WIDGET( main_window ), _("Enter Plugin URL"), NULL, FALSE, _("Enter SpaceFM Plugin URL:\n\n(wget will be used to download the plugin file)"), NULL, NULL, &path, NULL, FALSE, job == 0 ? "#plugins-install" : "#plugins-import" ) || !path || path[0] == '\0' ) return; type = 1; //url } if ( job == PLUGIN_JOB_INSTALL ) { // install job char* filename = g_path_get_basename( path ); char* ext = strstr( filename, ".spacefm-plugin" ); if ( !ext ) ext = strstr( filename, ".tar.gz" ); if ( ext ) ext[0] = '\0'; char* plug_dir_name = plain_ascii_name( filename ); if ( ext ) ext[0] = '.'; g_free( filename ); if ( plug_dir_name[0] == '\0' ) { msg = g_strdup_printf( _("This plugin's filename is invalid. Please rename it using alpha-numeric ASCII characters and try again.") ); xset_msg_dialog( GTK_WIDGET( main_window ), GTK_MESSAGE_ERROR, _("Invalid Plugin Filename"), NULL, 0, msg, NULL, "#plugins-install" ); { g_free( plug_dir_name ); g_free( path ); g_free( msg ); return; } } if ( DATADIR ) plug_dir = g_build_filename( DATADIR, "spacefm", "plugins", plug_dir_name, NULL ); else if ( !g_file_test( "/usr/share/spacefm/plugins", G_FILE_TEST_IS_DIR ) && g_file_test( "/usr/local/share/spacefm/plugins", G_FILE_TEST_IS_DIR ) ) plug_dir = g_build_filename( "/usr/local/share/spacefm/plugins", plug_dir_name, NULL ); else plug_dir = g_build_filename( "/usr/share/spacefm/plugins", plug_dir_name, NULL ); if ( g_file_test( plug_dir, G_FILE_TEST_EXISTS ) ) { msg = g_strdup_printf( _("There is already a plugin installed as '%s'. Overwrite ?\n\nTip: You can also rename this plugin file to install it under a different name."), plug_dir_name ); if ( xset_msg_dialog( GTK_WIDGET( main_window ), GTK_MESSAGE_WARNING, _("Overwrite Plugin ?"), NULL, GTK_BUTTONS_YES_NO, msg, NULL, "#plugins-install" ) != GTK_RESPONSE_YES ) { g_free( plug_dir_name ); g_free( plug_dir ); g_free( path ); g_free( msg ); return; } g_free( msg ); } g_free( plug_dir_name ); } else { // copy job const char* user_tmp = xset_get_user_tmp_dir(); if ( !user_tmp ) { xset_msg_dialog( GTK_WIDGET( main_window ), GTK_MESSAGE_ERROR, _("Error Creating Temp Directory"), NULL, 0, _("Unable to create temporary directory"), NULL, NULL ); g_free( path ); return; } char* hex8; plug_dir = NULL; while ( !plug_dir || ( plug_dir && g_file_test( plug_dir, G_FILE_TEST_EXISTS ) ) ) { hex8 = randhex8(); if ( plug_dir ) g_free( plug_dir ); plug_dir = g_build_filename( user_tmp, hex8, NULL ); g_free( hex8 ); } } install_plugin_file( main_window, NULL, path, plug_dir, type, job, NULL ); g_free( path ); g_free( plug_dir ); } GtkWidget* create_plugins_menu( FMMainWindow* main_window ) { GtkWidget* plug_menu; GtkWidget* item; GList* l; GList* plugins = NULL; XSet* set; PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); GtkAccelGroup* accel_group = gtk_accel_group_new (); plug_menu = gtk_menu_new(); if ( !file_browser ) return plug_menu; set = xset_set_cb( "plug_ifile", on_plugin_install, main_window ); xset_set_ob1( set, "set", set ); set = xset_set_cb( "plug_iurl", on_plugin_install, main_window ); xset_set_ob1( set, "set", set ); set = xset_set_cb( "plug_cfile", on_plugin_install, main_window ); xset_set_ob1( set, "set", set ); set = xset_set_cb( "plug_curl", on_plugin_install, main_window ); xset_set_ob1( set, "set", set ); set = xset_get( "plug_install" ); xset_add_menuitem( NULL, file_browser, plug_menu, accel_group, set ); set = xset_get( "plug_copy" ); xset_add_menuitem( NULL, file_browser, plug_menu, accel_group, set ); item = gtk_separator_menu_item_new(); gtk_menu_shell_append( GTK_MENU_SHELL( plug_menu ), item ); set = xset_get( "plug_inc" ); item = xset_add_menuitem( NULL, file_browser, plug_menu, accel_group, set ); if ( item ) { GtkWidget* inc_menu = gtk_menu_item_get_submenu( GTK_MENU_ITEM ( item ) ); plugins = xset_get_plugins( TRUE ); for ( l = plugins; l; l = l->next ) xset_add_menuitem( NULL, file_browser, inc_menu, accel_group, (XSet*)l->data ); } set->disable = !plugins; if ( plugins ) g_list_free( plugins ); plugins = xset_get_plugins( FALSE ); for ( l = plugins; l; l = l->next ) xset_add_menuitem( NULL, file_browser, plug_menu, accel_group, (XSet*)l->data ); if ( plugins ) g_list_free( plugins ); gtk_widget_show_all( plug_menu ); if ( set->disable ) gtk_widget_hide( item ); // temporary until included available return plug_menu; } /* don't use this method because menu must be updated just after user opens it * due to file_browser value in xsets void main_window_on_plugins_change( FMMainWindow* main_window ) { if ( main_window ) { main_window->plug_menu = create_plugins_menu( main_window ); // FIXME: We have to popupdown the menu first, if it's showed on screen. // Otherwise, it's rare but possible that we try to replace the menu while it's in use. gtk_menu_popdown( (GtkMenu*)gtk_menu_item_get_submenu ( GTK_MENU_ITEM ( main_window->plug_menu_item ) ) ); gtk_menu_item_set_submenu ( GTK_MENU_ITEM ( main_window->plug_menu_item ), main_window->plug_menu ); } else { // all windows FMMainWindow* a_window; GList* l; for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; a_window->plug_menu = create_plugins_menu( a_window ); gtk_menu_popdown( (GtkMenu*)gtk_menu_item_get_submenu ( GTK_MENU_ITEM ( a_window->plug_menu_item ) ) ); gtk_menu_item_set_submenu ( GTK_MENU_ITEM ( a_window->plug_menu_item ), a_window->plug_menu ); } } } */ void import_all_plugins( FMMainWindow* main_window ) { GDir* dir; const char* name; char* plug_dir; char* plug_file; char* bookmarks_dir; int i; gboolean found = FALSE; gboolean found_plugins = FALSE; // get potential locations char* path; GList* locations = NULL; if ( DATADIR ) { locations = g_list_append( locations, g_build_filename( DATADIR, "spacefm", "included", NULL ) ); locations = g_list_append( locations, g_build_filename( DATADIR, "spacefm", "plugins", NULL ) ); } const gchar* const * sdir = g_get_system_data_dirs(); for( ; *sdir; ++sdir ) { path = g_build_filename( *sdir, "spacefm", "included", NULL ); if ( !g_list_find_custom( locations, path, (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, path ); else g_free( path ); path = g_build_filename( *sdir, "spacefm", "plugins", NULL ); if ( !g_list_find_custom( locations, path, (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, path ); else g_free( path ); } if ( !g_list_find_custom( locations, "/usr/local/share/spacefm/included", (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, g_strdup( "/usr/local/share/spacefm/included" ) ); if ( !g_list_find_custom( locations, "/usr/share/spacefm/included", (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, g_strdup( "/usr/share/spacefm/included" ) ); if ( !g_list_find_custom( locations, "/usr/local/share/spacefm/plugins", (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, g_strdup( "/usr/local/share/spacefm/plugins" ) ); if ( !g_list_find_custom( locations, "/usr/share/spacefm/plugins", (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, g_strdup( "/usr/share/spacefm/plugins" ) ); GList* l; for ( l = locations; l; l = l->next ) { dir = g_dir_open( (char*)l->data, 0, NULL ); if ( dir ) { while ( ( name = g_dir_read_name( dir ) ) ) { bookmarks_dir = g_build_filename( (char*)l->data, name, "main_book", NULL ); plug_file = g_build_filename( (char*)l->data, name, "plugin", NULL ); if ( g_file_test( plug_file, G_FILE_TEST_EXISTS ) && !g_file_test( bookmarks_dir, G_FILE_TEST_EXISTS ) ) { plug_dir = g_build_filename( (char*)l->data, name, NULL ); if ( xset_import_plugin( plug_dir, NULL ) ) { found = TRUE; if ( i == 1 ) found_plugins = TRUE; } else printf( "Invalid Plugin Ignored: %s/\n", plug_dir ); g_free( plug_dir ); } g_free( plug_file ); g_free( bookmarks_dir ); } g_dir_close( dir ); } } g_list_foreach( locations, (GFunc)g_free, NULL ); g_list_free( locations ); clean_plugin_mirrors(); } void on_devices_show( GtkMenuItem* item, FMMainWindow* main_window ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return; int mode = main_window->panel_context[file_browser->mypanel-1]; xset_set_b_panel_mode( file_browser->mypanel, "show_devmon", mode, !file_browser->side_dev ); update_views_all_windows( NULL, file_browser ); if ( file_browser->side_dev ) gtk_widget_grab_focus( GTK_WIDGET( file_browser->side_dev ) ); } GtkWidget* create_devices_menu( FMMainWindow* main_window ) { GtkWidget* dev_menu; GtkWidget* item; XSet* set; PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); GtkAccelGroup* accel_group = gtk_accel_group_new(); dev_menu = gtk_menu_new(); if ( !file_browser ) return dev_menu; set = xset_set_cb( "main_dev", on_devices_show, main_window ); set->b = file_browser->side_dev ? XSET_B_TRUE : XSET_B_UNSET; xset_add_menuitem( NULL, file_browser, dev_menu, accel_group, set ); set = xset_get( "main_dev_sep" ); xset_add_menuitem( NULL, file_browser, dev_menu, accel_group, set ); ptk_location_view_dev_menu( GTK_WIDGET( file_browser ), file_browser, dev_menu ); #ifndef HAVE_HAL set = xset_get( "sep_dm3" ); xset_add_menuitem( NULL, file_browser, dev_menu, accel_group, set ); set = xset_get( "dev_menu_settings" ); xset_add_menuitem( NULL, file_browser, dev_menu, accel_group, set ); #endif // show all gtk_widget_show_all( dev_menu ); return dev_menu; } void on_open_url( GtkWidget* widget, FMMainWindow* main_window ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); char* url = xset_get_s( "main_save_session" ); if ( file_browser && url && url[0] ) ptk_location_view_mount_network( file_browser, url, TRUE, TRUE ); #if 0 /* was on_save_session */ xset_autosave_cancel(); char* err_msg = save_settings( main_window ); if ( err_msg ) { char* msg = g_strdup_printf( _("Error: Unable to save session file\n\n( %s )"), err_msg ); g_free( err_msg ); xset_msg_dialog( GTK_WIDGET( main_window ), GTK_MESSAGE_ERROR, _("Save Session Error"), NULL, 0, msg, NULL, "#programfiles-home-session" ); g_free( msg ); } #endif } void on_find_file_activate ( GtkMenuItem *menuitem, gpointer user_data ) { FMMainWindow * main_window = FM_MAIN_WINDOW( user_data ); const char* cwd; const char* dirs[2]; PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); cwd = ptk_file_browser_get_cwd( file_browser ); dirs[0] = cwd; dirs[1] = NULL; fm_find_files( dirs ); } void on_open_current_folder_as_root ( GtkMenuItem *menuitem, gpointer user_data ) { FMMainWindow * main_window = FM_MAIN_WINDOW( user_data ); PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return; // root task PtkFileTask* task = ptk_file_exec_new( _("Open Root Window"), ptk_file_browser_get_cwd( file_browser ), GTK_WIDGET( file_browser ), file_browser->task_view ); char* prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); char* cwd = bash_quote( ptk_file_browser_get_cwd( file_browser ) ); task->task->exec_command = g_strdup_printf( "HOME=/root %s %s", prog, cwd ); g_free( prog ); g_free( cwd ); task->task->exec_as_user = g_strdup( "root" ); task->task->exec_sync = FALSE; task->task->exec_export = FALSE; task->task->exec_browser = NULL; ptk_file_task_run( task ); } void main_window_open_terminal( FMMainWindow* main_window, gboolean as_root ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return; GtkWidget* parent = gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ); char* main_term = xset_get_s( "main_terminal" ); if ( !main_term || main_term[0] == '\0' ) { ptk_show_error( GTK_WINDOW( parent ), _("Terminal Not Available"), _( "Please set your terminal program in View|Preferences|Advanced" ) ); fm_edit_preference( (GtkWindow*)parent, PREF_ADVANCED ); main_term = xset_get_s( "main_terminal" ); if ( !main_term || main_term[0] == '\0' ) return; } // task char* terminal = g_find_program_in_path( main_term ); if ( !terminal ) terminal = g_strdup( main_term ); PtkFileTask* task = ptk_file_exec_new( _("Open Terminal"), ptk_file_browser_get_cwd( file_browser ), GTK_WIDGET( file_browser ), file_browser->task_view );\ task->task->exec_command = terminal; task->task->exec_as_user = as_root ? g_strdup( "root" ) : NULL; task->task->exec_sync = FALSE; task->task->exec_export = TRUE; task->task->exec_browser = file_browser; ptk_file_task_run( task ); } void on_open_terminal_activate ( GtkMenuItem *menuitem, gpointer user_data ) { FMMainWindow * main_window = FM_MAIN_WINDOW( user_data ); main_window_open_terminal( main_window, FALSE ); } void on_open_root_terminal_activate ( GtkMenuItem *menuitem, gpointer user_data ) { FMMainWindow * main_window = FM_MAIN_WINDOW( user_data ); main_window_open_terminal( main_window, TRUE ); } void on_quit_activate( GtkMenuItem *menuitem, gpointer user_data ) { fm_main_window_delete_event( user_data, NULL ); //fm_main_window_close( GTK_WIDGET( user_data ) ); } void main_window_rubberband_all() { GList* l; FMMainWindow* main_window; PtkFileBrowser* a_browser; int num_pages, i, p; GtkWidget* notebook; for ( l = all_windows; l; l = l->next ) { main_window = (FMMainWindow*)l->data; for ( p = 1; p < 5; p++ ) { notebook = main_window->panel[p-1]; num_pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); for ( i = 0; i < num_pages; i++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), i ) ); if ( a_browser->view_mode == PTK_FB_LIST_VIEW ) { gtk_tree_view_set_rubber_banding( (GtkTreeView*)a_browser->folder_view, xset_get_b( "rubberband" ) ); } } } } } void main_window_refresh_all() { GList* l; FMMainWindow* main_window; PtkFileBrowser* a_browser; int num_pages, i, p; GtkWidget* notebook; for ( l = all_windows; l; l = l->next ) { main_window = (FMMainWindow*)l->data; for ( p = 1; p < 5; p++ ) { notebook = main_window->panel[p-1]; num_pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); for ( i = 0; i < num_pages; i++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), i ) ); ptk_file_browser_refresh( NULL, a_browser ); } } } } void main_window_root_bar_all() { if ( geteuid() != 0 ) return; GList* l; FMMainWindow* a_window; GdkColor color; //GdkColor color_white; if ( xset_get_b( "root_bar" ) ) { color.pixel = 0; color.red = 30000; color.blue = 1000; color.green = 0; //gdk_color_parse( "#ffffff", &color_white ); for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; gtk_widget_modify_bg( GTK_WIDGET( a_window ), GTK_STATE_NORMAL, &color ); gtk_widget_modify_bg( GTK_WIDGET( a_window->menu_bar ), GTK_STATE_NORMAL, &color ); gtk_widget_modify_bg( GTK_WIDGET( a_window->panelbar ), GTK_STATE_NORMAL, &color ); // how to change menu bar text color? //gtk_widget_modify_fg( GTK_MENU_ITEM( a_window->file_menu_item ), GTK_STATE_NORMAL, &color_white ); } } else { for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; gtk_widget_modify_bg( GTK_WIDGET( a_window ), GTK_STATE_NORMAL, NULL ); gtk_widget_modify_bg( GTK_WIDGET( a_window->menu_bar ), GTK_STATE_NORMAL, NULL ); gtk_widget_modify_bg( GTK_WIDGET( a_window->panelbar ), GTK_STATE_NORMAL, NULL ); //gtk_widget_modify_fg( a_window->menu_bar, GTK_STATE_NORMAL, NULL ); } } } void main_update_fonts( GtkWidget* widget, PtkFileBrowser* file_browser ) { PtkFileBrowser* a_browser; int i; char* fontname; PangoFontDescription* font_desc; GList* l; FMMainWindow* main_window; int num_pages; GtkWidget* label; GtkContainer* hbox; GtkLabel* text; GList* children; GtkImage* icon; GtkWidget* tab_label; XSet* set; char* icon_name; int p = file_browser->mypanel; // all windows/panel p/all browsers for ( l = all_windows; l; l = l->next ) { main_window = (FMMainWindow*)l->data; set = xset_get_panel( p, "icon_status" ); if ( set->icon && set->icon[0] != '\0' ) icon_name = set->icon; else icon_name = "gtk-yes"; num_pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[p-1] ) ); for ( i = 0; i < num_pages; i++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), i ) ); // file list / tree fontname = xset_get_s_panel( p, "font_file" ); if ( fontname ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( a_browser->folder_view ), font_desc ); if ( a_browser->view_mode != PTK_FB_LIST_VIEW ) { // force rebuild of folder_view for font change in exo_icon_view gtk_widget_destroy( a_browser->folder_view ); a_browser->folder_view = NULL; ptk_file_browser_update_views( NULL, a_browser ); } if ( a_browser->side_dir ) gtk_widget_modify_font( GTK_WIDGET( a_browser->side_dir ), font_desc ); pango_font_description_free( font_desc ); } else { gtk_widget_modify_font( GTK_WIDGET( a_browser->folder_view ), NULL ); if ( a_browser->side_dir ) gtk_widget_modify_font( GTK_WIDGET( a_browser->side_dir ), NULL ); } // devices if ( a_browser->side_dev ) { fontname = xset_get_s_panel( p, "font_dev" ); if ( fontname ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( a_browser->side_dev ), font_desc ); pango_font_description_free( font_desc ); } else gtk_widget_modify_font( GTK_WIDGET( a_browser->side_dev ), NULL ); } // bookmarks if ( a_browser->side_book ) { fontname = xset_get_s_panel( p, "font_book" ); if ( fontname ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( a_browser->side_book ), font_desc ); pango_font_description_free( font_desc ); } else gtk_widget_modify_font( GTK_WIDGET( a_browser->side_book ), NULL ); } // pathbar if ( a_browser->path_bar ) { fontname = xset_get_s_panel( p, "font_path" ); if ( fontname ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( a_browser->path_bar ), font_desc ); pango_font_description_free( font_desc ); } else gtk_widget_modify_font( GTK_WIDGET( a_browser->path_bar ), NULL ); } // status bar font and icon if ( a_browser->status_label ) { fontname = xset_get_s_panel( p, "font_status" ); if ( fontname ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( a_browser->status_label ), font_desc ); pango_font_description_free( font_desc ); } else gtk_widget_modify_font( GTK_WIDGET( a_browser->status_label ), NULL ); gtk_image_set_from_icon_name( GTK_IMAGE( a_browser->status_image ), icon_name, GTK_ICON_SIZE_MENU ); } // tabs // need to recreate to change icon tab_label = fm_main_window_create_tab_label( main_window, a_browser ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( main_window->panel[p-1] ), GTK_WIDGET(a_browser), tab_label ); // not needed? //fm_main_window_update_tab_label( main_window, a_browser, // a_browser->dir->disp_path ); } // tasks fontname = xset_get_s( "font_task" ); if ( fontname ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( main_window->task_view ), font_desc ); pango_font_description_free( font_desc ); } else gtk_widget_modify_font( GTK_WIDGET( main_window->task_view ), NULL ); // panelbar gtk_image_set_from_icon_name( GTK_IMAGE( main_window->panel_image[p-1] ), icon_name, GTK_ICON_SIZE_MENU ); } } void update_window_icon( GtkWindow* window, GtkIconTheme* theme ) { GdkPixbuf* icon; char* name; GError *error = NULL; XSet* set = xset_get( "main_icon" ); if ( set->icon ) name = set->icon; else if ( geteuid() == 0 ) name = "spacefm-root"; else name = "spacefm"; icon = gtk_icon_theme_load_icon( theme, name, 48, 0, &error ); if ( icon ) { gtk_window_set_icon( window, icon ); g_object_unref( icon ); } else if ( error != NULL ) { // An error occured on loading the icon fprintf( stderr, "spacefm: Unable to load the window icon " "'%s' in - update_window_icon - %s\n", name, error->message); g_error_free( error ); } } static void update_window_icons( GtkIconTheme* theme, GtkWindow* window ) { g_list_foreach( all_windows, (GFunc)update_window_icon, theme ); } void on_main_icon() { GList* l; FMMainWindow* a_window; for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; update_window_icon( GTK_WINDOW( a_window ), gtk_icon_theme_get_default() ); } } void main_design_mode( GtkMenuItem *menuitem, FMMainWindow* main_window ) { xset_msg_dialog( GTK_WIDGET( main_window ), 0, _("Design Mode Help"), NULL, 0, _("Design Mode allows you to change the name, shortcut key and icon of menu, toolbar and bookmark items, show help for an item, and add your own custom commands and applications.\n\nTo open the Design Menu, simply right-click on a menu item, bookmark, or toolbar item. To open the Design Menu for a submenu, first close the submenu (by clicking on it).\n\nFor more information, click the Help button below."), NULL, "#designmode" ); } void main_window_bookmark_changed( const char* changed_set_name ) { GList* l; FMMainWindow* main_window; PtkFileBrowser* a_browser; int num_pages, i, p; GtkWidget* notebook; for ( l = all_windows; l; l = l->next ) { main_window = (FMMainWindow*)l->data; for ( p = 1; p < 5; p++ ) { notebook = main_window->panel[p-1]; num_pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); for ( i = 0; i < num_pages; i++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), i ) ); if ( a_browser->side_book ) ptk_bookmark_view_xset_changed( GTK_TREE_VIEW( a_browser->side_book ), a_browser, changed_set_name ); } } } } void main_window_refresh_all_tabs_matching( const char* path ) { // This function actually closes the tabs because refresh doesn't work. // dir objects have multiple refs and unreffing them all wouldn't finalize // the dir object for unknown reason. // This breaks auto open of tabs on automount return; #if 0 GList* l; FMMainWindow* a_window; PtkFileBrowser* a_browser; GtkWidget* notebook; int cur_tabx, p; int pages; char* cwd_canon; //printf("main_window_refresh_all_tabs_matching %s\n", path ); // canonicalize path char buf[ PATH_MAX + 1 ]; char* canon = g_strdup( realpath( path, buf ) ); if ( !canon ) canon = g_strdup( path ); if ( !g_file_test( canon, G_FILE_TEST_IS_DIR ) ) { g_free( canon ); return; } // do all windows all panels all tabs for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; for ( p = 1; p < 5; p++ ) { notebook = a_window->panel[p-1]; pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); for ( cur_tabx = 0; cur_tabx < pages; cur_tabx++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), cur_tabx ) ); cwd_canon = realpath( ptk_file_browser_get_cwd( a_browser ), buf ); if ( !g_strcmp0( canon, cwd_canon ) && g_file_test( canon, G_FILE_TEST_IS_DIR ) ) { on_close_notebook_page( NULL, a_browser ); pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); cur_tabx--; //ptk_file_browser_refresh( NULL, a_browser ); } } } } g_free( canon ); #endif } void main_window_rebuild_all_toolbars( PtkFileBrowser* file_browser ) { GList* l; FMMainWindow* a_window; PtkFileBrowser* a_browser; GtkWidget* notebook; int cur_tabx, p; int pages; //printf("main_window_rebuild_all_toolbars\n"); // do this browser first if ( file_browser ) ptk_file_browser_rebuild_toolbars( file_browser ); // do all windows all panels all tabs for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; for ( p = 1; p < 5; p++ ) { notebook = a_window->panel[p-1]; pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); for ( cur_tabx = 0; cur_tabx < pages; cur_tabx++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), cur_tabx ) ); if ( a_browser != file_browser ) ptk_file_browser_rebuild_toolbars( a_browser ); } } } xset_autosave( FALSE, FALSE ); } void main_window_update_all_bookmark_views() { GList* l; FMMainWindow* a_window; PtkFileBrowser* a_browser; GtkWidget* notebook; int cur_tabx, p; int pages; // do all windows all panels all tabs for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; for ( p = 1; p < 5; p++ ) { notebook = a_window->panel[p-1]; pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); for ( cur_tabx = 0; cur_tabx < pages; cur_tabx++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), cur_tabx ) ); if ( a_browser->side_book ) ptk_bookmark_view_update_icons( NULL, a_browser ); } } } main_window_rebuild_all_toolbars( NULL ); // toolbar uses bookmark icon } void update_views_all_windows( GtkWidget* item, PtkFileBrowser* file_browser ) { GList* l; FMMainWindow* a_window; PtkFileBrowser* a_browser; GtkWidget* notebook; int cur_tabx, p; //printf("update_views_all_windows\n"); // do this browser first if ( !file_browser ) return; p = file_browser->mypanel; ptk_file_browser_update_views( NULL, file_browser ); // do other windows for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; if ( gtk_widget_get_visible( a_window->panel[p-1] ) ) { notebook = a_window->panel[p-1]; cur_tabx = gtk_notebook_get_current_page( GTK_NOTEBOOK( notebook ) ); if ( cur_tabx != -1 ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), cur_tabx ) ); if ( a_browser != file_browser ) ptk_file_browser_update_views( NULL, a_browser ); } } } xset_autosave( FALSE, FALSE ); } void main_window_toggle_thumbnails_all_windows() { int p, i, n; GtkNotebook* notebook; GList* l; PtkFileBrowser* file_browser; FMMainWindow* a_window; // toggle app_settings.show_thumbnail = !app_settings.show_thumbnail; // update all windows/all panels/all browsers for ( l = all_windows; l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = GTK_NOTEBOOK( a_window->panel[p-1] ); n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); ptk_file_browser_show_thumbnails( file_browser, app_settings.show_thumbnail ? app_settings.max_thumb_size : 0 ); } } } fm_desktop_update_thumbnails(); /* Ensuring free space at the end of the heap is freed to the OS, * mainly to deal with the possibility thousands of large thumbnails * have been freed but the memory not actually released by SpaceFM */ #if defined (__GLIBC__) malloc_trim(0); #endif } void focus_panel( GtkMenuItem* item, gpointer mw, int p ) { int panel, hidepanel; int panel_num; FMMainWindow* main_window = (FMMainWindow*)mw; if ( item ) panel_num = GPOINTER_TO_INT( g_object_get_data( G_OBJECT( item ), "panel_num" ) ); else panel_num = p; if ( panel_num == -1 ) // prev { panel = main_window->curpanel - 1; do { if ( panel < 1 ) panel = 4; if ( xset_get_b_panel( panel, "show" ) ) break; panel--; } while ( panel != main_window->curpanel - 1 ); } else if ( panel_num == -2 ) // next { panel = main_window->curpanel + 1; do { if ( panel > 4 ) panel = 1; if ( xset_get_b_panel( panel, "show" ) ) break; panel++; } while ( panel != main_window->curpanel + 1 ); } else if ( panel_num == -3 ) // hide { hidepanel = main_window->curpanel; panel = main_window->curpanel + 1; do { if ( panel > 4 ) panel = 1; if ( xset_get_b_panel( panel, "show" ) ) break; panel++; } while ( panel != hidepanel ); if ( panel == hidepanel ) panel = 0; } else panel = panel_num; if ( panel > 0 && panel < 5 ) { if ( gtk_widget_get_visible( main_window->panel[panel-1] ) ) { gtk_widget_grab_focus( GTK_WIDGET( main_window->panel[panel-1] ) ); main_window->curpanel = panel; main_window->notebook = main_window->panel[panel-1]; PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( file_browser ) { gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); set_panel_focus( main_window, file_browser ); } } else if ( panel_num != -3 ) { xset_set_b_panel( panel, "show", TRUE ); show_panels_all_windows( NULL, main_window ); gtk_widget_grab_focus( GTK_WIDGET( main_window->panel[panel-1] ) ); main_window->curpanel = panel; main_window->notebook = main_window->panel[panel-1]; PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( file_browser ) { gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); set_panel_focus( main_window, file_browser ); } } if ( panel_num == -3 ) { xset_set_b_panel( hidepanel, "show", FALSE ); show_panels_all_windows( NULL, main_window ); } } } void show_panels_all_windows( GtkMenuItem* item, FMMainWindow* main_window ) { GList* l; FMMainWindow* a_window; // do this window first main_window->panel_change = TRUE; show_panels( NULL, main_window ); // do other windows main_window->panel_change = FALSE; // don't save columns for other windows for ( l = all_windows; l; l = l->next ) { a_window = (FMMainWindow*)l->data; if ( main_window != a_window ) show_panels( NULL, a_window ); } xset_autosave( FALSE, FALSE ); } void show_panels( GtkMenuItem* item, FMMainWindow* main_window ) { int p, cur_tabx, i; const char* folder_path; XSet* set; char* tabs; char* end; char* tab_dir; char* tabs_add; gboolean show[5]; //array starts at 1 for clarity gboolean tab_added; gboolean horiz, vert; PtkFileBrowser* file_browser; // save column widths and side sliders of visible panels if ( main_window->panel_change ) { for ( p = 1 ; p < 5; p++ ) { if ( gtk_widget_get_visible( GTK_WIDGET( main_window->panel[p-1] ) ) ) { cur_tabx = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ) ); if ( cur_tabx != -1 ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), cur_tabx ) ); if ( file_browser ) { if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) ptk_file_browser_save_column_widths( GTK_TREE_VIEW( file_browser->folder_view ), file_browser ); //ptk_file_browser_slider_release( NULL, NULL, file_browser ); } } } } } // show panelbar if ( !!gtk_widget_get_visible( main_window->panelbar ) != !!( !main_window->fullscreen && xset_get_b( "main_pbar" ) ) ) { if ( xset_get_b( "main_pbar" ) ) gtk_widget_show( GTK_WIDGET( main_window->panelbar ) ); else gtk_widget_hide( GTK_WIDGET( main_window->panelbar ) ); } // all panels hidden? for ( p = 1 ; p < 5; p++ ) { if ( xset_get_b_panel( p, "show" ) ) break; } if ( p == 5 ) xset_set_b_panel( 1, "show", TRUE ); for ( p = 1 ; p < 5; p++ ) show[p] = xset_get_b_panel( p, "show" ); for ( p = 1 ; p < 5; p++ ) { // panel context - how panels share horiz and vert space with other panels if ( p == 1 ) { horiz = show[2]; vert = show[3] || show[4]; } else if ( p == 2 ) { horiz = show[1]; vert = show[3] || show[4]; } else if ( p == 3 ) { horiz = show[4]; vert = show[1] || show[2]; } else { horiz = show[3]; vert = show[1] || show[2]; } if ( horiz && vert ) main_window->panel_context[p-1] = PANEL_BOTH; else if ( horiz ) main_window->panel_context[p-1] = PANEL_HORIZ; else if ( vert ) main_window->panel_context[p-1] = PANEL_VERT; else main_window->panel_context[p-1] = PANEL_NEITHER; if ( show[p] ) { // shown // test if panel and mode exists char* str = g_strdup_printf( "panel%d_slider_positions%d", p, main_window->panel_context[p-1] ); if ( !( set = xset_is( str ) ) ) { // no config exists for this panel and mode - copy //printf ("no config for %d, %d\n", p, main_window->panel_context[p-1] ); XSet* set_old; int mode = main_window->panel_context[p-1]; xset_set_b_panel_mode( p, "show_toolbox", mode, xset_get_b_panel( p, "show_toolbox" ) ); xset_set_b_panel_mode( p, "show_devmon", mode, xset_get_b_panel( p, "show_devmon" ) ); if ( xset_is( "show_dirtree" ) ) xset_set_b_panel_mode( p, "show_dirtree", mode, xset_get_b_panel( p, "show_dirtree" ) ); xset_set_b_panel_mode( p, "show_book", mode, xset_get_b_panel( p, "show_book" ) ); xset_set_b_panel_mode( p, "show_sidebar", mode, xset_get_b_panel( p, "show_sidebar" ) ); xset_set_b_panel_mode( p, "detcol_name", mode, xset_get_b_panel( p, "detcol_name" ) ); xset_set_b_panel_mode( p, "detcol_size", mode, xset_get_b_panel( p, "detcol_size" ) ); xset_set_b_panel_mode( p, "detcol_type", mode, xset_get_b_panel( p, "detcol_type" ) ); xset_set_b_panel_mode( p, "detcol_perm", mode, xset_get_b_panel( p, "detcol_perm" ) ); xset_set_b_panel_mode( p, "detcol_owner", mode, xset_get_b_panel( p, "detcol_owner" ) ); xset_set_b_panel_mode( p, "detcol_date", mode, xset_get_b_panel( p, "detcol_date" ) ); set_old = xset_get_panel( p, "slider_positions" ); set = xset_get_panel_mode( p, "slider_positions", mode ); set->x = g_strdup( set_old->x ? set_old->x : "0" ); set->y = g_strdup( set_old->y ? set_old->y : "0" ); set->s = g_strdup( set_old->s ? set_old->s : "0" ); } g_free( str ); // load dynamic slider positions for this panel context main_window->panel_slide_x[p-1] = set->x ? atoi( set->x ) : 0; main_window->panel_slide_y[p-1] = set->y ? atoi( set->y ) : 0; main_window->panel_slide_s[p-1] = set->s ? atoi( set->s ) : 0; //printf( "loaded panel %d: %d, %d, %d\n", p, if ( !gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[p-1] ) ) ) { main_window->notebook = main_window->panel[p-1]; main_window->curpanel = p; // load saved tabs tab_added = FALSE; set = xset_get_panel( p, "show" ); if ( ( set->s && app_settings.load_saved_tabs ) || set->ob1 ) { // set->ob1 is preload path tabs_add = g_strdup_printf( "%s%s%s", set->s && app_settings.load_saved_tabs ? set->s : "", set->ob1 ? "///" : "", set->ob1 ? set->ob1 : "" ); tabs = tabs_add; while ( tabs && !strncmp( tabs, "///", 3 ) ) { tabs += 3; if ( !strncmp( tabs, "////", 4 ) ) { tab_dir = g_strdup( "/" ); tabs++; } else if ( end = strstr( tabs, "///" ) ) { end[0] = '\0'; tab_dir = g_strdup( tabs ); end[0] = '/'; tabs = end; } else { tab_dir = g_strdup( tabs ); tabs = NULL; } if ( tab_dir[0] != '\0' ) { // open saved tab if ( g_str_has_prefix( tab_dir, "~/" ) ) { // convert ~ to /home/user for hacked session files str = g_strdup_printf( "%s%s", g_get_home_dir(), tab_dir + 1 ); g_free( tab_dir ); tab_dir = str; } if ( g_file_test( tab_dir, G_FILE_TEST_IS_DIR ) ) folder_path = tab_dir; else if ( !( folder_path = xset_get_s( "go_set_default" ) ) ) { if ( geteuid() != 0 ) folder_path = g_get_home_dir(); else folder_path = "/"; } fm_main_window_add_new_tab( main_window, folder_path ); tab_added = TRUE; } g_free( tab_dir ); } if ( set->x && !set->ob1 ) { // set current tab cur_tabx = atoi( set->x ); if ( cur_tabx >= 0 && cur_tabx < gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[p-1] ) ) ) { gtk_notebook_set_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ), cur_tabx ); file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), cur_tabx ) ); //if ( file_browser->folder_view ) // gtk_widget_grab_focus( file_browser->folder_view ); //printf("call delayed (showpanels) #%d %#x window=%#x\n", cur_tabx, file_browser->folder_view, main_window); g_idle_add( ( GSourceFunc ) delayed_focus, file_browser->folder_view ); } } g_free( set->ob1 ); set->ob1 = NULL; g_free( tabs_add ); } if ( !tab_added ) { // open default tab if ( !( folder_path = xset_get_s( "go_set_default" ) ) ) { if ( geteuid() != 0 ) folder_path = g_get_home_dir(); else folder_path = "/"; } fm_main_window_add_new_tab( main_window, folder_path ); } } if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && !gtk_widget_get_visible( GTK_WIDGET( main_window->panel[p-1] ) ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", p, 0, NULL, 0, 0, 0, TRUE ); gtk_widget_show( GTK_WIDGET( main_window->panel[p-1] ) ); if ( !gtk_toggle_tool_button_get_active( GTK_TOGGLE_TOOL_BUTTON( main_window->panel_btn[p-1] ) ) ) { g_signal_handlers_block_matched( main_window->panel_btn[p-1], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_toggle_panelbar, NULL ); gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON( main_window->panel_btn[p-1] ), TRUE ); g_signal_handlers_unblock_matched( main_window->panel_btn[p-1], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_toggle_panelbar, NULL ); } } else { // not shown if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && gtk_widget_get_visible( GTK_WIDGET( main_window->panel[p-1] ) ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", p, 0, NULL, 0, 0, 0, FALSE ); gtk_widget_hide( GTK_WIDGET( main_window->panel[p-1] ) ); if ( gtk_toggle_tool_button_get_active( GTK_TOGGLE_TOOL_BUTTON( main_window->panel_btn[p-1] ) ) ) { g_signal_handlers_block_matched( main_window->panel_btn[p-1], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_toggle_panelbar, NULL ); gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON( main_window->panel_btn[p-1] ), FALSE ); g_signal_handlers_unblock_matched( main_window->panel_btn[p-1], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_toggle_panelbar, NULL ); } } } if ( show[1] || show[2] ) gtk_widget_show( GTK_WIDGET( main_window->hpane_top ) ); else gtk_widget_hide( GTK_WIDGET( main_window->hpane_top ) ); if ( show[3] || show[4] ) gtk_widget_show( GTK_WIDGET( main_window->hpane_bottom ) ); else gtk_widget_hide( GTK_WIDGET( main_window->hpane_bottom ) ); // current panel hidden? if ( !xset_get_b_panel( main_window->curpanel, "show" ) ) { p = main_window->curpanel + 1; if ( p > 4 ) p = 1; while ( p != main_window->curpanel ) { if ( xset_get_b_panel( p, "show" ) ) { main_window->curpanel = p; main_window->notebook = main_window->panel[p-1]; cur_tabx = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->notebook ) ); file_browser = (PtkFileBrowser*) gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->notebook ), cur_tabx ); gtk_widget_grab_focus( file_browser->folder_view ); break; } p++; if ( p > 4 ) p = 1; } } set_panel_focus( main_window, NULL ); // update views all panels for ( p = 1 ; p < 5; p++ ) { if ( show[p] ) { cur_tabx = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ) ); if ( cur_tabx != -1 ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), cur_tabx ) ); if ( file_browser ) ptk_file_browser_update_views( NULL, file_browser ); } } } } void on_toggle_panelbar( GtkWidget* widget, FMMainWindow* main_window ) { //printf("on_toggle_panelbar\n" ); int i; for ( i = 0; i < 4; i++ ) { if ( widget == main_window->panel_btn[i] ) { xset_set_b_panel( i+1, "show", gtk_toggle_tool_button_get_active( GTK_TOGGLE_TOOL_BUTTON( widget ) ) ); break; } } show_panels_all_windows( NULL, main_window ); } static gboolean on_menu_bar_event( GtkWidget* widget, GdkEvent* event, FMMainWindow* main_window ) { rebuild_menus( main_window ); return FALSE; } void on_bookmarks_show( GtkMenuItem* item, FMMainWindow* main_window ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return; int mode = main_window->panel_context[file_browser->mypanel-1]; xset_set_b_panel_mode( file_browser->mypanel, "show_book", mode, !file_browser->side_book ); update_views_all_windows( NULL, file_browser ); if ( file_browser->side_book ) { ptk_bookmark_view_chdir( GTK_TREE_VIEW( file_browser->side_book ), file_browser, TRUE ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->side_book ) ); } } void rebuild_menus( FMMainWindow* main_window ) { GtkWidget* newmenu; GtkWidget* submenu; char* menu_elements; GtkAccelGroup* accel_group = gtk_accel_group_new(); XSet* set; XSet* child_set; char* str; //printf("rebuild_menus\n"); PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return; XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); // File newmenu = gtk_menu_new(); xset_set_cb( "main_new_window", on_new_window_activate, main_window ); xset_set_cb( "main_root_window", on_open_current_folder_as_root, main_window ); xset_set_cb( "main_search", on_find_file_activate, main_window ); xset_set_cb( "main_terminal", on_open_terminal_activate, main_window ); xset_set_cb( "main_root_terminal", on_open_root_terminal_activate, main_window ); xset_set_cb( "main_save_session", on_open_url, main_window ); xset_set_cb( "main_exit", on_quit_activate, main_window ); menu_elements = g_strdup_printf( "main_save_session main_search sep_f1 main_terminal main_root_terminal main_new_window main_root_window sep_f2 main_save_tabs sep_f3 main_exit" ); xset_add_menu( NULL, file_browser, newmenu, accel_group, menu_elements ); g_free( menu_elements ); gtk_widget_show_all( GTK_WIDGET(newmenu) ); g_signal_connect( newmenu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( main_window->file_menu_item ), newmenu ); // View newmenu = gtk_menu_new(); xset_set_cb( "main_prefs", on_preference_activate, main_window ); xset_set_cb( "font_task", main_update_fonts, file_browser ); xset_set_cb( "main_full", on_fullscreen_activate, main_window ); xset_set_cb( "main_design_mode", main_design_mode, main_window ); xset_set_cb( "main_icon", on_main_icon, NULL ); xset_set_cb( "main_title", update_window_title, main_window ); int p; int vis_count = 0; for ( p = 1 ; p < 5; p++ ) { if ( xset_get_b_panel( p, "show" ) ) vis_count++; } if ( !vis_count ) { xset_set_b_panel( 1, "show", TRUE ); vis_count++; } set = xset_set_cb( "panel1_show", show_panels_all_windows, main_window ); set->disable = ( main_window->curpanel == 1 && vis_count == 1 ); set = xset_set_cb( "panel2_show", show_panels_all_windows, main_window ); set->disable = ( main_window->curpanel == 2 && vis_count == 1 ); set = xset_set_cb( "panel3_show", show_panels_all_windows, main_window ); set->disable = ( main_window->curpanel == 3 && vis_count == 1 ); set = xset_set_cb( "panel4_show", show_panels_all_windows, main_window ); set->disable = ( main_window->curpanel == 4 && vis_count == 1 ); xset_set_cb( "main_pbar", show_panels_all_windows, main_window ); set = xset_set_cb( "panel_prev", focus_panel, main_window ); xset_set_ob1_int( set, "panel_num", -1 ); set->disable = ( vis_count == 1 ); set = xset_set_cb( "panel_next", focus_panel, main_window ); xset_set_ob1_int( set, "panel_num", -2 ); set->disable = ( vis_count == 1 ); set = xset_set_cb( "panel_hide", focus_panel, main_window ); xset_set_ob1_int( set, "panel_num", -3 ); set->disable = ( vis_count == 1 ); set = xset_set_cb( "panel_1", focus_panel, main_window ); xset_set_ob1_int( set, "panel_num", 1 ); set->disable = ( main_window->curpanel == 1 ); set = xset_set_cb( "panel_2", focus_panel, main_window ); xset_set_ob1_int( set, "panel_num", 2 ); set->disable = ( main_window->curpanel == 2 ); set = xset_set_cb( "panel_3", focus_panel, main_window ); xset_set_ob1_int( set, "panel_num", 3 ); set->disable = ( main_window->curpanel == 3 ); set = xset_set_cb( "panel_4", focus_panel, main_window ); xset_set_ob1_int( set, "panel_num", 4 ); set->disable = ( main_window->curpanel == 4 ); menu_elements = g_strdup_printf( "panel1_show panel2_show panel3_show panel4_show main_pbar main_focus_panel" ); char* menu_elements2 = g_strdup_printf( "sep_v1 main_tasks main_auto sep_v2 main_title main_icon main_full sep_v3 main_design_mode main_prefs" ); main_task_prepare_menu( main_window, newmenu, accel_group ); xset_add_menu( NULL, file_browser, newmenu, accel_group, menu_elements ); // Panel View submenu set = xset_get( "con_view" ); str = set->menu_label; set->menu_label = g_strdup_printf( "%s %d %s", _("Panel"), main_window->curpanel, set->menu_label ); ptk_file_menu_add_panel_view_menu( file_browser, newmenu, accel_group ); g_free( set->menu_label ); set->menu_label = str; xset_add_menu( NULL, file_browser, newmenu, accel_group, menu_elements2 ); g_free( menu_elements ); g_free( menu_elements2 ); gtk_widget_show_all( GTK_WIDGET(newmenu) ); g_signal_connect( newmenu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( main_window->view_menu_item ), newmenu ); // Devices main_window->dev_menu = create_devices_menu( main_window ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( main_window->dev_menu_item ), main_window->dev_menu ); g_signal_connect( main_window->dev_menu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); // Bookmarks newmenu = gtk_menu_new(); set = xset_set_cb( "book_show", on_bookmarks_show, main_window ); set->b = file_browser->side_book ? XSET_B_TRUE : XSET_B_UNSET; xset_add_menuitem( NULL, file_browser, newmenu, accel_group, set ); set = xset_set_cb( "book_add", ptk_bookmark_view_add_bookmark, file_browser ); set->disable = FALSE; xset_add_menuitem( NULL, file_browser, newmenu, accel_group, set ); gtk_menu_shell_append( GTK_MENU_SHELL(newmenu), gtk_separator_menu_item_new() ); xset_add_menuitem( NULL, file_browser, newmenu, accel_group, ptk_bookmark_view_get_first_bookmark( NULL ) ); gtk_widget_show_all( GTK_WIDGET(newmenu) ); g_signal_connect( newmenu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( main_window->book_menu_item ), newmenu ); // Plugins main_window->plug_menu = create_plugins_menu( main_window ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( main_window->plug_menu_item ), main_window->plug_menu ); g_signal_connect( main_window->plug_menu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); // Tool newmenu = gtk_menu_new(); set = xset_get( "main_tool" ); if ( !set->child ) { child_set = xset_custom_new(); child_set->menu_label = g_strdup( _("New _Command") ); child_set->parent = g_strdup( "main_tool" ); set->child = g_strdup( child_set->name ); } else child_set = xset_get( set->child ); xset_add_menuitem( NULL, file_browser, newmenu, accel_group, child_set ); gtk_widget_show_all( GTK_WIDGET(newmenu) ); g_signal_connect( newmenu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( main_window->tool_menu_item ), newmenu ); // Help newmenu = gtk_menu_new(); xset_set_cb( "main_faq", on_main_faq, main_window ); xset_set_cb( "main_about", on_about_activate, main_window ); xset_set_cb( "main_help", on_main_help_activate, main_window ); xset_set_cb( "main_homepage", on_homepage_activate, main_window ); xset_set_cb( "main_news", on_news_activate, main_window ); xset_set_cb( "main_getplug", on_getplug_activate, main_window ); menu_elements = g_strdup_printf( "main_faq main_help sep_h1 main_homepage main_news main_getplug sep_h2 main_help_opt sep_h3 main_about" ); xset_add_menu( NULL, file_browser, newmenu, accel_group, menu_elements ); g_free( menu_elements ); gtk_widget_show_all( GTK_WIDGET(newmenu) ); g_signal_connect( newmenu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( main_window->help_menu_item ), newmenu ); //printf("rebuild_menus DONE\n"); } void on_main_window_realize( GtkWidget* widget, FMMainWindow* main_window ) { // preset the task manager height for no double-resize on first show idle_set_task_height( main_window ); } void fm_main_window_init( FMMainWindow* main_window ) { GtkWidget *bookmark_menu; //GtkWidget *view_menu_item; GtkWidget *edit_menu_item, *edit_menu, *history_menu; GtkToolItem *toolitem; GtkWidget *hbox; GtkLabel *label; GtkAccelGroup *edit_accel_group; GClosure* closure; int i; char* icon_name; XSet* set; main_window->configure_evt_timer = 0; main_window->fullscreen = FALSE; main_window->opened_maximized = main_window->maximized = app_settings.maximized; /* this is used to limit the scope of gtk_grab and modal dialogs */ main_window->wgroup = gtk_window_group_new(); gtk_window_group_add_window( main_window->wgroup, (GtkWindow*)main_window ); /* Add to total window count */ ++n_windows; all_windows = g_list_prepend( all_windows, main_window ); pcmanfm_ref(); //g_signal_connect( G_OBJECT( main_window ), "task-notify", // G_CALLBACK( ptk_file_task_notify_handler ), NULL ); /* Start building GUI */ /* NOTE: gtk_window_set_icon_name doesn't work under some WMs, such as IceWM. gtk_window_set_icon_name( GTK_WINDOW( main_window ), "gnome-fs-directory" ); */ if( 0 == theme_change_notify ) { theme_change_notify = g_signal_connect( gtk_icon_theme_get_default(), "changed", G_CALLBACK(update_window_icons), NULL ); } update_window_icon( (GtkWindow*)main_window, gtk_icon_theme_get_default() ); main_window->main_vbox = gtk_vbox_new ( FALSE, 0 ); gtk_container_add ( GTK_CONTAINER ( main_window ), main_window->main_vbox ); // Create menu bar main_window->accel_group = gtk_accel_group_new (); main_window->menu_bar = gtk_menu_bar_new(); //gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ), // main_window->menu_bar, FALSE, FALSE, 0 ); GtkWidget* menu_hbox = gtk_hbox_new ( FALSE, 0 ); gtk_box_pack_start ( GTK_BOX ( menu_hbox ), main_window->menu_bar, TRUE, TRUE, 0 ); // panelbar main_window->panelbar = gtk_toolbar_new(); #if GTK_CHECK_VERSION (3, 0, 0) GtkStyleContext *style_ctx = gtk_widget_get_style_context( main_window->panelbar ); gtk_style_context_add_class (style_ctx, GTK_STYLE_CLASS_MENUBAR); gtk_style_context_remove_class (style_ctx, GTK_STYLE_CLASS_TOOLBAR); #endif gtk_toolbar_set_show_arrow( GTK_TOOLBAR( main_window->panelbar ), FALSE ); gtk_toolbar_set_style( GTK_TOOLBAR( main_window->panelbar ), GTK_TOOLBAR_ICONS ); gtk_toolbar_set_icon_size( GTK_TOOLBAR( main_window->panelbar ), GTK_ICON_SIZE_MENU ); // set pbar background to menu bar background //gtk_widget_modify_bg( main_window->panelbar, GTK_STATE_NORMAL, // >K_WIDGET( main_window ) // ->style->bg[ GTK_STATE_NORMAL ] ); for ( i = 0; i < 4; i++ ) { main_window->panel_btn[i] = GTK_WIDGET( gtk_toggle_tool_button_new() ); icon_name = g_strdup_printf( _("Show Panel %d"), i + 1 ); gtk_tool_button_set_label( GTK_TOOL_BUTTON( main_window->panel_btn[i] ), icon_name ); g_free( icon_name ); set = xset_get_panel( i + 1, "icon_status" ); if ( set->icon && set->icon[0] != '\0' ) icon_name = set->icon; else icon_name = "gtk-yes"; main_window->panel_image[i] = xset_get_image( icon_name, GTK_ICON_SIZE_MENU ); gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON( main_window->panel_btn[i] ), main_window->panel_image[i] ); gtk_toolbar_insert( GTK_TOOLBAR( main_window->panelbar ), GTK_TOOL_ITEM( main_window->panel_btn[i] ), -1 ); g_signal_connect( main_window->panel_btn[i], "toggled", G_CALLBACK( on_toggle_panelbar ), main_window ); if ( i == 1 ) { GtkToolItem* sep = gtk_separator_tool_item_new(); gtk_separator_tool_item_set_draw( GTK_SEPARATOR_TOOL_ITEM( sep ), TRUE ); gtk_toolbar_insert( GTK_TOOLBAR( main_window->panelbar ), sep, -1 ); } } gtk_box_pack_start ( GTK_BOX ( menu_hbox ), main_window->panelbar, TRUE, TRUE, 0 ); gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ), menu_hbox, FALSE, FALSE, 0 ); main_window->file_menu_item = gtk_menu_item_new_with_mnemonic( _("_File") ); gtk_menu_shell_append( GTK_MENU_SHELL( main_window->menu_bar ), main_window->file_menu_item ); main_window->view_menu_item = gtk_menu_item_new_with_mnemonic( _("_View") ); gtk_menu_shell_append( GTK_MENU_SHELL( main_window->menu_bar ), main_window->view_menu_item ); main_window->dev_menu_item = gtk_menu_item_new_with_mnemonic( _("_Devices") ); gtk_menu_shell_append( GTK_MENU_SHELL( main_window->menu_bar ), main_window->dev_menu_item ); main_window->dev_menu = NULL; main_window->book_menu_item = gtk_menu_item_new_with_mnemonic( _("_Bookmarks") ); gtk_menu_shell_append( GTK_MENU_SHELL( main_window->menu_bar ), main_window->book_menu_item ); main_window->plug_menu_item = gtk_menu_item_new_with_mnemonic( _("_Plugins") ); gtk_menu_shell_append( GTK_MENU_SHELL( main_window->menu_bar ), main_window->plug_menu_item ); main_window->plug_menu = NULL; main_window->tool_menu_item = gtk_menu_item_new_with_mnemonic( _("_Tools") ); gtk_menu_shell_append( GTK_MENU_SHELL( main_window->menu_bar ), main_window->tool_menu_item ); main_window->help_menu_item = gtk_menu_item_new_with_mnemonic( _("_Help") ); gtk_menu_shell_append( GTK_MENU_SHELL( main_window->menu_bar ), main_window->help_menu_item ); rebuild_menus( main_window ); /* #ifdef SUPER_USER_CHECKS // Create warning bar for super user if ( geteuid() == 0 ) // Run as super user! { main_window->status_bar = gtk_event_box_new(); gtk_widget_modify_bg( main_window->status_bar, GTK_STATE_NORMAL, &main_window->status_bar->style->bg[ GTK_STATE_SELECTED ] ); label = GTK_LABEL( gtk_label_new ( _( "Warning: You are in super user mode" ) ) ); gtk_misc_set_padding( GTK_MISC( label ), 0, 2 ); gtk_widget_modify_fg( GTK_WIDGET( label ), GTK_STATE_NORMAL, >K_WIDGET( label ) ->style->fg[ GTK_STATE_SELECTED ] ); gtk_container_add( GTK_CONTAINER( main_window->status_bar ), GTK_WIDGET( label ) ); gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ), main_window->status_bar, FALSE, FALSE, 2 ); } #endif */ /* Create client area */ main_window->task_vpane = gtk_vpaned_new(); main_window->vpane = gtk_vpaned_new(); main_window->hpane_top = gtk_hpaned_new(); main_window->hpane_bottom = gtk_hpaned_new(); for ( i = 0; i < 4; i++ ) { main_window->panel[i] = gtk_notebook_new(); gtk_notebook_set_show_border( GTK_NOTEBOOK( main_window->panel[i] ), FALSE ); gtk_notebook_set_scrollable ( GTK_NOTEBOOK( main_window->panel[i] ), TRUE ); g_signal_connect ( main_window->panel[i], "switch-page", G_CALLBACK ( on_folder_notebook_switch_pape ), main_window ); } main_window->task_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_paned_pack1( GTK_PANED(main_window->hpane_top), main_window->panel[0], FALSE, TRUE ); gtk_paned_pack2( GTK_PANED(main_window->hpane_top), main_window->panel[1], TRUE, TRUE ); gtk_paned_pack1( GTK_PANED(main_window->hpane_bottom), main_window->panel[2], FALSE, TRUE ); gtk_paned_pack2( GTK_PANED(main_window->hpane_bottom), main_window->panel[3], TRUE, TRUE ); gtk_paned_pack1( GTK_PANED(main_window->vpane), main_window->hpane_top, FALSE, TRUE ); gtk_paned_pack2( GTK_PANED(main_window->vpane), main_window->hpane_bottom, TRUE, TRUE ); gtk_paned_pack1( GTK_PANED(main_window->task_vpane), main_window->vpane, TRUE, TRUE ); gtk_paned_pack2( GTK_PANED(main_window->task_vpane), main_window->task_scroll, FALSE, TRUE ); gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ), GTK_WIDGET( main_window->task_vpane ), TRUE, TRUE, 0 ); main_window->notebook = main_window->panel[0]; main_window->curpanel = 1; /* GTK_NOTEBOOK( gtk_notebook_new() ); gtk_notebook_set_show_border( main_window->notebook, FALSE ); gtk_notebook_set_scrollable ( main_window->notebook, TRUE ); gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ), GTK_WIDGET( main_window->notebook ), TRUE, TRUE, 0 ); */ /* // Create Status bar main_window->status_bar = gtk_statusbar_new (); gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ), main_window->status_bar, FALSE, FALSE, 0 ); */ // Task View gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( main_window->task_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); main_window->task_view = main_task_view_new( main_window ); gtk_container_add( GTK_CONTAINER( main_window->task_scroll ), GTK_WIDGET( main_window->task_view ) ); gtk_window_set_role( GTK_WINDOW( main_window ), "file_manager" ); gtk_widget_show_all( main_window->main_vbox ); g_signal_connect( G_OBJECT( main_window->file_menu_item ), "button-press-event", G_CALLBACK( on_menu_bar_event ), main_window ); g_signal_connect( G_OBJECT( main_window->view_menu_item ), "button-press-event", G_CALLBACK( on_menu_bar_event ), main_window ); g_signal_connect( G_OBJECT( main_window->dev_menu_item ), "button-press-event", G_CALLBACK( on_menu_bar_event ), main_window ); g_signal_connect( G_OBJECT( main_window->book_menu_item ), "button-press-event", G_CALLBACK( on_menu_bar_event ), main_window ); g_signal_connect( G_OBJECT( main_window->plug_menu_item ), "button-press-event", G_CALLBACK( on_menu_bar_event ), main_window ); g_signal_connect( G_OBJECT( main_window->tool_menu_item ), "button-press-event", G_CALLBACK( on_menu_bar_event ), main_window ); g_signal_connect( G_OBJECT( main_window->help_menu_item ), "button-press-event", G_CALLBACK( on_menu_bar_event ), main_window ); // use this OR widget_class->key_press_event = on_main_window_keypress; g_signal_connect( G_OBJECT( main_window ), "key-press-event", G_CALLBACK( on_main_window_keypress ), NULL ); g_signal_connect ( main_window, "focus-in-event", G_CALLBACK ( on_main_window_focus ), NULL ); g_signal_connect( G_OBJECT(main_window), "configure-event", G_CALLBACK(on_window_configure_event), main_window ); g_signal_connect ( G_OBJECT(main_window), "button-press-event", G_CALLBACK ( on_window_button_press_event ), main_window ); g_signal_connect ( G_OBJECT(main_window), "realize", G_CALLBACK ( on_main_window_realize ), main_window ); import_all_plugins( main_window ); main_window->panel_change = FALSE; show_panels( NULL, main_window ); main_window_root_bar_all(); gtk_widget_hide( GTK_WIDGET( main_window->task_scroll ) ); on_task_popup_show( NULL, main_window, NULL ); // show window gtk_window_set_default_size( GTK_WINDOW( main_window ), app_settings.width, app_settings.height ); if ( app_settings.maximized ) gtk_window_maximize( GTK_WINDOW( main_window ) ); gtk_widget_show ( GTK_WIDGET( main_window ) ); // restore panel sliders // do this after maximizing/showing window so slider positions are valid // in actual window size int pos = xset_get_int( "panel_sliders", "x" ); if ( pos < 200 ) pos = 200; gtk_paned_set_position( GTK_PANED( main_window->hpane_top ), pos ); pos = xset_get_int( "panel_sliders", "y" ); if ( pos < 200 ) pos = 200; gtk_paned_set_position( GTK_PANED( main_window->hpane_bottom ), pos ); pos = xset_get_int( "panel_sliders", "s" ); if ( pos < 200 ) pos = -1; gtk_paned_set_position( GTK_PANED( main_window->vpane ), pos ); // build the main menu initially, eg for F10 - Note: file_list is NULL // NOT doing this because it slows down the initial opening of the window // and shows a stale menu anyway. //rebuild_menus( main_window ); main_window_event( main_window, NULL, "evt_win_new", 0, 0, NULL, 0, 0, 0, TRUE ); } void fm_main_window_finalize( GObject *obj ) { all_windows = g_list_remove( all_windows, obj ); --n_windows; g_object_unref( ((FMMainWindow*)obj)->wgroup ); pcmanfm_unref(); /* Remove the monitor for changes of the bookmarks */ // ptk_bookmarks_remove_callback( ( GFunc ) on_bookmarks_change, obj ); if ( 0 == n_windows ) { g_signal_handler_disconnect( gtk_icon_theme_get_default(), theme_change_notify ); theme_change_notify = 0; } G_OBJECT_CLASS( parent_class ) ->finalize( obj ); } void fm_main_window_get_property ( GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec ) {} void fm_main_window_set_property ( GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec ) {} static void fm_main_window_close( FMMainWindow* main_window ) { /* printf("DISC=%d\n", g_signal_handlers_disconnect_by_func( G_OBJECT( main_window ), G_CALLBACK( ptk_file_task_notify_handler ), NULL ) ); */ if ( evt_win_close->s || evt_win_close->ob2_data ) main_window_event( main_window, evt_win_close, "evt_win_close", 0, 0, NULL, 0, 0, 0, FALSE ); gtk_widget_destroy( GTK_WIDGET( main_window ) ); } void on_abort_tasks_response( GtkDialog* dlg, int response, GtkWidget* main_window ) { fm_main_window_close( (FMMainWindow*)main_window ); } void fm_main_window_store_positions( FMMainWindow* main_window ) { if ( !main_window ) main_window = fm_main_window_get_last_active(); if ( !main_window ) return; // if the window is not fullscreen (is normal or maximized) save sliders // and columns if ( !main_window->fullscreen ) { // store width/height + sliders int pos; char* posa; GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( main_window ) , &allocation ); if ( !main_window->maximized && allocation.width > 0 ) { app_settings.width = allocation.width; app_settings.height = allocation.height; } if ( GTK_IS_PANED( main_window->hpane_top ) ) { pos = gtk_paned_get_position( GTK_PANED( main_window->hpane_top ) ); if ( pos ) { posa = g_strdup_printf( "%d", pos ); xset_set( "panel_sliders", "x", posa ); g_free( posa ); } pos = gtk_paned_get_position( GTK_PANED( main_window->hpane_bottom ) ); if ( pos ) { posa = g_strdup_printf( "%d", pos ); xset_set( "panel_sliders", "y", posa ); g_free( posa ); } pos = gtk_paned_get_position( GTK_PANED( main_window->vpane ) ); if ( pos ) { posa = g_strdup_printf( "%d", pos ); xset_set( "panel_sliders", "s", posa ); g_free( posa ); } if ( gtk_widget_get_visible( main_window->task_scroll ) ) { pos = gtk_paned_get_position( GTK_PANED( main_window->task_vpane ) ); if ( pos ) { // save slider pos for version < 0.9.2 (in case of downgrade) posa = g_strdup_printf( "%d", pos ); xset_set( "panel_sliders", "z", posa ); g_free( posa ); // save absolute height introduced v0.9.2 posa = g_strdup_printf( "%d", allocation.height - pos ); xset_set( "task_show_manager", "x", posa ); g_free( posa ); //printf("CLOS win %dx%d task height %d slider %d\n", allocation.width, allocation.height, allocation.height - pos, pos ); } } } // store task columns on_task_columns_changed( main_window->task_view, NULL ); // store fb columns int p, page_x; PtkFileBrowser* a_browser; if ( main_window->maximized ) main_window->opened_maximized = TRUE; // force save of columns for ( p = 1; p < 5; p++ ) { page_x = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ) ); if ( page_x != -1 ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), page_x ) ); if ( a_browser && a_browser->view_mode == PTK_FB_LIST_VIEW ) ptk_file_browser_save_column_widths( GTK_TREE_VIEW( a_browser->folder_view ), a_browser ); } } } } gboolean fm_main_window_delete_event ( GtkWidget *widget, GdkEvent *event ) { //printf("fm_main_window_delete_event\n"); FMMainWindow* main_window = (FMMainWindow*)widget; fm_main_window_store_positions( main_window ); // save settings app_settings.maximized = main_window->maximized; xset_autosave_cancel(); char* err_msg = save_settings( main_window ); if ( err_msg ) { char* msg = g_strdup_printf( _("Error: Unable to save session file. Do you want to exit without saving?\n\n( %s )"), err_msg ); g_free( err_msg ); GtkWidget* dlg = gtk_message_dialog_new( GTK_WINDOW( widget ), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_YES_NO, msg, NULL ); g_free( msg ); gtk_dialog_set_default_response( GTK_DIALOG( dlg ), GTK_RESPONSE_NO ); gtk_widget_show_all( dlg ); gtk_window_set_title( GTK_WINDOW( dlg ), _("SpaceFM Error") ); if ( gtk_dialog_run( GTK_DIALOG( dlg ) ) == GTK_RESPONSE_NO ) { gtk_widget_destroy( dlg ); return TRUE; } gtk_widget_destroy( dlg ); } // tasks running? if ( main_tasks_running( main_window ) ) { GtkWidget* dlg = gtk_message_dialog_new( GTK_WINDOW( widget ), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _( "Stop all tasks running in this window?" ) ); gtk_dialog_set_default_response( GTK_DIALOG( dlg ), GTK_RESPONSE_NO ); if ( gtk_dialog_run( GTK_DIALOG( dlg ) ) == GTK_RESPONSE_YES ) { gtk_widget_destroy( dlg ); dlg = gtk_message_dialog_new( GTK_WINDOW( widget ), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, _( "Aborting tasks..." ) ); g_signal_connect( dlg, "response", G_CALLBACK( on_abort_tasks_response ), widget ); g_signal_connect( dlg, "destroy", G_CALLBACK( gtk_widget_destroy ), dlg ); gtk_widget_show_all( dlg ); on_task_stop( NULL, main_window->task_view, xset_get( "task_stop_all" ), NULL ); while ( main_tasks_running( main_window ) ) { while( gtk_events_pending() ) gtk_main_iteration(); } } else { gtk_widget_destroy( dlg ); return TRUE; } } fm_main_window_close( main_window ); return TRUE; } static gboolean fm_main_window_window_state_event ( GtkWidget *widget, GdkEventWindowState *event ) { FMMainWindow* main_window = (FMMainWindow*)widget; main_window->maximized = app_settings.maximized = ((event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) != 0); if ( !main_window->maximized ) { if ( main_window->opened_maximized ) main_window->opened_maximized = FALSE; show_panels( NULL, main_window ); // restore columns } return TRUE; } char* main_window_get_tab_cwd( PtkFileBrowser* file_browser, int tab_num ) { if ( !file_browser ) return NULL; int page_x; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; GtkWidget* notebook = main_window->panel[file_browser->mypanel - 1]; int pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); int page_num = gtk_notebook_page_num( GTK_NOTEBOOK( notebook ), GTK_WIDGET( file_browser ) ); if ( tab_num == -1 ) // prev page_x = page_num - 1; else if ( tab_num == -2 ) // next page_x = page_num + 1; else page_x = tab_num - 1; // tab_num starts counting at 1 if ( page_x > -1 && page_x < pages ) { return g_strdup( ptk_file_browser_get_cwd( PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), page_x ) ) ) ); } else return NULL; } char* main_window_get_panel_cwd( PtkFileBrowser* file_browser, int panel_num ) { if ( !file_browser ) return NULL; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int panel_x = file_browser->mypanel; if ( panel_num == -1 ) // prev { do { if ( --panel_x < 1 ) panel_x = 4; if ( panel_x == file_browser->mypanel ) return NULL; } while ( !gtk_widget_get_visible( main_window->panel[panel_x - 1] ) ); } else if ( panel_num == -2 ) // next { do { if ( ++panel_x > 4 ) panel_x = 1; if ( panel_x == file_browser->mypanel ) return NULL; } while ( !gtk_widget_get_visible( main_window->panel[panel_x - 1] ) ); } else { panel_x = panel_num; if ( !gtk_widget_get_visible( main_window->panel[panel_x - 1] ) ) return NULL; } GtkWidget* notebook = main_window->panel[panel_x - 1]; int page_x = gtk_notebook_get_current_page( GTK_NOTEBOOK( notebook ) ); return g_strdup( ptk_file_browser_get_cwd( PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), page_x ) ) ) ); } void main_window_open_in_panel( PtkFileBrowser* file_browser, int panel_num, char* file_path ) { if ( !file_browser ) return; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int panel_x = file_browser->mypanel; if ( panel_num == -1 ) // prev { do { if ( --panel_x < 1 ) panel_x = 4; if ( panel_x == file_browser->mypanel ) return; } while ( !gtk_widget_get_visible( main_window->panel[panel_x - 1] ) ); } else if ( panel_num == -2 ) // next { do { if ( ++panel_x > 4 ) panel_x = 1; if ( panel_x == file_browser->mypanel ) return; } while ( !gtk_widget_get_visible( main_window->panel[panel_x - 1] ) ); } else { panel_x = panel_num; } if ( panel_x < 1 || panel_x > 4 ) return; // show panel if ( !gtk_widget_get_visible( main_window->panel[panel_x - 1] ) ) { xset_set_b_panel( panel_x, "show", TRUE ); show_panels_all_windows( NULL, main_window ); } // open in tab in panel int save_curpanel = main_window->curpanel; main_window->curpanel = panel_x; main_window->notebook = main_window->panel[panel_x - 1]; fm_main_window_add_new_tab( main_window, file_path ); main_window->curpanel = save_curpanel; main_window->notebook = main_window->panel[main_window->curpanel - 1]; // focus original panel //while( gtk_events_pending() ) // gtk_main_iteration(); //gtk_widget_grab_focus( GTK_WIDGET( main_window->notebook ) ); //gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); g_idle_add( ( GSourceFunc ) delayed_focus_file_browser, file_browser ); } gboolean main_window_panel_is_visible( PtkFileBrowser* file_browser, int panel ) { if ( panel < 1 || panel > 4 ) return FALSE; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; return gtk_widget_get_visible( main_window->panel[panel - 1] ); } void main_window_get_counts( PtkFileBrowser* file_browser, int* panel_count, int* tab_count, int* tab_num ) { if ( !file_browser ) return; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; GtkWidget* notebook = main_window->panel[file_browser->mypanel - 1]; *tab_count = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); // tab_num starts counting from 1 *tab_num = gtk_notebook_page_num( GTK_NOTEBOOK( notebook ), GTK_WIDGET( file_browser ) ) + 1; int count = 0; int i; for ( i = 0; i < 4; i++ ) { if ( gtk_widget_get_visible( main_window->panel[i] ) ) count++; } *panel_count = count; } void on_close_notebook_page( GtkButton* btn, PtkFileBrowser* file_browser ) { PtkFileBrowser* a_browser; //printf( "\n============== on_close_notebook_page fb=%#x\n", file_browser ); if ( !GTK_IS_WIDGET( file_browser ) ) return; GtkNotebook* notebook = GTK_NOTEBOOK( gtk_widget_get_ancestor( GTK_WIDGET( file_browser ), GTK_TYPE_NOTEBOOK ) ); FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; main_window->curpanel = file_browser->mypanel; main_window->notebook = main_window->panel[main_window->curpanel - 1]; if ( evt_tab_close->s || evt_tab_close->ob2_data ) main_window_event( main_window, evt_tab_close, "evt_tab_close", file_browser->mypanel, gtk_notebook_page_num( GTK_NOTEBOOK( main_window->notebook ), GTK_WIDGET( file_browser ) ) + 1, NULL, 0, 0, 0, FALSE ); // save solumns and slider positions of tab to be closed ptk_file_browser_slider_release( NULL, NULL, file_browser ); ptk_file_browser_save_column_widths( GTK_TREE_VIEW( file_browser->folder_view ), file_browser ); // without this signal blocked, on_close_notebook_page is called while // ptk_file_browser_update_views is still in progress causing segfault g_signal_handlers_block_matched( main_window->notebook, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_notebook_switch_pape, NULL ); // remove page can also be used to destroy - same result //gtk_notebook_remove_page( notebook, gtk_notebook_get_current_page( notebook ) ); gtk_widget_destroy( GTK_WIDGET( file_browser ) ); if ( !app_settings.always_show_tabs ) { if ( gtk_notebook_get_n_pages ( notebook ) == 1 ) gtk_notebook_set_show_tabs( notebook, FALSE ); } if ( gtk_notebook_get_n_pages ( notebook ) == 0 ) { const char* path = xset_get_s( "go_set_default" ); if ( !( path && path[0] != '\0' ) ) { if ( geteuid() != 0 ) path = g_get_home_dir(); else path = "/"; } fm_main_window_add_new_tab( main_window, path ); a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), 0 ) ); if ( GTK_IS_WIDGET( a_browser ) ) ptk_file_browser_update_views( NULL, a_browser ); goto _done_close; } // update view of new current tab int cur_tabx = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->notebook ) ); if ( cur_tabx != -1 ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), cur_tabx ) ); ptk_file_browser_update_views( NULL, a_browser ); if ( GTK_IS_WIDGET( a_browser ) ) { fm_main_window_update_status_bar( main_window, a_browser ); g_idle_add( ( GSourceFunc ) delayed_focus, a_browser->folder_view ); } if ( evt_tab_focus->s || evt_tab_focus->ob2_data ) main_window_event( main_window, evt_tab_focus, "evt_tab_focus", main_window->curpanel, cur_tabx + 1, NULL, 0, 0, 0, FALSE ); } _done_close: g_signal_handlers_unblock_matched( main_window->notebook, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_notebook_switch_pape, NULL ); update_window_title( NULL, main_window ); if ( xset_get_b( "main_save_tabs" ) ) xset_autosave( FALSE, TRUE ); } gboolean notebook_clicked (GtkWidget* widget, GdkEventButton * event, PtkFileBrowser* file_browser) //MOD added { on_file_browser_panel_change( file_browser, (FMMainWindow*)file_browser->main_window ); if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( file_browser->main_window, evt_win_click, "evt_win_click", 0, 0, "tabbar", 0, event->button, event->state, TRUE ) ) return TRUE; // middle-click on tab closes if (event->type == GDK_BUTTON_PRESS) { if ( event->button == 2 ) { on_close_notebook_page( NULL, file_browser ); return TRUE; } else if ( event->button == 3 ) { GtkWidget* popup = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); XSet* set = xset_set_cb( "tab_close", on_close_notebook_page, file_browser ); xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); set = xset_set_cb( "tab_new", ptk_file_browser_new_tab, file_browser ); xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); set = xset_set_cb( "tab_new_here", ptk_file_browser_new_tab_here, file_browser ); xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); set = xset_get( "sep_tab" ); xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); set = xset_set_cb_panel( file_browser->mypanel, "icon_tab", main_update_fonts, file_browser ); xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); set = xset_set_cb_panel( file_browser->mypanel, "font_tab", main_update_fonts, file_browser ); xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); gtk_widget_show_all( GTK_WIDGET( popup ) ); g_signal_connect( popup, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); g_signal_connect( popup, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, event->button, event->time ); return TRUE; } } return FALSE; } void on_file_browser_begin_chdir( PtkFileBrowser* file_browser, FMMainWindow* main_window ) { fm_main_window_update_status_bar( main_window, file_browser ); } void on_file_browser_after_chdir( PtkFileBrowser* file_browser, FMMainWindow* main_window ) { //fm_main_window_stop_busy_task( main_window ); if ( fm_main_window_get_current_file_browser( main_window ) == GTK_WIDGET( file_browser ) ) { set_window_title( main_window, file_browser ); //gtk_entry_set_text( main_window->address_bar, file_browser->dir->disp_path ); //gtk_statusbar_push( GTK_STATUSBAR( main_window->status_bar ), 0, "" ); //fm_main_window_update_command_ui( main_window, file_browser ); } //fm_main_window_update_tab_label( main_window, file_browser, file_browser->dir->disp_path ); if ( file_browser->inhibit_focus ) { // complete ptk_file_browser.c ptk_file_browser_seek_path() file_browser->inhibit_focus = FALSE; if ( file_browser->seek_name ) { ptk_file_browser_seek_path( file_browser, NULL, file_browser->seek_name ); g_free( file_browser->seek_name ); file_browser->seek_name = NULL; } } else { ptk_file_browser_select_last( file_browser ); //MOD restore last selections gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); //MOD } if ( xset_get_b( "main_save_tabs" ) ) xset_autosave( FALSE, TRUE ); if ( evt_tab_chdir->s || evt_tab_chdir->ob2_data ) main_window_event( main_window, evt_tab_chdir, "evt_tab_chdir", 0, 0, NULL, 0, 0, 0, TRUE ); } GtkWidget* fm_main_window_create_tab_label( FMMainWindow* main_window, PtkFileBrowser* file_browser ) { GtkEventBox * evt_box; GtkWidget* tab_label; GtkWidget* tab_text; GtkWidget* tab_icon = NULL; GtkWidget* close_btn; GtkWidget* close_icon; GdkPixbuf* pixbuf = NULL; GtkIconTheme* icon_theme = gtk_icon_theme_get_default(); /* Create tab label */ evt_box = GTK_EVENT_BOX( gtk_event_box_new () ); gtk_event_box_set_visible_window ( GTK_EVENT_BOX( evt_box ), FALSE ); tab_label = gtk_hbox_new( FALSE, 0 ); XSet* set = xset_get_panel( file_browser->mypanel, "icon_tab" ); if ( set->icon ) { pixbuf = vfs_load_icon( icon_theme, set->icon, 16 ); if ( pixbuf ) { tab_icon = gtk_image_new_from_pixbuf( pixbuf ); g_object_unref( pixbuf ); } else tab_icon = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); } if ( !tab_icon ) tab_icon = gtk_image_new_from_icon_name ( "gtk-directory", GTK_ICON_SIZE_MENU ); gtk_box_pack_start( GTK_BOX( tab_label ), tab_icon, FALSE, FALSE, 4 ); if ( ptk_file_browser_get_cwd( file_browser ) ) { char* name = g_path_get_basename( ptk_file_browser_get_cwd( file_browser ) ); if ( name ) { tab_text = gtk_label_new( name ); g_free( name ); } } else tab_text = gtk_label_new( "" ); // set font char* fontname = xset_get_s_panel( file_browser->mypanel, "font_tab" ); if ( fontname ) { PangoFontDescription* font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( tab_text, font_desc ); pango_font_description_free( font_desc ); } gtk_label_set_ellipsize( GTK_LABEL( tab_text ), PANGO_ELLIPSIZE_MIDDLE ); #if GTK_CHECK_VERSION (3, 0, 0) if (strlen( gtk_label_get_text( GTK_LABEL( tab_text ) ) ) < 30) { gtk_label_set_ellipsize( GTK_LABEL( tab_text ), PANGO_ELLIPSIZE_NONE ); gtk_label_set_width_chars( GTK_LABEL( tab_text ), -1 ); } else gtk_label_set_width_chars( GTK_LABEL( tab_text ), 30 ); #endif gtk_label_set_max_width_chars( GTK_LABEL( tab_text ), 30 ); gtk_box_pack_start( GTK_BOX( tab_label ), tab_text, FALSE, FALSE, 4 ); if ( !app_settings.hide_close_tab_buttons ) { close_btn = gtk_button_new (); gtk_button_set_focus_on_click ( GTK_BUTTON ( close_btn ), FALSE ); gtk_button_set_relief( GTK_BUTTON ( close_btn ), GTK_RELIEF_NONE ); pixbuf = vfs_load_icon( icon_theme, GTK_STOCK_CLOSE, 16 ); if ( pixbuf ) { close_icon = gtk_image_new_from_pixbuf( pixbuf ); g_object_unref( pixbuf ); //shorten tab since we have a 16 icon gtk_widget_set_size_request ( close_btn, 24, 20 ); #if GTK_CHECK_VERSION (3, 0, 0) /* Code modified from gedit: gedit-close-button.c */ static const gchar button_style[] = "* {\n" "-GtkButton-default-border : 0;\n" "-GtkButton-default-outside-border : 0;\n" "-GtkButton-inner-border: 0;\n" "-GtkWidget-focus-line-width : 0;\n" "-GtkWidget-focus-padding : 0;\n" "padding: 0;\n" "}"; GtkCssProvider *css_prov = gtk_css_provider_new (); gtk_css_provider_load_from_data(css_prov, button_style, -1, NULL); GtkStyleContext *ctx = gtk_widget_get_style_context( close_btn ); gtk_style_context_add_provider( ctx, GTK_STYLE_PROVIDER( css_prov ), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION ); #endif } else { close_icon = gtk_image_new_from_stock( GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU ); } gtk_container_add ( GTK_CONTAINER ( close_btn ), close_icon ); gtk_box_pack_end ( GTK_BOX( tab_label ), close_btn, FALSE, FALSE, 0 ); g_signal_connect( G_OBJECT( close_btn ), "clicked", G_CALLBACK( on_close_notebook_page ), file_browser ); } gtk_container_add ( GTK_CONTAINER ( evt_box ), tab_label ); gtk_widget_set_events ( GTK_WIDGET( evt_box ), GDK_ALL_EVENTS_MASK ); gtk_drag_dest_set ( GTK_WIDGET( evt_box ), GTK_DEST_DEFAULT_ALL, drag_targets, sizeof( drag_targets ) / sizeof( GtkTargetEntry ), GDK_ACTION_DEFAULT | GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK ); g_signal_connect ( ( gpointer ) evt_box, "drag-motion", G_CALLBACK ( on_tab_drag_motion ), file_browser ); //MOD middle-click to close tab g_signal_connect(G_OBJECT(evt_box), "button-press-event", G_CALLBACK(notebook_clicked), file_browser); gtk_widget_show_all( GTK_WIDGET( evt_box ) ); if ( !set->icon ) gtk_widget_hide( tab_icon ); return GTK_WIDGET( evt_box ); } void fm_main_window_update_tab_label( FMMainWindow* main_window, PtkFileBrowser* file_browser, const char * path ) { GtkWidget * label; GtkContainer* hbox; GtkImage* icon; GtkLabel* text; GList* children; gchar* name; label = gtk_notebook_get_tab_label ( GTK_NOTEBOOK( main_window->notebook ), GTK_WIDGET( file_browser ) ); if ( label ) { hbox = GTK_CONTAINER( gtk_bin_get_child ( GTK_BIN( label ) ) ); children = gtk_container_get_children( hbox ); icon = GTK_IMAGE( children->data ); text = GTK_LABEL( children->next->data ); // TODO: Change the icon name = g_path_get_basename( path ); gtk_label_set_text( text, name ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_label_set_ellipsize( text, PANGO_ELLIPSIZE_MIDDLE ); if (strlen( name ) < 30) { gtk_label_set_ellipsize( text, PANGO_ELLIPSIZE_NONE ); gtk_label_set_width_chars( text, -1 ); } else gtk_label_set_width_chars( text, 30 ); #endif g_free( name ); g_list_free( children ); //sfm 0.6.0 enabled } } void fm_main_window_add_new_tab( FMMainWindow* main_window, const char* folder_path ) { GtkWidget * tab_label; gint idx; GtkWidget* notebook = main_window->notebook; PtkFileBrowser* curfb = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser ( main_window ) ); if ( GTK_IS_WIDGET( curfb ) ) { // save sliders of current fb ( new tab while task manager is shown changes vals ) ptk_file_browser_slider_release( NULL, NULL, curfb ); // save column widths of fb so new tab has same ptk_file_browser_save_column_widths( GTK_TREE_VIEW( curfb->folder_view ), curfb ); } int i = main_window->curpanel -1; PtkFileBrowser* file_browser = (PtkFileBrowser*)ptk_file_browser_new( main_window->curpanel, notebook, main_window->task_view, main_window ); if ( !file_browser ) return; //printf( "++++++++++++++fm_main_window_add_new_tab fb=%#x\n", file_browser ); ptk_file_browser_set_single_click( file_browser, app_settings.single_click ); // FIXME: this shouldn't be hard-code ptk_file_browser_set_single_click_timeout( file_browser, app_settings.no_single_hover ? 0 : SINGLE_CLICK_TIMEOUT ); ptk_file_browser_show_thumbnails( file_browser, app_settings.show_thumbnail ? app_settings.max_thumb_size : 0 ); ptk_file_browser_set_sort_order( file_browser, xset_get_int_panel( file_browser->mypanel, "list_detailed", "x" ) ); ptk_file_browser_set_sort_type( file_browser, xset_get_int_panel( file_browser->mypanel, "list_detailed", "y" ) ); gtk_widget_show( GTK_WIDGET( file_browser ) ); /* g_signal_connect( file_browser, "before-chdir", G_CALLBACK( on_file_browser_before_chdir ), main_window ); */ g_signal_connect( file_browser, "begin-chdir", G_CALLBACK( on_file_browser_begin_chdir ), main_window ); g_signal_connect( file_browser, "content-change", G_CALLBACK( on_file_browser_content_change ), main_window ); g_signal_connect( file_browser, "after-chdir", G_CALLBACK( on_file_browser_after_chdir ), main_window ); g_signal_connect( file_browser, "open-item", G_CALLBACK( on_file_browser_open_item ), main_window ); g_signal_connect( file_browser, "sel-change", G_CALLBACK( on_file_browser_sel_change ), main_window ); g_signal_connect( file_browser, "pane-mode-change", G_CALLBACK( on_file_browser_panel_change ), main_window ); tab_label = fm_main_window_create_tab_label( main_window, file_browser ); idx = gtk_notebook_append_page( GTK_NOTEBOOK( notebook ), GTK_WIDGET( file_browser ), tab_label ); gtk_notebook_set_tab_reorderable( GTK_NOTEBOOK( notebook ), GTK_WIDGET( file_browser ), TRUE ); gtk_notebook_set_current_page ( GTK_NOTEBOOK( notebook ), idx ); if (app_settings.always_show_tabs) gtk_notebook_set_show_tabs( GTK_NOTEBOOK( notebook ), TRUE ); else if ( gtk_notebook_get_n_pages ( GTK_NOTEBOOK( notebook ) ) > 1 ) gtk_notebook_set_show_tabs( GTK_NOTEBOOK( notebook ), TRUE ); else gtk_notebook_set_show_tabs( GTK_NOTEBOOK( notebook ), FALSE ); if ( !ptk_file_browser_chdir( file_browser, folder_path, PTK_FB_CHDIR_ADD_HISTORY ) ) ptk_file_browser_chdir( file_browser, "/", PTK_FB_CHDIR_ADD_HISTORY ); if ( evt_tab_new->s || evt_tab_new->ob2_data ) main_window_event( main_window, evt_tab_new, "evt_tab_new", 0, 0, NULL, 0, 0, 0, TRUE ); set_panel_focus( main_window, file_browser ); // while( gtk_events_pending() ) // wait for chdir to grab focus // gtk_main_iteration(); //gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); //printf("focus browser #%d %d\n", idx, file_browser->folder_view ); //printf("call delayed (newtab) #%d %#x\n", idx, file_browser->folder_view); // g_idle_add( ( GSourceFunc ) delayed_focus, file_browser->folder_view ); } GtkWidget* fm_main_window_new() { return ( GtkWidget* ) g_object_new ( FM_TYPE_MAIN_WINDOW, NULL ); } GtkWidget* fm_main_window_get_current_file_browser ( FMMainWindow* main_window ) { if ( !main_window ) { main_window = fm_main_window_get_last_active(); if ( !main_window ) return NULL; } if ( main_window->notebook ) { gint idx = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->notebook ) ); if ( idx >= 0 ) return gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->notebook ), idx ); } return NULL; } void on_preference_activate ( GtkMenuItem *menuitem, gpointer user_data ) { FMMainWindow * main_window = FM_MAIN_WINDOW( user_data ); fm_main_window_preference( main_window ); } void fm_main_window_preference( FMMainWindow* main_window ) { fm_edit_preference( (GtkWindow*)main_window, PREF_GENERAL ); } #if 0 void on_file_assoc_activate ( GtkMenuItem *menuitem, gpointer user_data ) { GtkWindow * main_window = GTK_WINDOW( user_data ); edit_file_associations( main_window ); } #endif /* callback used to open default browser when URLs got clicked */ static void open_url( GtkAboutDialog *dlg, const gchar *url, gpointer data) { xset_open_url( GTK_WIDGET( dlg ), url ); #if 0 /* FIXME: is there any better way to do this? */ char* programs[] = { "xdg-open", "gnome-open" /* Sorry, KDE users. :-P */, "exo-open" }; int i; for( i = 0; i < G_N_ELEMENTS(programs); ++i) { char* open_cmd = NULL; if( (open_cmd = g_find_program_in_path( programs[i] )) ) { char* cmd = g_strdup_printf( "%s \'%s\'", open_cmd, url ); g_spawn_command_line_async( cmd, NULL ); g_free( cmd ); g_free( open_cmd ); break; } } #endif } void on_main_help_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ) { const char* help; PtkFileBrowser* browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( browser && browser->path_bar && gtk_widget_has_focus( GTK_WIDGET( browser->path_bar ) ) ) help = "#gui-pathbar"; else if ( browser && browser->side_dev && gtk_widget_has_focus( GTK_WIDGET( browser->side_dev ) ) ) help = "#devices"; else if ( browser && browser->side_book && gtk_widget_has_focus( GTK_WIDGET( browser->side_book ) ) ) help = "#gui-book"; else if ( main_window->task_view && gtk_widget_has_focus( GTK_WIDGET( main_window->task_view ) ) ) help = "#tasks-man"; else help = NULL; xset_show_help( GTK_WIDGET( main_window ), NULL, help ); } void on_main_faq ( GtkMenuItem *menuitem, FMMainWindow* main_window ) { xset_show_help( GTK_WIDGET( main_window ), NULL, "#quickstart-faq" ); } void on_homepage_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ) { xset_open_url( GTK_WIDGET( main_window ), NULL ); } void on_news_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ) { xset_open_url( GTK_WIDGET( main_window ), "http://ignorantguru.github.io/spacefm/news.html" ); } void on_getplug_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ) { xset_open_url( GTK_WIDGET( main_window ), "https://github.com/IgnorantGuru/spacefm/wiki/plugins/" ); } void on_about_activate ( GtkMenuItem *menuitem, gpointer user_data ) { static GtkWidget * about_dlg = NULL; GtkBuilder* builder = gtk_builder_new(); if( ! about_dlg ) { GtkBuilder* builder; pcmanfm_ref(); builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/about-dlg.ui", NULL ); about_dlg = GTK_WIDGET( gtk_builder_get_object( builder, "dlg" ) ); g_object_unref( builder ); gtk_about_dialog_set_version ( GTK_ABOUT_DIALOG ( about_dlg ), VERSION ); char* name; XSet* set = xset_get( "main_icon" ); if ( set->icon ) name = set->icon; else if ( geteuid() == 0 ) name = "spacefm-root"; else name = "spacefm"; gtk_about_dialog_set_logo_icon_name( GTK_ABOUT_DIALOG ( about_dlg ), name ); g_object_add_weak_pointer( G_OBJECT(about_dlg), (gpointer)&about_dlg ); g_signal_connect( about_dlg, "response", G_CALLBACK(gtk_widget_destroy), NULL ); g_signal_connect( about_dlg, "destroy", G_CALLBACK(pcmanfm_unref), NULL ); g_signal_connect( about_dlg, "activate-link", G_CALLBACK(open_url), NULL ); } gtk_window_set_transient_for( GTK_WINDOW( about_dlg ), GTK_WINDOW( user_data ) ); gtk_window_present( (GtkWindow*)about_dlg ); } #if 0 gboolean on_back_btn_popup_menu ( GtkWidget *widget, gpointer user_data ) { //GtkWidget* file_browser = fm_main_window_get_current_file_browser( widget ); return FALSE; } #endif #if 0 gboolean on_forward_btn_popup_menu ( GtkWidget *widget, gpointer user_data ) { //GtkWidget* file_browser = fm_main_window_get_current_file_browser( widget ); return FALSE; } #endif void fm_main_window_add_new_window( FMMainWindow* main_window ) { if ( main_window && !main_window->maximized && !main_window->fullscreen ) { // use current main_window's size for new window GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( main_window ), &allocation); if ( allocation.width > 0 ) { app_settings.width = allocation.width; app_settings.height = allocation.height; } } GtkWidget* new_win = fm_main_window_new(); } void on_new_window_activate ( GtkMenuItem *menuitem, gpointer user_data ) { FMMainWindow* main_window = FM_MAIN_WINDOW( user_data ); xset_autosave_cancel(); fm_main_window_store_positions( main_window ); save_settings( main_window ); /* this works - enable if desired // open active tabs only for ( p = 1; p < 5; p++ ) { set = xset_get_panel( p, "show" ); if ( set->b == XSET_B_TRUE ) { // set preload tab to current cur_tabx = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ) ); a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), cur_tabx ) ); if ( GTK_IS_WIDGET( a_browser ) ) set->ob1 = g_strdup( ptk_file_browser_get_cwd( a_browser ) ); // clear other saved tabs g_free( set->s ); set->s = NULL; } } */ fm_main_window_add_new_window( main_window ); } static gboolean delayed_focus( GtkWidget* widget ) { if ( GTK_IS_WIDGET( widget ) ) { ///gdk_threads_enter(); //printf( "delayed_focus %#x\n", widget); if ( GTK_IS_WIDGET( widget ) ) gtk_widget_grab_focus( widget ); ///gdk_threads_leave(); } return FALSE; } static gboolean delayed_focus_file_browser( PtkFileBrowser* file_browser ) { if ( GTK_IS_WIDGET( file_browser ) && GTK_IS_WIDGET( file_browser->folder_view ) ) { ///gdk_threads_enter(); //printf( "delayed_focus_file_browser fb=%#x\n", file_browser ); if ( GTK_IS_WIDGET( file_browser ) && GTK_IS_WIDGET( file_browser->folder_view ) ) { gtk_widget_grab_focus( file_browser->folder_view ); set_panel_focus( NULL, file_browser ); } ///gdk_threads_leave(); } return FALSE; } void set_panel_focus( FMMainWindow* main_window, PtkFileBrowser* file_browser ) { int p, pages, cur_tabx; GtkWidget* notebook; PtkFileBrowser* a_browser; if ( !file_browser && !main_window ) return; FMMainWindow* mw = main_window; if ( !mw ) mw = (FMMainWindow*)file_browser->main_window; if ( file_browser ) ptk_file_browser_status_change( file_browser, file_browser->mypanel == mw->curpanel ); for ( p = 1; p < 5; p++ ) { notebook = mw->panel[p-1]; pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); for ( cur_tabx = 0; cur_tabx < pages; cur_tabx++ ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), cur_tabx ) ); if ( a_browser != file_browser ) ptk_file_browser_status_change( a_browser, p == mw->curpanel ); } gtk_widget_set_sensitive( mw->panel_image[p-1], p == mw->curpanel ); } update_window_title( NULL, mw ); if ( evt_pnl_focus->s || evt_pnl_focus->ob2_data ) main_window_event( main_window, evt_pnl_focus, "evt_pnl_focus", mw->curpanel, 0, NULL, 0, 0, 0, TRUE ); } void on_fullscreen_activate ( GtkMenuItem *menuitem, FMMainWindow* main_window ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser ( main_window ) ); if ( xset_get_b( "main_full" ) ) { if ( file_browser && file_browser->view_mode == PTK_FB_LIST_VIEW ) ptk_file_browser_save_column_widths( GTK_TREE_VIEW( file_browser->folder_view ), file_browser ); gtk_widget_hide( main_window->menu_bar ); gtk_widget_hide( main_window->panelbar ); gtk_window_fullscreen( GTK_WINDOW( main_window ) ); main_window->fullscreen = TRUE; } else { main_window->fullscreen = FALSE; gtk_window_unfullscreen( GTK_WINDOW( main_window ) ); gtk_widget_show( main_window->menu_bar ); if ( xset_get_b( "main_pbar" ) ) gtk_widget_show( main_window->panelbar ); if ( !main_window->maximized ) show_panels( NULL, main_window ); // restore columns } } void set_window_title( FMMainWindow* main_window, PtkFileBrowser* file_browser ) { char* disp_path; char* disp_name; char* tab_count = NULL; char* tab_num = NULL; char* panel_count = NULL; char* panel_num = NULL; char* s; if ( !file_browser || !main_window ) return; if ( file_browser->dir && file_browser->dir->disp_path ) { disp_path = g_strdup( file_browser->dir->disp_path ); disp_name = g_path_get_basename( disp_path ); } else { const char* path = ptk_file_browser_get_cwd( file_browser ); if ( path ) { disp_path = g_filename_display_name( path ); disp_name = g_path_get_basename( disp_path ); } else { disp_name = g_strdup( "" ); disp_path = g_strdup( "" ); } } char* orig_fmt = xset_get_s( "main_title" ); char* fmt = g_strdup( orig_fmt ); if ( !fmt ) fmt = g_strdup( "%d" ); if ( strstr( fmt, "%t" ) || strstr( fmt, "%T" ) || strstr( fmt, "%p" ) || strstr( fmt, "%P" ) ) { // get panel/tab info int ipanel_count = 0, itab_count = 0, itab_num = 0; main_window_get_counts( file_browser, &ipanel_count, &itab_count, &itab_num ); panel_count = g_strdup_printf( "%d", ipanel_count ); tab_count = g_strdup_printf( "%d", itab_count ); tab_num = g_strdup_printf( "%d", itab_num ); panel_count = g_strdup_printf( "%d", ipanel_count ); panel_num = g_strdup_printf( "%d", main_window->curpanel ); s = replace_string( fmt, "%t", tab_num, FALSE ); g_free( fmt ); fmt = replace_string( s, "%T", tab_count, FALSE ); g_free( s ); s = replace_string( fmt, "%p", panel_num, FALSE ); g_free( fmt ); fmt = replace_string( s, "%P", panel_count, FALSE ); g_free( panel_count ); g_free( tab_count ); g_free( tab_num ); g_free( panel_num ); } if ( strchr( fmt, '*' ) && !main_tasks_running( main_window ) ) { s = fmt; fmt = replace_string( s, "*", "", FALSE ); g_free( s ); } if ( strstr( fmt, "%n" ) ) { s = fmt; fmt = replace_string( s, "%n", disp_name, FALSE ); g_free( s ); } if ( orig_fmt && strstr( orig_fmt, "%d" ) ) { s = fmt; fmt = replace_string( s, "%d", disp_path, FALSE ); g_free( s ); } g_free( disp_name ); g_free( disp_path ); gtk_window_set_title( GTK_WINDOW( main_window ), fmt ); g_free( fmt ); /* if ( file_browser->dir && ( disp_path = file_browser->dir->disp_path ) ) { disp_name = g_path_get_basename( disp_path ); //gtk_entry_set_text( main_window->address_bar, disp_path ); gtk_window_set_title( GTK_WINDOW( main_window ), disp_name ); g_free( disp_name ); } else { char* path = ptk_file_browser_get_cwd( file_browser ); if ( path ) { disp_path = g_filename_display_name( path ); //gtk_entry_set_text( main_window->address_bar, disp_path ); disp_name = g_path_get_basename( disp_path ); g_free( disp_path ); gtk_window_set_title( GTK_WINDOW( main_window ), disp_name ); g_free( disp_name ); } } */ } void update_window_title( GtkMenuItem* item, FMMainWindow* main_window ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser ( main_window ) ); if ( file_browser ) set_window_title( main_window, file_browser ); } void on_folder_notebook_switch_pape ( GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data ) { FMMainWindow * main_window = FM_MAIN_WINDOW( user_data ); PtkFileBrowser* file_browser; const char* path; char* disp_path; // save sliders of current fb ( new tab while task manager is shown changes vals ) PtkFileBrowser* curfb = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser ( main_window ) ); if ( curfb ) { ptk_file_browser_slider_release( NULL, NULL, curfb ); if ( curfb->view_mode == PTK_FB_LIST_VIEW ) ptk_file_browser_save_column_widths( GTK_TREE_VIEW( curfb->folder_view ), curfb ); } file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, page_num ) ); //printf("on_folder_notebook_switch_pape fb=%p panel=%d page=%d\n", file_browser, file_browser->mypanel, page_num ); main_window->curpanel = file_browser->mypanel; main_window->notebook = main_window->panel[main_window->curpanel - 1]; fm_main_window_update_status_bar( main_window, file_browser ); set_window_title( main_window, file_browser ); if ( evt_tab_focus->ob2_data || evt_tab_focus->s ) main_window_event( main_window, evt_tab_focus, "evt_tab_focus", main_window->curpanel, page_num + 1, NULL, 0, 0, 0, TRUE ); ptk_file_browser_update_views( NULL, file_browser ); if ( GTK_IS_WIDGET( file_browser ) ) g_idle_add( ( GSourceFunc ) delayed_focus, file_browser->folder_view ); } void main_window_open_path_in_current_tab( FMMainWindow* main_window, const char* path ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return; ptk_file_browser_chdir( file_browser, path, PTK_FB_CHDIR_ADD_HISTORY ); } void main_window_open_network( FMMainWindow* main_window, const char* path, gboolean new_tab ) { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return; char* str = g_strdup( path ); ptk_location_view_mount_network( file_browser, str, new_tab, FALSE ); g_free( str ); } void on_file_browser_open_item( PtkFileBrowser* file_browser, const char* path, PtkOpenAction action, FMMainWindow* main_window ) { if ( G_LIKELY( path ) ) { switch ( action ) { case PTK_OPEN_DIR: ptk_file_browser_chdir( file_browser, path, PTK_FB_CHDIR_ADD_HISTORY ); break; case PTK_OPEN_NEW_TAB: //file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); fm_main_window_add_new_tab( main_window, path ); break; case PTK_OPEN_NEW_WINDOW: //file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); //fm_main_window_add_new_window( main_window, path, // file_browser->show_side_pane, // file_browser->side_pane_mode ); break; case PTK_OPEN_TERMINAL: //fm_main_window_open_terminal( GTK_WINDOW(main_window), path ); break; case PTK_OPEN_FILE: //fm_main_window_start_busy_task( main_window ); //g_timeout_add( 1000, ( GSourceFunc ) fm_main_window_stop_busy_task, main_window ); break; } } } void fm_main_window_update_status_bar( FMMainWindow* main_window, PtkFileBrowser* file_browser ) { int num_sel, num_vis, num_hid, num_hidx; guint64 total_size; char *msg; char size_str[ 64 ]; char free_space[100]; #ifdef HAVE_STATVFS struct statvfs fs_stat = {0}; #endif if ( !( GTK_IS_WIDGET( file_browser ) && GTK_IS_STATUSBAR( file_browser->status_bar ) ) ) return; //file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( file_browser->status_bar_custom ) { gtk_statusbar_push( GTK_STATUSBAR( file_browser->status_bar ), 0, file_browser->status_bar_custom ); return; } free_space[0] = '\0'; #ifdef HAVE_STATVFS // FIXME: statvfs support should be moved to src/vfs if( statvfs( ptk_file_browser_get_cwd(file_browser), &fs_stat ) == 0 ) { char total_size_str[ 64 ]; // calc free space vfs_file_size_to_string_format( size_str, fs_stat.f_bsize * fs_stat.f_bavail, NULL ); // calc total space vfs_file_size_to_string_format( total_size_str, fs_stat.f_frsize * fs_stat.f_blocks, NULL ); g_snprintf( free_space, G_N_ELEMENTS(free_space), _(" %s free / %s "), size_str, total_size_str ); //MOD } #endif // Show Reading... while still loading if ( file_browser->busy ) { msg = g_strdup_printf( _("%sReading %s ..."), free_space, ptk_file_browser_get_cwd(file_browser) ); gtk_statusbar_push( GTK_STATUSBAR( file_browser->status_bar ), 0, msg ); g_free( msg ); return; } // note: total size won't include content changes since last selection change num_sel = ptk_file_browser_get_n_sel( file_browser, &total_size ); num_vis = ptk_file_browser_get_n_visible_files( file_browser ); char* link_info = NULL; //MOD added if ( num_sel > 0 ) { if ( num_sel == 1 ) //MOD added // display file name or symlink info in status bar if one file selected { GList* files; VFSFileInfo* file; struct stat results; char buf[ 64 ]; char* lsize; files = ptk_file_browser_get_selected_files( file_browser ); if ( files ) { const char* cwd = ptk_file_browser_get_cwd( file_browser ); file = vfs_file_info_ref( ( VFSFileInfo* ) files->data ); g_list_foreach( files, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( files ); if ( file ) { if ( vfs_file_info_is_symlink( file ) ) { char* full_target = NULL; char* target_path; char* file_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); char* target = g_file_read_link( file_path, NULL ); if ( target ) { //printf("LINK: %s\n", file_path ); if ( target[0] != '/' ) { // relative link full_target = g_build_filename( cwd, target, NULL ); target_path = full_target; } else target_path = target; if ( vfs_file_info_is_dir( file ) ) { if ( g_file_test( target_path, G_FILE_TEST_EXISTS ) ) { if ( !strcmp( target, "/" ) ) link_info = g_strdup_printf( _(" Link → %s"), target ); else link_info = g_strdup_printf( _(" Link → %s/"), target ); } else link_info = g_strdup_printf( _(" !Link → %s/ (missing)"), target ); } else { if ( stat( target_path, &results ) == 0 ) { vfs_file_size_to_string( buf, results.st_size ); lsize = g_strdup( buf ); link_info = g_strdup_printf( _(" Link → %s (%s)"), target, lsize ); } else link_info = g_strdup_printf( _(" !Link → %s (missing)"), target ); } g_free( target ); if ( full_target ) g_free( full_target ); } else link_info = g_strdup_printf( _(" !Link → ( error reading target )") ); g_free( file_path ); } else link_info = g_strdup_printf( " %s", vfs_file_info_get_name( file ) ); vfs_file_info_unref( file ); } } } if ( ! link_info ) link_info = g_strdup( "" ); vfs_file_size_to_string( size_str, total_size ); msg = g_strdup_printf( "%s%d / %d (%s)%s", free_space, num_sel, num_vis, size_str, link_info ); //msg = g_strdup_printf( ngettext( _("%s%d sel (%s)%s"), //MOD // _("%s%d sel (%s)"), num_sel ), free_space, num_sel, // size_str, link_info ); //MOD } else { // cur dir is link ? canonicalize char* dirmsg; const char* cwd = ptk_file_browser_get_cwd( file_browser ); char buf[ PATH_MAX + 1 ]; char* canon = realpath( cwd, buf ); if ( !canon || !g_strcmp0( canon, cwd ) ) dirmsg = g_strdup_printf( "%s", cwd ); else dirmsg = g_strdup_printf( "./ → %s", canon ); // MOD add count for .hidden files char* xhidden; num_hid = ptk_file_browser_get_n_all_files( file_browser ) - num_vis; if ( num_hid < 0 ) num_hid = 0; // needed due to bug in get_n_visible_files? num_hidx = file_browser->dir ? file_browser->dir->xhidden_count : 0; //VFSDir* xdir = file_browser->dir; if ( num_hid || num_hidx ) { if ( num_hidx ) xhidden = g_strdup_printf( "+%d", num_hidx ); else xhidden = g_strdup( "" ); char hidden[128]; char *hnc = NULL; char* hidtext = ngettext( "hidden", "hidden", num_hid); g_snprintf( hidden, 127, g_strdup_printf( "%d%s %s", num_hid, xhidden, hidtext ), num_hid ); msg = g_strdup_printf( ngettext( "%s%d visible (%s) %s", "%s%d visible (%s) %s", num_vis ), free_space, num_vis, hidden, dirmsg ); } else msg = g_strdup_printf( ngettext( "%s%d item %s", "%s%d items %s", num_vis ), free_space, num_vis, dirmsg ); g_free( dirmsg ); } gtk_statusbar_push( GTK_STATUSBAR( file_browser->status_bar ), 0, msg ); g_free( msg ); } void on_file_browser_panel_change( PtkFileBrowser* file_browser, FMMainWindow* main_window ) { //printf("panel_change panel %d\n", file_browser->mypanel ); main_window->curpanel = file_browser->mypanel; main_window->notebook = main_window->panel[main_window->curpanel - 1]; //set_window_title( main_window, file_browser ); set_panel_focus( main_window, file_browser ); } void on_file_browser_sel_change( PtkFileBrowser* file_browser, FMMainWindow* main_window ) { //printf("sel_change panel %d\n", file_browser->mypanel ); if ( ( evt_pnl_sel->ob2_data || evt_pnl_sel->s ) && main_window_event( main_window, evt_pnl_sel, "evt_pnl_sel", 0, 0, NULL, 0, 0, 0, TRUE ) ) return; fm_main_window_update_status_bar( main_window, file_browser ); /* int i = gtk_notebook_get_current_page( main_window->panel[ file_browser->mypanel - 1 ] ); if ( i != -1 ) { if ( file_browser == (PtkFileBrowser*)gtk_notebook_get_nth_page( main_window->panel[ file_browser->mypanel - 1 ], i ) ) fm_main_window_update_status_bar( main_window, file_browser ); } */ // main_window->curpanel = file_browser->mypanel; // main_window->notebook = main_window->panel[main_window->curpanel - 1]; // if ( fm_main_window_get_current_file_browser( main_window ) == GTK_WIDGET( file_browser ) ) } void on_file_browser_content_change( PtkFileBrowser* file_browser, FMMainWindow* main_window ) { //printf("content_change panel %d\n", file_browser->mypanel ); fm_main_window_update_status_bar( main_window, file_browser ); } gboolean on_tab_drag_motion ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ) { GtkNotebook * notebook; gint idx; notebook = GTK_NOTEBOOK( gtk_widget_get_parent( GTK_WIDGET( file_browser ) ) ); // TODO: Add a timeout here and don't set current page immediately idx = gtk_notebook_page_num ( notebook, GTK_WIDGET( file_browser ) ); gtk_notebook_set_current_page( notebook, idx ); return FALSE; } gboolean on_window_button_press_event( GtkWidget* widget, GdkEventButton *event, FMMainWindow* main_window ) //sfm { if ( event->type != GDK_BUTTON_PRESS ) return FALSE; // handle mouse back/forward buttons anywhere in the main window if ( event->button == 4 || event->button == 5 || event->button == 8 || event->button == 9 ) //sfm { PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return FALSE; if ( event->button == 4 || event->button == 8 ) ptk_file_browser_go_back( NULL, file_browser ); else ptk_file_browser_go_forward( NULL, file_browser ); return TRUE; } return FALSE; } gboolean on_main_window_focus( GtkWidget* main_window, GdkEventFocus *event, gpointer user_data ) { //this causes a widget not realized loop by running rebuild_menus while //rebuild_menus is already running // but this unneeded anyway? cross-window menu changes seem to work ok //rebuild_menus( main_window ); // xset may change in another window GList * active; if ( all_windows->data != ( gpointer ) main_window ) { active = g_list_find( all_windows, main_window ); if ( active ) { all_windows = g_list_remove_link( all_windows, active ); all_windows->prev = active; active->next = all_windows; all_windows = active; } } if ( evt_win_focus->s || evt_win_focus->ob2_data ) main_window_event( (FMMainWindow*)main_window, evt_win_focus, "evt_win_focus", 0, 0, NULL, 0, 0, 0, TRUE ); return FALSE; } static gboolean on_main_window_keypress( FMMainWindow* main_window, GdkEventKey* event, XSet* known_set ) { //printf("main_keypress %d %d\n", event->keyval, event->state ); GList* l; XSet* set; PtkFileBrowser* browser; guint nonlatin_key = 0; if ( known_set ) { set = known_set; goto _key_found; } if ( event->keyval == 0 ) return FALSE; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( ( event->keyval == GDK_KEY_Home && ( keymod == 0 || keymod == GDK_SHIFT_MASK ) ) || ( event->keyval == GDK_KEY_End && ( keymod == 0 || keymod == GDK_SHIFT_MASK ) ) || ( event->keyval == GDK_KEY_Delete && keymod == 0 ) || ( event->keyval == GDK_KEY_Tab && keymod == 0 ) || ( keymod == 0 && ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) ) || ( event->keyval == GDK_KEY_Left && ( keymod == 0 || keymod == GDK_SHIFT_MASK ) ) || ( event->keyval == GDK_KEY_Right && ( keymod == 0 || keymod == GDK_SHIFT_MASK ) ) || ( event->keyval == GDK_KEY_BackSpace && keymod == 0 ) || ( keymod == 0 && event->keyval != GDK_KEY_Escape && gdk_keyval_to_unicode( event->keyval ) ) ) // visible char { browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( browser && browser->path_bar && gtk_widget_has_focus( GTK_WIDGET( browser->path_bar ) ) ) return FALSE; // send to pathbar } // need to transpose nonlatin keyboard layout ? if ( !( ( GDK_KEY_0 <= event->keyval && event->keyval <= GDK_KEY_9 ) || ( GDK_KEY_A <= event->keyval && event->keyval <= GDK_KEY_Z ) || ( GDK_KEY_a <= event->keyval && event->keyval <= GDK_KEY_z ) ) ) { nonlatin_key = event->keyval; transpose_nonlatin_keypress( event ); } if ( ( evt_win_key->s || evt_win_key->ob2_data ) && main_window_event( main_window, evt_win_key, "evt_win_key", 0, 0, NULL, event->keyval, 0, keymod, TRUE ) ) return TRUE; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->shared_key ) { // set has shared key // nonlatin key match is for nonlatin keycodes set prior to 1.0.3 set = xset_get( ((XSet*)l->data)->shared_key ); if ( ( set->key == event->keyval || ( nonlatin_key && set->key == nonlatin_key ) ) && set->keymod == keymod ) { // shared key match if ( g_str_has_prefix( set->name, "panel" ) ) { // use current panel's set browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( browser ) { char* new_set_name = g_strdup_printf( "panel%d%s", browser->mypanel, set->name + 6 ); set = xset_get( new_set_name ); g_free( new_set_name ); } else return FALSE; // failsafe } goto _key_found; // for speed } else continue; } // nonlatin key match is for nonlatin keycodes set prior to 1.0.3 if ( ( ((XSet*)l->data)->key == event->keyval || ( nonlatin_key && ((XSet*)l->data)->key == nonlatin_key ) ) && ((XSet*)l->data)->keymod == keymod ) { set = (XSet*)l->data; _key_found: browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !browser ) return TRUE; char* xname; int i; // special edit items if ( !strcmp( set->name, "edit_cut" ) || !strcmp( set->name, "edit_copy" ) || !strcmp( set->name, "edit_delete" ) || !strcmp( set->name, "select_all" ) ) { if ( !gtk_widget_is_focus( browser->folder_view ) ) return FALSE; } else if ( !strcmp( set->name, "edit_paste" ) ) { gboolean side_dir_focus = ( browser->side_dir && gtk_widget_is_focus( GTK_WIDGET( browser->side_dir ) ) ); if ( !gtk_widget_is_focus( GTK_WIDGET( browser->folder_view ) ) && !side_dir_focus ) return FALSE; } // run menu_cb if ( set->menu_style < XSET_MENU_SUBMENU ) { set->browser = browser; xset_menu_cb( NULL, set ); // also does custom activate } if ( !set->lock ) return TRUE; // handlers if ( g_str_has_prefix( set->name, "dev_" ) ) #ifndef HAVE_HAL ptk_location_view_on_action( GTK_WIDGET( browser->side_dev ), set ); #else g_warning( _("Device manager key shortcuts are disabled in HAL mode") ); #endif else if ( g_str_has_prefix( set->name, "main_" ) ) { xname = set->name + 5; if ( !strcmp( xname, "new_window" ) ) on_new_window_activate( NULL, main_window ); else if ( !strcmp( xname, "root_window" ) ) on_open_current_folder_as_root( NULL, main_window ); else if ( !strcmp( xname, "search" ) ) on_find_file_activate( NULL, main_window ); else if ( !strcmp( xname, "terminal" ) ) on_open_terminal_activate( NULL, main_window ); else if ( !strcmp( xname, "root_terminal" ) ) on_open_root_terminal_activate( NULL, main_window ); else if ( !strcmp( xname, "save_session" ) ) on_open_url( NULL, main_window ); else if ( !strcmp( xname, "exit" ) ) on_quit_activate( NULL, main_window ); else if ( !strcmp( xname, "full" ) ) { xset_set_b( "main_full", !main_window->fullscreen ); on_fullscreen_activate( NULL, main_window ); } else if ( !strcmp( xname, "prefs" ) ) on_preference_activate( NULL, main_window ); else if ( !strcmp( xname, "design_mode" ) ) main_design_mode( NULL, main_window ); else if ( !strcmp( xname, "pbar" ) ) show_panels_all_windows( NULL, main_window ); else if ( !strcmp( xname, "icon" ) ) on_main_icon(); else if ( !strcmp( xname, "title" ) ) update_window_title( NULL, main_window ); else if ( !strcmp( xname, "about" ) ) on_about_activate( NULL, main_window ); else if ( !strcmp( xname, "help" ) ) on_main_help_activate( NULL, main_window ); else if ( !strcmp( xname, "faq" ) ) on_main_faq( NULL, main_window ); else if ( !strcmp( xname, "homepage" ) ) on_homepage_activate( NULL, main_window ); else if ( !strcmp( xname, "news" ) ) on_news_activate( NULL, main_window ); else if ( !strcmp( xname, "getplug" ) ) on_getplug_activate( NULL, main_window ); } else if ( g_str_has_prefix( set->name, "panel_" ) ) { xname = set->name + 6; if ( !strcmp( xname, "prev" ) ) i = -1; else if ( !strcmp( xname, "next" ) ) i = -2; else if ( !strcmp( xname, "hide" ) ) i = -3; else i = atoi( xname ); focus_panel( NULL, main_window, i ); } else if ( g_str_has_prefix( set->name, "plug_" ) ) on_plugin_install( NULL, main_window, set ); else if ( g_str_has_prefix( set->name, "task_" ) ) { xname = set->name + 5; if ( strstr( xname, "_manager" ) ) on_task_popup_show( NULL, main_window, set->name ); else if ( !strcmp( xname, "col_reorder" ) ) on_reorder( NULL, GTK_WIDGET( browser->task_view ) ); else if ( g_str_has_prefix( xname, "col_" ) ) on_task_column_selected( NULL, browser->task_view ); else if ( g_str_has_prefix( xname, "stop" ) || g_str_has_prefix( xname, "pause" ) || g_str_has_prefix( xname, "que_" ) || !strcmp( xname, "que" ) || g_str_has_prefix( xname, "resume" ) ) { PtkFileTask* ptask = get_selected_task( browser->task_view ); on_task_stop( NULL, browser->task_view, set, ptask ); } else if ( !strcmp( xname, "showout" ) ) show_task_dialog( NULL, browser->task_view ); else if ( g_str_has_prefix( xname, "err_" ) ) on_task_popup_errset( NULL, main_window, set->name ); } else if ( !strcmp( set->name, "font_task" ) ) main_update_fonts( NULL, browser ); else if ( !strcmp( set->name, "rubberband" ) ) main_window_rubberband_all(); else ptk_file_browser_on_action( browser, set->name ); return TRUE; } } if ( nonlatin_key != 0 ) { // use literal keycode for pass-thru, eg for find-as-you-type search event->keyval = nonlatin_key; } if ( ( event->state & GDK_MOD1_MASK ) ) rebuild_menus( main_window ); return FALSE; } FMMainWindow* fm_main_window_get_last_active() { return all_windows ? FM_MAIN_WINDOW( all_windows->data ) : NULL; } const GList* fm_main_window_get_all() { return all_windows; } static long get_desktop_index( GtkWindow* win ) { long desktop = -1; GdkDisplay* display; GdkWindow* window = NULL; if ( win ) { // get desktop of win display = gtk_widget_get_display( GTK_WIDGET( win ) ); window = gtk_widget_get_window( GTK_WIDGET( win ) ); } else { // get current desktop display = gdk_display_get_default(); if ( display ) window = gdk_x11_window_lookup_for_display( display, gdk_x11_get_default_root_xwindow() ); } if ( !( GDK_IS_DISPLAY( display ) && GDK_IS_WINDOW( window ) ) ) return desktop; // find out what desktop (workspace) window is on #include Atom type; gint format; gulong nitems; gulong bytes_after; guchar *data; const gchar* atom_name = win ? "_NET_WM_DESKTOP" : "_NET_CURRENT_DESKTOP"; Atom net_wm_desktop = gdk_x11_get_xatom_by_name_for_display ( display, atom_name ); if ( net_wm_desktop == None ) fprintf( stderr, "spacefm: %s atom not found\n", atom_name ); else if ( XGetWindowProperty( GDK_DISPLAY_XDISPLAY( display ), GDK_WINDOW_XID( window ), net_wm_desktop, 0, 1, False, XA_CARDINAL, (Atom*)&type, &format, &nitems, &bytes_after, &data ) != Success || type == None || data == NULL ) { if ( type == None ) fprintf( stderr, "spacefm: No such property from XGetWindowProperty() %s\n", atom_name ); else if ( data == NULL ) fprintf( stderr, "spacefm: No data returned from XGetWindowProperty() %s\n", atom_name ); else fprintf( stderr, "spacefm: XGetWindowProperty() %s failed\n", atom_name ); } else { desktop = *data; XFree( data ); } return desktop; } FMMainWindow* fm_main_window_get_on_current_desktop() { // find the last used spacefm window on the current desktop long desktop; long cur_desktop = get_desktop_index( NULL ); //printf("current_desktop = %ld\n", cur_desktop ); if ( cur_desktop == -1 ) return fm_main_window_get_last_active(); // revert to dumb if no current GList* l; gboolean invalid = FALSE; for ( l = all_windows; l; l = l->next ) { desktop = get_desktop_index( GTK_WINDOW( (FMMainWindow*)l->data ) ); //printf( " test win %p = %ld\n", (FMMainWindow*)l->data, desktop ); if ( desktop == cur_desktop || desktop > 254 /* 255 == all desktops */ ) return (FMMainWindow*)l->data; else if ( desktop == -1 && !invalid ) invalid = TRUE; } // revert to dumb if one or more window desktops unreadable return invalid ? fm_main_window_get_last_active() : NULL; } enum { TASK_COL_STATUS, TASK_COL_COUNT, TASK_COL_PATH, TASK_COL_FILE, TASK_COL_TO, TASK_COL_PROGRESS, TASK_COL_TOTAL, TASK_COL_STARTED, TASK_COL_ELAPSED, TASK_COL_CURSPEED, TASK_COL_CUREST, TASK_COL_AVGSPEED, TASK_COL_AVGEST, TASK_COL_STARTTIME, TASK_COL_ICON, TASK_COL_DATA }; const char* task_titles[] = { // If you change "Status", also change it in on_task_button_press_event N_( "Status" ), N_( "#" ), N_( "Folder" ), N_( "Item" ), N_( "To" ), N_( "Progress" ), N_( "Total" ), N_( "Started" ), N_( "Elapsed" ), N_( "Current" ), N_( "CRemain" ), N_( "Average" ), N_( "Remain" ), "StartTime" }; const char* task_names[] = { "task_col_status", "task_col_count", "task_col_path", "task_col_file", "task_col_to", "task_col_progress", "task_col_total", "task_col_started", "task_col_elapsed", "task_col_curspeed", "task_col_curest", "task_col_avgspeed", "task_col_avgest" }; void on_reorder( GtkWidget* item, GtkWidget* parent ) { xset_msg_dialog( parent, 0, _("Reorder Columns Help"), NULL, 0, _("To change the order of the columns, drag the column header to the desired location."), NULL, NULL ); } void main_context_fill( PtkFileBrowser* file_browser, XSetContext* c ) { PtkFileBrowser* a_browser; VFSFileInfo* file; VFSMimeType* mime_type; GtkClipboard* clip = NULL; GList* sel_files; int no_write_access = 0, no_read_access = 0; VFSVolume* vol; PtkFileTask* ptask; char* path; GtkTreeModel* model; GtkTreeModel* model_task; GtkTreeIter it; c->valid = FALSE; if ( !GTK_IS_WIDGET( file_browser ) ) return; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; if ( !main_window ) return; if ( !c->var[CONTEXT_NAME] ) { // if name is set, assume we don't need all selected files info c->var[CONTEXT_DIR] = g_strdup( ptk_file_browser_get_cwd( file_browser ) ); if ( !c->var[CONTEXT_DIR] ) c->var[CONTEXT_DIR] = g_strdup( "" ); else { c->var[CONTEXT_WRITE_ACCESS] = ptk_file_browser_no_access( c->var[CONTEXT_DIR], NULL ) ? g_strdup( "false" ) : g_strdup( "true" ); } if ( sel_files = ptk_file_browser_get_selected_files( file_browser ) ) file = vfs_file_info_ref( (VFSFileInfo*)sel_files->data ); else file = NULL; if ( !file ) { c->var[CONTEXT_NAME] = g_strdup( "" ); c->var[CONTEXT_IS_DIR] = g_strdup( "false" ); c->var[CONTEXT_IS_TEXT] = g_strdup( "false" ); c->var[CONTEXT_IS_LINK] = g_strdup( "false" ); c->var[CONTEXT_MIME] = g_strdup( "" ); c->var[CONTEXT_MUL_SEL] = g_strdup( "false" ); } else { c->var[CONTEXT_NAME] = g_strdup( vfs_file_info_get_name( file ) ); path = g_build_filename( c->var[CONTEXT_DIR], c->var[CONTEXT_NAME], NULL ); c->var[CONTEXT_IS_DIR] = path && g_file_test( path, G_FILE_TEST_IS_DIR ) ? g_strdup( "true" ) : g_strdup( "false" ); c->var[CONTEXT_IS_TEXT] = vfs_file_info_is_text( file, path ) ? g_strdup( "true" ) : g_strdup( "false" ); c->var[CONTEXT_IS_LINK] = vfs_file_info_is_symlink( file ) ? g_strdup( "true" ) : g_strdup( "false" ); mime_type = vfs_file_info_get_mime_type( file ); if ( mime_type ) { c->var[CONTEXT_MIME] = g_strdup( vfs_mime_type_get_type( mime_type ) ); vfs_mime_type_unref( mime_type ); } else c->var[CONTEXT_MIME] = g_strdup( "" ); c->var[CONTEXT_MUL_SEL] = sel_files->next ? g_strdup( "true" ) : g_strdup( "false" ); vfs_file_info_unref( file ); g_free( path ); } if ( sel_files ) { g_list_foreach( sel_files, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( sel_files ); } } if ( !c->var[CONTEXT_IS_ROOT] ) c->var[CONTEXT_IS_ROOT] = geteuid() == 0 ? g_strdup( "true" ) : g_strdup( "false" ); if ( !c->var[CONTEXT_CLIP_FILES] ) { clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); if ( ! gtk_clipboard_wait_is_target_available ( clip, gdk_atom_intern( "x-special/gnome-copied-files", FALSE ) ) && ! gtk_clipboard_wait_is_target_available ( clip, gdk_atom_intern( "text/uri-list", FALSE ) ) ) c->var[CONTEXT_CLIP_FILES] = g_strdup( "false" ); else c->var[CONTEXT_CLIP_FILES] = g_strdup( "true" ); } if ( !c->var[CONTEXT_CLIP_TEXT] ) { if ( !clip ) clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); c->var[CONTEXT_CLIP_TEXT] = gtk_clipboard_wait_is_text_available( clip ) ? g_strdup( "true" ) : g_strdup( "false" ); } // hack - Due to ptk_file_browser_update_views main iteration, fb tab may be destroyed // asynchronously - common if gui thread is blocked on stat // NOTE: this is no longer needed if ( !GTK_IS_WIDGET( file_browser ) ) return; if ( file_browser->side_book ) { if ( !GTK_IS_WIDGET( file_browser->side_book ) ) return; c->var[CONTEXT_BOOKMARK] = g_strdup( ptk_bookmark_view_get_selected_dir( GTK_TREE_VIEW( file_browser->side_book ) ) ); } if ( !c->var[CONTEXT_BOOKMARK] ) c->var[CONTEXT_BOOKMARK] = g_strdup( "" ); #ifndef HAVE_HAL // device if ( file_browser->side_dev && ( vol = ptk_location_view_get_selected_vol( GTK_TREE_VIEW( file_browser->side_dev ) ) ) ) { c->var[CONTEXT_DEVICE] = g_strdup( vol->device_file ); if ( !c->var[CONTEXT_DEVICE] ) c->var[CONTEXT_DEVICE] = g_strdup( "" ); c->var[CONTEXT_DEVICE_LABEL] = g_strdup( vol->label ); if ( !c->var[CONTEXT_DEVICE_LABEL] ) c->var[CONTEXT_DEVICE_LABEL] = g_strdup( "" ); c->var[CONTEXT_DEVICE_MOUNT_POINT] = g_strdup( vol->mount_point ); if ( !c->var[CONTEXT_DEVICE_MOUNT_POINT] ) c->var[CONTEXT_DEVICE_MOUNT_POINT] = g_strdup( "" ); c->var[CONTEXT_DEVICE_UDI] = g_strdup( vol->udi ); if ( !c->var[CONTEXT_DEVICE_UDI] ) c->var[CONTEXT_DEVICE_UDI] = g_strdup( "" ); c->var[CONTEXT_DEVICE_FSTYPE] = g_strdup( vol->fs_type ); if ( !c->var[CONTEXT_DEVICE_FSTYPE] ) c->var[CONTEXT_DEVICE_FSTYPE] = g_strdup( "" ); char* flags = g_strdup( "" ); char* old_flags; if ( vol->is_removable ) { old_flags = flags; flags = g_strdup_printf( "%s removable", flags ); g_free( old_flags ); } else { old_flags = flags; flags = g_strdup_printf( "%s internal", flags ); g_free( old_flags ); } if ( vol->requires_eject ) { old_flags = flags; flags = g_strdup_printf( "%s ejectable", flags ); g_free( old_flags ); } if ( vol->is_optical ) { old_flags = flags; flags = g_strdup_printf( "%s optical", flags ); g_free( old_flags ); } if ( vol->is_table ) { old_flags = flags; flags = g_strdup_printf( "%s table", flags ); g_free( old_flags ); } if ( vol->is_floppy ) { old_flags = flags; flags = g_strdup_printf( "%s floppy", flags ); g_free( old_flags ); } if ( !vol->is_user_visible ) { old_flags = flags; flags = g_strdup_printf( "%s policy_hide", flags ); g_free( old_flags ); } if ( vol->nopolicy ) { old_flags = flags; flags = g_strdup_printf( "%s policy_noauto", flags ); g_free( old_flags ); } if ( vol->is_mounted ) { old_flags = flags; flags = g_strdup_printf( "%s mounted", flags ); g_free( old_flags ); } else if ( vol->is_mountable && !vol->is_table ) { old_flags = flags; flags = g_strdup_printf( "%s mountable", flags ); g_free( old_flags ); } else { old_flags = flags; flags = g_strdup_printf( "%s no_media", flags ); g_free( old_flags ); } if ( vol->is_blank ) { old_flags = flags; flags = g_strdup_printf( "%s blank", flags ); g_free( old_flags ); } if ( vol->is_audiocd ) { old_flags = flags; flags = g_strdup_printf( "%s audiocd", flags ); g_free( old_flags ); } if ( vol->is_dvd ) { old_flags = flags; flags = g_strdup_printf( "%s dvd", flags ); g_free( old_flags ); } c->var[CONTEXT_DEVICE_PROP] = flags; } else { #endif c->var[CONTEXT_DEVICE] = g_strdup( "" ); c->var[CONTEXT_DEVICE_LABEL] = g_strdup( "" ); c->var[CONTEXT_DEVICE_MOUNT_POINT] = g_strdup( "" ); c->var[CONTEXT_DEVICE_UDI] = g_strdup( "" ); c->var[CONTEXT_DEVICE_FSTYPE] = g_strdup( "" ); c->var[CONTEXT_DEVICE_PROP] = g_strdup( "" ); #ifndef HAVE_HAL } #endif // panels int i, p; int panel_count = 0; for ( p = 1; p < 5; p++ ) { if ( !xset_get_b_panel( p, "show" ) ) continue; i = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ) ); if ( i != -1 ) { a_browser = (PtkFileBrowser*) gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), i ); } else continue; if ( !a_browser || !gtk_widget_get_visible( GTK_WIDGET( a_browser ) ) ) continue; panel_count++; c->var[CONTEXT_PANEL1_DIR + p - 1] = g_strdup( ptk_file_browser_get_cwd( a_browser ) ); #ifndef HAVE_HAL if ( a_browser->side_dev && ( vol = ptk_location_view_get_selected_vol( GTK_TREE_VIEW( a_browser->side_dev ) ) ) ) c->var[CONTEXT_PANEL1_DEVICE + p - 1] = g_strdup( vol->device_file ); #endif // panel has files selected? if ( a_browser->view_mode == PTK_FB_ICON_VIEW || a_browser->view_mode == PTK_FB_COMPACT_VIEW ) { sel_files = folder_view_get_selected_items( a_browser, &model ); if ( sel_files ) c->var[CONTEXT_PANEL1_SEL + p - 1] = g_strdup( "true" ); else c->var[CONTEXT_PANEL1_SEL + p - 1] = g_strdup( "false" ); g_list_foreach( sel_files, (GFunc)gtk_tree_path_free, NULL ); g_list_free( sel_files ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { GtkTreeSelection* tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( a_browser->folder_view ) ); if ( gtk_tree_selection_count_selected_rows( tree_sel ) > 0 ) c->var[CONTEXT_PANEL1_SEL + p - 1] = g_strdup( "true" ); else c->var[CONTEXT_PANEL1_SEL + p - 1] = g_strdup( "false" ); } else c->var[CONTEXT_PANEL1_SEL + p - 1] = g_strdup( "false" ); if ( file_browser == a_browser ) { c->var[CONTEXT_TAB] = g_strdup_printf( "%d", i + 1 ); c->var[CONTEXT_TAB_COUNT] = g_strdup_printf( "%d", gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[p-1] ) ) ); } } c->var[CONTEXT_PANEL_COUNT] = g_strdup_printf( "%d", panel_count ); c->var[CONTEXT_PANEL] = g_strdup_printf( "%d", file_browser->mypanel ); if ( !c->var[CONTEXT_TAB] ) c->var[CONTEXT_TAB] = g_strdup( "" ); if ( !c->var[CONTEXT_TAB_COUNT] ) c->var[CONTEXT_TAB_COUNT] = g_strdup( "" ); for ( p = 1; p < 5; p++ ) { if ( !c->var[CONTEXT_PANEL1_DIR + p - 1] ) c->var[CONTEXT_PANEL1_DIR + p - 1] = g_strdup( "" ); if ( !c->var[CONTEXT_PANEL1_SEL + p - 1] ) c->var[CONTEXT_PANEL1_SEL + p - 1] = g_strdup( "false" ); if ( !c->var[CONTEXT_PANEL1_DEVICE + p - 1] ) c->var[CONTEXT_PANEL1_DEVICE + p - 1] = g_strdup( "" ); } // tasks const char* job_titles[] = { "move", "copy", "trash", "delete", "link", "change", "run" }; if ( ptask = get_selected_task( file_browser->task_view ) ) { c->var[CONTEXT_TASK_TYPE] = g_strdup( job_titles[ptask->task->type] ); if ( ptask->task->type == VFS_FILE_TASK_EXEC ) { c->var[CONTEXT_TASK_NAME] = g_strdup( ptask->task->current_file ); c->var[CONTEXT_TASK_DIR] = g_strdup( ptask->task->dest_dir ); } else { c->var[CONTEXT_TASK_NAME] = g_strdup( "" ); g_mutex_lock( ptask->task->mutex ); if ( ptask->task->current_file ) c->var[CONTEXT_TASK_DIR] = g_path_get_dirname( ptask->task->current_file ); else c->var[CONTEXT_TASK_DIR] = g_strdup( "" ); g_mutex_unlock( ptask->task->mutex ); } } else { c->var[CONTEXT_TASK_TYPE] = g_strdup( "" ); c->var[CONTEXT_TASK_NAME] = g_strdup( "" ); c->var[CONTEXT_TASK_DIR] = g_strdup( "" ); } if ( !main_window->task_view || !GTK_IS_TREE_VIEW( main_window->task_view ) ) c->var[CONTEXT_TASK_COUNT] = g_strdup( "0" ); else { model_task = gtk_tree_view_get_model( GTK_TREE_VIEW( main_window->task_view ) ); int task_count = 0; if ( gtk_tree_model_get_iter_first( model_task, &it ) ) { task_count++; while ( gtk_tree_model_iter_next( model_task, &it ) ); task_count++; } c->var[CONTEXT_TASK_COUNT] = g_strdup_printf( "%d", task_count ); } c->valid = TRUE; } FMMainWindow* get_task_view_window( GtkWidget* view ) { FMMainWindow* a_window; GList* l; for ( l = all_windows; l; l = l->next ) { if ( ((FMMainWindow*)l->data)->task_view == view ) return (FMMainWindow*)l->data; } return NULL; } gboolean main_write_exports( VFSFileTask* vtask, const char* value, FILE* file ) { int result, p, num_pages, i; const char* cwd; char* path; char* esc_path; GList* sel_files; GList* l; PtkFileBrowser* a_browser; VFSVolume* vol; PtkFileTask* ptask; if ( !vtask->exec_browser ) return FALSE; PtkFileBrowser* file_browser = (PtkFileBrowser*)vtask->exec_browser; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; XSet* set = (XSet*)vtask->exec_set; if ( !file ) return FALSE; result = fputs( "# source\n\n", file ); if ( result < 0 ) return FALSE; write_src_functions( file ); // panels for ( p = 1; p < 5; p++ ) { if ( !xset_get_b_panel( p, "show" ) ) continue; i = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ) ); if ( i != -1 ) { a_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), i ) ); } else continue; if ( !a_browser || !gtk_widget_get_visible( GTK_WIDGET( a_browser ) ) ) continue; // cwd gboolean cwd_needs_quote; cwd = ptk_file_browser_get_cwd( a_browser ); if ( cwd_needs_quote = !!strchr( cwd, '\'' ) ) { path = bash_quote( cwd ); fprintf( file, "\nfm_pwd_panel[%d]=%s\n", p, path ); g_free( path ); } else fprintf( file, "\nfm_pwd_panel[%d]='%s'\n", p, cwd ); fprintf( file, "\nfm_tab_panel[%d]=%d\n", p, i + 1 ); // selected files sel_files = ptk_file_browser_get_selected_files( a_browser ); if ( sel_files ) { fprintf( file, "fm_panel%d_files=(\n", p ); for ( l = sel_files; l; l = l->next ) { path = (char*)vfs_file_info_get_name( (VFSFileInfo*)l->data ); if ( G_LIKELY( !cwd_needs_quote && !strchr( path, '\'' ) ) ) fprintf( file, "'%s%s%s'\n", cwd, ( cwd[0] != '\0' && cwd[1] == '\0' ) ? "" : "/", path ); else { path = g_build_filename( cwd, path, NULL ); esc_path = bash_quote( path ); fprintf( file, "%s\n", esc_path ); g_free( esc_path ); g_free( path ); } } fputs( ")\n", file ); if ( file_browser == a_browser ) { fprintf( file, "fm_filenames=(\n" ); for ( l = sel_files; l; l = l->next ) { path = (char*)vfs_file_info_get_name( (VFSFileInfo*)l->data ); if ( G_LIKELY( !strchr( path, '\'' ) ) ) fprintf( file, "'%s'\n", path ); else { esc_path = bash_quote( path ); fprintf( file, "%s\n", esc_path ); g_free( esc_path ); } } fputs( ")\n", file ); } g_list_foreach( sel_files, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( sel_files ); } /* // cwd cwd = ptk_file_browser_get_cwd( a_browser ); path = bash_quote( cwd ); fprintf( file, "\nfm_panel%d_pwd=%s\n", p, path ); g_free( path ); // selected files sel_files = ptk_file_browser_get_selected_files( a_browser ); if ( sel_files ) { fprintf( file, "fm_panel%d_files=(\n", p ); for ( l = sel_files; l; l = l->next ) { path = g_build_filename( cwd, vfs_file_info_get_name( (VFSFileInfo*)l->data ), NULL ); esc_path = bash_quote( path ); fprintf( file, "%s\n", esc_path ); g_free( esc_path ); g_free( path ); } fputs( ")\n", file ); if ( file_browser == a_browser ) { fprintf( file, "fm_filenames=(\n", p ); for ( l = sel_files; l; l = l->next ) { esc_path = bash_quote( vfs_file_info_get_name( (VFSFileInfo*)l->data ) ); fprintf( file, "%s\n", esc_path ); g_free( esc_path ); } fputs( ")\n", file ); } g_list_foreach( sel_files, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( sel_files ); } */ // bookmark if ( a_browser->side_book ) { path = ptk_bookmark_view_get_selected_dir( GTK_TREE_VIEW( a_browser->side_book ) ); if ( path ) { esc_path = bash_quote( path ); if ( file_browser == a_browser ) fprintf( file, "fm_bookmark=%s\n", esc_path ); fprintf( file, "fm_panel%d_bookmark=%s\n", p, esc_path ); g_free( esc_path ); } } #ifndef HAVE_HAL // device if ( a_browser->side_dev ) { vol = ptk_location_view_get_selected_vol( GTK_TREE_VIEW( a_browser->side_dev ) ); if ( vol ) { if ( file_browser == a_browser ) { fprintf( file, "fm_device='%s'\n", vol->device_file ); if ( vol->udi ) { esc_path = bash_quote( vol->udi ); fprintf( file, "fm_device_udi=%s\n", esc_path ); g_free( esc_path ); } if ( vol->mount_point ) { esc_path = bash_quote( vol->mount_point ); fprintf( file, "fm_device_mount_point=%s\n", esc_path ); g_free( esc_path ); } if ( vol->label ) { esc_path = bash_quote( vol->label ); fprintf( file, "fm_device_label=%s\n", esc_path ); g_free( esc_path ); } if ( vol->fs_type ) fprintf( file, "fm_device_fstype='%s'\n", vol->fs_type ); fprintf( file, "fm_device_size=\"%lu\"\n", vol->size ); if ( vol->disp_name ) { esc_path = bash_quote( vol->disp_name ); fprintf( file, "fm_device_display_name=%s\n", esc_path ); g_free( esc_path ); } fprintf( file, "fm_device_icon='%s'\n", vol->icon ); fprintf( file, "fm_device_is_mounted=%d\n", vol->is_mounted ? 1 : 0 ); fprintf( file, "fm_device_is_optical=%d\n", vol->is_optical ? 1 : 0 ); fprintf( file, "fm_device_is_table=%d\n", vol->is_table ? 1 : 0 ); fprintf( file, "fm_device_is_floppy=%d\n", vol->is_floppy ? 1 : 0 ); fprintf( file, "fm_device_is_removable=%d\n", vol->is_removable ? 1 : 0 ); fprintf( file, "fm_device_is_audiocd=%d\n", vol->is_audiocd ? 1 : 0 ); fprintf( file, "fm_device_is_dvd=%d\n", vol->is_dvd ? 1 : 0 ); fprintf( file, "fm_device_is_blank=%d\n", vol->is_blank ? 1 : 0 ); fprintf( file, "fm_device_is_mountable=%d\n", vol->is_mountable ? 1 : 0 ); fprintf( file, "fm_device_nopolicy=%d\n", vol->nopolicy ? 1 : 0 ); } fprintf( file, "fm_panel%d_device='%s'\n", p, vol->device_file ); if ( vol->udi ) { esc_path = bash_quote( vol->udi ); fprintf( file, "fm_panel%d_device_udi=%s\n", p, esc_path ); g_free( esc_path ); } if ( vol->mount_point ) { esc_path = bash_quote( vol->mount_point ); fprintf( file, "fm_panel%d_device_mount_point=%s\n", p, esc_path ); g_free( esc_path ); } if ( vol->label ) { esc_path = bash_quote( vol->label ); fprintf( file, "fm_panel%d_device_label=%s\n", p, esc_path ); g_free( esc_path ); } if ( vol->fs_type ) fprintf( file, "fm_panel%d_device_fstype='%s'\n", p, vol->fs_type ); fprintf( file, "fm_panel%d_device_size=\"%lu\"\n", p, vol->size ); if ( vol->disp_name ) { esc_path = bash_quote( vol->disp_name ); fprintf( file, "fm_panel%d_device_display_name=%s\n", p, esc_path ); g_free( esc_path ); } fprintf( file, "fm_panel%d_device_icon='%s'\n", p, vol->icon ); fprintf( file, "fm_panel%d_device_is_mounted=%d\n", p, vol->is_mounted ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_optical=%d\n", p, vol->is_optical ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_table=%d\n", p, vol->is_table ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_floppy=%d\n", p, vol->is_floppy ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_removable=%d\n", p, vol->is_removable ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_audiocd=%d\n", p, vol->is_audiocd ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_dvd=%d\n", p, vol->is_dvd ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_blank=%d\n", p, vol->is_blank ? 1 : 0 ); fprintf( file, "fm_panel%d_device_is_mountable=%d\n", p, vol->is_mountable ? 1 : 0 ); fprintf( file, "fm_panel%d_device_nopolicy=%d\n", p, vol->nopolicy ? 1 : 0 ); } } #endif // tabs PtkFileBrowser* t_browser; num_pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[p-1] ) ); for ( i = 0; i < num_pages; i++ ) { t_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), i ) ); path = bash_quote( ptk_file_browser_get_cwd( t_browser ) ); fprintf( file, "fm_pwd_panel%d_tab[%d]=%s\n", p, i + 1, path ); if ( p == file_browser->mypanel ) { fprintf( file, "fm_pwd_tab[%d]=%s\n", i + 1, path ); } if ( file_browser == t_browser ) { // my browser fprintf( file, "fm_pwd=%s\n", path ); fprintf( file, "fm_panel=%d\n", p ); fprintf( file, "fm_tab=%d\n", i + 1 ); //if ( i > 0 ) // fprintf( file, "fm_tab_prev=%d\n", i ); //if ( i < num_pages - 1 ) // fprintf( file, "fm_tab_next=%d\n", i + 2 ); } g_free( path ); } } // my selected files fprintf( file, "\nfm_files=(\"${fm_panel%d_files[@]}\")\n", file_browser->mypanel ); fprintf( file, "fm_file=\"${fm_panel%d_files[0]}\"\n", file_browser->mypanel ); fprintf( file, "fm_filename=\"${fm_filenames[0]}\"\n" ); // command if ( vtask->exec_command ) { esc_path = bash_quote( vtask->exec_command ); fprintf( file, "fm_command=%s\n", esc_path ); g_free( esc_path ); } // user const char* this_user = g_get_user_name(); if ( this_user ) { esc_path = bash_quote( this_user ); fprintf( file, "fm_user=%s\n", esc_path ); g_free( esc_path ); //g_free( this_user ); DON'T } // variable value if ( value ) { esc_path = bash_quote( value ); fprintf( file, "fm_value=%s\n", esc_path ); g_free( esc_path ); } if ( vtask->exec_ptask ) { fprintf( file, "fm_my_task=%p\n", vtask->exec_ptask ); fprintf( file, "fm_my_task_id=%p\n", vtask->exec_ptask ); } fprintf( file, "fm_my_window=%p\n", main_window ); fprintf( file, "fm_my_window_id=%p\n", main_window ); // utils esc_path = bash_quote( xset_get_s( "editor" ) ); fprintf( file, "fm_editor=%s\n", esc_path ); g_free( esc_path ); fprintf( file, "fm_editor_terminal=%d\n", xset_get_b( "editor" ) ? 1 : 0 ); // set if ( set ) { // cmd_dir if ( set->plugin ) { path = g_build_filename( set->plug_dir, "files", NULL ); if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { g_free( path ); path = g_build_filename( set->plug_dir, set->plug_name, NULL ); } } else { path = g_build_filename( xset_get_config_dir(), "scripts", set->name, NULL ); } esc_path = bash_quote( path ); fprintf( file, "fm_cmd_dir=%s\n", esc_path ); g_free( esc_path ); g_free( path ); // cmd_data if ( set->plugin ) { XSet* mset = xset_get_plugin_mirror( set ); path = g_build_filename( xset_get_config_dir(), "plugin-data", mset->name, NULL ); } else path = g_build_filename( xset_get_config_dir(), "plugin-data", set->name, NULL ); esc_path = bash_quote( path ); fprintf( file, "fm_cmd_data=%s\n", esc_path ); g_free( esc_path ); g_free( path ); // plugin_dir if ( set->plugin ) { esc_path = bash_quote( set->plug_dir ); fprintf( file, "fm_plugin_dir=%s\n", esc_path ); g_free( esc_path ); } // cmd_name if ( set->menu_label ) { esc_path = bash_quote( set->menu_label ); fprintf( file, "fm_cmd_name=%s\n", esc_path ); g_free( esc_path ); } } // tmp if ( geteuid() != 0 && vtask->exec_as_user && !strcmp( vtask->exec_as_user, "root" ) ) fprintf( file, "fm_tmp_dir=%s\n", xset_get_shared_tmp_dir() ); else fprintf( file, "fm_tmp_dir=%s\n", xset_get_user_tmp_dir() ); // tasks const char* job_titles[] = { "move", "copy", "trash", "delete", "link", "change", "run" }; if ( ptask = get_selected_task( file_browser->task_view ) ) { fprintf( file, "\nfm_task_type='%s'\n", job_titles[ptask->task->type] ); if ( ptask->task->type == VFS_FILE_TASK_EXEC ) { esc_path = bash_quote( ptask->task->dest_dir ); fprintf( file, "fm_task_pwd=%s\n", esc_path ); g_free( esc_path ); esc_path = bash_quote( ptask->task->current_file ); fprintf( file, "fm_task_name=%s\n", esc_path ); g_free( esc_path ); esc_path = bash_quote( ptask->task->exec_command ); fprintf( file, "fm_task_command=%s\n", esc_path ); g_free( esc_path ); if ( ptask->task->exec_as_user ) fprintf( file, "fm_task_user='%s'\n", ptask->task->exec_as_user ); if ( ptask->task->exec_icon ) fprintf( file, "fm_task_icon='%s'\n", ptask->task->exec_icon ); if ( ptask->task->exec_pid ) fprintf( file, "fm_task_pid=%d\n", ptask->task->exec_pid ); } else { esc_path = bash_quote( ptask->task->dest_dir ); fprintf( file, "fm_task_dest_dir=%s\n", esc_path ); g_free( esc_path ); esc_path = bash_quote( ptask->task->current_file ); fprintf( file, "fm_task_current_src_file=%s\n", esc_path ); g_free( esc_path ); esc_path = bash_quote( ptask->task->current_dest ); fprintf( file, "fm_task_current_dest_file=%s\n", esc_path ); g_free( esc_path ); } fprintf( file, "fm_task_id=%p\n", ptask ); if ( ptask->task_view && ( main_window = get_task_view_window( ptask->task_view ) ) ) { fprintf( file, "fm_task_window=%p\n", main_window ); fprintf( file, "fm_task_window_id=%p\n", main_window ); } } result = fputs( "\n", file ); return result >= 0; } void on_task_columns_changed( GtkWidget *view, gpointer user_data ) { const char* title; char* pos; XSet* set = NULL; int i, j, width; GtkTreeViewColumn* col; FMMainWindow* main_window = get_task_view_window( view ); if ( !main_window || !view ) return; for ( i = 0; i < 13; i++ ) { col = gtk_tree_view_get_column( GTK_TREE_VIEW( view ), i ); if ( !col ) return; title = gtk_tree_view_column_get_title( col ); for ( j = 0; j < 13; j++ ) { if ( !strcmp( title, _(task_titles[j]) ) ) break; } if ( j != 13 ) { set = xset_get( task_names[j] ); // save column position pos = g_strdup_printf( "%d", i ); xset_set_set( set, "x", pos ); g_free( pos ); // if the window was opened maximized and stayed maximized, or the // window is unmaximized and not fullscreen, save the columns if ( ( !main_window->maximized || main_window->opened_maximized ) && !main_window->fullscreen ) { width = gtk_tree_view_column_get_width( col ); if ( width ) // manager unshown, all widths are zero { // save column width pos = g_strdup_printf( "%d", width ); xset_set_set( set, "y", pos ); g_free( pos ); } } // set column visibility gtk_tree_view_column_set_visible( col, xset_get_b( task_names[j] ) ); } } } void on_task_destroy( GtkWidget *view, gpointer user_data ) { guint id = g_signal_lookup ("columns-changed", G_TYPE_FROM_INSTANCE(view) ); if ( id ) { gulong hand = g_signal_handler_find( ( gpointer ) view, G_SIGNAL_MATCH_ID, id, 0, NULL, NULL, NULL ); if ( hand ) g_signal_handler_disconnect( ( gpointer ) view, hand ); } on_task_columns_changed( view, NULL ); // save widths } void on_task_column_selected( GtkMenuItem* item, GtkWidget* view ) { on_task_columns_changed( view, NULL ); } gboolean main_tasks_running( FMMainWindow* main_window ) { GtkTreeIter it; if ( !main_window->task_view || !GTK_IS_TREE_VIEW( main_window->task_view ) ) return FALSE; GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( main_window->task_view ) ); gboolean ret = gtk_tree_model_get_iter_first( model, &it ); return ret; } void main_task_pause_all_queued( PtkFileTask* ptask ) { PtkFileTask* qtask; GtkTreeIter it; if ( !ptask->task_view ) return; GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( ptask->task_view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, TASK_COL_DATA, &qtask, -1 ); if ( qtask && qtask != ptask && qtask->task && !qtask->complete && qtask->task->state_pause == VFS_FILE_TASK_QUEUE ) ptk_file_task_pause( qtask, VFS_FILE_TASK_PAUSE ); } while ( gtk_tree_model_iter_next( model, &it ) ); } } void main_task_start_queued( GtkWidget* view, PtkFileTask* new_task ) { GtkTreeModel* model; GtkTreeIter it; PtkFileTask* qtask; PtkFileTask* rtask; GSList* running = NULL; GSList* queued = NULL; gboolean smart; #ifdef HAVE_HAL smart = FALSE; #else smart = xset_get_b( "task_q_smart" ); #endif if ( !GTK_IS_TREE_VIEW( view ) ) return; model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, TASK_COL_DATA, &qtask, -1 ); if ( qtask && qtask->task && !qtask->complete && qtask->task->state == VFS_FILE_TASK_RUNNING ) { if ( qtask->task->state_pause == VFS_FILE_TASK_QUEUE ) queued = g_slist_append( queued, qtask ); else if ( qtask->task->state_pause == VFS_FILE_TASK_RUNNING ) running = g_slist_append( running, qtask ); } } while ( gtk_tree_model_iter_next( model, &it ) ); } if ( new_task && new_task->task && !new_task->complete && new_task->task->state_pause == VFS_FILE_TASK_QUEUE && new_task->task->state == VFS_FILE_TASK_RUNNING ) queued = g_slist_append( queued, new_task ); if ( !queued || ( !smart && running ) ) goto _done; if ( !smart ) { ptk_file_task_pause( (PtkFileTask*)queued->data, VFS_FILE_TASK_RUNNING ); goto _done; } // smart GSList* d; GSList* r; GSList* q; for ( q = queued; q; q = q->next ) { qtask = (PtkFileTask*)q->data; if ( !qtask->task->devs ) { // qtask has no devices so run it running = g_slist_append( running, qtask ); ptk_file_task_pause( qtask, VFS_FILE_TASK_RUNNING ); continue; } // does qtask have running devices? for ( r = running; r; r = r->next ) { rtask = (PtkFileTask*)r->data; for ( d = qtask->task->devs; d; d = d->next ) { if ( g_slist_find( rtask->task->devs, d->data ) ) break; } if ( d ) break; } if ( !r ) { // qtask has no running devices so run it running = g_slist_append( running, qtask ); ptk_file_task_pause( qtask, VFS_FILE_TASK_RUNNING ); continue; } } _done: g_slist_free( queued ); g_slist_free( running ); } void on_task_stop( GtkMenuItem* item, GtkWidget* view, XSet* set2, PtkFileTask* task2 ) { GtkTreeModel* model = NULL; GtkTreeIter it; PtkFileTask* ptask; XSet* set; int job; enum { JOB_STOP, JOB_PAUSE, JOB_QUEUE, JOB_RESUME }; if ( item ) set = (XSet*)g_object_get_data( G_OBJECT( item ), "set" ); else set = set2; if ( !set || !g_str_has_prefix( set->name, "task_" ) ) return; char* name = set->name + 5; if ( g_str_has_prefix( name, "stop" ) ) job = JOB_STOP; else if ( g_str_has_prefix( name, "pause" ) ) job = JOB_PAUSE; else if ( g_str_has_prefix( name, "que" ) ) job = JOB_QUEUE; else if ( g_str_has_prefix( name, "resume" ) ) job = JOB_RESUME; else return; gboolean all = ( g_str_has_suffix( name, "_all" ) ); if ( all ) { model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); ptask = NULL; } else { if ( item ) ptask = ( PtkFileTask* ) g_object_get_data( G_OBJECT( item ), "task" ); else ptask = task2; if ( !ptask ) return; } if ( !model || ( model && gtk_tree_model_get_iter_first( model, &it ) ) ) { do { if ( model ) gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptask, -1 ); if ( ptask && ptask->task && !ptask->complete && ( ptask->task->type != VFS_FILE_TASK_EXEC || ptask->task->exec_pid || job == JOB_STOP ) ) { switch ( job ) { case JOB_STOP: ptk_file_task_cancel( ptask ); break; case JOB_PAUSE: ptk_file_task_pause( ptask, VFS_FILE_TASK_PAUSE ); break; case JOB_QUEUE: ptk_file_task_pause( ptask, VFS_FILE_TASK_QUEUE ); break; case JOB_RESUME: ptk_file_task_pause( ptask, VFS_FILE_TASK_RUNNING ); break; } } } while ( model && gtk_tree_model_iter_next( model, &it ) ); } main_task_start_queued( view, NULL ); } static gboolean idle_set_task_height( FMMainWindow* main_window ) { GtkAllocation allocation; int pos, taskh; gtk_widget_get_allocation( GTK_WIDGET( main_window ), &allocation ); // set new config panel sizes to half of window if ( !xset_is( "panel_sliders" ) ) { // this isn't perfect because panel half-width is set before user // adjusts window size XSet* set = xset_get( "panel_sliders" ); set->x = g_strdup_printf( "%d", allocation.width / 2 ); set->y = g_strdup_printf( "%d", allocation.width / 2 ); set->s = g_strdup_printf( "%d", allocation.height / 2 ); } // restore height (in case window height changed) taskh = xset_get_int( "task_show_manager", "x" ); // task height >=0.9.2 if ( taskh == 0 ) { // use pre-0.9.2 slider pos to calculate height pos = xset_get_int( "panel_sliders", "z" ); // < 0.9.2 slider pos if ( pos == 0 ) taskh = 200; else taskh = allocation.height - pos; } if ( taskh > allocation.height / 2 ) taskh = allocation.height / 2; if ( taskh < 1 ) taskh = 90; //printf("SHOW win %dx%d task height %d slider %d\n", allocation.width, allocation.height, taskh, allocation.height - taskh ); gtk_paned_set_position( GTK_PANED( main_window->task_vpane ), allocation.height - taskh ); return FALSE; } void show_task_manager( FMMainWindow* main_window, gboolean show ) { GtkAllocation allocation; gtk_widget_get_allocation( GTK_WIDGET( main_window ), &allocation ); if ( show ) { if ( !gtk_widget_get_visible( GTK_WIDGET( main_window->task_scroll ) ) ) { gtk_widget_show( main_window->task_scroll ); // allow vpane to auto-adjust before setting new slider pos g_idle_add( (GSourceFunc)idle_set_task_height, main_window ); } } else { // save height if ( gtk_widget_get_visible( GTK_WIDGET( main_window->task_scroll ) ) ) { int pos = gtk_paned_get_position( GTK_PANED( main_window->task_vpane ) ); if ( pos ) { // save slider pos for version < 0.9.2 (in case of downgrade) char* posa = g_strdup_printf( "%d", pos ); xset_set( "panel_sliders", "z", posa ); g_free( posa ); // save absolute height introduced v0.9.2 posa = g_strdup_printf( "%d", allocation.height - pos ); xset_set( "task_show_manager", "x", posa ); g_free( posa ); //printf("HIDE win %dx%d task height %d slider %d\n", allocation.width, allocation.height, allocation.height - pos, pos ); } } // hide gboolean tasks_has_focus = gtk_widget_is_focus( GTK_WIDGET( main_window->task_view ) ); gtk_widget_hide( GTK_WIDGET( main_window->task_scroll ) ); if ( tasks_has_focus ) { // focus the file list PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( file_browser ) gtk_widget_grab_focus( file_browser->folder_view ); } } } void on_task_popup_show( GtkMenuItem* item, FMMainWindow* main_window, char* name2 ) { GtkTreeModel* model = NULL; GtkTreeIter it; char* name = NULL; if ( item ) name = ( char* ) g_object_get_data( G_OBJECT( item ), "name" ); else name = name2; if ( name ) { if ( !strcmp( name, "task_show_manager" ) ) { if ( xset_get_b( "task_show_manager" ) ) xset_set_b("task_hide_manager", FALSE ); else { xset_set_b("task_hide_manager", TRUE ); xset_set_b("task_show_manager", FALSE ); } } else { if ( xset_get_b( "task_hide_manager" ) ) xset_set_b("task_show_manager", FALSE ); else { xset_set_b("task_hide_manager", FALSE ); xset_set_b("task_show_manager", TRUE ); } } } if ( xset_get_b( "task_show_manager" ) ) show_task_manager( main_window, TRUE ); else { model = gtk_tree_view_get_model( GTK_TREE_VIEW( main_window->task_view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) show_task_manager( main_window, TRUE ); else if ( xset_get_b( "task_hide_manager" ) ) show_task_manager( main_window, FALSE ); } } void on_task_popup_errset( GtkMenuItem* item, FMMainWindow* main_window, char* name2 ) { char* name; if ( item ) name = ( char* ) g_object_get_data( G_OBJECT( item ), "name" ); else name = name2; if ( !name ) return; if ( !strcmp( name, "task_err_first" ) ) { if ( xset_get_b( "task_err_first" ) ) { xset_set_b("task_err_any", FALSE ); xset_set_b("task_err_cont", FALSE ); } else { xset_set_b("task_err_any", FALSE ); xset_set_b("task_err_cont", TRUE ); } } else if ( !strcmp( name, "task_err_any" ) ) { if ( xset_get_b( "task_err_any" ) ) { xset_set_b("task_err_first", FALSE ); xset_set_b("task_err_cont", FALSE ); } else { xset_set_b("task_err_first", FALSE ); xset_set_b("task_err_cont", TRUE ); } } else { if ( xset_get_b( "task_err_cont" ) ) { xset_set_b("task_err_first", FALSE ); xset_set_b("task_err_any", FALSE ); } else { xset_set_b("task_err_first", TRUE ); xset_set_b("task_err_any", FALSE ); } } } void main_task_prepare_menu( FMMainWindow* main_window, GtkWidget* menu, GtkAccelGroup* accel_group ) { XSet* set; XSet* set_radio; GtkWidget* parent = main_window->task_view; set = xset_set_cb( "task_show_manager", on_task_popup_show, main_window ); xset_set_ob1( set, "name", set->name ); xset_set_ob2( set, NULL, NULL ); set_radio = set; set = xset_set_cb( "task_hide_manager", on_task_popup_show, main_window ); xset_set_ob1( set, "name", set->name ); xset_set_ob2( set, NULL, set_radio ); xset_set_cb( "task_col_count", on_task_column_selected, parent ); xset_set_cb( "task_col_path", on_task_column_selected, parent ); xset_set_cb( "task_col_file", on_task_column_selected, parent ); xset_set_cb( "task_col_to", on_task_column_selected, parent ); xset_set_cb( "task_col_progress", on_task_column_selected, parent ); xset_set_cb( "task_col_total", on_task_column_selected, parent ); xset_set_cb( "task_col_started", on_task_column_selected, parent ); xset_set_cb( "task_col_elapsed", on_task_column_selected, parent ); xset_set_cb( "task_col_curspeed", on_task_column_selected, parent ); xset_set_cb( "task_col_curest", on_task_column_selected, parent ); xset_set_cb( "task_col_avgspeed", on_task_column_selected, parent ); xset_set_cb( "task_col_avgest", on_task_column_selected, parent ); xset_set_cb( "task_col_reorder", on_reorder, parent ); set = xset_set_cb( "task_err_first", on_task_popup_errset, main_window ); xset_set_ob1( set, "name", set->name ); xset_set_ob2( set, NULL, NULL ); set_radio = set; set = xset_set_cb( "task_err_any", on_task_popup_errset, main_window ); xset_set_ob1( set, "name", set->name ); xset_set_ob2( set, NULL, set_radio ); set = xset_set_cb( "task_err_cont", on_task_popup_errset, main_window ); xset_set_ob1( set, "name", set->name ); xset_set_ob2( set, NULL, set_radio ); } PtkFileTask* get_selected_task( GtkWidget* view ) { GtkTreeModel* model; GtkTreeSelection* tree_sel; GtkTreeViewColumn* col = NULL; GtkTreeIter it; PtkFileTask* ptask = NULL; if ( !view ) return NULL; FMMainWindow* main_window = get_task_view_window( view ); if ( !main_window ) return NULL; model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) ); if ( gtk_tree_selection_get_selected( tree_sel, NULL, &it ) ) { gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptask, -1 ); } return ptask; } void show_task_dialog( GtkWidget* widget, GtkWidget* view ) { PtkFileTask* ptask = get_selected_task( view ); if ( !ptask ) return; g_mutex_lock( ptask->task->mutex ); ptk_file_task_progress_open( ptask ); if ( ptask->task->state_pause != VFS_FILE_TASK_RUNNING ) { // update dlg ptask->pause_change = TRUE; ptask->progress_count = 50; // trigger fast display } if ( ptask->progress_dlg ) gtk_window_present( GTK_WINDOW( ptask->progress_dlg ) ); g_mutex_unlock( ptask->task->mutex ); } gboolean on_task_button_press_event( GtkWidget* view, GdkEventButton *event, FMMainWindow* main_window ) { GtkTreeModel* model = NULL; GtkTreePath* tree_path; GtkTreeViewColumn* col = NULL; GtkTreeIter it; GtkTreeSelection* tree_sel; PtkFileTask* ptask = NULL; XSet* set; gboolean is_tasks; if ( event->type != GDK_BUTTON_PRESS ) return FALSE; if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( main_window, evt_win_click, "evt_win_click", 0, 0, "tasklist", 0, event->button, event->state, TRUE ) ) return FALSE; if ( event->button == 3 ) // right click { // get selected task model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( is_tasks = gtk_tree_model_get_iter_first( model, &it ) ) { if ( gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), event->x, event->y, &tree_path, &col, NULL, NULL ) ) { if ( tree_path && gtk_tree_model_get_iter( model, &it, tree_path ) ) gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptask, -1 ); gtk_tree_path_free( tree_path ); } } // build popup PtkFileBrowser* file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return FALSE; GtkWidget* popup = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); set = xset_set_cb( "task_stop", on_task_stop, view ); xset_set_ob1( set, "task", ptask ); set->disable = !ptask; set = xset_set_cb( "task_pause", on_task_stop, view ); xset_set_ob1( set, "task", ptask ); set->disable = ( !ptask || ptask->task->state_pause == VFS_FILE_TASK_PAUSE || ( ptask->task->type == VFS_FILE_TASK_EXEC && !ptask->task->exec_pid ) ); set = xset_set_cb( "task_que", on_task_stop, view ); xset_set_ob1( set, "task", ptask ); set->disable = ( !ptask || ptask->task->state_pause == VFS_FILE_TASK_QUEUE || ( ptask->task->type == VFS_FILE_TASK_EXEC && !ptask->task->exec_pid ) ); set = xset_set_cb( "task_resume", on_task_stop, view ); xset_set_ob1( set, "task", ptask ); set->disable = ( !ptask || ptask->task->state_pause == VFS_FILE_TASK_RUNNING || ( ptask->task->type == VFS_FILE_TASK_EXEC && !ptask->task->exec_pid ) ); xset_set_cb( "task_stop_all", on_task_stop, view ); xset_set_cb( "task_pause_all", on_task_stop, view ); xset_set_cb( "task_que_all", on_task_stop, view ); xset_set_cb( "task_resume_all", on_task_stop, view ); set = xset_get( "task_all" ); set->disable = !is_tasks; #ifdef HAVE_HAL set = xset_get( "task_q_smart" ); set->disable = TRUE; #endif const char* showout = ""; if ( ptask && ptask->pop_handler ) { xset_set_cb( "task_showout", show_task_dialog, view ); showout = " task_showout"; } main_task_prepare_menu( main_window, popup, accel_group ); xset_set_cb( "font_task", main_update_fonts, file_browser ); char* menu_elements = g_strdup_printf( "task_stop sep_t3 task_pause task_que task_resume%s task_all sep_t4 task_show_manager task_hide_manager sep_t5 task_columns task_popups task_errors task_queue", showout ); xset_add_menu( NULL, file_browser, popup, accel_group, menu_elements ); g_free( menu_elements ); gtk_widget_show_all( GTK_WIDGET( popup ) ); g_signal_connect( popup, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); g_signal_connect( popup, "key_press_event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, event->button, event->time ); } else if ( event->button == 1 || event->button == 2 ) // left or middle click { // get selected task model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); //printf("x = %lf y = %lf \n", event->x, event->y ); // due to bug in gtk_tree_view_get_path_at_pos (gtk 2.24), a click // on the column header resize divider registers as a click on the // first row first column. So if event->x < 7 ignore if ( event->x < 7 ) return FALSE; if ( !gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), event->x, event->y, &tree_path, &col, NULL, NULL ) ) return FALSE; if ( tree_path && gtk_tree_model_get_iter( model, &it, tree_path ) ) gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptask, -1 ); gtk_tree_path_free( tree_path ); if ( !ptask ) return FALSE; if ( event->button == 1 && g_strcmp0( gtk_tree_view_column_get_title( col ), _("Status") ) ) return FALSE; char* sname; switch ( ptask->task->state_pause ) { case VFS_FILE_TASK_PAUSE: sname = "task_que"; break; case VFS_FILE_TASK_QUEUE: sname = "task_resume"; break; default: sname = "task_pause"; } set = xset_get( sname ); on_task_stop( NULL, view, set, ptask ); return TRUE; } return FALSE; } void on_task_row_activated( GtkWidget* view, GtkTreePath* tree_path, GtkTreeViewColumn *col, gpointer user_data ) { GtkTreeModel* model; GtkTreeIter it; PtkFileTask* ptask; FMMainWindow* main_window = get_task_view_window( view ); if ( !main_window ) return; model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( !gtk_tree_model_get_iter( model, &it, tree_path ) ) return; gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptask, -1 ); if ( ptask ) { if ( ptask->pop_handler ) { // show custom dialog char* argv[4]; argv[0] = g_strdup( "bash" ); argv[1] = g_strdup( "-c" ); argv[2] = g_strdup( ptask->pop_handler ); argv[3] = NULL; printf( "TASK_POPUP >>> %s\n", argv[2] ); g_spawn_async( NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL ); } else { // show normal dialog show_task_dialog( NULL, view ); } } } void main_task_view_remove_task( PtkFileTask* ptask ) { PtkFileTask* ptaskt = NULL; GtkWidget* view; GtkTreeModel* model; GtkTreeIter it; //printf("main_task_view_remove_task ptask=%d\n", ptask); view = ptask->task_view; if ( !view ) return; FMMainWindow* main_window = get_task_view_window( view ); if ( !main_window ) return; model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptaskt, -1 ); } while ( ptaskt != ptask && gtk_tree_model_iter_next( model, &it ) ); } if ( ptaskt == ptask ) gtk_list_store_remove( GTK_LIST_STORE( model ), &it ); if ( !gtk_tree_model_get_iter_first( model, &it ) ) { if ( xset_get_b( "task_hide_manager" ) ) show_task_manager( main_window, FALSE ); } update_window_title( NULL, main_window ); //printf("main_task_view_remove_task DONE ptask=%d\n", ptask); } void main_task_view_update_task( PtkFileTask* ptask ) { PtkFileTask* ptaskt = NULL; GtkWidget* view; GtkTreeModel* model; GtkTreeIter it; GdkPixbuf* pixbuf; char* dest_dir; char* path = NULL; char* file = NULL; XSet* set; //printf("main_task_view_update_task ptask=%d\n", ptask); const char* job_titles[] = { N_( "moving" ), N_( "copying" ), N_( "trashing" ), N_( "deleting" ), N_( "linking" ), N_( "changing" ), N_( "running" ) }; if ( !ptask ) return; view = ptask->task_view; if ( !view ) return; FMMainWindow* main_window = get_task_view_window( view ); if ( !main_window ) return; if ( ptask->task->type != VFS_FILE_TASK_EXEC ) dest_dir = ptask->task->dest_dir; else dest_dir = NULL; model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptaskt, -1 ); } while ( ptaskt != ptask && gtk_tree_model_iter_next( model, &it ) ); } if ( ptaskt != ptask ) { // new row char buf[ 64 ]; strftime( buf, sizeof( buf ), "%H:%M", localtime( &ptask->task->start_time ) ); char* started = g_strdup( buf ); gtk_list_store_insert_with_values( GTK_LIST_STORE( model ), &it, 0, TASK_COL_TO, dest_dir, TASK_COL_STARTED, started, TASK_COL_STARTTIME, (gint64)ptask->task->start_time, TASK_COL_DATA, ptask, -1 ); g_free( started ); } if ( ptask->task->state_pause == VFS_FILE_TASK_RUNNING || ptask->pause_change_view ) { // update row int percent = ptask->task->percent; if ( percent < 0 ) percent = 0; else if ( percent > 100 ) percent = 100; if ( ptask->task->type != VFS_FILE_TASK_EXEC ) { if ( ptask->task->current_file ) { path = g_path_get_dirname( ptask->task->current_file ); file = g_path_get_basename( ptask->task->current_file ); } } else { path = g_strdup( ptask->task->dest_dir ); //cwd file = g_strdup_printf( "( %s )", ptask->task->current_file ); } // status const char* status; char* status2 = NULL; char* status3; if ( ptask->task->type != VFS_FILE_TASK_EXEC ) { if ( !ptask->err_count ) status = _(job_titles[ ptask->task->type ]); else { status2 = g_strdup_printf( ngettext( _("%d error %s"), _("%d errors %s"), ptask->err_count ), ptask->err_count, _(job_titles[ ptask->task->type ]) ); status = status2; } } else { // exec task if ( ptask->task->exec_action ) status = ptask->task->exec_action; else status = _(job_titles[ ptask->task->type ]); } if ( ptask->task->state_pause == VFS_FILE_TASK_PAUSE ) status3 = g_strdup_printf( "%s %s", _("paused"), status ); else if ( ptask->task->state_pause == VFS_FILE_TASK_QUEUE ) status3 = g_strdup_printf( "%s %s", _("queued"), status ); else status3 = g_strdup( status ); // update icon if queue state changed pixbuf = NULL; if ( ptask->pause_change_view ) { // icon char* iname; if ( ptask->task->state_pause == VFS_FILE_TASK_PAUSE ) { set = xset_get( "task_pause" ); iname = g_strdup( set->icon ? set->icon : GTK_STOCK_MEDIA_PAUSE ); } else if ( ptask->task->state_pause == VFS_FILE_TASK_QUEUE ) { set = xset_get( "task_que" ); iname = g_strdup( set->icon ? set->icon : GTK_STOCK_ADD ); } else if ( ptask->err_count && ptask->task->type != VFS_FILE_TASK_EXEC ) iname = g_strdup_printf( "error" ); else if ( ptask->task->type == 0 || ptask->task->type == 1 || ptask->task->type == 4 ) iname = g_strdup_printf( "stock_copy" ); else if ( ptask->task->type == 2 || ptask->task->type == 3 ) iname = g_strdup_printf( "stock_delete" ); else if ( ptask->task->type == VFS_FILE_TASK_EXEC && ptask->task->exec_icon ) iname = g_strdup( ptask->task->exec_icon ); else iname = g_strdup_printf( "gtk-execute" ); int icon_size = app_settings.small_icon_size; if ( icon_size > PANE_MAX_ICON_SIZE ) icon_size = PANE_MAX_ICON_SIZE; pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), iname, icon_size, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); g_free( iname ); if ( !pixbuf ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), "gtk-execute", icon_size, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); ptask->pause_change_view = FALSE; } if ( ptask->task->type != VFS_FILE_TASK_EXEC || ptaskt != ptask /* new task */ ) { if ( pixbuf ) gtk_list_store_set( GTK_LIST_STORE( model ), &it, TASK_COL_ICON, pixbuf, TASK_COL_STATUS, status3, TASK_COL_COUNT, ptask->dsp_file_count, TASK_COL_PATH, path, TASK_COL_FILE, file, TASK_COL_PROGRESS, percent, TASK_COL_TOTAL, ptask->dsp_size_tally, TASK_COL_ELAPSED, ptask->dsp_elapsed, TASK_COL_CURSPEED, ptask->dsp_curspeed, TASK_COL_CUREST, ptask->dsp_curest, TASK_COL_AVGSPEED, ptask->dsp_avgspeed, TASK_COL_AVGEST, ptask->dsp_avgest, -1 ); else gtk_list_store_set( GTK_LIST_STORE( model ), &it, TASK_COL_STATUS, status3, TASK_COL_COUNT, ptask->dsp_file_count, TASK_COL_PATH, path, TASK_COL_FILE, file, TASK_COL_PROGRESS, percent, TASK_COL_TOTAL, ptask->dsp_size_tally, TASK_COL_ELAPSED, ptask->dsp_elapsed, TASK_COL_CURSPEED, ptask->dsp_curspeed, TASK_COL_CUREST, ptask->dsp_curest, TASK_COL_AVGSPEED, ptask->dsp_avgspeed, TASK_COL_AVGEST, ptask->dsp_avgest, -1 ); } else if ( pixbuf ) gtk_list_store_set( GTK_LIST_STORE( model ), &it, TASK_COL_ICON, pixbuf, TASK_COL_STATUS, status3, TASK_COL_PROGRESS, percent, TASK_COL_ELAPSED, ptask->dsp_elapsed, -1 ); else gtk_list_store_set( GTK_LIST_STORE( model ), &it, TASK_COL_STATUS, status3, TASK_COL_PROGRESS, percent, TASK_COL_ELAPSED, ptask->dsp_elapsed, -1 ); // Clearing up g_free( file ); g_free( path ); g_free( status2 ); g_free( status3 ); if ( pixbuf ) g_object_unref( pixbuf ); if ( !gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( view ) ) ) ) show_task_manager( main_window, TRUE ); update_window_title( NULL, main_window ); } else { // task is paused gtk_list_store_set( GTK_LIST_STORE( model ), &it, TASK_COL_TOTAL, ptask->dsp_size_tally, TASK_COL_ELAPSED, ptask->dsp_elapsed, TASK_COL_CURSPEED, ptask->dsp_curspeed, TASK_COL_CUREST, ptask->dsp_curest, TASK_COL_AVGSPEED, ptask->dsp_avgspeed, TASK_COL_AVGEST, ptask->dsp_avgest, -1 ); } //printf("DONE main_task_view_update_task\n"); } GtkWidget* main_task_view_new( FMMainWindow* main_window ) { char* elements; char* space; char* name; int i, j, width; GtkTreeViewColumn* col; GtkCellRenderer* renderer; GtkCellRenderer* pix_renderer; int cols[] = { TASK_COL_STATUS, TASK_COL_COUNT, TASK_COL_PATH, TASK_COL_FILE, TASK_COL_TO, TASK_COL_PROGRESS, TASK_COL_TOTAL, TASK_COL_STARTED, TASK_COL_ELAPSED, TASK_COL_CURSPEED, TASK_COL_CUREST, TASK_COL_AVGSPEED, TASK_COL_AVGEST, TASK_COL_STARTTIME, TASK_COL_ICON, TASK_COL_DATA }; int num_cols = G_N_ELEMENTS( cols ); // Model GtkListStore* list = gtk_list_store_new( num_cols, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT64, GDK_TYPE_PIXBUF, G_TYPE_POINTER ); // View GtkWidget* view = exo_tree_view_new(); gtk_tree_view_set_model( GTK_TREE_VIEW( view ), GTK_TREE_MODEL( list ) ); // gtk_tree_view_set_model adds a ref g_object_unref( list ); exo_tree_view_set_single_click( (ExoTreeView*)view, TRUE ); gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), FALSE ); //exo_tree_view_set_single_click_timeout( (ExoTreeView*)view, SINGLE_CLICK_TIMEOUT ); // Columns for ( i = 0; i < 13; i++ ) { col = gtk_tree_view_column_new(); gtk_tree_view_column_set_resizable( col, TRUE ); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_FIXED ); gtk_tree_view_column_set_min_width( col, 20 ); // column order for ( j = 0; j < 13; j++ ) { if ( xset_get_int( task_names[j], "x" ) == i ) break; } if ( j == 13 ) j = i; // failsafe else { // column width width = xset_get_int( task_names[j], "y" ); if ( width == 0 ) width = 80; gtk_tree_view_column_set_fixed_width ( col, width ); } if ( cols[j] == TASK_COL_STATUS ) { // Icon and Text renderer = gtk_cell_renderer_text_new(); //g_object_set( G_OBJECT( renderer ), /* "editable", TRUE, */ // "ellipsize", PANGO_ELLIPSIZE_END, NULL ); pix_renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start( col, pix_renderer, FALSE ); gtk_tree_view_column_pack_end( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, pix_renderer, "pixbuf", TASK_COL_ICON, NULL ); gtk_tree_view_column_set_attributes( col, renderer, "text", TASK_COL_STATUS, NULL ); gtk_tree_view_column_set_expand ( col, FALSE ); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_FIXED ); gtk_tree_view_column_set_min_width( col, 60 ); } else if ( cols[j] == TASK_COL_PROGRESS ) { // Progress Bar renderer = gtk_cell_renderer_progress_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "value", cols[j], NULL ); } else { // Text Column renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", cols[j], NULL ); // ellipsize some columns if ( cols[j] == TASK_COL_FILE || cols[j] == TASK_COL_PATH || cols[j] == TASK_COL_TO ) { /* wrap to multiple lines GValue val = G_VALUE_INIT; g_value_init (&val, G_TYPE_CHAR); g_value_set_char (&val, 100); // set to width of cell? g_object_set_property (G_OBJECT (renderer), "wrap-width", &val); g_value_unset (&val); */ GValue val = { 0 }; // G_VALUE_INIT (glib>=2.30) caused to slackware issue ? g_value_init (&val, G_TYPE_CHAR); g_value_set_char (&val, PANGO_ELLIPSIZE_MIDDLE); g_object_set_property (G_OBJECT (renderer), "ellipsize", &val); g_value_unset (&val); } } gtk_tree_view_append_column ( GTK_TREE_VIEW( view ), col ); gtk_tree_view_column_set_title( col, _( task_titles[j] ) ); gtk_tree_view_column_set_reorderable( col, TRUE ); gtk_tree_view_column_set_visible( col, xset_get_b( task_names[j] ) ); if ( j == TASK_COL_FILE ) //|| j == TASK_COL_PATH || j == TASK_COL_TO { gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_FIXED ); gtk_tree_view_column_set_min_width( col, 20 ); // If set_expand is TRUE, columns flicker and adjustment is // difficult during high i/o load on some systems gtk_tree_view_column_set_expand ( col, FALSE ); } } // invisible Starttime col for sorting col = gtk_tree_view_column_new(); gtk_tree_view_column_set_resizable ( col, TRUE ); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", TASK_COL_STARTTIME, NULL ); gtk_tree_view_append_column ( GTK_TREE_VIEW( view ), col ); gtk_tree_view_column_set_title( col, "StartTime" ); gtk_tree_view_column_set_reorderable( col, FALSE ); gtk_tree_view_column_set_visible( col, FALSE ); // Sort if ( GTK_IS_TREE_SORTABLE( list ) ) gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE( list ), TASK_COL_STARTTIME, GTK_SORT_ASCENDING ); gtk_tree_view_set_rules_hint ( GTK_TREE_VIEW( view ), TRUE ); g_signal_connect( view, "row-activated", G_CALLBACK( on_task_row_activated ), NULL ); g_signal_connect( view, "columns-changed", G_CALLBACK ( on_task_columns_changed ), NULL ); g_signal_connect( view, "destroy", G_CALLBACK ( on_task_destroy ), NULL ); g_signal_connect ( view, "button-press-event", G_CALLBACK ( on_task_button_press_event ), main_window ); // set font if ( xset_get_s( "font_task" ) ) { PangoFontDescription* font_desc = pango_font_description_from_string( xset_get_s( "font_task" ) ); gtk_widget_modify_font( view, font_desc ); pango_font_description_free( font_desc ); } return view; } // ============== socket commands gboolean bool( const char* value ) { return ( !( value && value[0] ) || !strcmp( value, "1") || !strcmp( value, "true") || !strcmp( value, "True") || !strcmp( value, "TRUE") || !strcmp( value, "yes") || !strcmp( value, "Yes") || !strcmp( value, "YES") ); } static gboolean delayed_show_menu( GtkWidget* menu ) { FMMainWindow* main_window = fm_main_window_get_last_active(); if ( main_window ) gtk_window_present( GTK_WINDOW( main_window ) ); gtk_widget_show_all( GTK_WIDGET( menu ) ); gtk_menu_popup( GTK_MENU( menu ), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time() ); g_signal_connect( G_OBJECT( menu ), "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); g_signal_connect( menu, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); return FALSE; } char main_window_socket_command( char* argv[], char** reply ) { int i, j; int panel = 0, tab = 0; char* window = NULL; char* str; FMMainWindow* main_window; PtkFileBrowser* file_browser; GList* l; int height, width; GtkWidget* widget; // must match file-browser.c const char* column_titles[] = { N_( "Name" ), N_( "Size" ), N_( "Type" ), N_( "Permission" ), N_( "Owner" ), N_( "Modified" ) }; const char* column_names[] = { "detcol_name", "detcol_size", "detcol_type", "detcol_perm", "detcol_owner", "detcol_date" }; *reply = NULL; if ( !( argv && argv[0] ) ) { *reply = g_strdup( _("spacefm: invalid socket command\n") ); return 1; } // cmd options i = 1; while ( argv[i] && argv[i][0] == '-' ) { if ( !strcmp( argv[i], "--window" ) ) { if ( !argv[i + 1] ) goto _missing_arg; window = argv[i + 1]; i += 2; continue; } else if ( !strcmp( argv[i], "--panel" ) ) { if ( !argv[i + 1] ) goto _missing_arg; panel = atoi( argv[i + 1] ); i += 2; continue; } else if ( !strcmp( argv[i], "--tab" ) ) { if ( !argv[i + 1] ) goto _missing_arg; tab = atoi( argv[i + 1] ); i += 2; continue; } *reply = g_strdup_printf( _("spacefm: invalid option '%s'\n"), argv[i] ); return 1; _missing_arg: *reply = g_strdup_printf( _("spacefm: option %s requires an argument\n"), argv[i] ); return 1; } // window if ( !window ) { if ( !( main_window = fm_main_window_get_last_active() ) ) { *reply = g_strdup( _("spacefm: invalid window\n") ); return 2; } } else { main_window = NULL; for ( l = all_windows; l; l = l->next ) { str = g_strdup_printf( "%p", l->data ); if ( !strcmp( str, window ) ) { main_window = (FMMainWindow*)l->data; g_free( str ); break; } g_free( str ); } if ( !main_window ) { *reply = g_strdup_printf( _("spacefm: invalid window %s\n"), window ); return 2; } } // panel if ( !panel ) panel = main_window->curpanel; if ( panel < 1 || panel > 4 ) { *reply = g_strdup_printf( _("spacefm: invalid panel %d\n"), panel ); return 2; } if ( !xset_get_b_panel( panel, "show" ) || gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[panel-1] ) ) == -1 ) { *reply = g_strdup_printf( _("spacefm: panel %d is not visible\n"), panel ); return 2; } // tab if ( !tab ) { tab = gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[panel-1] ) ) + 1; } if ( tab < 1 || tab > gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[panel-1] ) ) ) { *reply = g_strdup_printf( _("spacefm: invalid tab %d\n"), tab ); return 2; } file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[panel-1] ), tab - 1 ) ); // command if ( !strcmp( argv[0], "set" ) ) { if ( !argv[i] ) { *reply = g_strdup( _("spacefm: command set requires an argument\n") ); return 1; } if ( !strcmp( argv[i], "window_size" ) || !strcmp( argv[i], "window_position" ) ) { height = width = 0; if ( argv[i+1] ) { str = strchr( argv[i+1], 'x' ); if ( !str ) { if ( argv[i+2] ) { width = atoi( argv[i+1] ); height = atoi( argv[i+2] ); } } else { str[0] = '\0'; width = atoi( argv[i+1] ); height = atoi( str + 1 ); } } if ( height < 1 || width < 1 ) { *reply = g_strdup_printf( _("spacefm: invalid %s value\n"), argv[i] ); return 2; } if ( !strcmp( argv[i], "window_size" ) ) gtk_window_resize( GTK_WINDOW( main_window ), width, height ); else gtk_window_move( GTK_WINDOW( main_window ), width, height ); } else if ( !strcmp( argv[i], "window_maximized" ) ) { if ( bool( argv[i+1] ) ) gtk_window_maximize( GTK_WINDOW( main_window ) ); else gtk_window_unmaximize( GTK_WINDOW( main_window ) ); } else if ( !strcmp( argv[i], "window_fullscreen" ) ) { xset_set_b( "main_full", bool( argv[i+1] ) ); on_fullscreen_activate( NULL, main_window ); } else if ( !strcmp( argv[i], "screen_size" ) ) { } else if ( !strcmp( argv[i], "window_vslider_top" ) || !strcmp( argv[i], "window_vslider_bottom" ) || !strcmp( argv[i], "window_hslider" ) || !strcmp( argv[i], "window_tslider" ) ) { width = -1; if ( argv[i+1] ) width = atoi( argv[i+1] ); if ( width < 0 ) { *reply = g_strdup( _("spacefm: invalid slider value\n") ); return 2; } if ( !strcmp( argv[i] + 7, "vslider_top" ) ) widget = main_window->hpane_top; else if ( !strcmp( argv[i] + 7, "vslider_bottom" ) ) widget = main_window->hpane_bottom; else if ( !strcmp( argv[i] + 7, "hslider" ) ) widget = main_window->vpane; else widget = main_window->task_vpane; gtk_paned_set_position( GTK_PANED( widget ), width ); } else if ( !strcmp( argv[i], "focused_panel" ) ) { width = 0; if ( argv[i+1] ) { if ( !strcmp( argv[i+1], "prev" ) ) width = -1; else if ( !strcmp( argv[i+1], "next" ) ) width = -2; else if ( !strcmp( argv[i+1], "hide" ) ) width = -3; else width = atoi( argv[i+1] ); } if ( width == 0 || width < -3 || width > 4 ) { *reply = g_strdup( _("spacefm: invalid panel number\n") ); return 2; } focus_panel( NULL, (gpointer)main_window, width ); } else if ( !strcmp( argv[i], "focused_pane" ) ) { widget = NULL; if ( argv[i+1] ) { if ( !strcmp( argv[i+1], "filelist" ) ) widget = file_browser->folder_view; else if ( !strcmp( argv[i+1], "devices" ) ) widget = file_browser->side_dev; else if ( !strcmp( argv[i+1], "bookmarks" ) ) widget = file_browser->side_book; else if ( !strcmp( argv[i+1], "dirtree" ) ) widget = file_browser->side_dir; else if ( !strcmp( argv[i+1], "pathbar" ) ) widget = file_browser->path_bar; } if ( GTK_IS_WIDGET( widget ) ) gtk_widget_grab_focus( widget ); } else if ( !strcmp( argv[i], "current_tab" ) ) { width = 0; if ( argv[i+1] ) { if ( !strcmp( argv[i+1], "prev" ) ) width = -1; else if ( !strcmp( argv[i+1], "next" ) ) width = -2; else if ( !strcmp( argv[i+1], "close" ) ) width = -3; else width = atoi( argv[i+1] ); } if ( width == 0 || width < -3 || width > gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[panel-1] ) ) ) { *reply = g_strdup( _("spacefm: invalid tab number\n") ); return 2; } ptk_file_browser_go_tab( NULL, file_browser, width ); } else if ( !strcmp( argv[i], "tab_count" ) ) {} else if ( !strcmp( argv[i], "new_tab" ) ) { focus_panel( NULL, (gpointer)main_window, panel ); if ( !( argv[i+1] && g_file_test( argv[i+1], G_FILE_TEST_IS_DIR ) ) ) ptk_file_browser_new_tab( NULL, file_browser ); else fm_main_window_add_new_tab( main_window, argv[i+1] ); main_window_get_counts( file_browser, &i, &tab, &j ); *reply = g_strdup_printf( "#!%s\nnew_tab_window=%p\nnew_tab_panel=%d\nnew_tab_number=%d\n", BASHPATH, main_window, panel, tab ); } else if ( g_str_has_suffix( argv[i], "_visible" ) ) { gboolean use_mode = FALSE; if ( g_str_has_prefix( argv[i], "devices_" ) ) { str = "show_devmon"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "bookmarks_" ) ) { str = "show_book"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "dirtree_" ) ) { str = "show_dirtree"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "toolbar_" ) ) { str = "show_toolbox"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "sidetoolbar_" ) ) { str = "show_sidebar"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "hidden_files_" ) ) str = "show_hidden"; else if ( g_str_has_prefix( argv[i], "panel" ) ) { j = argv[i][5] - 48; if ( j < 1 || j > 4 ) { *reply = g_strdup_printf( _("spacefm: invalid property %s\n"), argv[i] ); return 2; } xset_set_b_panel( j, "show", bool( argv[i+1] ) ); show_panels_all_windows( NULL, main_window ); return 0; } else str = NULL; if ( !str ) goto _invalid_set; if ( use_mode ) xset_set_b_panel_mode( panel, str, main_window->panel_context[panel-1], bool( argv[i+1] ) ); else xset_set_b_panel( panel, str, bool( argv[i+1] ) ); update_views_all_windows( NULL, file_browser ); } else if ( !strcmp( argv[i], "panel_hslider_top" ) || !strcmp( argv[i], "panel_hslider_bottom" ) || !strcmp( argv[i], "panel_vslider" ) ) { width = -1; if ( argv[i+1] ) width = atoi( argv[i+1] ); if ( width < 0 ) { *reply = g_strdup( _("spacefm: invalid slider value\n") ); return 2; } if ( !strcmp( argv[i] + 6, "hslider_top" ) ) widget = file_browser->side_vpane_top; else if ( !strcmp( argv[i] + 6, "hslider_bottom" ) ) widget = file_browser->side_vpane_bottom; else widget = file_browser->hpane; gtk_paned_set_position( GTK_PANED( widget ), width ); ptk_file_browser_slider_release( NULL, NULL, file_browser ); update_views_all_windows( NULL, file_browser ); } else if ( !strcmp( argv[i], "column_width" ) ) { // COLUMN WIDTH width = 0; if ( argv[i+1] && argv[i+2] ) width = atoi( argv[i+2] ); if ( width < 1 ) { *reply = g_strdup( _("spacefm: invalid column width\n") ); return 2; } if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { GtkTreeViewColumn* col; for ( j = 0; j < 6; j++ ) { col = gtk_tree_view_get_column( GTK_TREE_VIEW( file_browser->folder_view ), j ); if ( !col ) continue; str = (char*)gtk_tree_view_column_get_title( col ); if ( !g_strcmp0( argv[i+1], str ) ) break; if ( !g_strcmp0( argv[i+1], "name" ) && !g_strcmp0( str, _(column_titles[0]) ) ) break; else if ( !g_strcmp0( argv[i+1], "size" ) && !g_strcmp0( str, _(column_titles[1]) ) ) break; else if ( !g_strcmp0( argv[i+1], "type" ) && !g_strcmp0( str, _(column_titles[2]) ) ) break; else if ( !g_strcmp0( argv[i+1], "permission" ) && !g_strcmp0( str, _(column_titles[3]) ) ) break; else if ( !g_strcmp0( argv[i+1], "owner" ) && !g_strcmp0( str, _(column_titles[4]) ) ) break; else if ( !g_strcmp0( argv[i+1], "modified" ) && !g_strcmp0( str, _(column_titles[5]) ) ) break; } if ( j == 6 ) { *reply = g_strdup_printf( _("spacefm: invalid column name '%s'\n"), argv[i+1] ); return 2; } gtk_tree_view_column_set_fixed_width( col, width ); } } else if ( !strcmp( argv[i], "sort_by" ) ) { // COLUMN j = -10; if ( !argv[i+1] ) {} else if ( !strcmp( argv[i+1], "name" ) ) j = PTK_FB_SORT_BY_NAME; else if ( !strcmp( argv[i+1], "size" ) ) j = PTK_FB_SORT_BY_SIZE; else if ( !strcmp( argv[i+1], "type" ) ) j = PTK_FB_SORT_BY_TYPE; else if ( !strcmp( argv[i+1], "permission" ) ) j = PTK_FB_SORT_BY_PERM; else if ( !strcmp( argv[i+1], "owner" ) ) j = PTK_FB_SORT_BY_OWNER; else if ( !strcmp( argv[i+1], "modified" ) ) j = PTK_FB_SORT_BY_MTIME; if ( j == -10 ) { *reply = g_strdup_printf( _("spacefm: invalid column name '%s'\n"), argv[i+1] ); return 2; } ptk_file_browser_set_sort_order( file_browser, j ); } else if ( g_str_has_prefix( argv[i], "sort_" ) ) { if ( !strcmp( argv[i] + 5, "ascend" ) ) { ptk_file_browser_set_sort_type( file_browser, bool( argv[i+1] ) ? GTK_SORT_ASCENDING : GTK_SORT_DESCENDING ); return 0; } else if ( !strcmp( argv[i] + 5, "natural" ) ) { str = "sortx_natural"; xset_set_b( str, bool( argv[i+1] ) ); } else if ( !strcmp( argv[i] + 5, "case" ) ) { str = "sortx_case"; xset_set_b( str, bool( argv[i+1] ) ); } else if ( !strcmp( argv[i] + 5, "hidden_first" ) ) { str = bool( argv[i+1] ) ? "sortx_hidfirst" : "sortx_hidlast"; xset_set_b( str, TRUE ); } else if ( !strcmp( argv[i] + 5, "first" ) ) { if ( !g_strcmp0( argv[i+1], "files" ) ) str = "sortx_files"; else if ( !g_strcmp0( argv[i+1], "folders" ) ) str = "sortx_folders"; else if ( !g_strcmp0( argv[i+1], "mixed" ) ) str = "sortx_mix"; else { *reply = g_strdup_printf( _("spacefm: invalid %s value\n"), argv[i] ); return 2; } } else goto _invalid_set; ptk_file_browser_set_sort_extra( file_browser, str ); } else if ( !strcmp( argv[i], "show_thumbnails" ) ) { if ( app_settings.show_thumbnail != bool( argv[i+1] ) ) main_window_toggle_thumbnails_all_windows(); } else if ( !strcmp( argv[i], "large_icons" ) ) { if ( file_browser->view_mode != PTK_FB_ICON_VIEW ) { xset_set_b_panel_mode( panel, "list_large", main_window->panel_context[panel-1], bool( argv[i+1] ) ); update_views_all_windows( NULL, file_browser ); } } else if ( !strcmp( argv[i], "statusbar_text" ) ) { if ( !( argv[i+1] && argv[i+1][0] ) ) { g_free( file_browser->status_bar_custom ); file_browser->status_bar_custom = NULL; } else { g_free( file_browser->status_bar_custom ); file_browser->status_bar_custom = g_strdup( argv[i+1] ); } fm_main_window_update_status_bar( main_window, file_browser ); } else if ( !strcmp( argv[i], "pathbar_text" ) ) { // TEXT [[SELSTART] SELEND] if ( !GTK_IS_WIDGET( file_browser->path_bar ) ) return 0; if ( !( argv[i+1] && argv[i+1][0] ) ) { gtk_entry_set_text( GTK_ENTRY( file_browser->path_bar ), "" ); } else { gtk_entry_set_text( GTK_ENTRY( file_browser->path_bar ), argv[i+1] ); if ( !argv[i+2] ) { width = 0; height = -1; } else { width = atoi( argv[i+2] ); height = argv[i+3] ? atoi( argv[i+3] ) : -1; } gtk_editable_set_position( GTK_EDITABLE( file_browser->path_bar ), -1 ); gtk_editable_select_region( GTK_EDITABLE( file_browser->path_bar ), width, height ); gtk_widget_grab_focus( file_browser->path_bar ); } } else if ( !strcmp( argv[i], "clipboard_text" ) || !strcmp( argv[i], "clipboard_primary_text" ) ) { if ( argv[i+1] && !g_utf8_validate( argv[i+1], -1, NULL ) ) { *reply = g_strdup( _("spacefm: text is not valid UTF-8\n") ); return 2; } GtkClipboard * clip = gtk_clipboard_get( !strcmp( argv[i], "clipboard_text" ) ? GDK_SELECTION_CLIPBOARD : GDK_SELECTION_PRIMARY ); str = unescape( argv[i+1] ? argv[i+1] : "" ); gtk_clipboard_set_text( clip, str, -1 ); g_free( str ); } else if ( !strcmp( argv[i], "clipboard_from_file" ) || !strcmp( argv[i], "clipboard_primary_from_file" ) ) { if ( !argv[i+1] ) { *reply = g_strdup_printf( _("spacefm: %s requires a file path\n"), argv[i] ); return 1; } if ( !g_file_get_contents( argv[i+1], &str, NULL, NULL ) ) { *reply = g_strdup_printf( _("spacefm: error reading file '%s'\n"), argv[i+1] ); return 2; } if ( !g_utf8_validate( str, -1, NULL ) ) { *reply = g_strdup_printf( _("spacefm: file '%s' does not contain valid UTF-8 text\n"), argv[i+1] ); g_free( str ); return 2; } GtkClipboard * clip = gtk_clipboard_get( !strcmp( argv[i], "clipboard_from_file" ) ? GDK_SELECTION_CLIPBOARD : GDK_SELECTION_PRIMARY ); gtk_clipboard_set_text( clip, str, -1 ); g_free( str ); } else if ( !strcmp( argv[i], "clipboard_cut_files" ) || !strcmp( argv[i], "clipboard_copy_files" ) ) { ptk_clipboard_copy_file_list( argv + i + 1, !strcmp( argv[i], "clipboard_copy_files" ) ); } else if ( !strcmp( argv[i], "selected_filenames" ) || !strcmp( argv[i], "selected_files" ) ) { if ( !argv[i+1] || argv[i+1][0] == '\0' ) // unselect all ptk_file_browser_select_file_list( file_browser, NULL, FALSE ); else ptk_file_browser_select_file_list( file_browser, argv + i + 1, TRUE ); } else if ( !strcmp( argv[i], "selected_pattern" ) ) { if ( !argv[i+1] ) // unselect all ptk_file_browser_select_file_list( file_browser, NULL, FALSE ); else ptk_file_browser_select_pattern( NULL, file_browser, argv[i+1] ); } else if ( !strcmp( argv[i], "current_dir" ) ) { if ( !argv[i+1] ) { *reply = g_strdup_printf( _("spacefm: %s requires a directory path\n"), argv[i] ); return 1; } if ( !g_file_test( argv[i+1], G_FILE_TEST_IS_DIR ) ) { *reply = g_strdup_printf( _("spacefm: directory '%s' does not exist\n"), argv[i+1] ); return 1; } ptk_file_browser_chdir( file_browser, argv[i+1], PTK_FB_CHDIR_ADD_HISTORY ); } else if ( !strcmp( argv[i], "edit_file" ) ) // deprecated >= 0.8.7 { if ( ( argv[i+1] && argv[i+1][0] ) && g_file_test( argv[i+1], G_FILE_TEST_IS_REGULAR ) ) xset_edit( GTK_WIDGET( file_browser ), argv[i+1], FALSE, TRUE ); } else if ( !strcmp( argv[i], "run_in_terminal" ) ) // deprecated >= 0.8.7 { if ( ( argv[i+1] && argv[i+1][0] ) ) { str = g_strjoinv( " ", &argv[i+1] ); if ( str && str[0] ) { // async task PtkFileTask* task = ptk_file_exec_new( "Run In Terminal", ptk_file_browser_get_cwd( file_browser ), GTK_WIDGET( file_browser ), main_window->task_view ); task->task->exec_command = str; task->task->exec_terminal = TRUE; task->task->exec_sync = FALSE; task->task->exec_export = FALSE; ptk_file_task_run( task ); } else g_free( str ); } } else { _invalid_set: *reply = g_strdup_printf( _("spacefm: invalid property %s\n"), argv[i] ); return 1; } } else if ( !strcmp( argv[0], "get" ) ) { // get if ( !argv[i] ) { *reply = g_strdup_printf( _("spacefm: command %s requires an argument\n"), argv[0] ); return 1; } if ( !strcmp( argv[i], "window_size" ) || !strcmp( argv[i], "window_position" ) ) { if ( !strcmp( argv[i], "window_size" ) ) gtk_window_get_size( GTK_WINDOW( main_window ), &width, &height ); else gtk_window_get_position( GTK_WINDOW( main_window ), &width, &height ); *reply = g_strdup_printf( "%dx%d\n", width, height ); } else if ( !strcmp( argv[i], "window_maximized" ) ) { *reply = g_strdup_printf( "%d\n", !!main_window->maximized ); } else if ( !strcmp( argv[i], "window_fullscreen" ) ) { *reply = g_strdup_printf( "%d\n", !!main_window->fullscreen ); } else if ( !strcmp( argv[i], "screen_size" ) ) { width = gdk_screen_get_width( gtk_widget_get_screen( (GtkWidget*)main_window ) ); height = gdk_screen_get_height( gtk_widget_get_screen( (GtkWidget*)main_window ) ); *reply = g_strdup_printf( "%dx%d\n", width, height ); } else if ( !strcmp( argv[i], "window_vslider_top" ) || !strcmp( argv[i], "window_vslider_bottom" ) || !strcmp( argv[i], "window_hslider" ) || !strcmp( argv[i], "window_tslider" ) ) { if ( !strcmp( argv[i] + 7, "vslider_top" ) ) widget = main_window->hpane_top; else if ( !strcmp( argv[i] + 7, "vslider_bottom" ) ) widget = main_window->hpane_bottom; else if ( !strcmp( argv[i] + 7, "hslider" ) ) widget = main_window->vpane; else widget = main_window->task_vpane; *reply = g_strdup_printf( "%d\n", gtk_paned_get_position( GTK_PANED( widget ) ) ); } else if ( !strcmp( argv[i], "focused_panel" ) ) { *reply = g_strdup_printf( "%d\n", main_window->curpanel ); } else if ( !strcmp( argv[i], "focused_pane" ) ) { if ( file_browser->folder_view && gtk_widget_is_focus( file_browser->folder_view ) ) str = "filelist"; else if ( file_browser->side_dev && gtk_widget_is_focus( file_browser->side_dev ) ) str = "devices"; else if ( file_browser->side_book && gtk_widget_is_focus( file_browser->side_book ) ) str = "bookmarks"; else if ( file_browser->side_dir && gtk_widget_is_focus( file_browser->side_dir ) ) str = "dirtree"; else if ( file_browser->path_bar && gtk_widget_is_focus( file_browser->path_bar ) ) str = "pathbar"; else str = NULL; if ( str ) *reply = g_strdup_printf( "%s\n", str ); } else if ( !strcmp( argv[i], "current_tab" ) ) { *reply = g_strdup_printf( "%d\n", gtk_notebook_page_num ( GTK_NOTEBOOK( main_window->panel[panel-1] ), GTK_WIDGET( file_browser ) ) + 1 ); } else if ( !strcmp( argv[i], "tab_count" ) ) { main_window_get_counts( file_browser, &panel, &tab, &j ); *reply = g_strdup_printf( "%d\n", tab ); } else if ( !strcmp( argv[i], "new_tab" ) ) {} else if ( g_str_has_suffix( argv[i], "_visible" ) ) { gboolean use_mode = FALSE; if ( g_str_has_prefix( argv[i], "devices_" ) ) { str = "show_devmon"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "bookmarks_" ) ) { str = "show_book"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "dirtree_" ) ) { str = "show_dirtree"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "toolbar_" ) ) { str = "show_toolbox"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "sidetoolbar_" ) ) { str = "show_sidebar"; use_mode = TRUE; } else if ( g_str_has_prefix( argv[i], "hidden_files_" ) ) str = "show_hidden"; else if ( g_str_has_prefix( argv[i], "panel" ) ) { j = argv[i][5] - 48; if ( j < 1 || j > 4 ) { *reply = g_strdup_printf( _("spacefm: invalid property %s\n"), argv[i] ); return 2; } *reply = g_strdup_printf( "%d\n", xset_get_b_panel( j, "show" ) ); return 0; } else str = NULL; if ( !str ) goto _invalid_get; if ( use_mode ) *reply = g_strdup_printf( "%d\n", !!xset_get_b_panel_mode( panel, str, main_window->panel_context[panel-1] ) ); else *reply = g_strdup_printf( "%d\n", !!xset_get_b_panel( panel, str ) ); } else if ( !strcmp( argv[i], "panel_hslider_top" ) || !strcmp( argv[i], "panel_hslider_bottom" ) || !strcmp( argv[i], "panel_vslider" ) ) { if ( !strcmp( argv[i] + 6, "hslider_top" ) ) widget = file_browser->side_vpane_top; else if ( !strcmp( argv[i] + 6, "hslider_bottom" ) ) widget = file_browser->side_vpane_bottom; else widget = file_browser->hpane; *reply = g_strdup_printf( "%d\n", gtk_paned_get_position( GTK_PANED( widget ) ) ); } else if ( !strcmp( argv[i], "column_width" ) ) { // COLUMN if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { GtkTreeViewColumn* col; for ( j = 0; j < 6; j++ ) { col = gtk_tree_view_get_column( GTK_TREE_VIEW( file_browser->folder_view ), j ); if ( !col ) continue; str = (char*)gtk_tree_view_column_get_title( col ); if ( !g_strcmp0( argv[i+1], str ) ) break; if ( !g_strcmp0( argv[i+1], "name" ) && !g_strcmp0( str, _(column_titles[0]) ) ) break; else if ( !g_strcmp0( argv[i+1], "size" ) && !g_strcmp0( str, _(column_titles[1]) ) ) break; else if ( !g_strcmp0( argv[i+1], "type" ) && !g_strcmp0( str, _(column_titles[2]) ) ) break; else if ( !g_strcmp0( argv[i+1], "permission" ) && !g_strcmp0( str, _(column_titles[3]) ) ) break; else if ( !g_strcmp0( argv[i+1], "owner" ) && !g_strcmp0( str, _(column_titles[4]) ) ) break; else if ( !g_strcmp0( argv[i+1], "modified" ) && !g_strcmp0( str, _(column_titles[5]) ) ) break; } if ( j == 6 ) { *reply = g_strdup_printf( _("spacefm: invalid column name '%s'\n"), argv[i+1] ); return 2; } *reply = g_strdup_printf( "%d\n", gtk_tree_view_column_get_width( col ) ); } } else if ( !strcmp( argv[i], "sort_by" ) ) { // COLUMN switch ( file_browser->sort_order ) { case PTK_FB_SORT_BY_NAME: str = "name"; break; case PTK_FB_SORT_BY_SIZE: str = "size"; break; case PTK_FB_SORT_BY_TYPE: str = "type"; break; case PTK_FB_SORT_BY_PERM: str = "permission"; break; case PTK_FB_SORT_BY_OWNER: str = "owner"; break; case PTK_FB_SORT_BY_MTIME: str = "modified"; break; default: return 0; } *reply = g_strdup_printf( "%s\n", str ); } else if ( g_str_has_prefix( argv[i], "sort_" ) ) { if ( !strcmp( argv[i] + 5, "ascend" ) ) *reply = g_strdup_printf( "%d\n", file_browser->sort_type == GTK_SORT_ASCENDING ? 1 : 0 ); else if ( !strcmp( argv[i] + 5, "natural" ) ) *reply = g_strdup_printf( "%d\n", xset_get_b_panel( file_browser->mypanel, "sort_extra" ) ? 1 : 0 ); else if ( !strcmp( argv[i] + 5, "case" ) ) *reply = g_strdup_printf( "%d\n", xset_get_b_panel( file_browser->mypanel, "sort_extra" ) && xset_get_int_panel( file_browser->mypanel, "sort_extra", "x" ) == XSET_B_TRUE ? 1 : 0 ); else if ( !strcmp( argv[i] + 5, "hidden_first" ) ) *reply = g_strdup_printf( "%d\n", xset_get_int_panel( file_browser->mypanel, "sort_extra", "z" ) == XSET_B_TRUE ? 1 : 0 ); else if ( !strcmp( argv[i] + 5, "first" ) ) { switch ( xset_get_int_panel( file_browser->mypanel, "sort_extra", "y" ) ) { case 0: str = "mixed"; break; case 1: str = "folders"; break; case 2: str = "files"; break; default: return 0; //failsafe for known } *reply = g_strdup_printf( "%s\n", str ); } else goto _invalid_get; } else if ( !strcmp( argv[i], "show_thumbnails" ) ) { *reply = g_strdup_printf( "%d\n", app_settings.show_thumbnail ? 1 : 0 ); } else if ( !strcmp( argv[i], "large_icons" ) ) { *reply = g_strdup_printf( "%d\n", file_browser->large_icons ? 1 : 0 ); } else if ( !strcmp( argv[i], "statusbar_text" ) ) { *reply = g_strdup_printf( "%s\n", gtk_label_get_text( GTK_LABEL( file_browser->status_label ) ) ); } else if ( !strcmp( argv[i], "pathbar_text" ) ) { if ( GTK_IS_WIDGET( file_browser->path_bar ) ) *reply = g_strdup_printf( "%s\n", gtk_entry_get_text( GTK_ENTRY( file_browser->path_bar ) ) ); } else if ( !strcmp( argv[i], "clipboard_text" ) || !strcmp( argv[i], "clipboard_primary_text" ) ) { GtkClipboard * clip = gtk_clipboard_get( !strcmp( argv[i], "clipboard_text" ) ? GDK_SELECTION_CLIPBOARD : GDK_SELECTION_PRIMARY ); *reply = gtk_clipboard_wait_for_text( clip ); } else if ( !strcmp( argv[i], "clipboard_from_file" ) || !strcmp( argv[i], "clipboard_primary_from_file" ) ) { } else if ( !strcmp( argv[i], "clipboard_cut_files" ) || !strcmp( argv[i], "clipboard_copy_files" ) ) { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GdkAtom gnome_target; GdkAtom uri_list_target; GtkSelectionData* sel_data; gnome_target = gdk_atom_intern( "x-special/gnome-copied-files", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, gnome_target ); if ( !sel_data ) { uri_list_target = gdk_atom_intern( "text/uri-list", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, uri_list_target ); if ( !sel_data ) return 0; } if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return 0; } if ( 0 == strncmp( ( char* ) gtk_selection_data_get_data( sel_data ), "cut", 3 ) ) { if ( !strcmp( argv[i], "clipboard_copy_files" ) ) { gtk_selection_data_free( sel_data ); return 0; } } else if ( !strcmp( argv[i], "clipboard_cut_files" ) ) { gtk_selection_data_free( sel_data ); return 0; } str = gtk_clipboard_wait_for_text( clip ); gtk_selection_data_free( sel_data ); if ( !( str && str[0] ) ) { g_free( str ); return 0; } // build bash array char** pathv = g_strsplit( str, "\n", 0 ); g_free( str ); GString* gstr = g_string_new( "(" ); j = 0; while ( pathv[j] ) { if ( pathv[j][0] ) { str = bash_quote( pathv[j] ); g_string_append_printf( gstr, "%s ", str ); g_free( str ); } j++; } g_strfreev( pathv ); g_string_append_printf( gstr, ")\n" ); *reply = g_string_free( gstr, FALSE ); } else if ( !strcmp( argv[i], "selected_filenames" ) || !strcmp( argv[i], "selected_files" ) ) { GList* sel_files; VFSFileInfo* file; sel_files = ptk_file_browser_get_selected_files( file_browser ); if ( !sel_files ) return 0; // build bash array GString* gstr = g_string_new( "(" ); for ( l = sel_files; l; l = l->next ) { file = vfs_file_info_ref( (VFSFileInfo*)l->data ); if ( file ) { str = bash_quote( vfs_file_info_get_name( file ) ); g_string_append_printf( gstr, "%s ", str ); g_free( str ); vfs_file_info_unref( file ); } } vfs_file_info_list_free( sel_files ); g_string_append_printf( gstr, ")\n" ); *reply = g_string_free( gstr, FALSE ); } else if ( !strcmp( argv[i], "selected_pattern" ) ) { } else if ( !strcmp( argv[i], "current_dir" ) ) { *reply = g_strdup_printf( "%s\n", ptk_file_browser_get_cwd( file_browser ) ); } else if ( !strcmp( argv[i], "edit_file" ) ) { } else if ( !strcmp( argv[i], "run_in_terminal" ) ) { } else { _invalid_get: *reply = g_strdup_printf( _("spacefm: invalid property %s\n"), argv[i] ); return 1; } } else if ( !strcmp( argv[0], "set-task" ) ) { // TASKNUM PROPERTY [VALUE] if ( !( argv[i] && argv[i+1] ) ) { *reply = g_strdup_printf( _("spacefm: %s requires two arguments\n"), argv[0] ); return 1; } // find task GtkTreeIter it; PtkFileTask* ptask = NULL; GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( main_window->task_view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptask, -1 ); str = g_strdup_printf( "%p", ptask ); if ( !strcmp( str, argv[i] ) ) { g_free( str ); break; } g_free( str ); ptask= NULL; } while ( gtk_tree_model_iter_next( model, &it ) ); } if ( !ptask ) { *reply = g_strdup_printf( _("spacefm: invalid task '%s'\n"), argv[i] ); return 2; } if ( ptask->task->type != VFS_FILE_TASK_EXEC ) { *reply = g_strdup_printf( _("spacefm: internal task %s is read-only\n"), argv[i] ); return 2; } // set model value if ( !strcmp( argv[i+1], "icon" ) ) { g_mutex_lock( ptask->task->mutex ); g_free( ptask->task->exec_icon ); ptask->task->exec_icon = g_strdup( argv[i+2] ); ptask->pause_change_view = ptask->pause_change = TRUE; g_mutex_unlock( ptask->task->mutex ); return 0; } else if ( !strcmp( argv[i+1], "count" ) ) j = TASK_COL_COUNT; else if ( !strcmp( argv[i+1], "folder" ) || !strcmp( argv[i+1], "from" ) ) j = TASK_COL_PATH; else if ( !strcmp( argv[i+1], "item" ) ) j = TASK_COL_FILE; else if ( !strcmp( argv[i+1], "to" ) ) j = TASK_COL_TO; else if ( !strcmp( argv[i+1], "progress" ) ) { if ( !argv[i+2] ) ptask->task->percent = 50; else { j = atoi( argv[i+2] ); if ( j < 0 ) j = 0; if ( j > 100 ) j = 100; ptask->task->percent = j; } ptask->task->custom_percent = !!argv[i+2]; ptask->pause_change_view = ptask->pause_change = TRUE; return 0; } else if ( !strcmp( argv[i+1], "total" ) ) j = TASK_COL_TOTAL; else if ( !strcmp( argv[i+1], "curspeed" ) ) j = TASK_COL_CURSPEED; else if ( !strcmp( argv[i+1], "curremain" ) ) j = TASK_COL_CUREST; else if ( !strcmp( argv[i+1], "avgspeed" ) ) j = TASK_COL_AVGSPEED; else if ( !strcmp( argv[i+1], "avgremain" ) ) j = TASK_COL_AVGEST; else if ( !strcmp( argv[i+1], "elapsed" ) || !strcmp( argv[i+1], "started" ) || !strcmp( argv[i+1], "status" ) ) { *reply = g_strdup_printf( _("spacefm: task property '%s' is read-only\n"), argv[i+1] ); return 2; } else if ( !strcmp( argv[i+1], "queue_state" ) ) { if ( !argv[i+2] || !g_strcmp0( argv[i+2], "run" ) ) ptk_file_task_pause( ptask, VFS_FILE_TASK_RUNNING ); else if ( !strcmp( argv[i+2], "pause" ) ) ptk_file_task_pause( ptask, VFS_FILE_TASK_PAUSE ); else if ( !strcmp( argv[i+2], "queue" ) || !strcmp( argv[i+2], "queued" ) ) ptk_file_task_pause( ptask, VFS_FILE_TASK_QUEUE ); else if ( !strcmp( argv[i+2], "stop" ) ) on_task_stop( NULL, main_window->task_view, xset_get( "task_stop_all" ), NULL ); else { *reply = g_strdup_printf( _("spacefm: invalid queue_state '%s'\n"), argv[i+2] ); return 2; } main_task_start_queued( main_window->task_view, NULL ); return 0; } else if ( !strcmp( argv[i+1], "popup_handler" ) ) { g_free( ptask->pop_handler ); if ( argv[i+2] && argv[i+2][0] != '\0' ) ptask->pop_handler = g_strdup( argv[i+2] ); else ptask->pop_handler = NULL; return 0; } else { *reply = g_strdup_printf( _("spacefm: invalid task property '%s'\n"), argv[i+1] ); return 2; } gtk_list_store_set( GTK_LIST_STORE( model ), &it, j, argv[i+2], -1 ); } else if ( !strcmp( argv[0], "get-task" ) ) { // TASKNUM PROPERTY if ( !( argv[i] && argv[i+1] ) ) { *reply = g_strdup_printf( _("spacefm: %s requires two arguments\n"), argv[0] ); return 1; } // find task GtkTreeIter it; PtkFileTask* ptask = NULL; GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( main_window->task_view ) ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, TASK_COL_DATA, &ptask, -1 ); str = g_strdup_printf( "%p", ptask ); if ( !strcmp( str, argv[i] ) ) { g_free( str ); break; } g_free( str ); ptask= NULL; } while ( gtk_tree_model_iter_next( model, &it ) ); } if ( !ptask ) { *reply = g_strdup_printf( _("spacefm: invalid task '%s'\n"), argv[i] ); return 2; } // get model value if ( !strcmp( argv[i+1], "icon" ) ) { g_mutex_lock( ptask->task->mutex ); if ( ptask->task->exec_icon ) *reply = g_strdup_printf( "%s\n", ptask->task->exec_icon ); g_mutex_unlock( ptask->task->mutex ); return 0; } else if ( !strcmp( argv[i+1], "count" ) ) j = TASK_COL_COUNT; else if ( !strcmp( argv[i+1], "folder" ) || !strcmp( argv[i+1], "from" ) ) j = TASK_COL_PATH; else if ( !strcmp( argv[i+1], "item" ) ) j = TASK_COL_FILE; else if ( !strcmp( argv[i+1], "to" ) ) j = TASK_COL_TO; else if ( !strcmp( argv[i+1], "progress" ) ) { *reply = g_strdup_printf( "%d\n", ptask->task->percent ); return 0; } else if ( !strcmp( argv[i+1], "total" ) ) j = TASK_COL_TOTAL; else if ( !strcmp( argv[i+1], "curspeed" ) ) j = TASK_COL_CURSPEED; else if ( !strcmp( argv[i+1], "curremain" ) ) j = TASK_COL_CUREST; else if ( !strcmp( argv[i+1], "avgspeed" ) ) j = TASK_COL_AVGSPEED; else if ( !strcmp( argv[i+1], "avgremain" ) ) j = TASK_COL_AVGEST; else if ( !strcmp( argv[i+1], "elapsed" ) ) j = TASK_COL_ELAPSED; else if ( !strcmp( argv[i+1], "started" ) ) j = TASK_COL_STARTED; else if ( !strcmp( argv[i+1], "status" ) ) j = TASK_COL_STATUS; else if ( !strcmp( argv[i+1], "queue_state" ) ) { if ( ptask->task->state_pause == VFS_FILE_TASK_RUNNING ) str = "run"; else if ( ptask->task->state_pause == VFS_FILE_TASK_PAUSE ) str = "pause"; else if ( ptask->task->state_pause == VFS_FILE_TASK_QUEUE ) str = "queue"; else str = "stop"; // failsafe *reply = g_strdup_printf( "%s\n", str ); return 0; } else if ( !strcmp( argv[i+1], "popup_handler" ) ) { if ( ptask->pop_handler ) *reply = g_strdup_printf( "%s\n", ptask->pop_handler ); return 0; } else { *reply = g_strdup_printf( _("spacefm: invalid task property '%s'\n"), argv[i+1] ); return 2; } gtk_tree_model_get( model, &it, j, &str, -1 ); if ( str ) *reply = g_strdup_printf( "%s\n", str ); g_free( str ); } else if ( !strcmp( argv[0], "run-task" ) ) { // TYPE [OPTIONS] ... if ( !( argv[i] && argv[i+1] ) ) { *reply = g_strdup_printf( _("spacefm: %s requires two arguments\n"), argv[0] ); return 1; } if ( !strcmp( argv[i], "cmd" ) || !strcmp( argv[i], "command" ) ) { // custom command task // cmd [--task [--popup] [--scroll]] [--terminal] // [--user USER] [--title TITLE] // [--icon ICON] [--dir DIR] COMMAND // get opts gboolean opt_task = FALSE; gboolean opt_popup = FALSE; gboolean opt_scroll = FALSE; gboolean opt_terminal = FALSE; const char* opt_user = NULL; const char* opt_title = NULL; const char* opt_icon = NULL; const char* opt_cwd = NULL; for ( j = i + 1; argv[j] && argv[j][0] == '-'; j++ ) { if ( !strcmp( argv[j], "--task" ) ) opt_task = TRUE; else if ( !strcmp( argv[j], "--popup" ) ) opt_popup = opt_task = TRUE; else if ( !strcmp( argv[j], "--scroll" ) ) opt_scroll = opt_task = TRUE; else if ( !strcmp( argv[j], "--terminal" ) ) opt_terminal = TRUE; /* disabled due to potential misuse of password caching su programs else if ( !strcmp( argv[j], "--user" ) ) opt_user = argv[++j]; */ else if ( !strcmp( argv[j], "--title" ) ) opt_title = argv[++j]; else if ( !strcmp( argv[j], "--icon" ) ) opt_icon = argv[++j]; else if ( !strcmp( argv[j], "--dir" ) ) { opt_cwd = argv[++j]; if ( !( opt_cwd && opt_cwd[0] == '/' && g_file_test( opt_cwd, G_FILE_TEST_IS_DIR ) ) ) { *reply = g_strdup_printf( _("spacefm: no such directory '%s'\n"), opt_cwd ); return 2; } } else { *reply = g_strdup_printf( _("spacefm: invalid %s task option '%s'\n"), argv[i], argv[j] ); return 2; } } if ( !argv[j] ) { *reply = g_strdup_printf( _("spacefm: %s requires two arguments\n"), argv[0] ); return 1; } GString* gcmd = g_string_new( argv[j] ); while ( argv[++j] ) g_string_append_printf( gcmd, " %s", argv[j] ); PtkFileTask* ptask = ptk_file_exec_new( opt_title ? opt_title : gcmd->str, opt_cwd ? opt_cwd : ptk_file_browser_get_cwd( file_browser ), GTK_WIDGET( file_browser ), file_browser->task_view ); ptask->task->exec_browser = file_browser; ptask->task->exec_command = g_string_free( gcmd, FALSE ); ptask->task->exec_as_user = g_strdup( opt_user ); ptask->task->exec_icon = g_strdup( opt_icon ); ptask->task->exec_terminal = opt_terminal; ptask->task->exec_keep_terminal = FALSE; ptask->task->exec_sync = opt_task; ptask->task->exec_popup = opt_popup; ptask->task->exec_show_output = opt_popup; ptask->task->exec_show_error = TRUE; ptask->task->exec_scroll_lock = !opt_scroll; ptask->task->exec_export = TRUE; if ( opt_popup ) gtk_window_present( GTK_WINDOW( main_window ) ); ptk_file_task_run( ptask ); if ( opt_task ) *reply = g_strdup_printf( "#!%s\n# Note: $new_task_id not valid until approx one half second after task start\nnew_task_window=%p\nnew_task_id=%p\n", BASHPATH, main_window, ptask ); } else if ( !strcmp( argv[i], "edit" ) || !strcmp( argv[i], "web" ) ) { // edit or web // edit [--as-root] FILE // web URL gboolean opt_root = FALSE; for ( j = i + 1; argv[j] && argv[j][0] == '-'; j++ ) { if ( !strcmp( argv[i], "edit" ) && !strcmp( argv[j], "--as-root" ) ) opt_root = TRUE; else { *reply = g_strdup_printf( _("spacefm: invalid %s task option '%s'\n"), argv[i], argv[j] ); return 2; } } if ( !argv[j] ) { *reply = g_strdup_printf( _("spacefm: %s requires two arguments\n"), argv[0] ); return 1; } if ( !strcmp( argv[i], "edit" ) ) { if ( !( argv[j][0] == '/' && g_file_test( argv[j], G_FILE_TEST_EXISTS ) ) ) { *reply = g_strdup_printf( _("spacefm: no such file '%s'\n"), argv[j] ); return 2; } xset_edit( GTK_WIDGET( file_browser ), argv[j], opt_root, !opt_root ); } else xset_open_url( GTK_WIDGET( file_browser ), argv[j] ); } else if ( !strcmp( argv[i], "mount" ) || !strcmp( argv[i], "unmount" ) ) { // mount or unmount TARGET #ifdef HAVE_HAL *reply = g_strdup_printf( _("spacefm: task type %s requires udev build\n"), argv[i] ); return 2; #else for ( j = i + 1; argv[j] && argv[j][0] == '-'; j++ ) { *reply = g_strdup_printf( _("spacefm: invalid %s task option '%s'\n"), argv[i], argv[j] ); return 2; } if ( !argv[j] ) { *reply = g_strdup_printf( _("spacefm: task type %s requires TARGET argument\n"), argv[0] ); return 1; } // Resolve TARGET struct stat64 statbuf; char* real_path = argv[j]; char* device_file = NULL; VFSVolume* vol = NULL; netmount_t* netmount = NULL; if ( !strcmp( argv[i], "unmount" ) && g_file_test( real_path, G_FILE_TEST_IS_DIR ) ) { // unmount DIR if ( path_is_mounted_mtab( NULL, real_path, &device_file, NULL ) && device_file ) { if ( !( stat64( device_file, &statbuf ) == 0 && S_ISBLK( statbuf.st_mode ) ) ) { // NON-block device - try to find vol by mount point if ( !( vol = vfs_volume_get_by_device_or_point( device_file, real_path ) ) ) { *reply = g_strdup_printf( _("spacefm: invalid TARGET '%s'\n"), argv[j] ); return 2; } g_free( device_file ); device_file = NULL; } } } else if ( stat64( real_path, &statbuf ) == 0 && S_ISBLK( statbuf.st_mode ) ) { // block device eg /dev/sda1 device_file = g_strdup( real_path ); } else if ( !strcmp( argv[i], "mount" ) && ( ( real_path[0] != '/' && strstr( real_path, ":/" ) ) || g_str_has_prefix( real_path, "//" ) ) ) { // mount URL if ( split_network_url( real_path, &netmount ) != 1 ) { // not a valid url *reply = g_strdup_printf( _("spacefm: invalid TARGET '%s'\n"), argv[j] ); return 2; } } if ( device_file ) { // block device - get vol vol = vfs_volume_get_by_device_or_point( device_file, NULL ); g_free( device_file ); device_file = NULL; } // Create command gboolean run_in_terminal = FALSE; char* cmd = NULL; if ( vol ) { // mount/unmount vol if ( !strcmp( argv[i], "mount" ) ) cmd = vfs_volume_get_mount_command( vol, xset_get_s( "dev_mount_options" ), &run_in_terminal ); else cmd = vfs_volume_device_unmount_cmd( vol, &run_in_terminal ); } else if ( netmount ) { // URL mount only cmd = vfs_volume_handler_cmd( HANDLER_MODE_NET, HANDLER_MOUNT, NULL, NULL, netmount, &run_in_terminal, NULL ); g_free( netmount->url ); g_free( netmount->fstype ); g_free( netmount->host ); g_free( netmount->ip ); g_free( netmount->port ); g_free( netmount->user ); g_free( netmount->pass ); g_free( netmount->path ); g_slice_free( netmount_t, netmount ); } if ( !cmd ) { *reply = g_strdup_printf( _("spacefm: invalid TARGET '%s'\n"), argv[j] ); return 2; } // Task PtkFileTask* ptask = ptk_file_exec_new( argv[i], ptk_file_browser_get_cwd( file_browser ), GTK_WIDGET( file_browser ), file_browser->task_view ); ptask->task->exec_browser = file_browser; ptask->task->exec_command = cmd; ptask->task->exec_terminal = run_in_terminal; ptask->task->exec_keep_terminal = FALSE; ptask->task->exec_sync = TRUE; ptask->task->exec_export = FALSE; ptask->task->exec_show_error = TRUE; ptask->task->exec_scroll_lock = FALSE; ptk_file_task_run( ptask ); #endif } else if ( !strcmp( argv[i], "copy" ) || !strcmp( argv[i], "move" ) || !strcmp( argv[i], "link" ) || !strcmp( argv[i], "delete" ) ) { // built-in task // copy SOURCE FILENAME [...] TARGET // move SOURCE FILENAME [...] TARGET // link SOURCE FILENAME [...] TARGET // delete SOURCE FILENAME [...] // get opts const char* opt_cwd = NULL; for ( j = i + 1; argv[j] && argv[j][0] == '-'; j++ ) { if ( !strcmp( argv[j], "--dir" ) ) { opt_cwd = argv[++j]; if ( !( opt_cwd && opt_cwd[0] == '/' && g_file_test( opt_cwd, G_FILE_TEST_IS_DIR ) ) ) { *reply = g_strdup_printf( _("spacefm: no such directory '%s'\n"), opt_cwd ); return 2; } } else { *reply = g_strdup_printf( _("spacefm: invalid %s task option '%s'\n"), argv[i], argv[j] ); return 2; } } l = NULL; // file list char* target_dir = NULL; for ( ; argv[j]; j++ ) { if ( strcmp( argv[i], "delete" ) && !argv[j+1] ) { // last argument - use as TARGET if ( argv[j][0] != '/' ) { *reply = g_strdup_printf( _("spacefm: no such directory '%s'\n"), argv[j] ); g_list_foreach( l, (GFunc)g_free, NULL ); g_list_free( l ); return 2; } target_dir = argv[j]; break; } else { if ( argv[j][0] == '/' ) // absolute path str = g_strdup( argv[j] ); else { // relative path if ( !opt_cwd ) { *reply = g_strdup_printf( _("spacefm: relative path '%s' requires %s option --dir DIR\n"), argv[j], argv[i] ); g_list_foreach( l, (GFunc)g_free, NULL ); g_list_free( l ); return 2; } str = g_build_filename( opt_cwd, argv[j], NULL ); } /* Let vfs task show error instead if ( !g_file_test( str, G_FILE_TEST_EXISTS ) ) { *reply = g_strdup_printf( _("spacefm: no such file '%s'\n"), str ); g_free( str ); g_list_foreach( l, (GFunc)g_free, NULL ); g_list_free( l ); return 2; } */ l = g_list_prepend( l, str ); } } if ( !l || ( strcmp( argv[i], "delete" ) && !target_dir ) ) { *reply = g_strdup_printf( _("spacefm: task type %s requires FILE argument(s)\n"), argv[i] ); return 2; } l = g_list_reverse( l ); if ( !strcmp( argv[i], "copy" ) ) j = VFS_FILE_TASK_COPY; else if ( !strcmp( argv[i], "move" ) ) j = VFS_FILE_TASK_MOVE; else if ( !strcmp( argv[i], "link" ) ) j = VFS_FILE_TASK_LINK; else if ( !strcmp( argv[i], "delete" ) ) j = VFS_FILE_TASK_DELETE; else return 1; // failsafe PtkFileTask* ptask = ptk_file_task_new( j, l, target_dir, GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), file_browser->task_view ); ptk_file_task_run( ptask ); *reply = g_strdup_printf( "#!%s\n# Note: $new_task_id not valid until approx one half second after task start\nnew_task_window=%p\nnew_task_id=%p\n", BASHPATH, main_window, ptask ); } else { *reply = g_strdup_printf( _("spacefm: invalid task type '%s'\n"), argv[i] ); return 2; } } else if ( !strcmp( argv[0], "emit-key" ) ) { // KEYCODE [KEYMOD] if ( !argv[i] ) { *reply = g_strdup_printf( _("spacefm: command %s requires an argument\n"), argv[0] ); return 1; } // this only handles keys assigned to menu items GdkEventKey* event = (GdkEventKey*)gdk_event_new(GDK_KEY_PRESS); event->keyval = (guint)strtol( argv[i], NULL, 0 ); event->state = argv[i+1] ? (guint)strtol( argv[i+1], NULL, 0 ) : 0; if ( event->keyval ) { gtk_window_present( GTK_WINDOW( main_window ) ); on_main_window_keypress( main_window, event, NULL ); } else { *reply = g_strdup_printf( _("spacefm: invalid keycode '%s'\n"), argv[i] ); gdk_event_free( (GdkEvent*)event ); return 2; } gdk_event_free( (GdkEvent*)event ); } else if ( !strcmp( argv[0], "activate" ) || !strcmp( argv[0], "show-menu" ) /* backwards compat <1.0.4 */ ) { if ( !argv[i] ) { *reply = g_strdup_printf( _("spacefm: command %s requires an argument\n"), argv[0] ); return 1; } XSet* set = xset_find_custom( argv[i] ); if ( !set ) { *reply = g_strdup_printf( _("spacefm: custom command or submenu '%s' not found\n"), argv[i] ); return 2; } XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); if ( context && context->valid ) { if ( !xset_get_b( "context_dlg" ) && xset_context_test( context, set->context, FALSE ) != CONTEXT_SHOW ) { *reply = g_strdup_printf( _("spacefm: item '%s' context hidden or disabled\n"), argv[i] ); return 2; } } if ( set->menu_style == XSET_MENU_SUBMENU ) { // show submenu as popup menu set = xset_get( set->child ); widget = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); xset_add_menuitem( NULL, file_browser, GTK_WIDGET( widget ), accel_group, set ); g_idle_add( (GSourceFunc)delayed_show_menu, widget ); } else { // activate item on_main_window_keypress( NULL, NULL, set ); } } else if ( !strcmp( argv[0], "add-event" ) || !strcmp( argv[0], "replace-event" ) || !strcmp( argv[0], "remove-event" ) ) { XSet* set; if ( !( argv[i] && argv[i+1] ) ) { *reply = g_strdup_printf( _("spacefm: %s requires two arguments\n"), argv[0] ); return 1; } if ( !( set = xset_is( argv[i] ) ) ) { *reply = g_strdup_printf( _("spacefm: invalid event type '%s'\n"), argv[i] ); return 2; } // build command GString* gstr = g_string_new( !strcmp( argv[0], "replace-event" ) ? "*" : "" ); for ( j = i + 1; argv[j]; j++ ) g_string_append_printf( gstr, "%s%s", j == i + 1 ? "" : " ", argv[j] ); str = g_string_free( gstr, FALSE ); // modify list if ( !strcmp( argv[0], "remove-event" ) ) { l = g_list_find_custom( (GList*)set->ob2_data, str, (GCompareFunc)g_strcmp0 ); if ( !l ) { // remove replace event char* str2 = str; str = g_strdup_printf( "*%s", str2 ); g_free( str2 ); l = g_list_find_custom( (GList*)set->ob2_data, str, (GCompareFunc)g_strcmp0 ); } g_free( str ); if ( !l ) { *reply = g_strdup_printf( _("spacefm: event handler not found\n") ); return 2; } l = g_list_remove( (GList*)set->ob2_data, l->data ); } else l = g_list_append( (GList*)set->ob2_data, str ); set->ob2_data = (gpointer)l; } else { *reply = g_strdup_printf( _("spacefm: invalid socket method '%s'\n"), argv[0] ); return 1; } return 0; } gboolean run_event( FMMainWindow* main_window, PtkFileBrowser* file_browser, XSet* preset, const char* event, int panel, int tab, const char* focus, int keyval, int button, int state, gboolean visible, XSet* set, char* ucmd ) { char* cmd; gboolean inhibit; char* argv[4]; gint exit_status; if ( !ucmd ) return FALSE; if ( ucmd[0] == '*' ) { ucmd++; inhibit = TRUE; } else inhibit = FALSE; if ( !preset && ( !strcmp( event, "evt_start" ) || !strcmp( event, "evt_exit" ) || !strcmp( event, "evt_device" ) ) ) { cmd = replace_string( ucmd, "%e", event, FALSE ); if ( !strcmp( event, "evt_device" ) ) { if ( !focus ) return FALSE; char* str = cmd; cmd = replace_string( str, "%f", focus, FALSE ); g_free( str ); char* change; if ( state == VFS_VOLUME_ADDED ) change = "added"; else if ( state == VFS_VOLUME_REMOVED ) change = "removed"; else change = "changed"; str = cmd; cmd = replace_string( str, "%v", change, FALSE ); g_free( str ); } argv[0] = g_strdup( "bash" ); argv[1] = g_strdup( "-c" ); argv[2] = cmd; argv[3] = NULL; printf( "EVENT %s >>> %s\n", event, argv[2] ); //g_spawn_command_line_async( cmd, NULL ); //system( cmd ); g_spawn_async( NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL ); return FALSE; } if ( !main_window ) return FALSE; // replace vars char* replace = "ewpt"; if ( set == evt_win_click ) { replace = "ewptfbm"; state = ( state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); } else if ( set == evt_win_key ) replace = "ewptkm"; else if ( set == evt_pnl_show ) replace = "ewptfv"; else if ( set == evt_tab_chdir ) replace = "ewptd"; char* str; char* rep; char var[3]; var[0] = '%'; var[2] = '\0'; int i = 0; cmd = NULL; while ( replace[i] ) { /* %w windowid %p panel %t tab %f focus %e event %k keycode %m modifier %b button %v visible %d cwd */ var[1] = replace[i]; str = cmd; if ( var[1] == 'e' ) cmd = replace_string( ucmd, var, event, FALSE ); else if ( strstr( str, var ) ) { if ( var[1] == 'f' ) { if ( !focus ) { rep = g_strdup_printf( "panel%d", panel ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else cmd = replace_string( str, var, focus, FALSE ); } else if ( var[1] == 'w' ) { rep = g_strdup_printf( "%p", main_window ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else if ( var[1] == 'p' ) { rep = g_strdup_printf( "%d", panel ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else if ( var[1] == 't' ) { rep = g_strdup_printf( "%d", tab ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else if ( var[1] == 'v' ) cmd = replace_string( str, var, visible ? "1" : "0", FALSE ); else if ( var[1] == 'k' ) { rep = g_strdup_printf( "%#x", keyval ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else if ( var[1] == 'b' ) { rep = g_strdup_printf( "%d", button ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else if ( var[1] == 'm' ) { rep = g_strdup_printf( "%#x", state ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else if ( var[1] == 'd' ) { rep = bash_quote( file_browser ? ptk_file_browser_get_cwd( file_browser ) : NULL ); cmd = replace_string( str, var, rep, FALSE ); g_free( rep ); } else { // failsafe g_free( str ); g_free( cmd ); return FALSE; } g_free( str ); } i++; } if ( !inhibit ) { printf( "\nEVENT %s >>> %s\n", event, cmd ); if ( !strcmp( event, "evt_tab_close" ) ) { // file_browser becomes invalid so spawn argv[0] = g_strdup( "bash" ); argv[1] = g_strdup( "-c" ); argv[2] = cmd; argv[3] = NULL; g_spawn_async( NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL ); } else { // task PtkFileTask* task = ptk_file_exec_new( event, ptk_file_browser_get_cwd( file_browser ), GTK_WIDGET( file_browser ), main_window->task_view ); task->task->exec_browser = file_browser; task->task->exec_command = cmd; task->task->exec_icon = g_strdup( set->icon ); task->task->exec_sync = FALSE; task->task->exec_export = TRUE; ptk_file_task_run( task ); } return FALSE; } argv[0] = g_strdup( "bash" ); argv[1] = g_strdup( "-c" ); argv[2] = cmd; argv[3] = NULL; printf( "REPLACE_EVENT %s >>> %s\n", event, argv[2] ); inhibit = FALSE; if ( g_spawn_sync( NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL, &exit_status, NULL ) ) { if ( WIFEXITED( exit_status ) && WEXITSTATUS( exit_status ) == 0 ) inhibit = TRUE; } printf( "REPLACE_EVENT ? %s\n", inhibit ? "TRUE" : "FALSE" ); return inhibit; } gboolean main_window_event( gpointer mw, XSet* preset, const char* event, int panel, int tab, const char* focus, int keyval, int button, int state, gboolean visible ) { XSet* set; gboolean inhibit = FALSE; //printf("main_window_event %s\n", event ); // get set if ( preset ) set = preset; else { set = xset_get( event ); if ( !set->s && !set->ob2_data ) return FALSE; } // get main_window, panel, and tab FMMainWindow* main_window; PtkFileBrowser* file_browser; if ( !mw ) main_window = fm_main_window_get_last_active(); else main_window = (FMMainWindow*)mw; if ( main_window ) { file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); if ( !file_browser ) return FALSE; if ( !panel ) panel = main_window->curpanel; if ( !tab ) { tab = gtk_notebook_page_num( GTK_NOTEBOOK( main_window->panel[file_browser->mypanel - 1] ), GTK_WIDGET( file_browser ) ) + 1; } } else file_browser = NULL; // dynamic handlers if ( set->ob2_data ) { GList* l; for ( l = (GList*)set->ob2_data; l; l = l->next ) { if ( run_event( main_window, file_browser, preset, event, panel, tab, focus, keyval, button, state, visible, set, (char*)l->data ) ) inhibit = TRUE; } } // Events menu handler return ( run_event( main_window, file_browser, preset, event, panel, tab, focus, keyval, button, state, visible, set, set->s ) || inhibit ); } spacefm-1.0.5/src/main-window.h000066400000000000000000000151241264770501700163400ustar00rootroot00000000000000#ifndef _MAIN_WINDOW_H_ #define _MAIN_WINDOW_H_ #include #include "ptk-file-browser.h" #include "ptk-file-task.h" //MOD G_BEGIN_DECLS #define FM_TYPE_MAIN_WINDOW (fm_main_window_get_type()) #define FM_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), FM_TYPE_MAIN_WINDOW, FMMainWindow)) #define FM_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FM_TYPE_MAIN_WINDOW, FMMainWindowClass)) #define FM_IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FM_TYPE_MAIN_WINDOW)) #define FM_IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FM_TYPE_MAIN_WINDOW)) #define FM_MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FM_TYPE_MAIN_WINDOW, FMMainWindowClass)) enum { // how a panel shares vertical and horizontal space with other panels PANEL_NEITHER, PANEL_HORIZ, PANEL_VERT, PANEL_BOTH }; typedef struct _FMMainWindow { /* Private */ GtkWindow parent; /* protected */ GtkWidget *main_vbox; GtkWidget *menu_bar; //MOD GtkWidget* file_menu_item; GtkWidget* view_menu_item; GtkWidget* dev_menu_item; GtkWidget* book_menu_item; GtkWidget* plug_menu_item; GtkWidget* tool_menu_item; GtkWidget* help_menu_item; GtkWidget* dev_menu; GtkWidget* plug_menu; GtkWidget* notebook; //MOD changed use to current panel GtkWidget* panel[4]; int panel_slide_x[4]; int panel_slide_y[4]; int panel_slide_s[4]; char panel_context[4]; gboolean panel_change; GtkWidget* panelbar; GtkWidget* panel_btn[4]; GtkWidget* panel_image[4]; int curpanel; GtkWidget* hpane_top; GtkWidget* hpane_bottom; GtkWidget* vpane; GtkWidget* task_vpane; GtkWidget* task_scroll; GtkWidget* task_view; // GtkWidget* toolbar; // GtkEntry* address_bar; // GtkWidget *bookmarks; // GtkWidget *status_bar; //gint splitter_pos; /* Check menu items & tool items */ /* GtkCheckMenuItem* open_side_pane_menu; GtkCheckMenuItem* show_location_menu; GtkCheckMenuItem* show_dir_tree_menu; GtkCheckMenuItem* show_location_bar_menu; GtkCheckMenuItem* show_hidden_files_menu; GtkCheckMenuItem* view_as_icon; GtkCheckMenuItem* view_as_compact_list; GtkCheckMenuItem* view_as_list; GtkCheckMenuItem* sort_by_name; GtkCheckMenuItem* sort_by_size; GtkCheckMenuItem* sort_by_mtime; GtkCheckMenuItem* sort_by_type; GtkCheckMenuItem* sort_by_perm; GtkCheckMenuItem* sort_by_owner; GtkCheckMenuItem* sort_ascending; GtkCheckMenuItem* sort_descending; GtkToggleToolButton* open_side_pane_btn; GtkWidget* back_btn; GtkWidget* forward_btn; */ GtkAccelGroup *accel_group; GtkWindowGroup* wgroup; int n_busy_tasks; guint configure_evt_timer; gboolean maximized; gboolean opened_maximized; gboolean fullscreen; }FMMainWindow; typedef struct _FMMainWindowClass { GtkWindowClass parent; }FMMainWindowClass; GType fm_main_window_get_type (void); GtkWidget* fm_main_window_new(); /* Utility functions */ GtkWidget* fm_main_window_get_current_file_browser( FMMainWindow* mainWindow ); void fm_main_window_add_new_tab( FMMainWindow* main_window, const char* folder_path ); GtkWidget* fm_main_window_create_tab_label( FMMainWindow* main_window, PtkFileBrowser* file_browser ); void fm_main_window_update_tab_label( FMMainWindow* main_window, PtkFileBrowser* file_browser, const char * path ); void fm_main_window_preference( FMMainWindow* main_window ); /* get last active window */ FMMainWindow* fm_main_window_get_last_active(); FMMainWindow* fm_main_window_get_on_current_desktop(); /* get all windows * The returned GList is owned and used internally by FMMainWindow, and * should not be freed. */ const GList* fm_main_window_get_all(); void fm_main_window_open_terminal( GtkWindow* parent, const char* path ); void main_task_view_update_task( PtkFileTask* task ); void main_task_view_remove_task( PtkFileTask* task ); void main_task_pause_all_queued( PtkFileTask* ptask ); void main_task_start_queued( GtkWidget* view, PtkFileTask* new_task ); void on_close_notebook_page( GtkButton* btn, PtkFileBrowser* file_browser ); void show_panels( GtkMenuItem* item, FMMainWindow* main_window ); void show_panels_all_windows( GtkMenuItem* item, FMMainWindow* main_window ); void update_views_all_windows( GtkWidget* item, PtkFileBrowser* file_browser ); void main_window_update_all_bookmark_views(); void main_window_toggle_thumbnails_all_windows(); void main_window_refresh_all_tabs_matching( const char* path ); void main_window_rebuild_all_toolbars( PtkFileBrowser* file_browser ); gboolean main_write_exports( VFSFileTask* vtask, const char* value, FILE* file ); void main_update_fonts( GtkWidget* widget, PtkFileBrowser* file_browser ); void on_reorder( GtkWidget* item, GtkWidget* parent ); char* main_window_get_tab_cwd( PtkFileBrowser* file_browser, int tab_num ); char* main_window_get_panel_cwd( PtkFileBrowser* file_browser, int panel_num ); void main_window_get_counts( PtkFileBrowser* file_browser, int* panel_count, int* tab_count, int* tab_num ); gboolean main_window_panel_is_visible( PtkFileBrowser* file_browser, int panel ); void main_window_open_in_panel( PtkFileBrowser* file_browser, int panel_num, char* file_path ); void main_window_autosave( PtkFileBrowser* file_browser ); void main_window_on_plugins_change( FMMainWindow* main_window ); void main_window_root_bar_all(); void main_window_rubberband_all(); void main_window_refresh_all(); void main_window_bookmark_changed( const char* changed_set_name ); void main_context_fill( PtkFileBrowser* file_browser, XSetContext* c ); void set_panel_focus( FMMainWindow* main_window, PtkFileBrowser* file_browser ); void focus_panel( GtkMenuItem* item, gpointer mw, int p ); void main_window_open_path_in_current_tab( FMMainWindow* main_window, const char* path ); void main_window_open_network( FMMainWindow* main_window, const char* path, gboolean new_tab ); char main_window_socket_command( char* argv[], char** reply ); gboolean main_window_event( gpointer mw, XSet* preset, const char* event, int panel, int tab, const char* focus, int keyval, int button, int state, gboolean visible ); void fm_main_window_store_positions( FMMainWindow* main_window ); G_END_DECLS #endif spacefm-1.0.5/src/main.c000066400000000000000000001615551264770501700150400ustar00rootroot00000000000000/* * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H # include #endif /* turn on to debug GDK_THREADS_ENTER/GDK_THREADS_LEAVE related deadlocks */ #undef _DEBUG_THREAD #include "private.h" #include #include #include #include /* socket is used to keep single instance */ #include #include #include #include #include /* for getcwd */ #include #include "main-window.h" #include "vfs-file-info.h" #include "vfs-mime-type.h" #include "vfs-app-desktop.h" #include "vfs-file-monitor.h" #include "vfs-volume.h" #include "vfs-thumbnail-loader.h" #include "ptk-utils.h" #include "ptk-app-chooser.h" #include "ptk-file-properties.h" #include "ptk-file-menu.h" #include "ptk-location-view.h" #include "find-files.h" #include "pref-dialog.h" #include "settings.h" #include "desktop.h" #include "cust-dialog.h" //gboolean startup_mode = TRUE; //MOD //gboolean design_mode = TRUE; //MOD char* run_cmd = NULL; //MOD typedef enum{ CMD_OPEN = 1, CMD_OPEN_TAB, CMD_REUSE_TAB, CMD_DAEMON_MODE, CMD_PREF, CMD_WALLPAPER, CMD_FIND_FILES, CMD_OPEN_PANEL1, CMD_OPEN_PANEL2, CMD_OPEN_PANEL3, CMD_OPEN_PANEL4, CMD_PANEL1, CMD_PANEL2, CMD_PANEL3, CMD_PANEL4, CMD_DESKTOP, CMD_NO_TABS, CMD_SOCKET_CMD, SOCKET_RESPONSE_OK, SOCKET_RESPONSE_ERROR, SOCKET_RESPONSE_DATA }SocketEvent; static gboolean folder_initialized = FALSE; static gboolean desktop_or_deamon_initialized = FALSE; static int sock; GIOChannel* io_channel = NULL; gboolean daemon_mode = FALSE; static char* default_files[2] = {NULL, NULL}; static char** files = NULL; static gboolean no_desktop = FALSE; static gboolean old_show_desktop = FALSE; static gboolean new_tab = TRUE; static gboolean reuse_tab = FALSE; //sfm static gboolean no_tabs = FALSE; //sfm static gboolean new_window = FALSE; static gboolean desktop_pref = FALSE; //MOD static gboolean desktop = FALSE; //MOD static gboolean profile = FALSE; //MOD static gboolean custom_dialog = FALSE; //sfm static gboolean socket_cmd = FALSE; //sfm static gboolean version_opt = FALSE; //sfm static gboolean sdebug = FALSE; //sfm static gboolean socket_daemon_or_desktop = FALSE; //sfm static int show_pref = 0; static int panel = -1; static gboolean set_wallpaper = FALSE; static gboolean find_files = FALSE; static char* config_dir = NULL; #ifdef HAVE_HAL static char* mount = NULL; static char* umount = NULL; static char* eject = NULL; #endif static int n_pcmanfm_ref = 0; static GOptionEntry opt_entries[] = { { "new-tab", 't', 0, G_OPTION_ARG_NONE, &new_tab, N_("Open folders in new tab of last window (default)"), NULL }, { "reuse-tab", 'r', 0, G_OPTION_ARG_NONE, &reuse_tab, N_("Open folder in current tab of last used window"), NULL }, { "no-saved-tabs", 'n', 0, G_OPTION_ARG_NONE, &no_tabs, N_("Don't load saved tabs"), NULL }, { "new-window", 'w', 0, G_OPTION_ARG_NONE, &new_window, N_("Open folders in new window"), NULL }, { "panel", 'p', 0, G_OPTION_ARG_INT, &panel, N_("Open folders in panel 'P' (1-4)"), "P" }, { "desktop", '\0', 0, G_OPTION_ARG_NONE, &desktop, N_("Launch desktop manager daemon"), NULL }, { "desktop-pref", '\0', 0, G_OPTION_ARG_NONE, &desktop_pref, N_("Show desktop settings"), NULL }, { "show-pref", '\0', 0, G_OPTION_ARG_INT, &show_pref, N_("Show Preferences ('N' is the Pref tab number)"), "N" }, { "daemon-mode", 'd', 0, G_OPTION_ARG_NONE, &daemon_mode, N_("Run as a daemon"), NULL }, { "config-dir", 'c', 0, G_OPTION_ARG_STRING, &config_dir, N_("Use DIR as configuration directory"), "DIR" }, { "find-files", 'f', 0, G_OPTION_ARG_NONE, &find_files, N_("Show File Search"), NULL }, /* { "query-type", '\0', 0, G_OPTION_ARG_STRING, &query_type, N_("Query mime-type of the specified file."), NULL }, { "query-default", '\0', 0, G_OPTION_ARG_STRING, &query_default, N_("Query default application of the specified mime-type."), NULL }, { "set-default", '\0', 0, G_OPTION_ARG_STRING, &set_default, N_("Set default application of the specified mime-type."), NULL }, */ #ifdef DESKTOP_INTEGRATION { "set-wallpaper", '\0', 0, G_OPTION_ARG_NONE, &set_wallpaper, N_("Set desktop wallpaper to FILE"), NULL }, #endif { "dialog", 'g', 0, G_OPTION_ARG_NONE, &custom_dialog, N_("Show a custom dialog (See -g help)"), NULL }, { "socket-cmd", 's', 0, G_OPTION_ARG_NONE, &socket_cmd, N_("Send a socket command (See -s help)"), NULL }, { "profile", '\0', 0, G_OPTION_ARG_STRING, &profile, N_("No function - for compatibility only"), "PROFILE" }, { "no-desktop", '\0', 0, G_OPTION_ARG_NONE, &no_desktop, N_("No function - for compatibility only"), NULL }, { "version", '\0', 0, G_OPTION_ARG_NONE, &version_opt, N_("Show version information"), NULL }, { "sdebug", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &sdebug, NULL, NULL }, #ifdef HAVE_HAL /* hidden arguments used to mount volumes */ { "mount", 'm', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &mount, NULL, NULL }, { "umount", 'u', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &umount, NULL, NULL }, { "eject", 'e', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &eject, NULL, NULL }, #endif {G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &files, NULL, N_("[DIR | FILE | URL]...")}, { NULL } }; static gboolean single_instance_check(); static void single_instance_finalize(); static void get_socket_name( char* buf, int len ); static gboolean on_socket_event( GIOChannel* ioc, GIOCondition cond, gpointer data ); static void init_folder(); static void check_icon_theme(); static gboolean handle_parsed_commandline_args(); static void open_file( const char* path ); static GList* get_file_info_list( char** files ); static char* dup_to_absolute_file_path( char** file ); void receive_socket_command( int client, GString* args ); //sfm char* get_inode_tag() { struct stat stat_buf; const char* path = g_get_home_dir(); if ( !path || stat( path, &stat_buf ) == -1 ) return g_strdup_printf( "%d=", getuid() ); return g_strdup_printf( "%d=%d:%d-%ld", getuid(), major( stat_buf.st_dev ), minor( stat_buf.st_dev ), stat_buf.st_ino ); } gboolean on_socket_event( GIOChannel* ioc, GIOCondition cond, gpointer data ) { int client, r; socklen_t addr_len = 0; struct sockaddr_un client_addr ={ 0 }; static char buf[ 1024 ]; GString* args; char** file; SocketEvent cmd; if ( cond & G_IO_IN ) { client = accept( g_io_channel_unix_get_fd( ioc ), (struct sockaddr *)&client_addr, &addr_len ); if ( client != -1 ) { args = g_string_new_len( NULL, 2048 ); while( (r = read( client, buf, sizeof(buf) )) > 0 ) { g_string_append_len( args, buf, r); if ( args->str[0] == CMD_SOCKET_CMD && args->len > 1 && args->str[args->len - 2] == '\n' && args->str[args->len - 1] == '\n' ) // because CMD_SOCKET_CMD doesn't immediately close the socket // data is terminated by two linefeeds to prevent read blocking break; } if ( args->str[0] == CMD_SOCKET_CMD ) receive_socket_command( client, args ); shutdown( client, 2 ); close( client ); new_tab = TRUE; panel = 0; reuse_tab = FALSE; no_tabs = FALSE; socket_daemon_or_desktop = FALSE; int argx = 0; if ( args->str[argx] == CMD_NO_TABS ) { reuse_tab = FALSE; no_tabs = TRUE; argx++; //another command follows CMD_NO_TABS } if ( args->str[argx] == CMD_REUSE_TAB ) { reuse_tab = TRUE; new_tab = FALSE; argx++; //another command follows CMD_REUSE_TAB } switch( args->str[argx] ) { case CMD_PANEL1: panel = 1; break; case CMD_PANEL2: panel = 2; break; case CMD_PANEL3: panel = 3; break; case CMD_PANEL4: panel = 4; break; case CMD_OPEN: new_tab = FALSE; break; case CMD_OPEN_PANEL1: new_tab = FALSE; panel = 1; break; case CMD_OPEN_PANEL2: new_tab = FALSE; panel = 2; break; case CMD_OPEN_PANEL3: new_tab = FALSE; panel = 3; break; case CMD_OPEN_PANEL4: new_tab = FALSE; panel = 4; break; case CMD_DAEMON_MODE: socket_daemon_or_desktop = daemon_mode = TRUE; g_string_free( args, TRUE ); return TRUE; case CMD_DESKTOP: socket_daemon_or_desktop = desktop = TRUE; break; case CMD_PREF: GDK_THREADS_ENTER(); fm_edit_preference( NULL, (unsigned char)args->str[1] - 1 ); GDK_THREADS_LEAVE(); g_string_free( args, TRUE ); return TRUE; case CMD_WALLPAPER: set_wallpaper = TRUE; break; case CMD_FIND_FILES: find_files = TRUE; break; case CMD_SOCKET_CMD: g_string_free( args, TRUE ); return TRUE; break; } if( args->str[ argx + 1 ] ) files = g_strsplit( args->str + argx + 1, "\n", 0 ); else files = NULL; g_string_free( args, TRUE ); GDK_THREADS_ENTER(); if( files ) { for( file = files; *file; ++file ) { if( ! **file ) /* remove empty string at tail */ *file = NULL; } } handle_parsed_commandline_args(); app_settings.load_saved_tabs = TRUE; socket_daemon_or_desktop = FALSE; GDK_THREADS_LEAVE(); } } return TRUE; } void get_socket_name_nogdk( char* buf, int len ) { char* dpy = g_strdup( g_getenv( "DISPLAY" ) ); if ( dpy && !strcmp( dpy, ":0.0" ) ) { // treat :0.0 as :0 to prevent multiple instances on screen 0 g_free( dpy ); dpy = g_strdup( ":0" ); } g_snprintf( buf, len, "%s/.spacefm-socket%s-%s", xset_get_tmp_dir(), dpy, g_get_user_name() ); g_free( dpy ); } void get_socket_name( char* buf, int len ) { char* dpy = gdk_get_display(); if ( dpy && !strcmp( dpy, ":0.0" ) ) { // treat :0.0 as :0 to prevent multiple instances on screen 0 g_free( dpy ); dpy = g_strdup( ":0" ); } g_snprintf( buf, len, "%s/.spacefm-socket%s-%s", xset_get_tmp_dir(), dpy, g_get_user_name() ); g_free( dpy ); } gboolean single_instance_check() { struct sockaddr_un addr; int addr_len; int ret; int reuse; if ( ( sock = socket( AF_UNIX, SOCK_STREAM, 0 ) ) == -1 ) { fprintf( stderr, "spacefm: socket init failure\n" ); ret = 1; goto _exit; } addr.sun_family = AF_UNIX; get_socket_name( addr.sun_path, sizeof( addr.sun_path ) ); #ifdef SUN_LEN addr_len = SUN_LEN( &addr ); #else addr_len = strlen( addr.sun_path ) + sizeof( addr.sun_family ); #endif /* try to connect to existing instance */ if ( sock && connect( sock, ( struct sockaddr* ) & addr, addr_len ) == 0 ) { /* connected successfully */ char** file; char cmd = CMD_OPEN_TAB; if ( no_tabs ) { cmd = CMD_NO_TABS; write( sock, &cmd, sizeof(char) ); // another command always follows CMD_NO_TABS cmd = CMD_OPEN_TAB; } if ( reuse_tab ) { cmd = CMD_REUSE_TAB; write( sock, &cmd, sizeof(char) ); // another command always follows CMD_REUSE_TAB cmd = CMD_OPEN; } if( daemon_mode ) cmd = CMD_DAEMON_MODE; else if( desktop ) cmd = CMD_DESKTOP; else if( new_window ) { if ( panel > 0 && panel < 5 ) cmd = CMD_OPEN_PANEL1 + panel - 1; else cmd = CMD_OPEN; } else if( show_pref > 0 ) cmd = CMD_PREF; else if ( desktop_pref ) //MOD { cmd = CMD_PREF; show_pref = 3; } else if( set_wallpaper ) cmd = CMD_WALLPAPER; else if( find_files ) cmd = CMD_FIND_FILES; else if ( panel > 0 && panel < 5 ) cmd = CMD_PANEL1 + panel - 1; // open a new window if no file spec if ( cmd == CMD_OPEN_TAB && !files ) cmd = CMD_OPEN; write( sock, &cmd, sizeof(char) ); if( G_UNLIKELY( show_pref > 0 ) ) { cmd = (unsigned char)show_pref; write( sock, &cmd, sizeof(char) ); } else { if( files ) { for( file = files; *file; ++file ) { char *real_path; if ( ( *file[0] != '/' && strstr( *file, ":/" ) ) || g_str_has_prefix( *file, "//" ) ) real_path = g_strdup( *file ); else { /* We send absolute paths because with different $PWDs resolution would not work. */ real_path = dup_to_absolute_file_path( file ); } write( sock, real_path, strlen( real_path ) ); g_free( real_path ); write( sock, "\n", 1 ); } } } if ( config_dir ) g_warning( _("Option --config-dir ignored - an instance is already running") ); shutdown( sock, 2 ); close( sock ); ret = 0; goto _exit; } /* There is no existing server, and we are in the first instance. */ // custom config-dir if ( config_dir && strpbrk( config_dir, " $%\\()&#|:;?<>{}[]*\"'" ) ) { g_warning( _("Option --config-dir contains invalid chars - cannot start") ); ret = 1; goto _exit; } unlink( addr.sun_path ); /* delete old socket file if it exists. */ reuse = 1; ret = setsockopt( sock, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof( reuse ) ); if ( bind( sock, ( struct sockaddr* ) & addr, addr_len ) == -1 ) { g_warning( "could not create socket %s", addr.sun_path ); // can still run partially without this //ret = 1; //goto _exit; } else { io_channel = g_io_channel_unix_new( sock ); g_io_channel_set_encoding( io_channel, NULL, NULL ); g_io_channel_set_buffered( io_channel, FALSE ); g_io_add_watch( io_channel, G_IO_IN, ( GIOFunc ) on_socket_event, NULL ); if ( listen( sock, 5 ) == -1 ) { g_warning( "could not listen to socket" ); //ret = 1; //goto _exit; } } return TRUE; _exit: gdk_notify_startup_complete(); exit( ret ); } void single_instance_finalize() { char lock_file[ 256 ]; shutdown( sock, 2 ); g_io_channel_unref( io_channel ); close( sock ); get_socket_name( lock_file, sizeof( lock_file ) ); unlink( lock_file ); } void receive_socket_command( int client, GString* args ) //sfm { char** argv; char** arg; char cmd; char* reply = NULL; if ( args->str[1] ) { if ( g_str_has_suffix( args->str, "\n\n" ) ) { // remove empty strings at tail args->str[args->len - 1] = '\0'; args->str[args->len - 2] = '\0'; } argv = g_strsplit( args->str + 1, "\n", 0 ); } else argv = NULL; /* if ( argv ) { printf( "receive:\n"); for ( arg = argv; *arg; ++arg ) { if ( ! **arg ) // skip empty string { printf( " (skipped empty)\n"); continue; } printf( " %s\n", *arg ); } } */ // check inode tag - was socket command sent from the same filesystem? // eg this helps deter use of socket commands sent from a chroot jail // or from another user or system char* inode_tag = get_inode_tag(); if ( argv && strcmp( inode_tag, argv[0] ) ) { reply = g_strdup( "spacefm: invalid socket command user\n" ); cmd = 1; g_warning( "invalid socket command user" ); } else { // process command and get reply gdk_threads_enter(); cmd = main_window_socket_command( argv ? argv + 1 : NULL, &reply ); gdk_threads_leave(); } g_strfreev( argv ); g_free( inode_tag ); // send response write( client, &cmd, sizeof(char) ); // send exit status if ( reply && reply[0] ) write( client, reply, strlen( reply ) ); // send reply or error msg g_free( reply ); } int send_socket_command( int argc, char* argv[], char** reply ) //sfm { struct sockaddr_un addr; int addr_len; int ret; *reply = NULL; if ( argc < 3 ) { fprintf( stderr, _("spacefm: --socket-cmd requires an argument\n") ); return 1; } // create socket if ( ( sock = socket( AF_UNIX, SOCK_STREAM, 0 ) ) == -1 ) { fprintf( stderr, _("spacefm: could not create socket\n") ); return 1; } // open socket addr.sun_family = AF_UNIX; get_socket_name_nogdk( addr.sun_path, sizeof( addr.sun_path ) ); #ifdef SUN_LEN addr_len = SUN_LEN( &addr ); #else addr_len = strlen( addr.sun_path ) + sizeof( addr.sun_family ); #endif if ( connect( sock, ( struct sockaddr* ) & addr, addr_len ) != 0 ) { fprintf( stderr, _("spacefm: could not connect to socket (not running? or DISPLAY not set?)\n") ); return 1; } // send command char cmd = CMD_SOCKET_CMD; write( sock, &cmd, sizeof(char) ); // send inode tag char* inode_tag = get_inode_tag(); write( sock, inode_tag, strlen( inode_tag ) ); write( sock, "\n", 1 ); g_free( inode_tag ); // send arguments int i; for ( i = 2; i < argc; i++ ) { write( sock, argv[i], strlen( argv[i] ) ); write( sock, "\n", 1 ); } write( sock, "\n", 1 ); // get response GString* sock_reply = g_string_new_len( NULL, 2048 ); int r; static char buf[ 1024 ]; while( ( r = read( sock, buf, sizeof( buf ) ) ) > 0 ) g_string_append_len( sock_reply, buf, r); // close socket shutdown( sock, 2 ); close( sock ); // set reply if ( sock_reply->len != 0 ) { *reply = g_strdup( sock_reply->str + 1 ); ret = sock_reply->str[0]; } else { fprintf( stderr, _("spacefm: invalid response from socket\n") ); ret = 1; } g_string_free( sock_reply, TRUE ); return ret; } void show_socket_help() { // TRANSLATOR: These three lines should be limited to 80 chars each printf( "%s\n", _("SpaceFM socket commands permit external processes (such as command scripts)\nto read and set GUI property values and execute methods inside running SpaceFM\nwindows. To handle events see View|Events in the main menu bar.") ); printf( "\n%s\n", _("Usage:") ); printf( " spacefm --socket-cmd|-s METHOD [OPTIONS] [ARGUMENT...]\n" ); printf( "%s\n", _("Example:") ); printf( " spacefm -s set window_size 800x600\n" ); printf( "\n%s\n", _("METHODS\n-------") ); printf( "spacefm -s set [OPTIONS] PROPERTY [VALUE...]\n" ); printf( " %s\n", _("Sets a property") ); printf( "\nspacefm -s get [OPTIONS] PROPERTY\n" ); printf( " %s\n", _("Gets a property") ); printf( "\nspacefm -s set-task [OPTIONS] TASKID TASKPROPERTY [VALUE...]\n" ); printf( " %s\n", _("Sets a task property") ); printf( "\nspacefm -s get-task [OPTIONS] TASKID TASKPROPERTY\n" ); printf( " %s\n", _("Gets a task property") ); printf( "\nspacefm -s run-task [OPTIONS] TASKTYPE ARGUMENTS\n" ); printf( " %s\n", _("Starts a new task") ); printf( "\nspacefm -s emit-key [OPTIONS] KEYCODE [MODIFIER]\n" ); printf( " %s\n", _("Activates a menu item by emitting its shortcut key") ); printf( "\nspacefm -s activate [OPTIONS] NAME\n" ); printf( " %s\n", _("Runs custom command or shows submenu named NAME") ); printf( "\nspacefm -s add-event EVENT COMMAND...\n" ); printf( " %s\n", _("Add asynchronous handler COMMAND to EVENT") ); printf( "\nspacefm -s replace-event EVENT COMMAND...\n" ); printf( " %s\n", _("Add synchronous handler COMMAND to EVENT, replacing default handler") ); printf( "\nspacefm -s remove-event EVENT COMMAND...\n" ); printf( " %s\n", _("Remove handler COMMAND from EVENT") ); printf( "\nspacefm -s help|--help\n" ); printf( " %s\n", _("Shows this help reference. (Also see manual link below.)") ); printf( "\n%s\n", _("OPTIONS\n-------") ); printf( "%s\n", _("Add options after METHOD to specify a specific window, panel, and/or tab.") ); printf( "%s\n", _("Otherwise the current tab of the current panel in the last window is used.") ); printf( "\n--window WINDOWID\n" ); printf( " %s spacefm -s set --window 0x104ca80 window_size 800x600\n", _("Specify window. eg:") ); printf( "--panel PANEL\n" ); printf( " %s spacefm -s set --panel 2 bookmarks_visible true\n", _("Specify panel 1-4. eg:") ); printf( "--tab TAB\n" ); printf( " %s spacefm -s set --tab 3 selected_filenames fstab\n", _("Specify tab 1-... eg:") ); printf( "\n%s\n", _("PROPERTIES\n----------") ); printf( "%s\n", _("Set properties with METHOD 'set', or get the value with 'get'.") ); printf( "\nwindow_size %s\n", _("eg '800x600'") ); printf( "window_position %s\n", _("eg '100x50'") ); printf( "window_maximized 1|true|yes|0|false|no\n" ); printf( "window_fullscreen 1|true|yes|0|false|no\n" ); printf( "screen_size %s\n", _("eg '1024x768' (read-only)") ); printf( "window_vslider_top %s\n", _("eg '100'") ); printf( "window_vslider_bottom %s\n", _("eg '100'") ); printf( "window_hslider %s\n", _("eg '100'") ); printf( "window_tslider %s\n", _("eg '100'") ); printf( "focused_panel 1|2|3|4|prev|next|hide\n" ); printf( "focused_pane filelist|devices|bookmarks|dirtree|pathbar\n" ); printf( "current_tab 1|2|...|prev|next|close\n" ); printf( "tab_count 1|2|...\n" ); printf( "new_tab [DIR] %s\n", _("Open DIR or default in a new tab") ); printf( "devices_visible 1|true|yes|0|false|no\n" ); printf( "bookmarks_visible 1|true|yes|0|false|no\n" ); printf( "dirtree_visible 1|true|yes|0|false|no\n" ); printf( "toolbar_visible 1|true|yes|0|false|no\n" ); printf( "sidetoolbar_visible 1|true|yes|0|false|no\n" ); printf( "hidden_files_visible 1|true|yes|0|false|no\n" ); printf( "panel1_visible 1|true|yes|0|false|no\n" ); printf( "panel2_visible 1|true|yes|0|false|no\n" ); printf( "panel3_visible 1|true|yes|0|false|no\n" ); printf( "panel4_visible 1|true|yes|0|false|no\n" ); printf( "panel_hslider_top %s\n", _("eg '100'") ); printf( "panel_hslider_bottom %s\n", _("eg '100'") ); printf( "panel_vslider %s\n", _("eg '100'") ); printf( "column_width name|size|type|permission|owner|modified WIDTH\n" ); printf( "sort_by name|size|type|permission|owner|modified\n" ); printf( "sort_ascend 1|true|yes|0|false|no\n" ); printf( "sort_natural 1|true|yes|0|false|no\n" ); printf( "sort_case 1|true|yes|0|false|no\n" ); printf( "sort_hidden_first 1|true|yes|0|false|no\n" ); printf( "sort_first files|folders|mixed\n" ); printf( "show_thumbnails 1|true|yes|0|false|no\n" ); printf( "large_icons 1|true|yes|0|false|no\n" ); printf( "statusbar_text %s\n", _("eg 'Current Status: Example'") ); printf( "pathbar_text [TEXT [SELSTART [SELEND]]]\n" ); printf( "current_dir %s\n", _("DIR eg '/etc'") ); printf( "selected_filenames %s\n", _("[FILENAME...]") ); printf( "selected_pattern %s\n", _("[PATTERN] eg '*.jpg'") ); printf( "clipboard_text %s\n", _("eg 'Some\\nlines\\nof text'") ); printf( "clipboard_primary_text %s\n", _("eg 'Some\\nlines\\nof text'") ); printf( "clipboard_from_file %s\n", _("eg '~/copy-file-contents-to-clipboard.txt'") ); printf( "clipboard_primary_from_file %s\n", _("eg '~/copy-file-contents-to-clipboard.txt'") ); printf( "clipboard_copy_files %s\n", _("FILE... Files copied to clipboard") ); printf( "clipboard_cut_files %s\n", _("FILE... Files cut to clipboard") ); printf( "\n%s\n", _("TASK PROPERTIES\n---------------") ); printf( "status %s\n", _("contents of Status task column (read-only)") ); printf( "icon %s\n", _("eg 'gtk-open'") ); printf( "count %s\n", _("text to show in Count task column") ); printf( "folder %s\n", _("text to show in Folder task column") ); printf( "item %s\n", _("text to show in Item task column") ); printf( "to %s\n", _("text to show in To task column") ); printf( "progress %s\n", _("progress percent (1..100) or '' to pulse") ); printf( "total %s\n", _("text to show in Total task column") ); printf( "curspeed %s\n", _("text to show in Current task column") ); printf( "curremain %s\n", _("text to show in CRemain task column") ); printf( "avgspeed %s\n", _("text to show in Average task column") ); printf( "avgremain %s\n", _("text to show in Remain task column") ); printf( "elapsed %s\n", _("contents of Elapsed task column (read-only)") ); printf( "started %s\n", _("contents of Started task column (read-only)") ); printf( "queue_state run|pause|queue|stop\n" ); printf( "popup_handler %s\n", _("COMMAND command to show a custom task dialog\n") ); printf( "\n%s\n", _("TASK TYPES\n----------") ); printf( "cmd [--task] [--popup] [--scroll] [--terminal] [--icon ICON] \\\n" ); printf( " [--dir DIR] COMMAND... %s\n", _("Run COMMAND in DIR") ); printf( "copy|move|link [--dir DIR] FILE|DIR... TARGET\n" ); printf( " %s\n", _("Copy|Move|Link FILE(s) or DIR(s) to TARGET dir") ); printf( "delete [--dir DIR] FILE|DIR... %s\n", _("Recursively delete FILE(s) or DIR(s)" ) ); printf( "edit [--as-root] FILE %s\n", _("Open FILE in user's or root's text editor") ); printf( "web URL %s\n", _("Open URL in user's web browser") ); printf( "mount DEVICE|URL %s\n", _("Mount DEVICE or URL") ); printf( "unmount DEVICE|DIR %s\n", _("Unmount DEVICE or mount point DIR") ); printf( "\n%s\n", _("EVENTS\n------") ); printf( "evt_start %s\n", _("Instance start %e") ); printf( "evt_exit %s\n", _("Instance exit %e") ); printf( "evt_win_new %s\n", _("Window new %e %w %p %t") ); printf( "evt_win_focus %s\n", _("Window focus %e %w %p %t") ); printf( "evt_win_move %s\n", _("Window move/resize %e %w %p %t") ); printf( "evt_win_click %s\n", _("Mouse click %e %w %p %t %b %m %f") ); printf( "evt_win_key %s\n", _("Window keypress %e %w %p %t %k %m") ); printf( "evt_win_close %s\n", _("Window close %e %w %p %t") ); printf( "evt_pnl_focus %s\n", _("Panel focus %e %w %p %t") ); printf( "evt_pnl_show %s\n", _("Panel show/hide %e %w %p %t %f %v") ); printf( "evt_pnl_sel %s\n", _("Selection changed %e %w %p %t") ); printf( "evt_tab_new %s\n", _("Tab new %e %w %p %t") ); printf( "evt_tab_chdir %s\n", _("Tab change dir %e %w %p %t %d") ); printf( "evt_tab_focus %s\n", _("Tab focus %e %w %p %t") ); printf( "evt_tab_close %s\n", _("Tab close %e %w %p %t") ); printf( "evt_device %s\n", _("Device change %e %f %v") ); printf( "\n%s\n", _("Event COMMAND Substitution Variables:") ); printf( "%%e %s\n", _("event type (evt_start|evt_exit|...)") ); printf( "%%w %s\n", _("window ID") ); printf( "%%p %s\n", _("panel number (1-4)") ); printf( "%%t %s\n", _("tab number (1-...)") ); printf( "%%d %s\n", _("quoted directory ('/etc')") ); printf( "%%b %s\n", _("mouse button (0=double 1=left 2=middle 3=right ...)") ); printf( "%%k %s\n", _("key code (eg 0x63)") ); printf( "%%m %s\n", _("modifier key (eg 0x4 used with clicks and keypresses)") ); printf( "%%f %s\n", _("focus element (panelN|filelist|devices|bookmarks|dirtree|pathbar)") ); printf( "%%v %s\n", _("focus element is visible (0 or 1, or device state change)") ); printf( "\n%s:\n\n", _("Examples") ); printf( " window_size=\"$(spacefm -s get window_size)\"\n" ); printf( " spacefm -s set window_size 1024x768\n" ); printf( " spacefm -s set column_width name 100\n" ); printf( " spacefm -s set-task $fm_my_task progress 25\n" ); printf( " spacefm -s run-task --window $fm_my_window cmd --task --popup ls /etc\n" ); printf( " spacefm -s run-task copy --dir /etc fstab hosts /destdir\n" ); printf( " spacefm -r /etc; sleep 0.3; spacefm -s set selected_filenames fstab hosts\n" ); printf( " spacefm -s set clipboard_copy_files /etc/fstab /etc/hosts\n" ); printf( " spacefm -s emit-key 0xffbe 0 # press F1 to show Help\n" ); printf( " spacefm -s activate --window $fm_my_window \"Custom Menu\"\n" ); printf( " spacefm -s add-event evt_pnl_sel 'spacefm -s set statusbar_text \"$fm_file\"'\n\n" ); printf( " #!%s\n", BASHPATH ); printf( " eval copied_files=\"$(spacefm -s get clipboard_copy_files)\"\n" ); printf( " echo \"%s:\"\n", _("These files have been copied to the clipboard") ); printf( " i=0\n" ); printf( " while [ \"${copied_files[i]}\" != \"\" ]; do\n" ); printf( " echo \" ${copied_files[i]}\"\n" ); printf( " (( i++ ))\n" ); printf( " done\n" ); printf( " if (( i != 0 )); then\n" ); printf( " echo \"MD5SUMS:\"\n" ); printf( " md5sum \"${copied_files[@]}\"\n" ); printf( " fi\n" ); printf( "\n%s\n http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#sockets\n", _("For full documentation and examples see the SpaceFM User's Manual:") ); } /* void check_icon_theme() { GtkSettings * settings; char* theme; const char* title = N_( "GTK+ icon theme is not properly set" ); const char* error_msg = N_( "%s\n\n" "This usually means you don't have an XSETTINGS manager running. " "Desktop environment like GNOME or XFCE automatically execute their " "XSETTING managers like gnome-settings-daemon or xfce-mcs-manager.\n\n" "If you don't use these desktop environments, " "you have two choices:\n" "1. run an XSETTINGS manager, or\n" "2. simply specify an icon theme in ~/.gtkrc-2.0.\n" "For example to use the Tango icon theme add a line:\n" "gtk-icon-theme-name=\"Tango\" in your ~/.gtkrc-2.0. (create it if no such file)\n\n" "NOTICE: The icon theme you choose should be compatible with GNOME, " "or the file icons cannot be displayed correctly. " "Due to the differences in icon naming of GNOME and KDE, KDE themes cannot be used. " "Currently there is no standard for this, but it will be solved by freedesktop.org in the future." ); settings = gtk_settings_get_default(); g_object_get( settings, "gtk-icon-theme-name", &theme, NULL ); // No icon theme available if ( !theme || !*theme || 0 == strcmp( theme, "hicolor" ) ) { GtkWidget * dlg; dlg = gtk_message_dialog_new_with_markup( NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _( error_msg ), _( title ) ); gtk_window_set_title( GTK_WINDOW( dlg ), _( title ) ); gtk_dialog_run( GTK_DIALOG( dlg ) ); gtk_widget_destroy( dlg ); } g_free( theme ); } */ #ifdef _DEBUG_THREAD G_LOCK_DEFINE(gdk_lock); void debug_gdk_threads_enter (const char* message) { g_debug( "Thread %p tries to get GDK lock: %s", g_thread_self (), message ); G_LOCK(gdk_lock); g_debug( "Thread %p got GDK lock: %s", g_thread_self (), message ); } static void _debug_gdk_threads_enter () { debug_gdk_threads_enter( "called from GTK+ internal" ); } void debug_gdk_threads_leave( const char* message ) { g_debug( "Thread %p tries to release GDK lock: %s", g_thread_self (), message ); G_UNLOCK(gdk_lock); g_debug( "Thread %p released GDK lock: %s", g_thread_self (), message ); } static void _debug_gdk_threads_leave() { debug_gdk_threads_leave( "called from GTK+ internal" ); } #endif void init_folder() { if( G_LIKELY(folder_initialized) ) return; vfs_volume_init(); vfs_thumbnail_init(); vfs_mime_type_set_icon_size( app_settings.big_icon_size, app_settings.small_icon_size ); vfs_file_info_set_thumbnail_size( app_settings.big_icon_size, app_settings.small_icon_size ); //check_icon_theme(); //sfm seems to run okay without gtk theme folder_initialized = TRUE; } #ifdef HAVE_HAL /* FIXME: Currently, this cannot be supported without HAL */ static int handle_mount( char** argv ) { gboolean success; vfs_volume_init(); if( mount ) success = vfs_volume_mount_by_udi( mount, NULL ); else if( umount ) success = vfs_volume_umount_by_udi( umount, NULL ); else /* if( eject ) */ success = vfs_volume_eject_by_udi( eject, NULL ); vfs_volume_finalize(); return success ? 0 : 1; } #endif GList* get_file_info_list( char** file_paths ) { GList* file_list = NULL; char** file; VFSFileInfo* fi; for( file = file_paths; *file; ++file ) { fi = vfs_file_info_new(); if( vfs_file_info_get( fi, *file, NULL ) ) file_list = g_list_append( file_list, fi ); else vfs_file_info_unref( fi ); } return file_list; } gboolean delayed_popup( GtkWidget* popup ) { GDK_THREADS_ENTER(); gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time() ); GDK_THREADS_LEAVE(); return FALSE; } static void init_desktop_or_daemon() { init_folder(); signal( SIGPIPE, SIG_IGN ); signal( SIGHUP, (void*)gtk_main_quit ); signal( SIGINT, (void*)gtk_main_quit ); signal( SIGTERM, (void*)gtk_main_quit ); if ( desktop ) fm_turn_on_desktop_icons( app_settings.show_wallpaper == 1 && app_settings.wallpaper_mode == WPM_TRANSPARENT ); desktop_or_deamon_initialized = TRUE; } char* dup_to_absolute_file_path(char** file) { char* file_path, *real_path, *cwd_path; const size_t cwd_size = PATH_MAX; if( g_str_has_prefix( *file, "file:" ) ) /* It's a URI */ { file_path = g_filename_from_uri( *file, NULL, NULL ); g_free( *file ); *file = file_path; } else file_path = *file; cwd_path = malloc( cwd_size ); if( cwd_path ) { getcwd( cwd_path, cwd_size ); } real_path = vfs_file_resolve_path( cwd_path, file_path ); free( cwd_path ); cwd_path = NULL; return real_path; /* To free with g_free */ } static void open_in_tab( FMMainWindow** main_window, const char* real_path ) { XSet* set; int p; // create main window if needed if( G_UNLIKELY( !*main_window ) ) { // initialize things required by folder view if( G_UNLIKELY( ! daemon_mode ) ) init_folder(); // preload panel? if ( panel > 0 && panel < 5 ) // user specified panel p = panel; else { // use first visible panel for ( p = 1; p < 5; p++ ) { if ( xset_get_b_panel( p, "show" ) ) break; } } if ( p == 5 ) p = 1; // no panels were visible (unlikely) // set panel to load real_path on window creation set = xset_get_panel( p, "show" ); set->ob1 = g_strdup( real_path ); set->b = XSET_B_TRUE; // create new window fm_main_window_store_positions( NULL ); *main_window = FM_MAIN_WINDOW( fm_main_window_new() ); } else { // existing window gboolean tab_added = FALSE; if ( panel > 0 && panel < 5 ) { // change to user-specified panel if ( !gtk_notebook_get_n_pages( GTK_NOTEBOOK( (*main_window)->panel[panel-1] ) ) ) { // set panel to load real_path on panel load set = xset_get_panel( panel, "show" ); set->ob1 = g_strdup( real_path ); tab_added = TRUE; set->b = XSET_B_TRUE; show_panels_all_windows( NULL, *main_window ); } else if ( !gtk_widget_get_visible( (*main_window)->panel[panel-1] ) ) { // show panel set = xset_get_panel( panel, "show" ); set->b = XSET_B_TRUE; show_panels_all_windows( NULL, *main_window ); } (*main_window)->curpanel = panel; (*main_window)->notebook = (*main_window)->panel[panel-1]; } if ( !tab_added ) { if ( reuse_tab ) { main_window_open_path_in_current_tab( *main_window, real_path ); reuse_tab = FALSE; } else fm_main_window_add_new_tab( *main_window, real_path ); } } gtk_window_present( GTK_WINDOW( *main_window ) ); } gboolean handle_parsed_commandline_args() { FMMainWindow * main_window = NULL; char** file; gboolean ret = TRUE; XSet* set; int p; struct stat64 statbuf; app_settings.load_saved_tabs = !no_tabs; // If no files are specified, open home dir by defualt. if( G_LIKELY( ! files ) ) { files = default_files; //files[0] = (char*)g_get_home_dir(); } // get the last active window on this desktop, if available if( new_tab || reuse_tab ) { main_window = fm_main_window_get_on_current_desktop(); //printf(" fm_main_window_get_on_current_desktop = %p %s %s\n", main_window, // new_tab ? "new_tab" : "", // reuse_tab ? "reuse_tab" : "" ); } if ( desktop_pref ) //MOD { #ifdef DESKTOP_INTEGRATION show_pref = 3; #else show_pref = 1; fprintf( stderr, "spacefm: %s\n", _("This build of SpaceFM has desktop integration disabled") ); #endif } if( show_pref > 0 ) /* show preferences dialog */ { fm_edit_preference( GTK_WINDOW( main_window ), show_pref - 1 ); show_pref = 0; } else if( find_files ) /* find files */ { init_folder(); fm_find_files( (const char**)files ); find_files = FALSE; } #ifdef DESKTOP_INTEGRATION else if( set_wallpaper ) /* change wallpaper */ { set_wallpaper = FALSE; char* file = files ? files[0] : NULL; char* path; if( ! file ) return FALSE; if( g_str_has_prefix( file, "file:" ) ) /* URI */ { path = g_filename_from_uri( file, NULL, NULL ); g_free( file ); file = path; } else file = g_strdup( file ); if( g_file_test( file, G_FILE_TEST_IS_REGULAR ) ) { g_free( app_settings.wallpaper ); app_settings.wallpaper = file; app_settings.show_wallpaper = TRUE; //xset_autosave( TRUE, FALSE ); char* err_msg = save_settings( fm_main_window_get_last_active() ); if ( err_msg ) printf( _("spacefm: Error: Unable to save session\n %s\n"), err_msg ); if( desktop && app_settings.show_wallpaper ) { if( desktop_or_deamon_initialized ) fm_desktop_update_wallpaper( FALSE ); } } else g_free( file ); ret = ( daemon_mode || ( desktop && desktop_or_deamon_initialized ) ); goto out; } #endif else /* open files/folders */ { if ( ( daemon_mode || desktop ) && !desktop_or_deamon_initialized ) init_desktop_or_daemon(); else if ( files != default_files ) { /* open files passed in command line arguments */ ret = FALSE; for( file = files; *file; ++file ) { char *real_path; if( ! **file ) /* skip empty string */ continue; real_path = dup_to_absolute_file_path( file ); if( g_file_test( real_path, G_FILE_TEST_IS_DIR ) ) { open_in_tab( &main_window, real_path ); ret = TRUE; } else if ( g_file_test( real_path, G_FILE_TEST_EXISTS ) ) { if ( stat64( real_path, &statbuf ) == 0 && S_ISBLK( statbuf.st_mode ) ) { // open block device eg /dev/sda1 if ( !main_window ) { open_in_tab( &main_window, "/" ); ptk_location_view_open_block( real_path, FALSE ); } else ptk_location_view_open_block( real_path, TRUE ); ret = TRUE; gtk_window_present( GTK_WINDOW( main_window ) ); } else open_file( real_path ); } else if ( ( *file[0] != '/' && strstr( *file, ":/" ) ) || g_str_has_prefix( *file, "//" ) ) { if ( main_window ) main_window_open_network( main_window, *file, TRUE ); else { open_in_tab( &main_window, "/" ); main_window_open_network( main_window, *file, FALSE ); } ret = TRUE; gtk_window_present( GTK_WINDOW( main_window ) ); } else { char* err_msg = g_strdup_printf( "%s:\n\n%s", _( "File doesn't exist" ), real_path ); ptk_show_error( NULL, _("Error"), err_msg ); g_free( err_msg ); } g_free( real_path ); } } else if ( !socket_daemon_or_desktop ) { // no files specified, just create window with default tabs if( G_UNLIKELY( ! main_window ) ) { // initialize things required by folder view if( G_UNLIKELY( ! daemon_mode ) ) init_folder(); fm_main_window_store_positions( NULL ); main_window = FM_MAIN_WINDOW( fm_main_window_new() ); } gtk_window_present( GTK_WINDOW( main_window ) ); if ( panel > 0 && panel < 5 ) { // user specified a panel with no file, let's show the panel if ( !gtk_widget_get_visible( main_window->panel[panel-1] ) ) { // show panel set = xset_get_panel( panel, "show" ); set->b = XSET_B_TRUE; show_panels_all_windows( NULL, main_window ); } focus_panel( NULL, (gpointer)main_window, panel ); } } } //printf(" handle_parsed_commandline_args mw = %p\n\n", main_window ); out: if( files != default_files ) g_strfreev( files ); files = NULL; return ret; } void tmp_clean() { char* cmd = g_strdup_printf( "rm -rf %s", xset_get_user_tmp_dir() ); g_spawn_command_line_async( cmd, NULL ); g_free( cmd ); } int main ( int argc, char *argv[] ) { gboolean run = FALSE; GError* err = NULL; #ifdef ENABLE_NLS bindtextdomain ( GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR ); bind_textdomain_codeset ( GETTEXT_PACKAGE, "UTF-8" ); textdomain ( GETTEXT_PACKAGE ); #endif // load spacefm.conf load_conf(); // separate instance options if ( argc > 1 ) { // dialog mode? if ( !strcmp( argv[1], "-g" ) || !strcmp( argv[1], "--dialog" ) ) { g_thread_init( NULL ); gdk_threads_init (); /* initialize the file alteration monitor */ if( G_UNLIKELY( ! vfs_file_monitor_init() ) ) { #ifdef USE_INOTIFY ptk_show_error( NULL, _("Error"), _("Error: Unable to initialize inotify file change monitor.\n\nDo you have an inotify-capable kernel?") ); #else ptk_show_error( NULL, _("Error"), _("Error: Unable to establish connection with FAM.\n\nDo you have \"FAM\" or \"Gamin\" installed and running?") ); #endif vfs_file_monitor_clean(); return 1; } gtk_init (&argc, &argv); int ret = custom_dialog_init( argc, argv ); if ( ret != 0 ) { vfs_file_monitor_clean(); return ret == -1 ? 0 : ret; } GDK_THREADS_ENTER(); gtk_main(); GDK_THREADS_LEAVE(); vfs_file_monitor_clean(); return 0; } // socket_command? if ( !strcmp( argv[1], "-s" ) || !strcmp( argv[1], "--socket-cmd" ) ) { #ifdef ENABLE_NLS // initialize gettext since gtk_init is not run here setlocale( LC_ALL, "" ); bindtextdomain( GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR ); textdomain( GETTEXT_PACKAGE ); #endif if ( argv[2] && ( !strcmp( argv[2], "help" ) || !strcmp( argv[2], "--help" ) ) ) { show_socket_help(); return 0; } char* reply = NULL; int ret = send_socket_command( argc, argv, &reply ); if ( reply && reply[0] ) fprintf( ret ? stderr : stdout, "%s", reply ); g_free( reply ); return ret; } } /* initialize GTK+ and parse the command line arguments */ if( G_UNLIKELY( ! gtk_init_with_args( &argc, &argv, "", opt_entries, GETTEXT_PACKAGE, &err ) ) ) { printf( "spacefm: %s\n", err->message ); g_error_free( err ); return 1; } // dialog mode with other options? if ( custom_dialog ) { fprintf( stderr, "spacefm: %s\n", _("--dialog must be first option") ); return 1; } // socket command with other options? if ( socket_cmd ) { fprintf( stderr, "spacefm: %s\n", _("--socket-cmd must be first option") ); return 1; } // --desktop with no desktop build? #ifndef DESKTOP_INTEGRATION if ( desktop ) { fprintf( stderr, "spacefm: %s\n", _("This build of SpaceFM has desktop integration disabled") ); return 1; } #endif // --version if ( version_opt ) { printf( "spacefm %s\n", VERSION ); #if GTK_CHECK_VERSION (3, 0, 0) printf( "GTK3 " ); #else printf( "GTK2 " ); #endif #ifdef HAVE_HAL printf( "HAL " ); #else printf( "UDEV " ); #endif #ifdef USE_INOTIFY printf( "INOTIFY " ); #else printf( "FAM " ); #endif #ifdef DESKTOP_INTEGRATION printf( "DESKTOP " ); #endif #ifdef HAVE_SN printf( "SNOTIFY " ); #endif printf( "\n" ); return 0; } // bash installed? if ( !( BASHPATH && g_file_test( BASHPATH, G_FILE_TEST_IS_EXECUTABLE ) ) ) { char* bash_error = g_strdup_printf( _( "SpaceFM requires bash to be installed. Other shells are NOT equivalent as SpaceFM uses features only found in genuine bash (v4+).\n\nThe program %s was not found. Install bash or use configure option --with-bash-path to specify a custom location at build time." ), BASHPATH ); fprintf( stderr, "spacefm: %s\n", bash_error ); ptk_show_error( NULL, _("Error"), bash_error ); g_free( bash_error ); return 1; } /* Initialize multithreading //sfm moved below parse arguments No matter we use threads or not, it's safer to initialize this earlier. */ #ifdef _DEBUG_THREAD gdk_threads_set_lock_functions(_debug_gdk_threads_enter, _debug_gdk_threads_leave); #endif g_thread_init( NULL ); gdk_threads_init (); #if HAVE_HAL /* If the user wants to mount/umount/eject a device */ if( G_UNLIKELY( mount || umount || eject ) ) return handle_mount( argv ); #endif /* ensure that there is only one instance of spacefm. if there is an existing instance, command line arguments will be passed to the existing instance, and exit() will be called here. */ single_instance_check(); /* initialize the file alteration monitor */ if( G_UNLIKELY( ! vfs_file_monitor_init() ) ) { #ifdef USE_INOTIFY ptk_show_error( NULL, _("Error"), _("Error: Unable to initialize inotify file change monitor.\n\nDo you have an inotify-capable kernel?") ); #else ptk_show_error( NULL, _("Error"), _("Error: Unable to establish connection with FAM.\n\nDo you have \"FAM\" or \"Gamin\" installed and running?") ); #endif vfs_file_monitor_clean(); //free_settings(); return 1; } /* check if the filename encoding is UTF-8 */ vfs_file_info_set_utf8_filename( g_get_filename_charsets( NULL ) ); /* Initialize our mime-type system */ vfs_mime_type_init(); load_settings( config_dir ); /* load config file */ //MOD was before vfs_file_monitor_init app_settings.sdebug = sdebug; /* // temporarily turn off desktop if needed if( G_LIKELY( no_desktop ) ) { // No matter what the value of show_desktop is, we don't showdesktop icons // if --no-desktop argument is passed by the users. old_show_desktop = app_settings.show_desktop; // This config value will be restored before saving config files, if needed. app_settings.show_desktop = FALSE; } */ /* If we reach this point, we are the first instance. * Subsequent processes will exit() inside single_instance_check and won't reach here. */ main_window_event( NULL, NULL, "evt_start", 0, 0, NULL, 0, 0, 0, FALSE ); /* handle_parsed_commandline_args needs to be within GDK_THREADS_ENTER or * ptk_show_error() in ptk_file_browser_chdir() access err causes hang on * GDK_THREADS_ENTER before gtk_main() */ GDK_THREADS_ENTER(); /* handle the parsed result of command line args */ run = handle_parsed_commandline_args(); app_settings.load_saved_tabs = TRUE; if ( run ) /* run the main loop */ gtk_main(); GDK_THREADS_LEAVE(); main_window_event( NULL, NULL, "evt_exit", 0, 0, NULL, 0, 0, 0, FALSE ); single_instance_finalize(); if( desktop && desktop_or_deamon_initialized ) // desktop was app_settings.show_desktop fm_turn_off_desktop_icons(); /* if( no_desktop ) // desktop icons is temporarily supressed { if( old_show_desktop ) // restore original settings { old_show_desktop = app_settings.show_desktop; app_settings.show_desktop = TRUE; } } */ /* if( run && xset_get_b( "main_save_exit" ) ) { char* err_msg = save_settings(); if ( err_msg ) printf( "spacefm: Error: Unable to save session\n %s\n", err_msg ); } */ vfs_volume_finalize(); vfs_mime_type_clean(); vfs_file_monitor_clean(); tmp_clean(); free_settings(); return 0; } void open_file( const char* path ) { GError * err; char *msg, *error_msg; VFSFileInfo* file; VFSMimeType* mime_type; gboolean opened; char* app_name; file = vfs_file_info_new(); vfs_file_info_get( file, path, NULL ); mime_type = vfs_file_info_get_mime_type( file ); opened = FALSE; err = NULL; app_name = vfs_mime_type_get_default_action( mime_type ); if ( app_name ) { opened = vfs_file_info_open_file( file, path, &err ); g_free( app_name ); } else { VFSAppDesktop* app; GList* files; app_name = (char *) ptk_choose_app_for_mime_type( NULL, mime_type, TRUE, TRUE, TRUE, FALSE ); if ( app_name ) { app = vfs_app_desktop_new( app_name ); if ( ! vfs_app_desktop_get_exec( app ) ) app->exec = g_strdup( app_name ); /* This is a command line */ files = g_list_prepend( NULL, (gpointer) path ); opened = vfs_app_desktop_open_files( gdk_screen_get_default(), NULL, app, files, &err ); g_free( files->data ); g_list_free( files ); vfs_app_desktop_unref( app ); g_free( app_name ); } else opened = TRUE; } if ( !opened ) { char * disp_path; if ( err && err->message ) { error_msg = err->message; } else error_msg = _( "Don't know how to open the file" ); disp_path = g_filename_display_name( path ); msg = g_strdup_printf( _( "Unable to open file:\n\"%s\"\n%s" ), disp_path, error_msg ); g_free( disp_path ); ptk_show_error( NULL, _("Error"), msg ); g_free( msg ); if ( err ) g_error_free( err ); } vfs_mime_type_unref( mime_type ); vfs_file_info_unref( file ); } /* After opening any window/dialog/tool, this should be called. */ void pcmanfm_ref() { ++n_pcmanfm_ref; } /* After closing any window/dialog/tool, this should be called. * If the last window is closed and we are not a deamon, pcmanfm will quit. */ gboolean pcmanfm_unref() { --n_pcmanfm_ref; if( 0 == n_pcmanfm_ref && ! daemon_mode && !desktop ) gtk_main_quit(); return FALSE; } spacefm-1.0.5/src/mime-type/000077500000000000000000000000001264770501700156415ustar00rootroot00000000000000spacefm-1.0.5/src/mime-type/mime-action.c000066400000000000000000000731711264770501700202200ustar00rootroot00000000000000/* * SpaceFM mime-action.c * * Copyright (C) 2013-2015 IgnorantGuru * Copyright (C) 2007 Hong Jen Yee (PCMan) * * License: See COPYING file * * This file handles default applications for MIME types. For changes it * makes to mimeapps.list, it is fully compliant with Freedeskop's: * Association between MIME types and applications 1.0.1 * http://standards.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html * * However, for reading the hierarchy and determining default and associated * applications, it uses a best-guess algorithm for better performance and * compatibility with older systems, and is NOT fully spec compliant. */ #ifdef HAVE_CONFIG_H #include #endif #include "mime-action.h" #include "glib-utils.h" #include #include #include #include #include gboolean save_to_file( const char* path, const char* data, gssize len ) { int fd = creat( path, 0644 ); if( fd == -1 ) return FALSE; if( write( fd, data, len ) == -1 ) { close( fd ); return FALSE; } close( fd ); return TRUE; } const char group_desktop[] = "Desktop Entry"; const char key_mime_type[] = "MimeType"; typedef char* (*DataDirFunc) ( const char* dir, const char* mime_type, gpointer user_data ); static char* data_dir_foreach( DataDirFunc func, const char* mime_type, gpointer user_data ) { char* ret; const gchar* const * dirs; char* dir; // $XDG_CONFIG_HOME=[~/.config]/mimeapps.list if( (ret = func( g_get_user_config_dir(), mime_type, user_data )) ) return ret; // $XDG_DATA_HOME=[~/.local]/applications/mimeapps.list dir = g_build_filename( g_get_user_data_dir(), "applications", NULL ); if( (ret = func( dir, mime_type, user_data )) ) { g_free( dir ); return ret; } g_free( dir ); // $XDG_DATA_DIRS=[/usr/[local/]share]/applications/mimeapps.list dirs = g_get_system_data_dirs(); for( ; *dirs; ++dirs ) { dir = g_build_filename( *dirs, "applications", NULL ); if( (ret = func( dir, mime_type, user_data )) ) { g_free( dir ); return ret; } g_free( dir ); } return NULL; } static char* apps_dir_foreach( DataDirFunc func, const char* mime_type, gpointer user_data ) { char* ret = NULL; const gchar* const * dirs; const char* dir = g_get_user_data_dir(); if( (ret = func( dir, mime_type, user_data )) ) return ret; dirs = g_get_system_data_dirs(); for( ; *dirs; ++dirs ) { if( (ret = func( *dirs, mime_type, user_data )) ) return ret; } return NULL; } static void update_desktop_database() { char* argv[3]; argv[0] = g_find_program_in_path( "update-desktop-database" ); if( G_UNLIKELY( ! argv[0] ) ) return; argv[1] = g_build_filename( g_get_user_data_dir(), "applications", NULL ); argv[2] = NULL; g_spawn_sync( NULL, argv, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL); g_free( argv[0] ); g_free( argv[1] ); } static int strv_index( char** strv, const char* str ) { char**p; if( G_LIKELY( strv && str ) ) { for( p = strv; *p; ++p ) { if( 0 == strcmp( *p, str ) ) return (p - strv); } } return -1; } /* Determine removed associations for this type */ static void remove_actions( const char* type, GArray* actions ) { //sfm 0.7.7+ added char** removed = NULL; gsize n_removed = 0, r; int i; //g_print( "remove_actions( %s )\n", type ); GKeyFile* file = g_key_file_new(); // $XDG_CONFIG_HOME=[~/.config]/mimeapps.list char* path = g_build_filename( g_get_user_config_dir(), "mimeapps.list", NULL ); if ( !g_key_file_load_from_file( file, path, 0, NULL ) ) { // $XDG_DATA_HOME=[~/.local]/applications/mimeapps.list g_free( path ); path = g_build_filename( g_get_user_data_dir(), "applications/mimeapps.list", NULL ); if ( !g_key_file_load_from_file( file, path, 0, NULL ) ) { g_key_file_free( file ); g_free( path ); return; } } g_free( path ); removed = g_key_file_get_string_list( file, "Removed Associations", type, &n_removed, NULL ); if ( removed ) { for ( r = 0; r < n_removed; ++r ) { g_strstrip( removed[r] ); //g_print( " %s\n", removed[r] ); i = strv_index( (char**)actions->data, removed[r] ); if ( i != -1 ) { //g_print( " ACTION-REMOVED\n" ); g_array_remove_index( actions, i ); } } } g_strfreev( removed ); g_key_file_free( file ); } /* * Get applications associated with this mime-type * * This is very roughly based on specs: * http://standards.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html * */ static char* get_actions( const char* dir, const char* type, GArray* actions ) { //g_print( "get_actions( %s, %s )\n", dir, type ); GKeyFile* file; gboolean opened; int n, k; char** apps = NULL; char** removed = NULL; gboolean is_removed; gsize n_removed = 0, r; gsize n_apps, i; const char* names[] = { "mimeapps.list", "mimeinfo.cache" }; const char* groups[] = { "Default Applications", "Added Associations", "MIME Cache" }; //g_print("get_actions( %s/, %s )\n", dir, type ); for ( n = 0; n < G_N_ELEMENTS( names ); n++ ) { char* path = g_build_filename( dir, names[n], NULL ); //g_print( " %s\n", path ); file = g_key_file_new(); opened = g_key_file_load_from_file( file, path, 0, NULL ); g_free( path ); if ( G_LIKELY( opened ) ) { if ( n == 0 ) { // get removed associations in this dir removed = g_key_file_get_string_list( file, "Removed Associations", type, &n_removed, NULL ); } // mimeinfo.cache has only MIME Cache; others don't have it for ( k = ( n == 0 ? 0 : 2 ); k < ( n == 0 ? 2 : 3 ); k++ ) { //g_print( " %s [%d]\n", groups[k], k ); n_apps = 0; apps = g_key_file_get_string_list( file, groups[k], type, &n_apps, NULL ); for ( i = 0; i < n_apps; ++i ) { g_strstrip( apps[i] ); //g_print( " %s\n", apps[i] ); // check if removed is_removed = FALSE; if ( removed && n > 0 ) { for ( r = 0; r < n_removed; ++r ) { g_strstrip( removed[r] ); if ( !strcmp( removed[r], apps[i] ) ) { //g_print( " REMOVED\n" ); is_removed = TRUE; break; } } } if( !is_removed && -1 == strv_index( (char**)actions->data, apps[i] ) ) { /* check for app existence */ path = mime_type_locate_desktop_file( NULL, apps[i] ); if ( G_LIKELY( path ) ) { //g_print( " EXISTS\n"); g_array_append_val( actions, apps[i] ); g_free( path ); } else { //g_print( " MISSING\n"); g_free( apps[i] ); } apps[i] = NULL; /* steal the string */ } else { g_free( apps[i] ); apps[i] = NULL; } } /* don't call g_strfreev since all strings in the array were * stolen or freed. */ g_free( apps ); } } g_key_file_free( file ); if ( !g_strcmp0( dir, g_get_user_config_dir() ) ) break; // no mimeinfo.cache in ~/.config } g_strfreev( removed ); return NULL; /* return NULL so the for_each operation doesn't stop. */ } /* * Get a list of applications supporting this mime-type * The returned string array was newly allocated, and should be * freed with g_strfreev() when no longer used. */ char** mime_type_get_actions( const char* type ) { GArray* actions = g_array_sized_new( TRUE, FALSE, sizeof(char*), 10 ); char* default_app = NULL; /* FIXME: actions of parent types should be added, too. */ /* get all actions for this file type */ data_dir_foreach( (DataDirFunc)get_actions, type, actions ); /* remove actions for this file type */ //sfm remove_actions( type, actions ); /* ensure default app is in the list */ if( G_LIKELY( ( default_app = mime_type_get_default_action( type ) ) ) ) { int i = strv_index( (char**)actions->data, default_app ); if( i == -1 ) /* default app is not in the list, add it! */ { g_array_prepend_val( actions, default_app ); } else /* default app is in the list, move it to the first. */ { if( i != 0 ) { char** pdata = (char**)actions->data; char* tmp = pdata[i]; g_array_remove_index( actions, i ); g_array_prepend_val( actions, tmp ); } g_free( default_app ); } } return (char**)g_array_free( actions, actions->len == 0 ); } /* * NOTE: * This API is very time consuming, but unfortunately, due to the damn poor design of * Freedesktop.org spec, all the insane checks here are necessary. Sigh... :-( */ gboolean mime_type_has_action( const char* type, const char* desktop_id ) { char** actions, **action; char *cmd = NULL, *name = NULL; gboolean found = FALSE; gboolean is_desktop = g_str_has_suffix( desktop_id, ".desktop" ); if( is_desktop ) { char** types; GKeyFile* kf = g_key_file_new(); char* filename = mime_type_locate_desktop_file( NULL, desktop_id ); if( filename && g_key_file_load_from_file( kf, filename, 0, NULL ) ) { types = g_key_file_get_string_list( kf, group_desktop, key_mime_type, NULL, NULL ); if( -1 != strv_index( types, type ) ) { /* our mime-type is already found in the desktop file. no further check is needed */ found = TRUE; } g_strfreev( types ); if( ! found ) /* get the content of desktop file for comparison */ { cmd = g_key_file_get_string( kf, group_desktop, "Exec", NULL ); name = g_key_file_get_string( kf, group_desktop, "Name", NULL ); } } g_free( filename ); g_key_file_free( kf ); } else { cmd = (char*)desktop_id; } actions = mime_type_get_actions( type ); if( actions ) { for( action = actions; ! found && *action; ++action ) { /* Try to match directly by desktop_id first */ if( is_desktop && 0 == strcmp( *action, desktop_id ) ) { found = TRUE; } else /* Then, try to match by "Exec" and "Name" keys */ { char *name2 = NULL, *cmd2 = NULL, *filename = NULL; GKeyFile* kf = g_key_file_new(); filename = mime_type_locate_desktop_file( NULL, *action ); if( filename && g_key_file_load_from_file( kf, filename, 0, NULL ) ) { cmd2 = g_key_file_get_string( kf, group_desktop, "Exec", NULL ); if( cmd && cmd2 && 0 == strcmp( cmd, cmd2 ) ) /* 2 desktop files have same "Exec" */ { if( is_desktop ) { name2 = g_key_file_get_string( kf, group_desktop, "Name", NULL ); /* Then, check if the "Name" keys of 2 desktop files are the same. */ if( name && name2 && 0 == strcmp( name, name2 ) ) { /* Both "Exec" and "Name" keys of the 2 desktop files are * totally the same. So, despite having different desktop id * They actually refer to the same application. */ found = TRUE; } g_free( name2 ); } else found = TRUE; } } g_free( filename ); g_free( cmd2 ); g_key_file_free( kf ); } } g_strfreev( actions ); } if( is_desktop ) { g_free( cmd ); g_free( name ); } return found; } #if 0 static gboolean is_custom_desktop_file( const char* desktop_id ) { char* path = g_build_filename( g_get_user_data_dir(), "applications", desktop_id, NULL ); gboolean ret = g_file_test( path, G_FILE_TEST_EXISTS ); g_free( path ); return ret; } #endif static char* make_custom_desktop_file( const char* desktop_id, const char* mime_type ) { char *name = NULL, *cust_template = NULL, *cust = NULL, *path, *dir; char* file_content = NULL; gsize len = 0; guint i; if( G_LIKELY( g_str_has_suffix(desktop_id, ".desktop") ) ) { GKeyFile *kf = g_key_file_new(); char* name = mime_type_locate_desktop_file( NULL, desktop_id ); if( G_UNLIKELY( ! name || ! g_key_file_load_from_file( kf, name, G_KEY_FILE_KEEP_TRANSLATIONS, NULL ) ) ) { g_free( name ); return NULL; /* not a valid desktop file */ } g_free( name ); /* FIXME: If the source desktop_id refers to a custom desktop file, and value of the MimeType key equals to our mime-type, there is no need to generate a new desktop file. if( G_UNLIKELY( is_custom_desktop_file( desktop_id ) ) ) { } */ /* set our mime-type */ g_key_file_set_string_list( kf, group_desktop, key_mime_type, &mime_type, 1 ); /* store id of original desktop file, for future use. */ g_key_file_set_string( kf, group_desktop, "X-MimeType-Derived", desktop_id ); g_key_file_set_string( kf, group_desktop, "NoDisplay", "true" ); name = g_strndup( desktop_id, strlen(desktop_id) - 8 ); cust_template = g_strdup_printf( "%s-usercustom-%%d.desktop", name ); g_free( name ); file_content = g_key_file_to_data( kf, &len, NULL ); g_key_file_free( kf ); } else /* it's not a desktop_id, but a command */ { char* p; const char file_templ[] = "[Desktop Entry]\n" "Encoding=UTF-8\n" "Name=%s\n" "Exec=%s\n" "MimeType=%s\n" "Icon=exec\n" "NoDisplay=true\n"; /* FIXME: Terminal? */ /* Make a user-created desktop file for the command */ name = g_path_get_basename( desktop_id ); if( (p = strchr(name, ' ')) ) /* FIXME: skip command line arguments. is this safe? */ *p = '\0'; file_content = g_strdup_printf( file_templ, name, desktop_id, mime_type ); len = strlen( file_content ); cust_template = g_strdup_printf( "%s-usercreated-%%d.desktop", name ); g_free( name ); } /* generate unique file name */ dir = g_build_filename( g_get_user_data_dir(), "applications", NULL ); g_mkdir_with_parents( dir, 0700 ); for( i = 0; ; ++i ) { /* generate the basename */ cust = g_strdup_printf( cust_template, i ); path = g_build_filename( dir, cust, NULL ); /* test if the filename already exists */ if( g_file_test( path, G_FILE_TEST_EXISTS ) ) { g_free( cust ); g_free( path ); } else /* this generated filename can be used */ break; } g_free( dir ); if( G_LIKELY( path ) ) { save_to_file( path, file_content, len ); g_free( path ); /* execute update-desktop-database" to update mimeinfo.cache */ update_desktop_database(); } return cust; } /* * Add an applications used to open this mime-type * desktop_id is the name of *.desktop file. * * custom_desktop: used to store name of the newly created user-custom desktop file, can be NULL. */ void mime_type_add_action( const char* type, const char* desktop_id, char** custom_desktop ) { char* cust; if( mime_type_has_action( type, desktop_id ) ) { if( custom_desktop ) *custom_desktop = g_strdup( desktop_id ); return; } cust = make_custom_desktop_file( desktop_id, type ); if( custom_desktop ) *custom_desktop = cust; else g_free( cust ); } static char* _locate_desktop_file_recursive( const char* path, const char* desktop_id, gboolean first ) { // if first is true, just search for subdirs not desktop_id (already searched) const char* name; char* sub_path; GDir* dir = g_dir_open( path, 0, NULL ); if ( !dir ) return NULL; char* found = NULL; while ( name = g_dir_read_name( dir ) ) { sub_path = g_build_filename( path, name, NULL ); if ( g_file_test( sub_path, G_FILE_TEST_IS_DIR ) ) { if ( found = _locate_desktop_file_recursive( sub_path, desktop_id, FALSE ) ) { g_free( sub_path ); break; } } else if ( !first && !strcmp( name, desktop_id ) && g_file_test( sub_path, G_FILE_TEST_IS_REGULAR ) ) { found = sub_path; break; } g_free( sub_path ); } g_dir_close( dir ); return found; } static char* _locate_desktop_file( const char* dir, const char* unused, const gpointer desktop_id ) { //sfm 0.7.8 modified + 0.8.7 modified gboolean found = FALSE; char *path = g_build_filename( dir, "applications", (const char*)desktop_id, NULL ); char* sep = strchr( (const char*)desktop_id, '-' ); if( sep ) sep = strrchr( path, '-' ); do { if ( g_file_test( path, G_FILE_TEST_IS_REGULAR ) ) { found = TRUE; break; } if ( sep ) { *sep = '/'; sep = strchr( sep + 1, '-' ); } else break; } while( !found ); if ( found ) return path; g_free( path ); //sfm 0.8.7 some desktop files listed by the app chooser are in subdirs path = g_build_filename( dir, "applications", NULL ); sep = _locate_desktop_file_recursive( path, desktop_id, TRUE ); g_free( path ); return sep; } char* mime_type_locate_desktop_file( const char* dir, const char* desktop_id ) { if( dir ) return _locate_desktop_file( dir, NULL, (gpointer) desktop_id ); return apps_dir_foreach( _locate_desktop_file, NULL, (gpointer) desktop_id ); } static char* get_default_action( const char* dir, const char* type, gpointer user_data ) { GKeyFile* file; char* path; char** apps; gsize n_apps, i; int n, k; gboolean opened; //g_print( "get_default_action( %s, %s )\n", dir, type ); // search these files in dir for the first existing default app char* names[] = { "mimeapps.list", "defaults.list" }; char* groups[] = { "Default Applications", "Added Associations" }; for ( n = 0; n < G_N_ELEMENTS( names ); n++ ) { char* path = g_build_filename( dir, names[n], NULL ); //g_print( " path = %s\n", path ); file = g_key_file_new(); opened = g_key_file_load_from_file( file, path, 0, NULL ); g_free( path ); if ( opened ) { for ( k = 0; k < G_N_ELEMENTS( groups ); k++ ) { apps = g_key_file_get_string_list( file, groups[k], type, &n_apps, NULL ); if ( apps ) { for ( i = 0; i < n_apps; ++i ) { g_strstrip( apps[i] ); if ( apps[i][0] != '\0' ) { //g_print( " %s\n", apps[i] ); if ( path = mime_type_locate_desktop_file( NULL, apps[i] ) ) { //g_print( " EXISTS\n" ); g_free( path ); path = g_strdup( apps[i] ); g_strfreev( apps ); g_key_file_free( file ); return path; } } } g_strfreev( apps ); } if ( n == 1 ) break; // defaults.list doesn't have Added Associations } } g_key_file_free( file ); if ( !g_strcmp0( dir, g_get_user_config_dir() ) ) break; // no defaults.list in ~/.config } return NULL; } /* * Get default applications used to open this mime-type * * The returned string was newly allocated, and should be freed when no longer * used. If NULL is returned, that means a default app is not set for this * mime-type. This is very roughly based on specs: * http://standards.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html * * The old defaults.list is also checked. */ char* mime_type_get_default_action( const char* type ) { /* FIXME: need to check parent types if default action of current type is not set. */ return data_dir_foreach( (DataDirFunc)get_default_action, type, NULL ); } /* * Set applications used to open or never used to open this mime-type * desktop_id is the name of *.desktop file. * action == * MIME_TYPE_ACTION_DEFAULT - make desktop_id the default app * MIME_TYPE_ACTION_APPEND - add desktop_id to Default and Added apps * MIME_TYPE_ACTION_REMOVE - add desktop id to Removed apps * * http://standards.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html */ void mime_type_update_association( const char* type, const char* desktop_id, int action ) { const char* groups[] = { "Default Applications", "Added Associations", "Removed Associations" }; GKeyFile* file; gsize len = 0; char* data = NULL; char** apps; gsize n_apps, i, k; char* str; char* new_action; gboolean is_present; gboolean data_changed = FALSE; if ( !( type && type[0] != '\0' && desktop_id && desktop_id[0] != '\0' ) ) { g_warning( "mime_type_update_association invalid type or desktop_id" ); return; } if ( action > MIME_TYPE_ACTION_REMOVE || action < MIME_TYPE_ACTION_DEFAULT ) { g_warning( "mime_type_update_association invalid action" ); return; } // Load current mimeapps.list content, if available file = g_key_file_new(); // $XDG_CONFIG_HOME=[~/.config]/mimeapps.list char* path = g_build_filename( g_get_user_config_dir(), "mimeapps.list", NULL ); g_key_file_load_from_file( file, path, 0, NULL ); for ( k = 0; k < G_N_ELEMENTS( groups ); k++ ) { new_action = NULL; is_present = FALSE; apps = g_key_file_get_string_list( file, groups[k], type, &n_apps, NULL ); if ( apps ) { for ( i = 0; i < n_apps; ++i ) { g_strstrip( apps[i] ); if ( apps[i][0] != '\0' ) { if ( !strcmp( apps[i], desktop_id ) ) { // found desktop_id already in groups[k] list if ( action == MIME_TYPE_ACTION_DEFAULT ) { if ( k < 2 ) { // Default Applications or Added Associations if ( i == 0 ) { // is already first - skip change is_present = TRUE; break; } // in later position - remove it continue; } else { // Removed Associations - remove it is_present = TRUE; continue; } } else if ( action == MIME_TYPE_ACTION_APPEND ) { if ( k < 2 ) { // Default or Added - already present, skip change is_present = TRUE; break; } else { // Removed Associations - remove it is_present = TRUE; continue; } } else //if ( action == MIME_TYPE_ACTION_REMOVE ) { if ( k < 2 ) { // Default or Added - remove it is_present = TRUE; continue; } else { // Removed Associations - already present is_present = TRUE; break; } } } // copy other apps to new list preserving order str = new_action; new_action = g_strdup_printf( "%s%s;", str ? str : "", apps[i] ); g_free( str ); } } g_strfreev( apps ); } // update key string if needed if ( action < MIME_TYPE_ACTION_REMOVE ) { if ( ( k < 2 && !is_present ) || ( k == 2 && is_present ) ) { if ( k < 2 ) { // add to front of Default or Added list str = new_action; if ( action == MIME_TYPE_ACTION_DEFAULT ) new_action = g_strdup_printf( "%s;%s", desktop_id, new_action ? new_action : "" ); else //if ( action == MIME_TYPE_ACTION_APPEND ) new_action = g_strdup_printf( "%s%s;", new_action ? new_action : "", desktop_id ); g_free( str ); } if ( new_action ) g_key_file_set_string( file, groups[k], type, new_action ); else g_key_file_remove_key( file, groups[k], type, NULL ); data_changed = TRUE; } } else //if ( action == MIME_TYPE_ACTION_REMOVE ) { if ( ( k < 2 && is_present ) || ( k == 2 && !is_present ) ) { if ( k == 2 ) { // add to end of Removed list str = new_action; new_action = g_strdup_printf( "%s%s;", new_action ? new_action : "", desktop_id ); g_free( str ); } if ( new_action ) g_key_file_set_string( file, groups[k], type, new_action ); else g_key_file_remove_key( file, groups[k], type, NULL ); data_changed = TRUE; } } g_free( new_action ); } // save updated mimeapps.list if ( data_changed ) { data = g_key_file_to_data( file, &len, NULL ); save_to_file( path, data, len ); g_free( data ); } g_key_file_free( file ); g_free( path ); } spacefm-1.0.5/src/mime-type/mime-action.h000066400000000000000000000056021264770501700202170ustar00rootroot00000000000000/* * mime-action.h * * Copyright 2007 PCMan * * 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 3 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. */ #ifndef _MIME_ACTION_H_INCLUDED_ #define _MIME_ACTION_H_INCLUDED_ #include G_BEGIN_DECLS enum { MIME_TYPE_ACTION_DEFAULT, MIME_TYPE_ACTION_APPEND, MIME_TYPE_ACTION_REMOVE }; /* * Get a list of applications supporting this mime-type * The returned string array was newly allocated, and should be * freed with g_strfreev() when no longer used. */ char** mime_type_get_actions( const char* type ); /* * Add an applications used to open this mime-type * desktop_id is the name of *.desktop file. * * custom_desktop: used to store name of the newly created user-custom desktop file, can be NULL. */ void mime_type_add_action( const char* type, const char* desktop_id, char** custom_desktop ); /* * Check if an applications currently set to open this mime-type * desktop_id is the name of *.desktop file. */ gboolean mime_type_has_action( const char* type, const char* desktop_id ); /* * Get default applications used to open this mime-type * * The returned string was newly allocated, and should be freed when no longer * used. If NULL is returned, that means a default app is not set for this * mime-type. This is very roughly based on specs: * http://standards.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html * * The old defaults.list is also checked. */ char* mime_type_get_default_action( const char* type ); /* * Set applications used to open or never used to open this mime-type * desktop_id is the name of *.desktop file. * action == * MIME_TYPE_ACTION_DEFAULT - make desktop_id the default app * MIME_TYPE_ACTION_APPEND - add desktop_id to Default and Added apps * MIME_TYPE_ACTION_REMOVE - add desktop id to Removed apps * * http://standards.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html */ void mime_type_update_association( const char* type, const char* desktop_id, int action ); /* Locate the file path of desktop file by desktop_id */ char* mime_type_locate_desktop_file( const char* dir, const char* desktop_id ); G_END_DECLS #endif spacefm-1.0.5/src/mime-type/mime-cache.c000066400000000000000000000406001264770501700177750ustar00rootroot00000000000000/* * mime-cache.c * * Copyright 2007 PCMan * * 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 3 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. */ #ifdef HAVE_CONFIG_H #include #endif #include "mime-cache.h" #include #include "glib-mem.h" #include #include #include #ifdef HAVE_MMAP #include #endif #include #include #include #define LIB_MAJOR_VERSION 1 /* FIXME: since mime-cache 1.2, weight is splitted into three parts * only lower 8 bit contains weight, and higher bits are flags and case-sensitivity. * anyway, since we don't support weight at all, it'll be fixed later. * We claimed that we support 1.2 to cheat pcmanfm as a temporary quick dirty fix * for the broken file manager, but this should be correctly done in the future. * Weight and case-sensitivity are not handled now. */ #define LIB_MAX_MINOR_VERSION 2 #define LIB_MIN_MINOR_VERSION 0 /* handle byte order here */ #define VAL16(buffrer, idx) GUINT16_FROM_BE(*(guint16*)(buffer + idx)) #define VAL32(buffer, idx) GUINT32_FROM_BE(*(guint32*)(buffer + idx)) /* cache header */ #define MAJOR_VERSION 0 #define MINOR_VERSION 2 #define ALIAS_LIST 4 #define PARENT_LIST 8 #define LITERAL_LIST 12 #define SUFFIX_TREE 16 #define GLOB_LIST 20 #define MAGIC_LIST 24 #define NAMESPACE_LIST 28 MimeCache* mime_cache_new( const char* file_path ) { MimeCache* cache = NULL; cache = g_slice_new0( MimeCache ); if( G_LIKELY( file_path ) ) mime_cache_load( cache, file_path ); return cache; } static void mime_cache_unload( MimeCache* cache, gboolean clear ) { if( G_LIKELY(cache->buffer) ) { #ifdef HAVE_MMAP munmap( (char*)cache->buffer, cache->size ); #else g_free( cache->buffer ); #endif } g_free( cache->file_path ); if( clear ) memset( cache, 0, sizeof(MimeCache) ); } void mime_cache_free( MimeCache* cache ) { mime_cache_unload( cache, FALSE ); g_slice_free( MimeCache, cache ); } gboolean mime_cache_load( MimeCache* cache, const char* file_path ) { guint majv, minv; int fd = -1; struct stat statbuf; char* buffer = NULL; guint32 offset; /* Unload old cache first if needed */ if( file_path == cache->file_path ) cache->file_path = NULL; /* steal the string to prevent it from being freed during unload */ mime_cache_unload( cache, TRUE ); /* Store the file path */ cache->file_path = g_strdup( file_path ); /* Open the file and map it into memory */ fd = open ( file_path, O_RDONLY, 0 ); if ( fd < 0 ) return FALSE; if( fstat ( fd, &statbuf ) < 0 ) { close( fd ); return FALSE; } #ifdef HAVE_MMAP buffer = mmap( NULL, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0 ); #else buffer = g_malloc( statbuf.st_size ); if( buffer ) read( fd, buffer, statbuf.st_size ); else buffer = (void*)-1; #endif close( fd ); if ( buffer == (void*)-1 ) return FALSE; majv = VAL16( buffer, MAJOR_VERSION ); minv = VAL16( buffer, MINOR_VERSION); /* Check version */ if ( majv > LIB_MAJOR_VERSION || minv > LIB_MAX_MINOR_VERSION || minv < LIB_MIN_MINOR_VERSION ) { #ifdef HAVE_MMAP munmap ( buffer, statbuf.st_size ); #else g_free( buffer ); #endif return FALSE; } /* Since mime.cache v1.1, shared mime info v0.4 * suffix tree is replaced with reverse suffix tree, * and glob and literal strings are sorted by weight. */ if( minv >= 1 ) { cache->has_reverse_suffix = TRUE; cache->has_str_weight = TRUE; } cache->buffer = buffer; cache->size = statbuf.st_size; offset = VAL32(buffer, ALIAS_LIST); cache->alias = buffer + offset + 4; cache->n_alias = VAL32( buffer, offset ); offset = VAL32(buffer, PARENT_LIST); cache->parents = buffer + offset + 4; cache->n_parents = VAL32( buffer, offset ); offset = VAL32(buffer, LITERAL_LIST); cache->literals = buffer + offset + 4; cache->n_literals = VAL32( buffer, offset ); offset = VAL32(buffer, GLOB_LIST); cache->globs = buffer + offset + 4; cache->n_globs = VAL32( buffer, offset ); offset = VAL32(buffer, SUFFIX_TREE); cache->suffix_roots = buffer + VAL32( buffer + offset, 4 ); cache->n_suffix_roots = VAL32( buffer, offset ); offset = VAL32(buffer, MAGIC_LIST); cache->n_magics = VAL32( buffer, offset ); cache->magic_max_extent = VAL32( buffer + offset, 4 ); cache->magics = buffer + VAL32( buffer + offset, 8 ); return TRUE; } static gboolean magic_rule_match( const char* buf, const char* rule, const char* data, int len ) { gboolean match = FALSE; guint32 offset = VAL32( rule, 0 ); guint32 range = VAL32( rule, 4 ); guint32 max_offset = offset + range; guint32 val_len = VAL32( rule, 12 ); for( ; offset < max_offset && (offset + val_len) <= len ; ++offset ) { guint32 val_off = VAL32( rule, 16 ); guint32 mask_off = VAL32( rule, 20 ); const char* value = buf + val_off; /* FIXME: word_size and byte order are not supported! */ if( G_UNLIKELY( mask_off > 0 ) ) /* compare with mask applied */ { int i = 0; const char* mask = buf + mask_off; for( ; i < val_len; ++i ) { if( (data[offset + i] & mask[i]) != value[i] ) break; } if( i >= val_len ) match = TRUE; } else /* direct comparison */ { if( 0 == memcmp( value, data + offset, val_len ) ) match = TRUE; } if( match ) { guint32 n_children = VAL32( rule, 24 ); if( n_children > 0 ) { guint32 first_child_off = VAL32( rule, 28 ); guint i; rule = buf + first_child_off; for( i = 0; i < n_children; ++i, rule += 32 ) { if( magic_rule_match( buf, rule, data, len ) ) return TRUE; } } else return TRUE; } } return FALSE; } static gboolean magic_match( const char* buf, const char* magic, const char* data, int len ) { guint32 n_rules = VAL32( magic, 8 ); guint32 rules_off = VAL32( magic, 12 ); const char* rule = buf + rules_off; int i; for( i = 0; i < n_rules; ++i, rule += 32 ) if( magic_rule_match( buf, rule, data, len ) ) return TRUE; return FALSE; } const char* mime_cache_lookup_magic( MimeCache* cache, const char* data, int len ) { const char* magic = cache->magics; int i; if( G_UNLIKELY( ! data || (0 == len) || ! magic ) ) return NULL; for( i = 0; i < cache->n_magics; ++i, magic += 16 ) { if( magic_match( cache->buffer, magic, data, len ) ) { return cache->buffer + VAL32( magic, 4 ); } } return NULL; } static const char* lookup_suffix_nodes( const char* buf, const char* nodes, guint32 n, const char* name ) { gunichar uchar; uchar = g_unichar_tolower( g_utf8_get_char( name ) ); /* binary search */ int upper = n, lower = 0; int middle = n/2; while( upper >= lower ) { const char* node =nodes + middle * 16; guint32 ch = VAL32(node, 0); if( uchar < ch ) upper = middle - 1; else if( uchar > ch ) lower = middle + 1; else /* uchar == ch */ { guint32 n_children = VAL32(node, 8); name =g_utf8_next_char(name); if( n_children > 0 ) { guint32 first_child_off; if( uchar == 0 ) return NULL; if( ! name || 0 == name[0] ) { guint32 offset = VAL32(node, 4); return offset ? buf + offset : NULL; } first_child_off = VAL32(node, 12); return lookup_suffix_nodes( buf, (buf + first_child_off), n_children, name ); } else { if( ! name || 0 == name[0] ) { guint32 offset = VAL32(node, 4); return offset ? buf + offset : NULL; } return NULL; } } middle = (upper + lower) / 2; } return NULL; } /* Reverse suffix tree is used since mime.cache 1.1 (shared mime info 0.4) * Returns the address of the found "node", not mime-type. * FIXME: 1. Should be optimized with binary search * 2. Should consider weight of suffix nodes */ static const char* lookup_reverse_suffix_nodes( const char* buf, const char* nodes, guint32 n, const char* name, const char* suffix, const char** suffix_pos ) { const char *ret = NULL; const char *_suffix_pos = NULL, *cur_suffix_pos = (const char*)suffix + 1; const char* leaf_node = NULL; gunichar uchar; uchar = suffix ? g_unichar_tolower( g_utf8_get_char( suffix ) ) : 0; /* g_debug("%s: suffix= '%s'", name, suffix); */ int i; for( i = 0; i < n; ++i ) { const char* node =nodes + i * 12; guint32 ch = VAL32(node, 0); _suffix_pos = suffix; if( G_LIKELY( ch ) ) { if( ch == uchar ) { guint32 n_children = VAL32(node, 4); guint32 first_child_off = VAL32(node, 8); leaf_node = lookup_reverse_suffix_nodes( buf, buf + first_child_off, n_children, name, g_utf8_find_prev_char(name, suffix), &_suffix_pos ); if( leaf_node && _suffix_pos < cur_suffix_pos ) { ret = leaf_node; cur_suffix_pos = _suffix_pos; } } } else /* ch == 0 */ { /* guint32 weight = VAL32(node, 8); */ /* suffix is found in the tree! */ if( suffix < cur_suffix_pos ) { ret = node; cur_suffix_pos = suffix; } } } *suffix_pos = cur_suffix_pos; return ret; } const char* mime_cache_lookup_suffix( MimeCache* cache, const char* filename, const char** suffix_pos ) { const char* root = cache->suffix_roots; int i, n = cache->n_suffix_roots; const char* mime_type = NULL, *ret = NULL, *prev_suffix_pos = (const char*)-1; int fn_len, n_nodes; if( G_UNLIKELY( ! filename || ! *filename || 0 == n ) ) return NULL; if( cache->has_reverse_suffix ) /* since mime.cache ver: 1.1 */ { const char *suffix, *leaf_node, *_suffix_pos = (const char*)-1; fn_len = strlen( filename ); suffix = g_utf8_find_prev_char( filename, filename + fn_len ); leaf_node = lookup_reverse_suffix_nodes( cache->buffer, root, n, filename, suffix, &_suffix_pos ); if( leaf_node ) { mime_type = cache->buffer + VAL32( leaf_node, 4 ); /* g_debug( "found: %s", mime_type ); */ *suffix_pos = _suffix_pos; ret = mime_type; } } else /* before mime.cache ver: 1.1 */ { for( i = 0; i buffer, cache->buffer + first_child_off, n, g_utf8_next_char(suffix) ); if( mime_type && suffix < prev_suffix_pos ) /* we want the longest suffix matched. */ { ret = mime_type; prev_suffix_pos = suffix; } }while( (suffix = strchr( suffix + 1, ch )) ); } *suffix_pos = ret ? prev_suffix_pos : (const char*)-1; } return ret; } static const char* lookup_str_in_entries( MimeCache* cache, const char* entries, int n, const char* str ) { int upper = n, lower = 0; int middle = upper/2; if( G_LIKELY( entries && str && *str ) ) { /* binary search */ while( upper >= lower ) { const char* entry = entries + middle * 8; const char* str2 = cache->buffer + VAL32(entry, 0); int comp = strcmp( str, str2 ); if( comp < 0 ) upper = middle - 1; else if( comp > 0 ) lower = middle + 1; else /* comp == 0 */ return ( cache->buffer+ VAL32(entry, 4) ); middle = (upper + lower) / 2; } } return NULL; } const char* mime_cache_lookup_alias( MimeCache* cache, const char* mime_type ) { return lookup_str_in_entries( cache, cache->alias, cache->n_alias, mime_type ); } const char* mime_cache_lookup_literal( MimeCache* cache, const char* filename ) { /* FIXME: weight is used in literal lookup after mime.cache v1.1. * However, it's poorly documented. So I've no idea how to implement this. */ if( cache->has_str_weight ) { const char* entries = cache->literals; int n = cache->n_literals; int upper = n, lower = 0; int middle = upper/2; if( G_LIKELY( entries && filename && *filename ) ) { /* binary search */ while( upper >= lower ) { /* The entry size is different in v 1.1 */ const char* entry = entries + middle * 12; const char* str2 = cache->buffer + VAL32(entry, 0); int comp = strcmp( filename, str2 ); if( comp < 0 ) upper = middle - 1; else if( comp > 0 ) lower = middle + 1; else /* comp == 0 */ return ( cache->buffer+ VAL32(entry, 4) ); middle = (upper + lower) / 2; } } return NULL; } return lookup_str_in_entries( cache, cache->literals, cache->n_literals, filename ); } const char* mime_cache_lookup_glob( MimeCache* cache, const char* filename, int *glob_len ) { const char* entry = cache->globs, *type = NULL; int i; int max_glob_len = 0; /* entry size is changed in mime.cache 1.1 */ size_t entry_size = cache->has_str_weight ? 12 : 8; for( i = 0; i < cache->n_globs; ++i ) { const char* glob = cache->buffer + VAL32( entry, 0 ); int _glob_len; if( 0 == fnmatch( glob, filename, 0 ) && (_glob_len = strlen(glob)) > max_glob_len ) { max_glob_len = _glob_len; type = (cache->buffer + VAL32( entry, 4 )); } entry += entry_size; } *glob_len = max_glob_len; return type; } const char** mime_cache_lookup_parents( MimeCache* cache, const char* mime_type ) { guint32 n, i; const char** result; const char* parents; parents = lookup_str_in_entries( cache, cache->parents, cache->n_parents, mime_type ); if( ! parents ) return NULL; n = VAL32(parents, 0); parents += 4; result = (const char**)g_new( char*, n + 1 ); for( i = 0; i < n; ++i ) { guint32 parent_off = VAL32( parents, i * 4 ); const char* parent = cache->buffer + parent_off; result[i] = parent; } result[ n ] = NULL; return result; } spacefm-1.0.5/src/mime-type/mime-cache.h000066400000000000000000000045241264770501700200070ustar00rootroot00000000000000/* * mime-cache.h * * Copyright 2007 PCMan * * 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 3 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. */ #ifndef _MIME_CACHE_H_INCLUDED_ #define _MIME_CACHE_H_INCLUDED_ #include #include #include G_BEGIN_DECLS struct _MimeCache { char* file_path; gboolean has_reverse_suffix : 1; /* since mime.cache v1.1, shared mime info v0.4 */ gboolean has_str_weight : 1; /* since mime.cache v1.1, shared mime info v0.4 */ const char* buffer; guint size; guint32 n_alias; const char* alias; guint32 n_parents; const char* parents; guint32 n_literals; const char* literals; guint32 n_globs; const char* globs; guint32 n_suffix_roots; const char* suffix_roots; guint32 n_magics; guint32 magic_max_extent; const char* magics; }; typedef struct _MimeCache MimeCache; MimeCache* mime_cache_new( const char* file_path ); gboolean mime_cache_load( MimeCache* cache, const char* file_path ); gboolean mime_cache_reload( MimeCache* cache ); void mime_cache_free( MimeCache* cache ); const char* mime_cache_lookup_literal( MimeCache* cache, const char* filename ); const char* mime_cache_lookup_glob( MimeCache* cache, const char* filename, int *glob_len ); const char* mime_cache_lookup_suffix( MimeCache* cache, const char* filename, const char** suffix_pos ); const char* mime_cache_lookup_magic( MimeCache* cache, const char* data, int len ); const char** mime_cache_lookup_parents( MimeCache* cache, const char* mime_type ); const char* mime_cache_lookup_alias( MimeCache* cache, const char* mime_type ); G_END_DECLS #endif spacefm-1.0.5/src/mime-type/mime-type.c000066400000000000000000000553261264770501700177260ustar00rootroot00000000000000/* * mime-type.c * * Copyright 2007 Houng Jen Yee (PCMan) * * 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 3 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. */ /* Currently this library is NOT MT-safe */ #ifndef _GNU_SOURCE #define _GNU_SOURCE // euidaccess #endif #ifdef HAVE_CONFIG_H #include #endif #include "mime-type.h" #include "mime-cache.h" #include #include #include #include #include #include "glib-mem.h" /* * FIXME: * Currently, mmap cannot be used because of the limitation of mmap. * When a file is mapped for mime-type sniffing (checking file magic), * they could be deleted during the check and hence result in Bus error. * (Refer to the man page of mmap for detail) * So here I undef HAVE_MMAP to disable the implementation using mmap. */ #undef HAVE_MMAP #ifdef HAVE_MMAP #include #endif /* max extent used to checking text files */ #define TEXT_MAX_EXTENT 512 const char xdg_mime_type_unknown[] = "application/octet-stream"; const char xdg_mime_type_directory[] = "inode/directory"; const char xdg_mime_type_executable[] = "application/x-executable"; const char xdg_mime_type_plain_text[] = "text/plain"; static MimeCache** caches = NULL; static guint n_caches = 0; guint32 mime_cache_max_extent = 0; /* allocated buffer used for mime magic checking to prevent frequent memory allocation */ static char* mime_magic_buf = NULL; /* for MT safety, the buffer should be locked */ G_LOCK_DEFINE_STATIC(mime_magic_buf); /* load all mime.cache files on the system, * including /usr/share/mime/mime.cache, * /usr/local/share/mime/mime.cache, * and $HOME/.local/share/mime/mime.cache. */ static void mime_cache_load_all(); /* free all mime.cache files on the system */ static void mime_cache_free_all(); static gboolean mime_type_is_data_plain_text( const char* data, int len ); /* * Get mime-type of the specified file (quick, but less accurate): * Mime-type of the file is determined by cheking the filename only. * If statbuf != NULL, it will be used to determine if the file is a directory. */ const char* mime_type_get_by_filename( const char* filename, struct stat64* statbuf ) { const char* type = NULL, *suffix_pos = NULL, *prev_suffix_pos = (const char*)-1; int i; MimeCache* cache; if( G_UNLIKELY( statbuf && S_ISDIR( statbuf->st_mode ) ) ) return XDG_MIME_TYPE_DIRECTORY; for( i = 0; ! type && i < n_caches; ++i ) { cache = caches[i]; type = mime_cache_lookup_literal( cache, filename ); if( G_LIKELY( ! type ) ) { const char* _type = mime_cache_lookup_suffix( cache, filename, &suffix_pos ); if( _type && suffix_pos < prev_suffix_pos ) { type = _type; prev_suffix_pos = suffix_pos; } } } if( G_UNLIKELY( ! type ) ) /* glob matching */ { int max_glob_len = 0, glob_len = 0; for( i = 0; ! type && i < n_caches; ++i ) { cache = caches[i]; const char* matched_type; matched_type = mime_cache_lookup_glob( cache, filename, &glob_len ); /* according to the mime.cache 1.0 spec, we should use the longest glob matched. */ if( matched_type && glob_len > max_glob_len ) { type = matched_type; max_glob_len = glob_len; } } } return type && *type ? type : XDG_MIME_TYPE_UNKNOWN; } /* * Get mime-type info of the specified file (slow, but more accurate): * To determine the mime-type of the file, mime_type_get_by_filename() is * tried first. If the mime-type couldn't be determined, the content of * the file will be checked, which is much more time-consuming. * If statbuf is not NULL, it will be used to determine if the file is a directory, * or if the file is an executable file; otherwise, the function will call stat() * to gather this info itself. So if you already have stat info of the file, * pass it to the function to prevent checking the file stat again. * If you have basename of the file, pass it to the function can improve the * efifciency, too. Otherwise, the function will try to get the basename of * the specified file again. */ const char* mime_type_get_by_file( const char* filepath, struct stat64* statbuf, const char* basename ) { const char* type; struct stat64 _statbuf; /* IMPORTANT!! vfs-file-info.c:vfs_file_info_reload_mime_type() depends * on this function only using the st_mode from statbuf. * Also see vfs-dir.c:vfs_dir_load_thread */ if( statbuf == NULL || G_UNLIKELY( S_ISLNK(statbuf->st_mode) ) ) { statbuf = &_statbuf; if( stat64 ( filepath, statbuf ) == -1 ) return XDG_MIME_TYPE_UNKNOWN; } if( S_ISDIR( statbuf->st_mode ) ) return XDG_MIME_TYPE_DIRECTORY; if( basename == NULL ) { basename = g_utf8_strrchr( filepath, -1, '/' ); if( G_LIKELY( basename ) ) ++basename; else basename = filepath; } if( G_LIKELY(basename) ) { type = mime_type_get_by_filename( basename, statbuf ); if( G_LIKELY( strcmp( type, XDG_MIME_TYPE_UNKNOWN ) ) ) return type; type = NULL; } //sfm added check for reg or link due to hangs on fifo and chr dev if ( G_LIKELY( statbuf->st_size > 0 && ( S_ISREG( statbuf->st_mode ) || S_ISLNK( statbuf->st_mode ) ) ) ) { int fd = -1; char* data; /* Open the file and map it into memory */ fd = open ( filepath, O_RDONLY, 0 ); if ( fd != -1 ) { int len = mime_cache_max_extent < statbuf->st_size ? mime_cache_max_extent : statbuf->st_size; #ifdef HAVE_MMAP data = (char*) mmap( NULL, len, PROT_READ, MAP_SHARED, fd, 0 ); #else /* * FIXME: Can g_alloca() be used here? It's very fast, but is it safe? * Actually, we can allocate a block of memory with the size of mime_cache_max_extent, * then we don't need to do dynamic allocation/free every time, but multi-threading * will be a nightmare, so... */ /* try to lock the common buffer */ if( G_LIKELY( G_TRYLOCK( mime_magic_buf ) ) ) data = mime_magic_buf; else /* the buffer is in use, allocate new one */ data = g_malloc( len ); len = read( fd, data, len ); if( G_UNLIKELY( len == -1 ) ) { if( G_LIKELY( data == mime_magic_buf ) ) G_UNLOCK( mime_magic_buf ); else g_free( data ); data = (void*)-1; } #endif if( data != (void*)-1 ) { int i; for( i = 0; ! type && i < n_caches; ++i ) type = mime_cache_lookup_magic( caches[i], data, len ); /* Check for executable file */ if( ! type && g_file_test( filepath, G_FILE_TEST_IS_EXECUTABLE ) ) type = XDG_MIME_TYPE_EXECUTABLE; /* fallback: check for plain text */ if( ! type ) { if( mime_type_is_data_plain_text( data, len > TEXT_MAX_EXTENT ? TEXT_MAX_EXTENT : len ) ) type = XDG_MIME_TYPE_PLAIN_TEXT; } #ifdef HAVE_MMAP munmap ( (char*)data, len ); #else if( G_LIKELY( data == mime_magic_buf ) ) G_UNLOCK( mime_magic_buf ); /* unlock the common buffer */ else /* we use our own buffer */ g_free( data ); #endif } close( fd ); } } else { /* empty file can be viewed as text file */ type = XDG_MIME_TYPE_PLAIN_TEXT; } return type && *type ? type : XDG_MIME_TYPE_UNKNOWN; } static char* parse_xml_icon( const char* buf, size_t len, gboolean is_local ) { // Note: This function modifies contents of buf char* icon_tag = NULL; char* end_tag; if ( is_local ) { // "" is only used in user .local XML files // find " ); if ( !end_tag ) return NULL; end_tag[0] = '\0'; if ( strchr( end_tag, '\n' ) ) return NULL; // linefeed in tag // remove quotes if ( icon_tag[0] == '"' ) icon_tag++; if ( end_tag[-1] == '"' ) end_tag[-1] = '\0'; if ( icon_tag == end_tag ) return NULL; // blank name return g_strdup( icon_tag ); } static char* parse_xml_desc( const char* buf, size_t len, const char* locale ) { const char *buf_end = buf + len; const char *comment = NULL, *comment_end, *eng_comment; size_t eng_comment_len = 0, comment_len = 0; char target[64]; static const char end_comment_tag[]=""; eng_comment = g_strstr_len( buf, len, "" ); /* default English comment */ if( G_UNLIKELY( ! eng_comment ) ) /* This xml file is invalid */ return NULL; len -= 9; eng_comment += 9; comment_end = g_strstr_len( eng_comment, len, end_comment_tag ); /* find */ if( G_UNLIKELY( ! comment_end ) ) return NULL; eng_comment_len = comment_end - eng_comment; if( G_LIKELY( locale ) ) { int target_len = g_snprintf( target, 64, "", locale); buf = comment_end + 10; len = (buf_end - buf); if( G_LIKELY( ( comment = g_strstr_len( buf, len, target ) ) ) ) { len -= target_len; comment += target_len; comment_end = g_strstr_len( comment, len, end_comment_tag ); /* find */ if( G_LIKELY( comment_end ) ) comment_len = (comment_end - comment); else comment = NULL; } } if( G_LIKELY( comment ) ) return g_strndup( comment, comment_len ); return g_strndup( eng_comment, eng_comment_len ); } static char* _mime_type_get_desc_icon( const char* file_path, const char* locale, gboolean is_local, char** icon_name ) { int fd; struct stat statbuf; // skip stat64 char *buffer, *_locale, *desc; //char file_path[ 256 ]; //sfm to improve speed, file_path is passed //g_snprintf( file_path, 256, "%s/mime/%s.xml", data_dir, type ); fd = open ( file_path, O_RDONLY, 0 ); if ( G_UNLIKELY( fd == -1 ) ) return NULL; if( G_UNLIKELY( fstat ( fd, &statbuf ) == -1 ) ) { close( fd ); return NULL; } #ifdef HAVE_MMAP buffer = (char*)mmap( NULL, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0 ); #else buffer = (char*)g_malloc( statbuf.st_size ); if( read( fd, buffer, statbuf.st_size ) == -1 ) { g_free( buffer ); buffer = (char*)-1; } #endif close( fd ); if ( G_UNLIKELY( buffer == (void*)-1 ) ) return NULL; _locale = NULL; if ( !locale ) { const char* const * langs = g_get_language_names(); char* dot = strchr( langs[0], '.' ); if( dot ) locale = _locale = g_strndup( langs[0], (size_t)(dot - langs[0]) ); else locale = langs[0]; } desc = parse_xml_desc( buffer, statbuf.st_size, locale ); g_free( _locale ); // only look for tag in .local if ( is_local && icon_name && *icon_name == NULL ) *icon_name = parse_xml_icon( buffer, statbuf.st_size, is_local ); #ifdef HAVE_MMAP munmap ( buffer, statbuf.st_size ); #else g_free( buffer ); #endif return desc; } /* Get human-readable description and icon name of the mime-type * If locale is NULL, current locale will be used. * The returned string should be freed when no longer used. * The icon_name will only be set if points to NULL, and must be freed. * * Note: Spec is not followed for icon. If icon tag is found in .local * xml file, it is used. Otherwise vfs_mime_type_get_icon guesses the icon. * The Freedesktop spec /usr/share/mime/generic-icons is NOT parsed. */ char* mime_type_get_desc_icon( const char* type, const char* locale, char** icon_name ) { char* desc; const gchar* const * dir; char file_path[ 256 ]; int acc; /* //sfm 0.7.7+ FIXED: * According to specs on freedesktop.org, user_data_dir has * higher priority than system_data_dirs, but in most cases, there was * no file, or very few files in user_data_dir, so checking it first will * result in many unnecessary open() system calls, yealding bad performance. * Since the spec really sucks, we don't follow it here. */ /* FIXME: This path shouldn't be hard-coded. */ g_snprintf( file_path, 256, "%s/mime/%s.xml", g_get_user_data_dir(), type ); #if defined(HAVE_EUIDACCESS) acc = euidaccess( file_path, F_OK ); #elif defined(HAVE_EACCESS) acc = eaccess( file_path, F_OK ); #else acc = 0; #endif if ( acc != -1 ) { desc = _mime_type_get_desc_icon( file_path, locale, TRUE, icon_name ); if ( desc ) return desc; } // look in system dirs dir = g_get_system_data_dirs(); for( ; *dir; ++dir ) { /* FIXME: This path shouldn't be hard-coded. */ g_snprintf( file_path, 256, "%s/mime/%s.xml", *dir, type ); #if defined(HAVE_EUIDACCESS) acc = euidaccess( file_path, F_OK ); #elif defined(HAVE_EACCESS) acc = eaccess( file_path, F_OK ); #else acc = 0; #endif if ( acc != -1 ) { desc = _mime_type_get_desc_icon( file_path, locale, FALSE, icon_name ); if ( G_LIKELY(desc) ) return desc; } } return NULL; } void mime_type_finalize() { /* if( G_LIKELY( table ) ) { g_hash_table_destroy( table ); table = NULL; } */ mime_cache_free_all(); } #if 0 void test_parents(const char* type) { int i; const char** parents = NULL; const char** p; for( i = 0; i < n_caches; ++i ) { parents = mime_cache_lookup_parents( caches[i], type ); if( parents ) break; } if( parents ) for( p = parents; *p; ++p ) { g_debug( "%s is parent of %s", *p, type ); } else g_debug( "no parent found" ); } void test_alias( const char* type ) { int i; const char* alias = NULL; for( i = 0; i < n_caches; ++i ) { alias = mime_cache_lookup_alias( caches[i], type ); if( alias ) break; } g_debug("test:\nalias of %s is %s", type, alias ); } #endif void mime_type_init() { mime_cache_load_all(); // table = g_hash_table_new_full( g_str_hash, g_str_equal, g_free, (GDestroyNotify)mime_type_unref ); } /* load all mime.cache files on the system, * including /usr/share/mime/mime.cache, * /usr/local/share/mime/mime.cache, * and $HOME/.local/share/mime/mime.cache. */ void mime_cache_load_all() { const char* const * dirs; int i; const char filename[] = "/mime/mime.cache"; char* path; dirs = g_get_system_data_dirs(); n_caches = g_strv_length( (char**)dirs ) + 1; caches = (MimeCache**)g_slice_alloc( n_caches * sizeof(MimeCache*) ); path = g_build_filename( g_get_user_data_dir(), filename, NULL ); caches[0] = mime_cache_new( path ); g_free( path ); if( caches[0]->magic_max_extent > mime_cache_max_extent ) mime_cache_max_extent = caches[0]->magic_max_extent; for( i = 1; i < n_caches; ++i ) { path = g_build_filename( dirs[i - 1], filename, NULL ); caches[ i ] = mime_cache_new( path ); g_free( path ); if( caches[i]->magic_max_extent > mime_cache_max_extent ) mime_cache_max_extent = caches[i]->magic_max_extent; } mime_magic_buf = g_malloc( mime_cache_max_extent ); return ; } /* free all mime.cache files on the system */ void mime_cache_free_all() { mime_cache_foreach( (GFunc)mime_cache_free, NULL ); g_slice_free1( n_caches * sizeof(MimeCache*), caches ); n_caches = 0; caches = NULL; mime_cache_max_extent = 0; g_free( mime_magic_buf ); mime_magic_buf = NULL; } /* Iterate through all mime caches */ void mime_cache_foreach( GFunc func, gpointer user_data ) { int i; for( i = 0; i < n_caches; ++i ) func( caches[i], user_data ); } gboolean mime_cache_reload( MimeCache* cache ) { int i; gboolean ret = mime_cache_load( cache, cache->file_path ); /* recalculate max magic extent */ for( i = 0; i < n_caches; ++i ) { if( caches[i]->magic_max_extent > mime_cache_max_extent ) mime_cache_max_extent = caches[i]->magic_max_extent; } G_LOCK( mime_magic_buf ); mime_magic_buf = g_realloc( mime_magic_buf, mime_cache_max_extent ); G_UNLOCK( mime_magic_buf ); return ret; } gboolean mime_type_is_data_plain_text( const char* data, int len ) { int i; if ( G_LIKELY( len >= 0 && data ) ) { for ( i = 0; i < len; ++i ) { if ( data[ i ] == '\0' ) return FALSE; } return TRUE; } return FALSE; } gboolean mime_type_is_text_file( const char *file_path, const char* mime_type ) { int file; int rlen; gboolean ret = FALSE; if( mime_type ) { if( !strcmp( mime_type, "application/pdf" ) ) // seems to think this is XDG_MIME_TYPE_PLAIN_TEXT return FALSE; if( mime_type_is_subclass( mime_type, XDG_MIME_TYPE_PLAIN_TEXT ) ) return TRUE; if( ! g_str_has_prefix( mime_type, "text/" ) && ! g_str_has_prefix( mime_type, "application/" ) ) return FALSE; } if( !file_path ) return FALSE; file = open ( file_path, O_RDONLY ); if ( file != -1 ) { struct stat64 statbuf; if( fstat64( file, &statbuf ) != -1 ) { if( S_ISREG( statbuf.st_mode ) ) { #ifdef HAVE_MMAP char* data; rlen = statbuf.st_size < TEXT_MAX_EXTENT ? statbuf.st_size : TEXT_MAX_EXTENT; data = (char*) mmap( NULL, rlen, PROT_READ, MAP_SHARED, file, 0 ); ret = mime_type_is_data_plain_text( data, rlen ); munmap ( (char*)data, rlen ); #else unsigned char data[ TEXT_MAX_EXTENT ]; rlen = read ( file, data, sizeof( data ) ); ret = mime_type_is_data_plain_text( (char*) data, rlen ); #endif } } close ( file ); } return ret; } gboolean mime_type_is_executable_file( const char *file_path, const char* mime_type ) { if ( !mime_type ) { mime_type = mime_type_get_by_file( file_path, NULL, NULL ); } /* * Only executable types can be executale. * Since some common types, such as application/x-shellscript, * are not in mime database, we have to add them ourselves. */ if ( mime_type != XDG_MIME_TYPE_UNKNOWN && (mime_type_is_subclass( mime_type, XDG_MIME_TYPE_EXECUTABLE ) || mime_type_is_subclass( mime_type, "application/x-shellscript" ) ) ) { if ( file_path ) { if ( ! g_file_test( file_path, G_FILE_TEST_IS_EXECUTABLE ) ) return FALSE; } return TRUE; } return FALSE; } /* Check if the specified mime_type is the subclass of the specified parent type */ gboolean mime_type_is_subclass( const char* type, const char* parent ) { int i; const char** parents = NULL; const char** p; /* special case, the type specified is identical to the parent type. */ if( G_UNLIKELY( 0 == strcmp(type, parent) ) ) return TRUE; for( i = 0; i < n_caches; ++i ) { parents = mime_cache_lookup_parents( caches[i], type ); if( parents ) { for( p = parents; *p; ++p ) { if( 0 == strcmp( parent, *p ) ) return TRUE; } } } return FALSE; } /* * Get all parent type of this mime_type * The returned string array should be freed with g_strfreev(). */ char** mime_type_get_parents( const char* type ) { int i; const char** parents = NULL; const char** p; GArray* ret = g_array_sized_new( TRUE, TRUE, sizeof(char*), 5 ); for( i = 0; i < n_caches; ++i ) { parents = mime_cache_lookup_parents( caches[i], type ); if( parents ) { for( p = parents; *p; ++p ) { char* parent = g_strdup( *p ); g_array_append_val( ret, parent ); } } } return (char**)g_array_free( ret, (0 == ret->len) ); } /* * Get all alias types of this mime_type * The returned string array should be freed with g_strfreev(). */ char** mime_type_get_alias( const char* type ) { int i; const char** alias = NULL; const char** p; GArray* ret = g_array_sized_new( TRUE, TRUE, sizeof(char*), 5 ); for( i = 0; i < n_caches; ++i ) { alias = (const char **) mime_cache_lookup_alias( caches[i], type ); if( alias ) { for( p = alias; *p; ++p ) { char* type = g_strdup( *p ); g_array_append_val( ret, type ); } } } return (char**)g_array_free( ret, (0 == ret->len) ); } /* * Get mime caches */ MimeCache** mime_type_get_caches( int* n ) { *n = n_caches; return caches; } spacefm-1.0.5/src/mime-type/mime-type.h000066400000000000000000000115021264770501700177170ustar00rootroot00000000000000/* * mime-type.h * * Copyright 2007 Houng Jen Yee (PCMan) * * 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 3 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. */ #ifndef _MIME_TYPE_H_INCLUDED_ #define _MIME_TYPE_H_INCLUDED_ #include #include #include #include "mime-action.h" #include "mime-cache.h" G_BEGIN_DECLS extern const char xdg_mime_type_unknown[]; #define XDG_MIME_TYPE_UNKNOWN xdg_mime_type_unknown extern const char xdg_mime_type_directory[]; #define XDG_MIME_TYPE_DIRECTORY xdg_mime_type_directory extern const char xdg_mime_type_executable[]; #define XDG_MIME_TYPE_EXECUTABLE xdg_mime_type_executable extern const char xdg_mime_type_plain_text[]; #define XDG_MIME_TYPE_PLAIN_TEXT xdg_mime_type_plain_text /* Opaque data structure storing information of recognized mime-types */ //typedef struct MimeInfo MimeInfo; /* Initialize the library */ void mime_type_init(); /* Reload the shared-mime-database */ gboolean mime_type_reload(); /* Finalize the library and free related resources */ void mime_type_finalize(); /* Get additional info of the specified mime-type */ //MimeInfo* mime_type_get_by_type( const char* type_name ); /* * Get mime-type info of the specified file (quick, but less accurate): * Mime-type of the file is determined by cheking the filename only. * If statbuf != NULL, it will be used to determine if the file is a directory, * or if the file is an executable file. */ const char* mime_type_get_by_filename( const char* filename, struct stat64* statbuf ); /* * Get mime-type info of the specified file (slow, but more accurate): * To determine the mime-type of the file, mime_type_get_by_filename() is * tried first. If the mime-type couldn't be determined, the content of * the file will be checked, which is much more time-consuming. * If statbuf is not NULL, it will be used to determine if the file is a directory, * or if the file is an executable file; otherwise, the function will call stat() * to gather this info itself. So if you already have stat info of the file, * pass it to the function to prevent checking the file stat again. * If you have basename of the file, pass it to the function can improve the * efifciency, too. Otherwise, the function will try to get the basename of * the specified file again. */ const char* mime_type_get_by_file( const char* filepath, struct stat64* statbuf, const char* basename ); gboolean mime_type_is_text_file( const char * file_path, const char * mime_type ); gboolean mime_type_is_executable_file( const char * file_path, const char * mime_type ); /* Check if the specified mime_type is the subclass of the specified parent type */ gboolean mime_type_is_subclass( const char* type, const char* parent ); /* * Get all parent type of this mime_type * The returned string array should be freed with g_strfreev(). */ char** mime_type_get_parents( const char* type ); /* * Get all alias types of this mime_type * The returned string array should be freed with g_strfreev(). */ char** mime_type_get_alias( const char* type ); /* Add reference to the MimeInfo */ //MimeInfo* mime_type_ref( MimeInfo* info ); /* * Decrease reference count of the MimeInfo: * When reference count of the MimeInfo struct is decreased to * zero, the data structure will be freed automatically. */ //void mime_type_unref( MimeInfo* info ); /* Get the name of mime-type */ //const char* mime_type_get_type( MimeInfo* info ); /* Get human-readable description and icon name of the mime-type * If locale is NULL, current locale will be used. * The returned string should be freed when no longer used. * The icon_name will only be set if points to NULL, and must be freed. */ char* mime_type_get_desc_icon( const char* type, const char* locale, char** icon_name ); /* * Iterate through all mime caches * Can be used to hook file alteration monitor for the cache files to handle reloading. */ void mime_cache_foreach( GFunc func, gpointer user_data ); /* * Get mime caches */ MimeCache** mime_type_get_caches( int* n ); /* max magic extent of all caches */ extern guint32 mime_cache_max_extent; G_END_DECLS #endif spacefm-1.0.5/src/mime-type/spacefm-mime.xml000066400000000000000000000030341264770501700207260ustar00rootroot00000000000000 Windows installer Windows 安裝程式 MS VBScript C# source C# 程式碼 應用程式捷徑 spacefm-1.0.5/src/pcmanfm.h000066400000000000000000000022771264770501700155350ustar00rootroot00000000000000/* * pcmanfm.h * * Copyright 2008 * * 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 3 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. */ #ifndef _PCMANFM_H_ #define _PCMANFM_H_ #include G_BEGIN_DECLS /* After opening any window/dialog/tool, this should be called. */ void pcmanfm_ref(); /* After closing any window/dialog/tool, this should be called. * If the last window is closed and we are not a deamon, pcmanfm will quit. */ gboolean pcmanfm_unref(); G_END_DECLS #endif spacefm-1.0.5/src/pref-dialog.c000077500000000000000000001646721264770501700163130ustar00rootroot00000000000000/* * C Implementation: pref_dialog * * Description: * * * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H # include #endif #include "pcmanfm.h" #include #include #include #include #include #include "glib-utils.h" #include #include "pref-dialog.h" #include "settings.h" #include "ptk-utils.h" #include "main-window.h" #include "ptk-file-browser.h" #include "desktop.h" #include "ptk-location-view.h" #include "gtk2-compat.h" typedef struct _FMPrefDlg FMPrefDlg; struct _FMPrefDlg { GtkWidget* dlg; GtkWidget* notebook; GtkWidget* encoding; GtkWidget* bm_open_method; GtkWidget* max_thumb_size; GtkWidget* show_thumbnail; GtkWidget* thumb_label1; GtkWidget* thumb_label2; GtkWidget* terminal; GtkWidget* big_icon_size; GtkWidget* small_icon_size; GtkWidget* tool_icon_size; GtkWidget* single_click; GtkWidget* single_hover; GtkWidget* use_si_prefix; //GtkWidget* rubberband; GtkWidget* root_bar; GtkWidget* drag_action; /* Interface tab */ GtkWidget* always_show_tabs; GtkWidget* hide_close_tab_buttons; //GtkWidget* hide_folder_content_border; //GtkWidget* show_desktop; GtkWidget* show_wallpaper; GtkWidget* wallpaper; GtkWidget* wallpaper_mode; GtkWidget* img_preview; GtkWidget* show_wm_menu; GtkWidget* desk_single_click; GtkWidget* desk_single_hover; GtkWidget* desk_open_mime; GtkWidget* desk_font; GtkWidget* margin_top; GtkWidget* margin_left; GtkWidget* margin_right; GtkWidget* margin_bottom; GtkWidget* margin_pad; GtkWidget* bg_color1; GtkWidget* text_color; GtkWidget* shadow_color; //MOD GtkWidget* confirm_delete; GtkWidget* click_exec; GtkWidget* su_command; GtkWidget* gsu_command; GtkWidget* date_format; GtkWidget* date_display; GtkWidget* editor; GtkWidget* editor_terminal; GtkWidget* root_editor; GtkWidget* root_editor_terminal; }; extern gboolean daemon_mode; /* defined in main.c */ static FMPrefDlg* data = NULL; static const int tool_icon_sizes[] = { 0, GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_SMALL_TOOLBAR, GTK_ICON_SIZE_LARGE_TOOLBAR, GTK_ICON_SIZE_BUTTON, GTK_ICON_SIZE_DND, GTK_ICON_SIZE_DIALOG }; // also change max_icon_size in settings.c & lists in prefdlg.ui prefdlg2.ui // see create_size in vfs-thumbnail-loader.c:_vfs_thumbnail_load() static const int big_icon_sizes[] = { 512, 384, 256, 192, 128, 96, 72, 64, 48, 36, 32, 24, 22 }; static const int small_icon_sizes[] = { 512, 384, 256, 192, 128, 96, 72, 64, 48, 36, 32, 24, 22, 16, 12 }; static const char* date_formats[] = { "%Y-%m-%d %H:%M", "%Y-%m-%d", "%Y-%m-%d %H:%M:%S" }; static const int drag_actions[] = { 0, 1, 2, 3 }; /* static void on_show_desktop_toggled( GtkToggleButton* show_desktop, GtkWidget* desktop_page ) { gtk_container_foreach( GTK_CONTAINER(desktop_page), (GtkCallback) gtk_widget_set_sensitive, (gpointer) gtk_toggle_button_get_active( show_desktop ) ); gtk_widget_set_sensitive( GTK_WIDGET(show_desktop), TRUE ); } */ static void set_preview_image( GtkImage* img, const char* file ) { GdkPixbuf* pix = NULL; pix = gdk_pixbuf_new_from_file_at_scale( file, 128, 128, TRUE, NULL ); if( pix ) { gtk_image_set_from_pixbuf( img, pix ); g_object_unref( pix ); } } static void on_update_img_preview( GtkFileChooser *chooser, GtkImage* img ) { char* file = gtk_file_chooser_get_preview_filename( chooser ); if( file ) { set_preview_image( img, file ); g_free( file ); } else { gtk_image_clear( img ); } } static void dir_unload_thumbnails( const char* path, VFSDir* dir, gpointer user_data ) { vfs_dir_unload_thumbnails( dir, GPOINTER_TO_INT( user_data ) ); } static const char* font_button_get_font( GtkWidget* button ) { if ( !g_strcmp0( gtk_button_get_label( GTK_BUTTON( button ) ), _("Default") ) ) return NULL; else return gtk_button_get_label( GTK_BUTTON( button ) ); } static void font_button_set_font( GtkWidget* button, PangoFontDescription* font_desc, const char* font_name ) { if ( !font_desc && !font_name ) { gtk_button_set_label( GTK_BUTTON( button ), _("Default") ); gtk_widget_modify_font( GTK_WIDGET( button ), NULL ); } else { char* font_name_str = NULL; char* fontname; if ( font_name ) fontname = (char*)font_name; else fontname = font_name_str = pango_font_description_to_string( font_desc ); gtk_button_set_label( GTK_BUTTON( button ), fontname ); g_free( font_name_str ); } } void on_font_button_clicked( GtkButton* button, FMPrefDlg* data ) { char* fontname = xset_font_dialog( GTK_WIDGET( data->dlg ), _("Choose Desktop Font"), _("Example Item 0123456789"), font_button_get_font( data->desk_font ) ); if ( fontname ) { font_button_set_font( data->desk_font, NULL, fontname[0] ? fontname : NULL ); g_free( fontname ); } } static void on_response( GtkDialog* dlg, int response, FMPrefDlg* user_data ) { int i, n; gboolean b; int ibig_icon = -1, ismall_icon = -1, itool_icon = -1; const char* filename_encoding; int max_thumb; gboolean show_thumbnail; int big_icon; int small_icon; int tool_icon; //gboolean show_desktop; gboolean show_wallpaper; gboolean single_click; gboolean single_hover; //gboolean rubberband; gboolean root_bar; gboolean root_set_change = FALSE; WallpaperMode wallpaper_mode; GdkColor bg1; GdkColor bg2; GdkColor text; GdkColor shadow; char* wallpaper; const GList* l; PtkFileBrowser* file_browser; gboolean use_si_prefix; GtkNotebook* notebook; int cur_tabx, p; FMMainWindow* a_window; char* str; GtkWidget * tab_label; /* interface settings */ gboolean always_show_tabs; gboolean hide_close_tab_buttons; //gboolean hide_folder_content_border; /* built-in response codes of GTK+ are all negative */ if( response >= 0 ) return; if ( response == GTK_RESPONSE_OK ) { /* file name encoding */ //filename_encoding = gtk_entry_get_text( GTK_ENTRY( data->encoding ) ); //if ( filename_encoding // && g_ascii_strcasecmp ( filename_encoding, "UTF-8" ) ) //{ // strcpy( app_settings.encoding, filename_encoding ); // setenv( "G_FILENAME_ENCODING", app_settings.encoding, 1 ); //} //else //{ // app_settings.encoding[ 0 ] = '\0'; // unsetenv( "G_FILENAME_ENCODING" ); //} //app_settings.open_bookmark_method = gtk_combo_box_get_active( GTK_COMBO_BOX( data->bm_open_method ) ) + 1; show_thumbnail = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->show_thumbnail ) ); max_thumb = ( ( int ) gtk_spin_button_get_value( GTK_SPIN_BUTTON( data->max_thumb_size ) ) ) << 10; /* interface settings */ always_show_tabs = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->always_show_tabs ) ); if ( always_show_tabs != app_settings.always_show_tabs ) { app_settings.always_show_tabs = always_show_tabs; // update all windows/all panels for ( l = fm_main_window_get_all(); l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = GTK_NOTEBOOK( a_window->panel[p-1] ); n = gtk_notebook_get_n_pages( notebook ); if ( always_show_tabs ) gtk_notebook_set_show_tabs( notebook, TRUE ); else if ( n == 1 ) gtk_notebook_set_show_tabs( notebook, FALSE ); } } } hide_close_tab_buttons = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->hide_close_tab_buttons ) ); if ( hide_close_tab_buttons != app_settings.hide_close_tab_buttons ) { app_settings.hide_close_tab_buttons = hide_close_tab_buttons; // update all windows/all panels/all browsers for ( l = fm_main_window_get_all(); l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = GTK_NOTEBOOK( a_window->panel[p-1] ); n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); tab_label = fm_main_window_create_tab_label( a_window, file_browser ); gtk_notebook_set_tab_label( notebook, GTK_WIDGET(file_browser), tab_label ); fm_main_window_update_tab_label( a_window, file_browser, file_browser->dir->disp_path ); } } } } /* hide_folder_content_border = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->hide_folder_content_border ) ); if ( hide_folder_content_border != app_settings.hide_folder_content_border ) { app_settings.hide_folder_content_border = hide_folder_content_border; // update all windows/all panels/all browsers for ( l = fm_main_window_get_all(); l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = a_window->panel[p-1]; n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); if ( hide_folder_content_border ) ptk_file_browser_hide_shadow( file_browser ); else ptk_file_browser_show_shadow( file_browser ); } } } } */ /* hide_side_pane_buttons = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->hide_side_pane_buttons ) ); if ( hide_side_pane_buttons != app_settings.hide_side_pane_buttons ) { app_settings.hide_side_pane_buttons = hide_side_pane_buttons; for ( l = fm_main_window_get_all(); l; l = l->next ) { FMMainWindow* main_window = FM_MAIN_WINDOW( l->data ); GtkNotebook* notebook = main_window->notebook; n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); if ( hide_side_pane_buttons) { ptk_file_browser_hide_side_pane_buttons( file_browser ); } else { ptk_file_browser_show_side_pane_buttons( file_browser ); } } } } */ // Desktop settings ================================================= // checkboxes int desk_single_click = !!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->desk_single_click ) ); if ( app_settings.desk_single_click != desk_single_click ) { app_settings.desk_single_click = desk_single_click; fm_desktop_set_single_click( app_settings.desk_single_click ); } int desk_no_single_hover = !gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->desk_single_hover ) ); if ( app_settings.desk_no_single_hover != desk_no_single_hover ) app_settings.desk_no_single_hover = desk_no_single_hover; app_settings.show_wm_menu = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->show_wm_menu ) ); app_settings.desk_open_mime = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->desk_open_mime ) ); // wallpaper show_wallpaper = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->show_wallpaper ) ); wallpaper = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( data->wallpaper ) ); wallpaper_mode = gtk_combo_box_get_active( (GtkComboBox*)data->wallpaper_mode ); // colors gtk_color_button_get_color(GTK_COLOR_BUTTON(data->bg_color1), &bg1); gtk_color_button_get_color(GTK_COLOR_BUTTON(data->text_color), &text); gtk_color_button_get_color(GTK_COLOR_BUTTON(data->shadow_color), &shadow); // need update ? gboolean need_update_bg = FALSE; // are desktop colors are changed ? if ( !gdk_color_equal( &bg1, &app_settings.desktop_bg1 ) || !gdk_color_equal( &bg2, &app_settings.desktop_bg2 ) || !gdk_color_equal( &text, &app_settings.desktop_text ) || !gdk_color_equal( &shadow, &app_settings.desktop_shadow ) ) { app_settings.desktop_bg1 = bg1; app_settings.desktop_bg2 = bg2; app_settings.desktop_text = text; app_settings.desktop_shadow = shadow; fm_desktop_update_colors(); if( wallpaper_mode == WPM_CENTER || !show_wallpaper ) need_update_bg = TRUE; } // are wallpaper settings are changed ? if ( need_update_bg || wallpaper_mode != app_settings.wallpaper_mode || show_wallpaper != app_settings.show_wallpaper || ( g_strcmp0( wallpaper, app_settings.wallpaper ) ) ) { gboolean was_transparent = app_settings.show_wallpaper == 1 && app_settings.wallpaper_mode == WPM_TRANSPARENT; gboolean is_transparent = show_wallpaper == 1 && wallpaper_mode == WPM_TRANSPARENT; app_settings.wallpaper_mode = wallpaper_mode; app_settings.show_wallpaper = show_wallpaper; g_free( app_settings.wallpaper ); app_settings.wallpaper = wallpaper; fm_desktop_update_wallpaper( !was_transparent != !is_transparent ); if ( is_transparent && !was_transparent && !xset_get_b( "desk_pref" ) ) { xset_msg_dialog( GTK_WIDGET( dlg ), 0, _("Transparency Requirements"), NULL, 0, _("General Note: For desktop transparency to " "work, you need to be running a compositing window " "manager or separate compositor like compton or xcompmgr. " "You can then use use nitrogen or xwinwrap to set wallpaper " "on the background.\n\n" "This message will not repeat."), NULL, NULL ); xset_set_b( "desk_pref", TRUE ); } } //font gboolean update_icons = FALSE; char* old_fontname = app_settings.desk_font ? pango_font_description_to_string( app_settings.desk_font ) : NULL; const char* new_fontname = font_button_get_font( data->desk_font ); if ( g_strcmp0( new_fontname, old_fontname ) ) { app_settings.desk_font = new_fontname ? pango_font_description_from_string( new_fontname ) : NULL; update_icons = TRUE; } g_free( old_fontname ); // margins int margin_top = atoi( gtk_entry_get_text( GTK_ENTRY( data->margin_top ) ) ); int margin_left = atoi( gtk_entry_get_text( GTK_ENTRY( data->margin_left ) ) ); int margin_right = atoi( gtk_entry_get_text( GTK_ENTRY( data->margin_right ) ) ); int margin_bottom = atoi( gtk_entry_get_text( GTK_ENTRY( data->margin_bottom ) ) ); int margin_pad = atoi( gtk_entry_get_text( GTK_ENTRY( data->margin_pad ) ) ); if ( margin_top != app_settings.margin_top || margin_left != app_settings.margin_left || margin_right != app_settings.margin_right || margin_bottom != app_settings.margin_bottom || margin_pad != app_settings.margin_pad ) { // margins changed app_settings.margin_top = margin_top; app_settings.margin_left = margin_left; app_settings.margin_right = margin_right; app_settings.margin_bottom = margin_bottom; app_settings.margin_pad = margin_pad; if ( app_settings.margin_top < 0 || app_settings.margin_top > 999 ) app_settings.margin_top = 12; if ( app_settings.margin_left < 0 || app_settings.margin_left > 999 ) app_settings.margin_left = 6; if ( app_settings.margin_right < 0 || app_settings.margin_right > 999 ) app_settings.margin_right = 6; if ( app_settings.margin_bottom < 0 || app_settings.margin_bottom > 999 ) app_settings.margin_bottom = 12; if ( app_settings.margin_pad < 0 || app_settings.margin_pad > 999 ) app_settings.margin_pad = 6; update_icons = TRUE; } if ( update_icons ) fm_desktop_update_icons(); // =============================================================== /* thumbnail settings are changed */ if( app_settings.show_thumbnail != show_thumbnail || app_settings.max_thumb_size != max_thumb ) { app_settings.show_thumbnail = !show_thumbnail; // toggle reverses this app_settings.max_thumb_size = max_thumb; // update all windows/all panels/all browsers + desktop main_window_toggle_thumbnails_all_windows(); } /* icon sizes are changed? */ ibig_icon = gtk_combo_box_get_active( GTK_COMBO_BOX( data->big_icon_size ) ); big_icon = ibig_icon >= 0 ? big_icon_sizes[ ibig_icon ] : app_settings.big_icon_size; ismall_icon = gtk_combo_box_get_active( GTK_COMBO_BOX( data->small_icon_size ) ); small_icon = ismall_icon >= 0 ? small_icon_sizes[ ismall_icon ] : app_settings.small_icon_size; itool_icon = gtk_combo_box_get_active( GTK_COMBO_BOX( data->tool_icon_size ) ); if ( itool_icon >= 0 && itool_icon <= GTK_ICON_SIZE_DIALOG ) tool_icon = tool_icon_sizes[ itool_icon ]; if ( big_icon != app_settings.big_icon_size || small_icon != app_settings.small_icon_size ) { vfs_mime_type_set_icon_size( big_icon, small_icon ); vfs_file_info_set_thumbnail_size( big_icon, small_icon ); /* unload old thumbnails (icons of *.desktop files will be unloaded here, too) */ if( big_icon != app_settings.big_icon_size ) vfs_dir_foreach( (GHFunc)dir_unload_thumbnails, GINT_TO_POINTER( 1 ) ); if( small_icon != app_settings.small_icon_size ) vfs_dir_foreach( (GHFunc)dir_unload_thumbnails, GINT_TO_POINTER( 0 ) ); // update desktop icons if ( big_icon != app_settings.big_icon_size ) { app_settings.big_icon_size = big_icon; fm_desktop_update_icons(); } app_settings.big_icon_size = big_icon; app_settings.small_icon_size = small_icon; // update all windows/all panels/all browsers for ( l = fm_main_window_get_all(); l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = GTK_NOTEBOOK( a_window->panel[p-1] ); n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); // update views gtk_widget_destroy( file_browser->folder_view ); file_browser->folder_view = NULL; if ( file_browser->side_dir ) { gtk_widget_destroy( file_browser->side_dir ); file_browser->side_dir = NULL; } ptk_file_browser_update_views( NULL, file_browser ); if ( file_browser->side_book ) ptk_bookmark_view_update_icons( NULL, file_browser ); } } } update_volume_icons(); } if ( tool_icon != app_settings.tool_icon_size ) { app_settings.tool_icon_size = tool_icon; main_window_rebuild_all_toolbars( NULL ); } /* unit settings changed? */ gboolean need_refresh = FALSE; use_si_prefix = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->use_si_prefix ) ); if( use_si_prefix != app_settings.use_si_prefix ) { app_settings.use_si_prefix = use_si_prefix; need_refresh = TRUE; } // date format char* etext = g_strdup( gtk_entry_get_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( data->date_format ) ) ) ) ); if ( g_strcmp0( etext, xset_get_s( "date_format" ) ) ) { if ( etext[0] == '\0' ) xset_set( "date_format", "s", "%Y-%m-%d %H:%M" ); else xset_set( "date_format", "s", etext ); g_free( etext ); if ( app_settings.date_format ) g_free( app_settings.date_format ); app_settings.date_format = g_strdup( xset_get_s( "date_format" ) ); need_refresh = TRUE; } if ( need_refresh ) main_window_refresh_all(); /* single click changed? */ single_click = gtk_toggle_button_get_active( (GtkToggleButton*)data->single_click ); if( single_click != app_settings.single_click ) { app_settings.single_click = single_click; // update all windows/all panels/all browsers for ( l = fm_main_window_get_all(); l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = GTK_NOTEBOOK( a_window->panel[p-1] ); n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); ptk_file_browser_set_single_click( file_browser, app_settings.single_click ); } } } } /* single click - hover selects changed? */ gboolean no_single_hover = !gtk_toggle_button_get_active( (GtkToggleButton*)data->single_hover ); if( no_single_hover != app_settings.no_single_hover ) { app_settings.no_single_hover = no_single_hover; // update all windows/all panels/all browsers for ( l = fm_main_window_get_all(); l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = GTK_NOTEBOOK( a_window->panel[p-1] ); n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); ptk_file_browser_set_single_click_timeout( file_browser, app_settings.no_single_hover ? 0 : SINGLE_CLICK_TIMEOUT ); } } } } //MOD app_settings.no_execute = !gtk_toggle_button_get_active( (GtkToggleButton*)data->click_exec ); app_settings.no_confirm = !gtk_toggle_button_get_active( (GtkToggleButton*)data->confirm_delete ); /* rubberband = gtk_toggle_button_get_active( (GtkToggleButton*)data->rubberband ); if ( !!rubberband != !!xset_get_b( "rubberband" ) ) { xset_set_b( "rubberband", rubberband ); main_window_rubberband_all(); } */ root_bar = gtk_toggle_button_get_active( (GtkToggleButton*)data->root_bar ); if ( !!root_bar != !!xset_get_b( "root_bar" ) ) { xset_set_b( "root_bar", root_bar ); main_window_root_bar_all(); } char* s = g_strdup_printf( "%d", gtk_combo_box_get_active( GTK_COMBO_BOX( data->drag_action ) ) ); xset_set( "drag_action", "x", s ); g_free( s ); // terminal su command char* custom_su = NULL; if ( settings_terminal_su ) // get su from /etc/spacefm/spacefm.conf custom_su = g_find_program_in_path( settings_terminal_su ); int idx = gtk_combo_box_get_active( GTK_COMBO_BOX( data->su_command ) ); if ( idx > -1 ) { if ( custom_su ) { if ( idx == 0 ) xset_set( "su_command", "s", custom_su ); else xset_set( "su_command", "s", su_commands[idx - 1] ); g_free( custom_su ); } else xset_set( "su_command", "s", su_commands[idx] ); } // graphical su command char* custom_gsu = NULL; if ( settings_graphical_su ) // get gsu from /etc/spacefm/spacefm.conf custom_gsu = g_find_program_in_path( settings_graphical_su ); #ifdef PREFERABLE_SUDO_PROG if ( !custom_gsu ) // get build-time gsu custom_gsu = g_find_program_in_path( PREFERABLE_SUDO_PROG ); #endif idx = gtk_combo_box_get_active( GTK_COMBO_BOX( data->gsu_command ) ); if ( idx > -1 ) { if ( custom_gsu ) { if ( idx == 0 ) xset_set( "gsu_command", "s", custom_gsu ); else xset_set( "gsu_command", "s", gsu_commands[idx - 1] ); g_free( custom_gsu ); } else xset_set( "gsu_command", "s", gsu_commands[idx] ); } //MOD editors xset_set( "editor", "s", gtk_entry_get_text( GTK_ENTRY( data->editor ) ) ); xset_set_b( "editor", gtk_toggle_button_get_active( (GtkToggleButton*)data->editor_terminal ) ); const char* root_editor = gtk_entry_get_text( GTK_ENTRY( data->root_editor ) ); const char* old_root_editor = xset_get_s( "root_editor" ); if ( !old_root_editor ) { if ( root_editor[0] != '\0' ) { xset_set( "root_editor", "s", root_editor ); root_set_change = TRUE; } } else if ( strcmp( root_editor, old_root_editor ) ) { xset_set( "root_editor", "s", root_editor ); root_set_change = TRUE; } if ( !!gtk_toggle_button_get_active( (GtkToggleButton*)data->root_editor_terminal ) != !!xset_get_b( "root_editor" ) ) { xset_set_b( "root_editor", gtk_toggle_button_get_active( (GtkToggleButton*)data->root_editor_terminal ) ); root_set_change = TRUE; } //MOD terminal char* old_terminal = xset_get_s( "main_terminal" ); char* terminal = gtk_combo_box_text_get_active_text( GTK_COMBO_BOX_TEXT( data->terminal ) ); g_strstrip( terminal ); if ( g_strcmp0( terminal, old_terminal ) ) { xset_set( "main_terminal", "s", terminal[0] == '\0' ? NULL : terminal ); root_set_change = TRUE; if ( terminal && ( strstr( terminal, "lxterminal" ) || strstr( terminal, "urxvtc" ) || strstr( terminal, "konsole" ) || strstr( terminal, "gnome-terminal" ) ) ) /* when changing this list adjust also * vfs-file-task.c Line ~1655 * ptk-location-view.c:ptk_location_view_mount_network() * and string below */ { str = g_strdup_printf( _("Use of some terminals (%s) with SpaceFM may prevent the Run As Task and Run In Terminal options being used together to run commands, due to limitations in these terminals. For example, this may cause protocols mounted in a terminal to fail to automatically open after being mounted. For full use of SpaceFM's features, selecting another terminal is recommended."), "gnome-terminal, konsole, lxterminal, urxvtc" ); xset_msg_dialog( GTK_WIDGET( dlg ), 0, _("Limited Terminal Emulator Selected"), NULL, 0, str, NULL, "#designmode-command-terminal" ); g_free( str ); } } // report missing terminal if ( str = strchr( terminal, ' ' ) ) str[0] = '\0'; str = g_find_program_in_path( terminal ); if ( !str ) { str = g_strdup_printf( "Unable to find terminal program '%s'", terminal ); ptk_show_error( GTK_WINDOW( dlg ), "Error", str ); } g_free( str ); g_free( terminal ); /* save to config file */ char* err_msg = save_settings( NULL ); if ( err_msg ) { char* msg = g_strdup_printf( "Error: Unable to save session file.\n\n%s", err_msg ); ptk_show_error( GTK_WINDOW( dlg ), "Error", msg ); g_free( msg ); g_free( err_msg ); } if ( xset_get_b( "main_terminal" ) ) { root_set_change = TRUE; xset_set_b( "main_terminal", FALSE ); } // root settings saved? if ( geteuid() != 0 ) { /* char* root_set_path= g_strdup_printf( "/etc/spacefm/%s-as-root", g_get_user_name() ); if ( !g_file_test( root_set_path, G_FILE_TEST_EXISTS ) ) { g_free( root_set_path ); root_set_path= g_strdup_printf( "/etc/spacefm/%d-as-root", geteuid() ); if ( !g_file_test( root_set_path, G_FILE_TEST_EXISTS ) ) root_set_change = TRUE; } */ if ( root_set_change ) { // task char* msg = g_strdup_printf( _("You will now be asked for your root password to save the root settings for this user to a file in %s/spacefm/ Supplying the password in the next window is recommended. Because SpaceFM runs some commands as root via su, these settings are best protected by root."), SYSCONFDIR ); xset_msg_dialog( GTK_WIDGET( dlg ), 0, _("Save Root Settings"), NULL, 0, msg, NULL, NULL ); g_free( msg ); PtkFileTask* task = ptk_file_exec_new( _("Save Root Settings"), NULL, NULL, NULL ); task->task->exec_command = g_strdup_printf( "echo" ); task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = FALSE; task->task->exec_export = FALSE; task->task->exec_write_root = TRUE; ptk_file_task_run( task ); } } } gtk_widget_destroy( GTK_WIDGET( dlg ) ); g_free( data ); data = NULL; pcmanfm_unref(); } void on_date_format_changed( GtkComboBox *widget, FMPrefDlg* data ) { char buf[ 128 ]; const char* etext; time_t now = time( NULL ); etext = gtk_entry_get_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( data->date_format ) ) ) ); strftime( buf, sizeof( buf ), etext, localtime( &now ) ); gtk_label_set_text( GTK_LABEL( data->date_display ), buf ); } void on_single_click_toggled( GtkWidget* widget, FMPrefDlg* data ) { gtk_widget_set_sensitive( data->single_hover, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->single_click ) ) ); } void on_desk_single_click_toggled( GtkWidget* widget, FMPrefDlg* data ) { gtk_widget_set_sensitive( data->desk_single_hover, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->desk_single_click ) ) ); } void on_show_thumbnail_toggled( GtkWidget* widget, FMPrefDlg* data ) { gtk_widget_set_sensitive( data->max_thumb_size, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->show_thumbnail ) ) ); gtk_widget_set_sensitive( data->thumb_label1, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->show_thumbnail ) ) ); gtk_widget_set_sensitive( data->thumb_label2, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->show_thumbnail ) ) ); } void on_wallpaper_mode_changed( GtkComboBox *combobox, FMPrefDlg* data ) { gint active = gtk_combo_box_get_active( (GtkComboBox*)data->wallpaper_mode ); gtk_widget_set_sensitive( data->wallpaper, active != WPM_TRANSPARENT ); } void on_wallpaper_toggled( GtkToggleButton* show_wallpaper, FMPrefDlg* data ) { gboolean enabled = gtk_toggle_button_get_active( show_wallpaper ); gint active = gtk_combo_box_get_active( (GtkComboBox*)data->wallpaper_mode ); gtk_widget_set_sensitive( GTK_WIDGET( data->wallpaper ), enabled && active != WPM_TRANSPARENT ); gtk_widget_set_sensitive( GTK_WIDGET( data->wallpaper_mode ), enabled ); } gboolean fm_edit_preference( GtkWindow* parent, int page ) { const char* filename_encoding; int i; int ibig_icon = -1, ismall_icon = -1, itool_icon = -1; GtkWidget* img_preview; GtkWidget* dlg; char* str; if( ! data ) { GtkTreeModel* model; // this invokes GVFS-RemoteVolumeMonitor via IsSupported #if GTK_CHECK_VERSION(2, 24, 0) GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/prefdlg2.ui", NULL ); #else GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/prefdlg.ui", NULL ); #endif if ( !builder ) return FALSE; pcmanfm_ref(); data = g_new0( FMPrefDlg, 1 ); dlg = (GtkWidget*)gtk_builder_get_object( builder, "dlg" ); if ( parent ) gtk_window_set_transient_for( GTK_WINDOW( dlg ), parent ); xset_set_window_icon( GTK_WINDOW( dlg ) ); ptk_dialog_fit_small_screen( GTK_DIALOG( dlg ) ); data->dlg = dlg; data->notebook = (GtkWidget*)gtk_builder_get_object( builder, "notebook" ); gtk_dialog_set_alternative_button_order( GTK_DIALOG( dlg ), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1 ); /* Setup 'General' tab */ data->encoding = (GtkWidget*)gtk_builder_get_object( builder, "filename_encoding" ); data->bm_open_method = (GtkWidget*)gtk_builder_get_object( builder, "bm_open_method" ); data->show_thumbnail = (GtkWidget*)gtk_builder_get_object( builder, "show_thumbnail" ); data->thumb_label1 = (GtkWidget*)gtk_builder_get_object( builder, "thumb_label1" ); data->thumb_label2 = (GtkWidget*)gtk_builder_get_object( builder, "thumb_label2" ); data->max_thumb_size = (GtkWidget*)gtk_builder_get_object( builder, "max_thumb_size" ); data->terminal = (GtkWidget*)gtk_builder_get_object( builder, "terminal" ); data->big_icon_size = (GtkWidget*)gtk_builder_get_object( builder, "big_icon_size" ); data->small_icon_size = (GtkWidget*)gtk_builder_get_object( builder, "small_icon_size" ); data->tool_icon_size = (GtkWidget*)gtk_builder_get_object( builder, "tool_icon_size" ); data->single_click = (GtkWidget*)gtk_builder_get_object( builder, "single_click" ); data->single_hover = (GtkWidget*)gtk_builder_get_object( builder, "single_hover" ); data->use_si_prefix = (GtkWidget*)gtk_builder_get_object( builder, "use_si_prefix" ); //data->rubberband = (GtkWidget*)gtk_builder_get_object( builder, "rubberband" ); data->root_bar = (GtkWidget*)gtk_builder_get_object( builder, "root_bar" ); data->drag_action = (GtkWidget*)gtk_builder_get_object( builder, "drag_action" ); model = GTK_TREE_MODEL( gtk_list_store_new( 1, G_TYPE_STRING ) ); gtk_combo_box_set_model( GTK_COMBO_BOX( data->terminal ), model ); gtk_combo_box_set_entry_text_column( GTK_COMBO_BOX( data->terminal ), 0 ); g_object_unref( model ); //if ( '\0' == ( char ) app_settings.encoding[ 0 ] ) // gtk_entry_set_text( GTK_ENTRY( data->encoding ), "UTF-8" ); //else // gtk_entry_set_text( GTK_ENTRY( data->encoding ), app_settings.encoding ); /* if ( app_settings.open_bookmark_method >= 1 && app_settings.open_bookmark_method <= 2 ) { gtk_combo_box_set_active( GTK_COMBO_BOX( data->bm_open_method ), app_settings.open_bookmark_method - 1 ); } else { gtk_combo_box_set_active( GTK_COMBO_BOX( data->bm_open_method ), 0 ); } */ gtk_spin_button_set_value ( GTK_SPIN_BUTTON( data->max_thumb_size ), app_settings.max_thumb_size >> 10 ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->show_thumbnail ), app_settings.show_thumbnail ); g_signal_connect( data->show_thumbnail, "toggled", G_CALLBACK( on_show_thumbnail_toggled ), data ); gtk_widget_set_sensitive( data->max_thumb_size, app_settings.show_thumbnail ); gtk_widget_set_sensitive( data->thumb_label1, app_settings.show_thumbnail ); gtk_widget_set_sensitive( data->thumb_label2, app_settings.show_thumbnail ); for ( i = 0; i < G_N_ELEMENTS( terminal_programs ); ++i ) { gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT( data->terminal ), terminal_programs[ i ] ); } char* terminal = xset_get_s( "main_terminal" ); if ( terminal ) { for ( i = 0; i < G_N_ELEMENTS( terminal_programs ); ++i ) { if ( 0 == strcmp( terminal_programs[ i ], terminal ) ) break; } if ( i >= G_N_ELEMENTS( terminal_programs ) ) { /* Found */ gtk_combo_box_text_prepend_text ( GTK_COMBO_BOX_TEXT( data->terminal ), terminal ); i = 0; } gtk_combo_box_set_active( GTK_COMBO_BOX( data->terminal ), i ); } for ( i = 0; i < G_N_ELEMENTS( big_icon_sizes ); ++i ) { if ( big_icon_sizes[ i ] == app_settings.big_icon_size ) { ibig_icon = i; break; } } gtk_combo_box_set_active( GTK_COMBO_BOX( data->big_icon_size ), ibig_icon ); for ( i = 0; i < G_N_ELEMENTS( small_icon_sizes ); ++i ) { if ( small_icon_sizes[ i ] == app_settings.small_icon_size ) { ismall_icon = i; break; } } gtk_combo_box_set_active( GTK_COMBO_BOX( data->small_icon_size ), ismall_icon ); //sfm itool_icon = 0; for ( i = 0; i < G_N_ELEMENTS( tool_icon_sizes ); ++i ) { if ( tool_icon_sizes[ i ] == app_settings.tool_icon_size ) { itool_icon = i; break; } } gtk_combo_box_set_active( GTK_COMBO_BOX( data->tool_icon_size ), itool_icon ); gtk_toggle_button_set_active( (GtkToggleButton*)data->single_click, app_settings.single_click ); gtk_toggle_button_set_active( (GtkToggleButton*)data->single_hover, !app_settings.no_single_hover ); gtk_widget_set_sensitive( data->single_hover, app_settings.single_click ); g_signal_connect( data->single_click, "toggled", G_CALLBACK( on_single_click_toggled ), data ); /* Setup 'Interface' tab */ data->always_show_tabs = (GtkWidget*)gtk_builder_get_object( builder, "always_show_tabs" ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->always_show_tabs ), app_settings.always_show_tabs ); data->hide_close_tab_buttons = (GtkWidget*)gtk_builder_get_object( builder, "hide_close_tab_buttons" ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->hide_close_tab_buttons ), app_settings.hide_close_tab_buttons ); /* data->hide_side_pane_buttons = (GtkWidget*)gtk_builder_get_object( builder, "hide_side_pane_buttons" ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->hide_side_pane_buttons ), app_settings.hide_side_pane_buttons ); */ //data->hide_folder_content_border = (GtkWidget*)gtk_builder_get_object( builder, "hide_folder_content_border" ); //gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->hide_folder_content_border ), // app_settings.hide_folder_content_border ); //MOD Interface data->confirm_delete = (GtkWidget*)gtk_builder_get_object( builder, "confirm_delete" ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->confirm_delete ), !app_settings.no_confirm ); data->click_exec = (GtkWidget*)gtk_builder_get_object( builder, "click_exec" ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->click_exec ), !app_settings.no_execute ); //gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->rubberband ), // xset_get_b( "rubberband" ) ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->root_bar ), xset_get_b( "root_bar" ) ); gtk_widget_set_sensitive( data->root_bar, geteuid() == 0 ); int drag_action = xset_get_int( "drag_action", "x" ); int drag_action_set = 0; for ( i = 0; i < G_N_ELEMENTS( drag_actions ); ++i ) { if ( drag_actions[ i ] == drag_action ) { drag_action_set = i; break; } } gtk_combo_box_set_active( GTK_COMBO_BOX( data->drag_action ), drag_action_set ); gtk_toggle_button_set_active( (GtkToggleButton*)data->use_si_prefix, app_settings.use_si_prefix ); // Desktop Tab ==================================================== data->show_wallpaper = (GtkWidget*)gtk_builder_get_object( builder, "show_wallpaper" ); data->wallpaper = (GtkWidget*)gtk_builder_get_object( builder, "wallpaper" ); img_preview = gtk_image_new(); gtk_widget_set_size_request( img_preview, 128, 128 ); gtk_file_chooser_set_preview_widget( (GtkFileChooser*)data->wallpaper, img_preview ); g_signal_connect( data->wallpaper, "update-preview", G_CALLBACK(on_update_img_preview), img_preview ); data->wallpaper_mode = (GtkWidget*)gtk_builder_get_object( builder, "wallpaper_mode" ); data->show_wm_menu = (GtkWidget*)gtk_builder_get_object( builder, "show_wm_menu" ); data->desk_single_click = (GtkWidget*)gtk_builder_get_object( builder, "desk_single_click" ); data->desk_single_hover = (GtkWidget*)gtk_builder_get_object( builder, "desk_single_hover" ); data->desk_open_mime = (GtkWidget*)gtk_builder_get_object( builder, "desk_open_mime" ); data->bg_color1 = (GtkWidget*)gtk_builder_get_object( builder, "bg_color1" ); data->text_color = (GtkWidget*)gtk_builder_get_object( builder, "text_color" ); data->shadow_color = (GtkWidget*)gtk_builder_get_object( builder, "shadow_color" ); data->desk_font = (GtkWidget*)gtk_builder_get_object( builder, "desk_font" ); data->margin_top = (GtkWidget*)gtk_builder_get_object( builder, "margin_top" ); data->margin_left = (GtkWidget*)gtk_builder_get_object( builder, "margin_left" ); data->margin_right = (GtkWidget*)gtk_builder_get_object( builder, "margin_right" ); data->margin_bottom = (GtkWidget*)gtk_builder_get_object( builder, "margin_bottom" ); data->margin_pad = (GtkWidget*)gtk_builder_get_object( builder, "margin_pad" ); // wallpaper gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( data->show_wallpaper ), app_settings.show_wallpaper ); if ( app_settings.wallpaper ) { /* FIXME: GTK+ has a known bug here. Sometimes it doesn't update the preview... * so, we do it manually */ set_preview_image( GTK_IMAGE( img_preview ), app_settings.wallpaper ); gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( data->wallpaper ), app_settings.wallpaper ); } g_signal_connect( data->wallpaper_mode, "changed", G_CALLBACK( on_wallpaper_mode_changed ), data ); gtk_combo_box_set_active( (GtkComboBox*)data->wallpaper_mode, app_settings.wallpaper_mode ); // checkboxes gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( data->show_wm_menu ), app_settings.show_wm_menu ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( data->desk_single_click ), app_settings.desk_single_click ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( data->desk_single_hover ), !app_settings.desk_no_single_hover ); gtk_widget_set_sensitive( data->desk_single_hover, app_settings.desk_single_click ); g_signal_connect( data->desk_single_click, "toggled", G_CALLBACK( on_desk_single_click_toggled ), data ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( data->desk_open_mime ), app_settings.desk_open_mime ); //font font_button_set_font( data->desk_font, app_settings.desk_font, NULL ); g_signal_connect( data->desk_font, "clicked", G_CALLBACK(on_font_button_clicked), data ); // colors data->bg_color1 = (GtkWidget*)gtk_builder_get_object( builder, "bg_color1" ); data->text_color = (GtkWidget*)gtk_builder_get_object( builder, "text_color" ); data->shadow_color = (GtkWidget*)gtk_builder_get_object( builder, "shadow_color" ); gtk_color_button_set_color(GTK_COLOR_BUTTON(data->bg_color1), &app_settings.desktop_bg1); gtk_color_button_set_color(GTK_COLOR_BUTTON(data->text_color), &app_settings.desktop_text); gtk_color_button_set_color(GTK_COLOR_BUTTON(data->shadow_color), &app_settings.desktop_shadow); // wallpaper signals on_wallpaper_toggled( GTK_TOGGLE_BUTTON( data->show_wallpaper ), data ); g_signal_connect( data->show_wallpaper, "toggled", G_CALLBACK( on_wallpaper_toggled ), data ); // margins str = g_strdup_printf( "%d", app_settings.margin_top ); gtk_entry_set_text( GTK_ENTRY( data->margin_top ), str ); g_free( str ); str = g_strdup_printf( "%d", app_settings.margin_right ); gtk_entry_set_text( GTK_ENTRY( data->margin_right ), str ); g_free( str ); str = g_strdup_printf( "%d", app_settings.margin_left ); gtk_entry_set_text( GTK_ENTRY( data->margin_left ), str ); g_free( str ); str = g_strdup_printf( "%d", app_settings.margin_bottom ); gtk_entry_set_text( GTK_ENTRY( data->margin_bottom ), str ); g_free( str ); str = g_strdup_printf( "%d", app_settings.margin_pad ); gtk_entry_set_text( GTK_ENTRY( data->margin_pad ), str ); g_free( str ); // Advanced Tab ================================================== // terminal su int idx; GtkTreeIter it; char* custom_su = NULL; char* use_su; data->su_command = (GtkWidget*)gtk_builder_get_object( builder, "su_command" ); use_su = xset_get_s( "su_command" ); if ( settings_terminal_su ) // get su from /etc/spacefm/spacefm.conf custom_su = g_find_program_in_path( settings_terminal_su ); if ( custom_su ) { GtkListStore* su_list = GTK_LIST_STORE( gtk_combo_box_get_model( GTK_COMBO_BOX( data->su_command ) ) ); gtk_list_store_prepend( su_list, &it ); gtk_list_store_set( GTK_LIST_STORE( su_list ), &it, 0, custom_su, -1 ); } if ( !use_su ) idx = 0; else if ( custom_su && !g_strcmp0( custom_su, use_su ) ) idx = 0; else { for ( i = 0; i < G_N_ELEMENTS( su_commands ); i++ ) { if ( !strcmp( su_commands[i], use_su ) ) break; } if ( i == G_N_ELEMENTS( su_commands ) ) idx = 0; else if ( custom_su ) idx = i + 1; else idx = i; } gtk_combo_box_set_active( GTK_COMBO_BOX( data->su_command ), idx ); g_free( custom_su ); // graphical su char* custom_gsu = NULL; char* use_gsu; data->gsu_command = (GtkWidget*)gtk_builder_get_object( builder, "gsu_command" ); use_gsu = xset_get_s( "gsu_command" ); if ( settings_graphical_su ) // get gsu from /etc/spacefm/spacefm.conf custom_gsu = g_find_program_in_path( settings_graphical_su ); #ifdef PREFERABLE_SUDO_PROG if ( !custom_gsu ) // get build-time gsu custom_gsu = g_find_program_in_path( PREFERABLE_SUDO_PROG ); #endif if ( custom_gsu ) { GtkListStore* gsu_list = GTK_LIST_STORE( gtk_combo_box_get_model( GTK_COMBO_BOX( data->gsu_command ) ) ); gtk_list_store_prepend( gsu_list, &it ); gtk_list_store_set( GTK_LIST_STORE( gsu_list ), &it, 0, custom_gsu, -1 ); } if ( !use_gsu ) idx = 0; else if ( custom_gsu && !g_strcmp0( custom_gsu, use_gsu ) ) idx = 0; else { for ( i = 0; i < G_N_ELEMENTS( gsu_commands ); i++ ) { if ( !strcmp( gsu_commands[i], use_gsu ) ) break; } if ( i == G_N_ELEMENTS( gsu_commands ) ) idx = 0; else if ( custom_gsu ) idx = i + 1; else idx = i; } gtk_combo_box_set_active( GTK_COMBO_BOX( data->gsu_command ), idx ); g_free( custom_gsu ); // date format data->date_format = (GtkWidget*)gtk_builder_get_object( builder, "date_format" ); data->date_display = (GtkWidget*)gtk_builder_get_object( builder, "label_date_disp" ); model = GTK_TREE_MODEL( gtk_list_store_new( 1, G_TYPE_STRING ) ); gtk_combo_box_set_model( GTK_COMBO_BOX( data->date_format ), model ); gtk_combo_box_set_entry_text_column( GTK_COMBO_BOX( data->date_format ), 0 ); g_object_unref( model ); for ( i = 0; i < G_N_ELEMENTS( date_formats ); ++i ) { gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT( data->date_format ), date_formats[ i ] ); } char* date_s = xset_get_s( "date_format" ); if ( date_s ) { for ( i = 0; i < G_N_ELEMENTS( date_formats ); ++i ) { if ( 0 == strcmp( date_formats[ i ], date_s ) ) break; } if ( i >= G_N_ELEMENTS( date_formats ) ) { gtk_combo_box_text_prepend_text ( GTK_COMBO_BOX_TEXT( data->date_format ), date_s ); i = 0; } gtk_combo_box_set_active( GTK_COMBO_BOX( data->date_format ), i ); } on_date_format_changed( NULL, data ); g_signal_connect( data->date_format, "changed", G_CALLBACK( on_date_format_changed), data ); // editors data->editor = (GtkWidget*)gtk_builder_get_object( builder, "editor" ); if ( xset_get_s( "editor" ) ) gtk_entry_set_text( GTK_ENTRY( data->editor ), xset_get_s( "editor" ) ); data->editor_terminal = (GtkWidget*)gtk_builder_get_object( builder, "editor_terminal" ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->editor_terminal ), xset_get_b( "editor" ) ); data->root_editor = (GtkWidget*)gtk_builder_get_object( builder, "root_editor" ); if ( xset_get_s( "root_editor" ) ) gtk_entry_set_text( GTK_ENTRY( data->root_editor ), xset_get_s( "root_editor" ) ); data->root_editor_terminal = (GtkWidget*)gtk_builder_get_object( builder, "root_editor_terminal" ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( data->root_editor_terminal ), xset_get_b( "root_editor" ) ); g_signal_connect( dlg, "response", G_CALLBACK(on_response), data ); g_object_unref( builder ); } // Set current Preferences page const int desktop_page_num = 2; #ifndef DESKTOP_INTEGRATION // hide the Desktop tab if no desktop integration at build time gtk_widget_hide( gtk_notebook_get_nth_page( (GtkNotebook*)data->notebook, desktop_page_num ) ); if ( page >= desktop_page_num ) page++; #endif // notebook page number 3 is permanently hidden Volume Management if ( page > desktop_page_num ) page++; gtk_notebook_set_current_page( (GtkNotebook*)data->notebook, page ); gtk_window_present( (GtkWindow*)data->dlg ); return TRUE; } spacefm-1.0.5/src/pref-dialog.h000066400000000000000000000004331264770501700162750ustar00rootroot00000000000000#ifndef _PREF_DLG_H_ #define _PREF_DLG_H_ #include G_BEGIN_DECLS typedef enum { PREF_GENERAL, PREF_INTERFACE, PREF_DESKTOP, PREF_VOLMAN, PREF_ADVANCED }PrefDlgPage; gboolean fm_edit_preference( GtkWindow* parent, int page ); G_END_DECLS #endif spacefm-1.0.5/src/private.h000066400000000000000000000014131264770501700155550ustar00rootroot00000000000000#ifndef PCMANFM_PRIVATE_H #define PCMANFM_PRIVATE_H #ifdef ENABLE_NLS # include # undef _ # define _(String) dgettext (GETTEXT_PACKAGE, String) # define C_(CString, MString) dpgettext (GETTEXT_PACKAGE, CString, MString) # define Q_(String) g_strip_context ((String), gettext (String)) # ifdef gettext_noop # define N_(String) gettext_noop (String) # else # define N_(String) (String) # endif #else # define textdomain(String) (String) # define gettext(String) (String) # define dgettext(Domain,Message) (Message) # define dcgettext(Domain,Message,Type) (Message) # define bindtextdomain(Domain,Directory) (Domain) # define _(String) (String) # define Q_(String) g_strip_context ((String), (String)) # define N_(String) (String) #endif #endif spacefm-1.0.5/src/ptk/000077500000000000000000000000001264770501700145315ustar00rootroot00000000000000spacefm-1.0.5/src/ptk/ptk-app-chooser.c000066400000000000000000000566771264770501700177360ustar00rootroot00000000000000/* * C Implementation: appchooserdlg * * Description: * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H # include #endif #include "ptk-app-chooser.h" #include "ptk-utils.h" #include #include #include #include "private.h" #include "vfs-mime-type.h" #include "vfs-app-desktop.h" #include "vfs-async-task.h" #include "settings.h" #include "ptk-handler.h" enum{ COL_APP_ICON = 0, COL_APP_NAME, COL_DESKTOP_FILE, COL_FULL_PATH, N_COLS }; extern gboolean is_my_lock; static void load_all_apps_in_dir( const char* dir_path, GtkListStore* list, VFSAsyncTask* task ); static gpointer load_all_known_apps_thread( VFSAsyncTask* task ); static void init_list_view( GtkTreeView* view ) { GtkTreeViewColumn * col = gtk_tree_view_column_new(); GtkCellRenderer* renderer; renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start( col, renderer, FALSE ); gtk_tree_view_column_set_attributes( col, renderer, "pixbuf", COL_APP_ICON, NULL ); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", COL_APP_NAME, NULL ); gtk_tree_view_append_column ( view, col ); // add tooltip gtk_tree_view_set_tooltip_column( view, COL_FULL_PATH ); } static gint sort_by_name( GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data ) { char * name_a, *name_b; gint ret = 0; gtk_tree_model_get( model, a, COL_APP_NAME, &name_a, -1 ); if ( name_a ) { gtk_tree_model_get( model, b, COL_APP_NAME, &name_b, -1 ); if ( name_b ) { ret = g_ascii_strcasecmp( name_a, name_b ); g_free( name_b ); } g_free( name_a ); } return ret; } static void add_list_item( GtkListStore* list, VFSAppDesktop* desktop ) { GtkTreeIter it; GdkPixbuf* icon = NULL; char* file; const char* name = vfs_app_desktop_get_name( desktop ); // desktop file already in list? if ( gtk_tree_model_get_iter_first( GTK_TREE_MODEL( list ), &it ) ) { do { file = NULL; gtk_tree_model_get( GTK_TREE_MODEL( list ), &it, COL_DESKTOP_FILE, &file, -1 ); if ( file ) { if ( !g_strcmp0( file, name ) ) { // already exists g_free( file ); return; } g_free( file ); } } while ( gtk_tree_model_iter_next( GTK_TREE_MODEL( list ), &it ) ); } // tooltip char* tooltip = g_markup_printf_escaped( "%s\nName=%s\nExec=%s%s", desktop->full_path, vfs_app_desktop_get_disp_name( desktop ), desktop->exec, desktop->terminal ? "\nTerminal=true" : "" ); icon = vfs_app_desktop_get_icon( desktop, 20, TRUE ); gtk_list_store_append( list, &it ); gtk_list_store_set( list, &it, COL_APP_ICON, icon, COL_APP_NAME, vfs_app_desktop_get_disp_name( desktop ), COL_DESKTOP_FILE, vfs_app_desktop_get_name( desktop ), COL_FULL_PATH, tooltip, -1 ); g_free( tooltip ); if ( icon ) g_object_unref( icon ); } static GtkTreeModel* create_model_from_mime_type( VFSMimeType* mime_type ) { char** apps, **app; const char *type; GtkListStore* list = gtk_list_store_new( N_COLS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING ); if ( mime_type ) { apps = vfs_mime_type_get_actions( mime_type ); type = vfs_mime_type_get_type( mime_type ); if ( !apps && mime_type_is_text_file( NULL, type ) ) { mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_PLAIN_TEXT ); apps = vfs_mime_type_get_actions( mime_type ); vfs_mime_type_unref( mime_type ); } if( apps ) { for( app = apps; *app; ++app ) { VFSAppDesktop* desktop = vfs_app_desktop_new( *app ); add_list_item( list, desktop ); vfs_app_desktop_unref( desktop ); } g_strfreev( apps ); } } return (GtkTreeModel*) list; } gboolean on_cmdline_keypress( GtkWidget *widget, GdkEventKey *event, GtkNotebook* notebook ) { gtk_widget_set_sensitive( GTK_WIDGET( notebook ), gtk_entry_get_text_length( (GtkEntry*)widget ) == 0 ); return FALSE; } void on_view_row_activated ( GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn* col, GtkWidget* dlg ) { GtkBuilder* builder = (GtkBuilder*)g_object_get_data(G_OBJECT(dlg), "builder"); GtkWidget* ok = (GtkWidget*)gtk_builder_get_object( builder, "okbutton"); gtk_button_clicked( GTK_BUTTON( ok ) ); } GtkWidget* app_chooser_dialog_new( GtkWindow* parent, VFSMimeType* mime_type, gboolean focus_all_apps, gboolean show_command, gboolean show_default, gboolean dir_default ) { /* focus_all_apps Focus All Apps tab by default show_command Show custom Command entry show_default Show 'Set as default' checkbox dir_default Show 'Set as default' also for type dir */ GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/appchooserdlg.ui", NULL ); GtkWidget * dlg = (GtkWidget*)gtk_builder_get_object( builder, "dlg" ); GtkWidget* file_type = (GtkWidget*)gtk_builder_get_object( builder, "file_type" ); char* mime_desc; GtkTreeView* view; GtkTreeModel* model; GtkEntry* entry; GtkNotebook* notebook; g_object_set_data_full( G_OBJECT(dlg), "builder", builder, (GDestroyNotify)g_object_unref ); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_dialog_set_alternative_button_order( GTK_DIALOG(dlg), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1 ); ptk_dialog_fit_small_screen( GTK_DIALOG(dlg) ); int width = xset_get_int( "app_dlg", "x" ); int height = xset_get_int( "app_dlg", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( dlg ), width, height ); else gtk_window_set_default_size( GTK_WINDOW( dlg ), 600, 600 ); mime_desc = g_strdup_printf( " %s\n ( %s )", vfs_mime_type_get_description( mime_type ), mime_type->type ); if ( mime_desc ) { gtk_label_set_text( GTK_LABEL( file_type ), mime_desc ); g_free( mime_desc ); } /* Don't set default handler for directories and files with unknown type */ if ( !show_default || /* 0 == strcmp( vfs_mime_type_get_type( mime_type ), XDG_MIME_TYPE_UNKNOWN ) || */ ( 0 == strcmp( vfs_mime_type_get_type( mime_type ), XDG_MIME_TYPE_DIRECTORY ) && !dir_default ) ) { gtk_widget_hide( (GtkWidget*)gtk_builder_get_object( builder, "set_default" ) ); } if ( !show_command ) { gtk_widget_hide( (GtkWidget*)gtk_builder_get_object( builder, "hbox_command" ) ); gtk_label_set_text( GTK_LABEL( gtk_builder_get_object( builder, "label_command" ) ), _("Please choose an application:") ); } view = GTK_TREE_VIEW( (GtkWidget*)gtk_builder_get_object( builder, "recommended_apps" ) ); notebook = GTK_NOTEBOOK( (GtkWidget*)gtk_builder_get_object( builder, "notebook" ) ); entry = GTK_ENTRY( (GtkWidget*)gtk_builder_get_object( builder, "cmdline" ) ); model = create_model_from_mime_type( mime_type ); gtk_tree_view_set_model( view, model ); g_object_unref( G_OBJECT( model ) ); init_list_view( view ); gtk_widget_grab_focus( GTK_WIDGET( view ) ); g_signal_connect( entry, "key_release_event", G_CALLBACK(on_cmdline_keypress), notebook ); g_signal_connect( (GtkWidget*)gtk_builder_get_object( builder, "notebook"), "switch_page", G_CALLBACK(on_notebook_switch_page), dlg ); g_signal_connect( (GtkWidget*)gtk_builder_get_object( builder, "browse_btn"), "clicked", G_CALLBACK(on_browse_btn_clicked), dlg ); g_signal_connect ( G_OBJECT( view ), "row_activated", G_CALLBACK ( on_view_row_activated ), dlg ); gtk_window_set_transient_for( GTK_WINDOW( dlg ), parent ); if ( focus_all_apps ) { // select All Apps tab gtk_widget_show( dlg ); gtk_notebook_next_page( notebook ); } return dlg; } static void on_load_all_apps_finish( VFSAsyncTask* task, gboolean is_cancelled, GtkWidget* dlg ) { GtkTreeModel* model; GtkTreeView* view; model = (GtkTreeModel*)vfs_async_task_get_data( task ); if( is_cancelled ) { g_object_unref( model ); return; } view = (GtkTreeView*)g_object_get_data( G_OBJECT(task), "view" ); gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE( model ), COL_APP_NAME, sort_by_name, NULL, NULL ); gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE( model ), COL_APP_NAME, GTK_SORT_ASCENDING ); gtk_tree_view_set_model( view, model ); g_object_unref( model ); gdk_window_set_cursor( gtk_widget_get_window ( dlg ), NULL ); } void on_notebook_switch_page ( GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data ) { GtkWidget * dlg = ( GtkWidget* ) user_data; GtkTreeView* view; GtkBuilder* builder = (GtkBuilder*)g_object_get_data(G_OBJECT(dlg), "builder"); /* Load all known apps installed on the system */ if ( page_num == 1 ) { view = GTK_TREE_VIEW( (GtkWidget*)gtk_builder_get_object( builder, "all_apps" ) ); if ( ! gtk_tree_view_get_model( view ) ) { GdkCursor* busy; VFSAsyncTask* task; GtkListStore* list; init_list_view( view ); gtk_widget_grab_focus( GTK_WIDGET( view ) ); busy = gdk_cursor_new_for_display( gtk_widget_get_display(GTK_WIDGET( view )), GDK_WATCH ); gdk_window_set_cursor( gtk_widget_get_window( GTK_WIDGET( gtk_widget_get_toplevel(GTK_WIDGET(view)) ) ), busy ); gdk_cursor_unref( busy ); list = gtk_list_store_new( N_COLS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING ); task = vfs_async_task_new( (VFSAsyncFunc) load_all_known_apps_thread, list ); g_object_set_data( G_OBJECT(task), "view", view ); g_object_set_data( G_OBJECT(dlg), "task", task ); g_signal_connect( task, "finish", G_CALLBACK(on_load_all_apps_finish), dlg ); vfs_async_task_execute( task ); g_signal_connect ( G_OBJECT( view ), "row_activated", G_CALLBACK ( on_view_row_activated ), dlg ); } } } /* * Return selected application in a ``newly allocated'' string. * Returned string is the file name of the *.desktop file or a command line. * These two can be separated by check if the returned string is ended * with ".desktop" postfix. */ gchar* app_chooser_dialog_get_selected_app( GtkWidget* dlg ) { gchar * app = NULL; GtkBuilder* builder = (GtkBuilder*)g_object_get_data(G_OBJECT(dlg), "builder"); GtkEntry* entry = GTK_ENTRY( (GtkWidget*)gtk_builder_get_object( builder, "cmdline" ) ); GtkNotebook* notebook; int idx; GtkBin* scroll; GtkTreeView* view; GtkTreeSelection* tree_sel; GtkTreeModel* model; GtkTreeIter it; app = (char*)gtk_entry_get_text( entry ); if ( app && *app ) { return g_strdup( app ); } notebook = GTK_NOTEBOOK( (GtkWidget*)gtk_builder_get_object( builder, "notebook" ) ); idx = gtk_notebook_get_current_page ( notebook ); scroll = GTK_BIN( gtk_notebook_get_nth_page( notebook, idx ) ); view = GTK_TREE_VIEW(gtk_bin_get_child( scroll )); tree_sel = gtk_tree_view_get_selection( view ); if ( gtk_tree_selection_get_selected ( tree_sel, &model, &it ) ) { gtk_tree_model_get( model, &it, COL_DESKTOP_FILE, &app, -1 ); } else app = NULL; return app; } /* * Check if the user set the selected app default handler. */ gboolean app_chooser_dialog_get_set_default( GtkWidget* dlg ) { GtkBuilder* builder = (GtkBuilder*)g_object_get_data(G_OBJECT(dlg), "builder"); GtkWidget * check = (GtkWidget*)gtk_builder_get_object( builder, "set_default" ); return gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON( check ) ); } void on_browse_btn_clicked ( GtkButton *button, gpointer user_data ) { char * filename; char* app_name; GtkEntry* entry; GtkNotebook* notebook; const char* app_path = "/usr/share/applications"; GtkWidget* parent = GTK_WIDGET(user_data ); GtkWidget* dlg = gtk_file_chooser_dialog_new( NULL, GTK_WINDOW( parent ), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL ); GtkBuilder* builder = (GtkBuilder*)g_object_get_data(G_OBJECT(parent), "builder"); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( dlg ), "/usr/bin" ); if ( gtk_dialog_run( GTK_DIALOG( dlg ) ) == GTK_RESPONSE_OK ) { filename = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER ( dlg ) ); if( filename ) { entry = GTK_ENTRY( (GtkWidget*)gtk_builder_get_object( builder, "cmdline" ) ); notebook = GTK_NOTEBOOK( (GtkWidget*)gtk_builder_get_object( builder, "notebook" ) ); /* FIXME: path shouldn't be hard-coded */ if( g_str_has_prefix( filename, app_path ) && g_str_has_suffix( filename, ".desktop" ) ) { app_name = g_path_get_basename( filename ); gtk_entry_set_text( entry, app_name ); g_free( app_name ); } else { gtk_entry_set_text( entry, filename ); } g_free ( filename ); gtk_widget_set_sensitive( GTK_WIDGET( notebook ), gtk_entry_get_text_length( entry ) == 0 ); gtk_widget_grab_focus( GTK_WIDGET( entry ) ); gtk_editable_set_position( GTK_EDITABLE( entry ), -1 ); } } gtk_widget_destroy( dlg ); } static void on_dlg_response( GtkDialog* dlg, int id, gpointer user_data ) { VFSAsyncTask* task; GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( dlg ), &allocation ); int width = allocation.width; int height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); xset_set( "app_dlg", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "app_dlg", "y", str ); g_free( str ); } switch( id ) { /* The dialog is going to be closed */ case GTK_RESPONSE_OK: case GTK_RESPONSE_CANCEL: case GTK_RESPONSE_NONE: case GTK_RESPONSE_DELETE_EVENT: /* cancel app loading on dialog closing... */ task = (VFSAsyncTask*)g_object_get_data( G_OBJECT(dlg), "task" ); if( task ) { //printf("spacefm: app-chooser.c -> vfs_async_task_cancel\n"); // see note in vfs-async-task.c: vfs_async_task_real_cancel() GDK_THREADS_LEAVE(); vfs_async_task_cancel( task ); GDK_THREADS_ENTER(); /* The GtkListStore will be freed in "finish" handler of task - on_load_all_app_finish(). */ g_object_unref( task ); } break; } } void ptk_app_chooser_has_handler_warn( GtkWidget* parent, VFSMimeType* mime_type ) { // is file handler set for this type? char* msg; GSList* handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_FILE, HANDLER_MOUNT, NULL, mime_type, FALSE, FALSE, TRUE ); if ( handlers_slist ) { msg = g_strdup_printf( _("Note: MIME type '%s' is currently set to open with the '%s' file handler, rather than with your associated MIME application.\n\nYou may also need to disable this handler in Open|File Handlers for this type to be opened with your associated application by default."), vfs_mime_type_get_type( mime_type ), ((XSet*)handlers_slist->data)->menu_label ); xset_msg_dialog( parent, 0, _("MIME Type Has Handler"), NULL, 0, msg, NULL, NULL ); g_free( msg ); g_slist_free( handlers_slist ); } else if ( !xset_get_b( "arc_def_open" ) ) { // is archive handler set for this type? handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_ARC, HANDLER_EXTRACT, NULL, mime_type, FALSE, FALSE, TRUE ); if ( handlers_slist ) { msg = g_strdup_printf( _("Note: MIME type '%s' is currently set to open with the '%s' archive handler, rather than with your associated MIME application.\n\nYou may also need to disable this handler in Open|Archive Defaults|Archive Handlers, OR select global option Open|Archive Defaults|Open With App, for this type to be opened with your associated application by default."), vfs_mime_type_get_type( mime_type ), ((XSet*)handlers_slist->data)->menu_label ); xset_msg_dialog( parent, 0, _("MIME Type Has Handler"), NULL, 0, msg, NULL, NULL ); g_free( msg ); g_slist_free( handlers_slist ); } } } gchar* ptk_choose_app_for_mime_type( GtkWindow* parent, VFSMimeType* mime_type, gboolean focus_all_apps, gboolean show_command, gboolean show_default, gboolean dir_default ) { /* focus_all_apps Focus All Apps tab by default show_command Show custom Command entry show_default Show 'Set as default' checkbox dir_default Show 'Set as default' also for type dir */ GtkWidget * dlg; gchar* app = NULL; gchar* custom = NULL; dlg = app_chooser_dialog_new( parent, mime_type, focus_all_apps, show_command, show_default, dir_default ); g_signal_connect( dlg, "response", G_CALLBACK(on_dlg_response), NULL ); if ( gtk_dialog_run( GTK_DIALOG( dlg ) ) == GTK_RESPONSE_OK ) { app = app_chooser_dialog_get_selected_app( dlg ); if ( app ) { /* The selected app is set to default action */ /* TODO: full-featured mime editor??? */ if ( app_chooser_dialog_get_set_default( dlg ) ) { vfs_mime_type_set_default_action( mime_type, app ); ptk_app_chooser_has_handler_warn( dlg, mime_type ); } else if (/* strcmp( vfs_mime_type_get_type( mime_type ), XDG_MIME_TYPE_UNKNOWN ) && */ ( dir_default || strcmp( vfs_mime_type_get_type( mime_type ), XDG_MIME_TYPE_DIRECTORY ) ) ) { vfs_mime_type_add_action( mime_type, app, &custom ); g_free( app ); app = custom; } } } gtk_widget_destroy( dlg ); return app; } void load_all_apps_in_dir( const char* dir_path, GtkListStore* list, VFSAsyncTask* task ) { GDir* dir = g_dir_open( dir_path, 0, NULL ); if( dir ) { const char* name; char* path; VFSAppDesktop* app; while( (name = g_dir_read_name( dir )) ) { vfs_async_task_lock( task ); if( task->cancel ) { vfs_async_task_unlock( task ); break; } vfs_async_task_unlock( task ); path = g_build_filename( dir_path, name, NULL ); if( G_UNLIKELY( g_file_test( path, G_FILE_TEST_IS_DIR ) ) ) { /* recursively load sub dirs */ load_all_apps_in_dir( path, list, task ); g_free( path ); continue; } if( ! g_str_has_suffix(name, ".desktop") ) continue; vfs_async_task_lock( task ); if( task->cancel ) { vfs_async_task_unlock( task ); break; } vfs_async_task_unlock( task ); app = vfs_app_desktop_new( path ); GDK_THREADS_ENTER(); add_list_item( list, app ); /* There are some operations using GTK+, so lock may be needed. */ GDK_THREADS_LEAVE(); vfs_app_desktop_unref( app ); g_free( path ); } g_dir_close( dir ); } } gpointer load_all_known_apps_thread( VFSAsyncTask* task ) { gchar* dir, **dirs; GtkListStore* list; gboolean cancel = FALSE; GDK_THREADS_ENTER(); list = GTK_LIST_STORE( vfs_async_task_get_data(task) ); GDK_THREADS_LEAVE(); dir = g_build_filename( g_get_user_data_dir(), "applications", NULL ); load_all_apps_in_dir( dir, list, task ); g_free( dir ); for( dirs = (gchar **) g_get_system_data_dirs(); ! task->cancel && *dirs; ++dirs ) { dir = g_build_filename( *dirs, "applications", NULL ); load_all_apps_in_dir( dir, list, task ); g_free( dir ); } vfs_async_task_lock( task ); cancel = task->cancel; vfs_async_task_unlock( task ); return NULL; } spacefm-1.0.5/src/ptk/ptk-app-chooser.h000066400000000000000000000031741264770501700177230ustar00rootroot00000000000000/* * C Interface: appchooserdlg * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _APP_CHOOSER_DLG_H_ #define _APP_CHOOSER_DLG_H_ #include #include "vfs-mime-type.h" G_BEGIN_DECLS /* Let the user choose a application */ gchar* ptk_choose_app_for_mime_type( GtkWindow* parent, VFSMimeType* mime_type, gboolean focus_all_apps, gboolean show_command, gboolean show_default, gboolean dir_default ); /* * Return selected application in a ``newly allocated'' string. * Returned string is the file name of the *.desktop file or a command line. * These two can be separated by check if the returned string is ended * with ".desktop". */ gchar* app_chooser_dialog_get_selected_app( GtkWidget* dlg ); /* * Check if the user set the selected app default handler. */ gboolean app_chooser_dialog_get_set_default( GtkWidget* dlg ); void ptk_app_chooser_has_handler_warn( GtkWidget* parent, VFSMimeType* mime_type ); void on_notebook_switch_page (GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data); void on_browse_btn_clicked (GtkButton *button, gpointer user_data); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-clipboard.c000066400000000000000000000527671264770501700174510ustar00rootroot00000000000000/* * C Implementation: ptk-clipboard * * Description: * * * Copyright: See COPYING file that comes with this distribution * */ #include "ptk-clipboard.h" #include #include /* for realpath */ #include "vfs-file-info.h" #include "ptk-file-task.h" #include "vfs-file-task.h" #include "ptk-utils.h" //MOD static GdkDragAction clipboard_action = GDK_ACTION_DEFAULT; static GList* clipboard_file_list = NULL; static void clipboard_get_data ( GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer user_data ) { GdkAtom uri_list_target = gdk_atom_intern( "text/uri-list", FALSE ); GdkAtom gnome_target = gdk_atom_intern( "x-special/gnome-copied-files", FALSE ); GList* l; gchar* file_name; gchar* action; gboolean use_uri = FALSE; GString* list; if ( ! clipboard_file_list ) return ; list = g_string_sized_new( 8192 ); if ( gtk_selection_data_get_target ( selection_data ) == gnome_target ) { action = clipboard_action == GDK_ACTION_MOVE ? "cut\n" : "copy\n"; g_string_append( list, action ); use_uri = TRUE; } else if ( gtk_selection_data_get_target ( selection_data ) == uri_list_target ) use_uri = TRUE; for ( l = clipboard_file_list; l; l = l->next ) { if ( use_uri ) { file_name = g_filename_to_uri( ( char* ) l->data, NULL, NULL ); } else { file_name = g_filename_display_name( ( char* ) l->data ); } g_string_append( list, file_name ); g_free( file_name ); if ( gtk_selection_data_get_target ( selection_data ) != uri_list_target ) g_string_append_c( list, '\n' ); else g_string_append( list, "\r\n" ); } gtk_selection_data_set ( selection_data, gtk_selection_data_get_target ( selection_data ), 8, ( guchar* ) list->str, list->len + 1 ); /* g_debug( "clipboard data:\n%s\n\n", list->str ); */ g_string_free( list, TRUE ); } static void clipboard_clean_data ( GtkClipboard *clipboard, gpointer user_data ) { /* g_debug( "clean clipboard!\n" ); */ if ( clipboard_file_list ) { g_list_foreach( clipboard_file_list, ( GFunc ) g_free, NULL ); g_list_free( clipboard_file_list ); clipboard_file_list = NULL; } clipboard_action = GDK_ACTION_DEFAULT; } void ptk_clipboard_copy_as_text( const char* working_dir, GList* files ) //MOD added { // aka copy path GtkClipboard* clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GtkClipboard* clip_primary = gtk_clipboard_get( GDK_SELECTION_PRIMARY ); GList *l; VFSFileInfo* file; char* file_path; char* file_text; char* str; char* quoted; file_text = g_strdup( "" ); for ( l = files; l; l = l->next ) { file = ( VFSFileInfo* ) l->data; file_path = g_build_filename( working_dir, vfs_file_info_get_name( file ), NULL ); quoted = bash_quote( file_path ); str = file_text; file_text = g_strdup_printf( "%s %s", str, quoted ); g_free( str ); g_free( quoted ); g_free( file_path ); } gtk_clipboard_set_text ( clip, file_text , -1 ); gtk_clipboard_set_text ( clip_primary, file_text , -1 ); g_free( file_text ); } void ptk_clipboard_copy_name( const char* working_dir, GList* files ) //MOD added { GtkClipboard* clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GtkClipboard* clip_primary = gtk_clipboard_get( GDK_SELECTION_PRIMARY ); GList *l; VFSFileInfo* file; char* file_text; gint fcount = 0; char* str; file_text = g_strdup( "" ); for ( l = files; l; l = l->next ) { file = ( VFSFileInfo* ) l->data; str = file_text; if ( fcount == 0 ) file_text = g_strdup_printf( "%s", vfs_file_info_get_name( file ) ); else if ( fcount == 1 ) file_text = g_strdup_printf( "%s\n%s\n", file_text, vfs_file_info_get_name( file ) ); else file_text = g_strdup_printf( "%s%s\n", file_text, vfs_file_info_get_name( file ) ); fcount++; g_free( str ); } gtk_clipboard_set_text( clip, file_text , -1 ); gtk_clipboard_set_text( clip_primary, file_text , -1 ); g_free( file_text ); } void ptk_clipboard_copy_text( const char* text ) //MOD added { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GtkClipboard* clip_primary = gtk_clipboard_get( GDK_SELECTION_PRIMARY ); gtk_clipboard_set_text( clip, text, -1 ); gtk_clipboard_set_text( clip_primary, text, -1 ); } void ptk_clipboard_cut_or_copy_files( const char* working_dir, GList* files, gboolean copy ) { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GtkTargetList* target_list = gtk_target_list_new( NULL, 0 ); GList* target; gint n_targets; GtkTargetEntry* new_target; GtkTargetEntry* targets; GList *l; VFSFileInfo* file; char* file_path; GList* file_list = NULL; gtk_target_list_add_text_targets( target_list, 0 ); targets = gtk_target_table_new_from_list( target_list, &n_targets ); n_targets += 2; targets = g_renew( GtkTargetEntry, targets, n_targets ); #if 0 new_target = gtk_target_entry_new( "x-special/gnome-copied-files", 0, 0 ); #else new_target = g_new0( GtkTargetEntry, 1 ); new_target->target = "x-special/gnome-copied-files"; #endif g_memmove( &(targets[ n_targets - 2 ]), new_target, sizeof (GtkTargetEntry)); #if 0 new_target = gtk_target_entry_new( "text/uri-list", 0, 0 ); #else new_target = g_new0( GtkTargetEntry, 1 ); new_target->target = "text/uri-list"; #endif g_memmove( &(targets[ n_targets - 1 ]), new_target, sizeof (GtkTargetEntry)); gtk_target_list_unref ( target_list ); for ( l = g_list_last( files ); l; l = l->prev ) //sfm was reverse order { file = ( VFSFileInfo* ) l->data; file_path = g_build_filename( working_dir, vfs_file_info_get_name( file ), NULL ); file_list = g_list_prepend( file_list, file_path ); } gtk_clipboard_set_with_data ( clip, targets, n_targets, clipboard_get_data, clipboard_clean_data, NULL ); g_free( targets ); clipboard_file_list = file_list; clipboard_action = copy ? GDK_ACTION_COPY : GDK_ACTION_MOVE; } void ptk_clipboard_copy_file_list( char** path, gboolean copy ) { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GtkTargetList* target_list = gtk_target_list_new( NULL, 0 ); GList* target; gint n_targets; GtkTargetEntry* new_target; GtkTargetEntry* targets; GList *l; VFSFileInfo* file; char** file_path; GList* file_list = NULL; gtk_target_list_add_text_targets( target_list, 0 ); targets = gtk_target_table_new_from_list( target_list, &n_targets ); n_targets += 2; targets = g_renew( GtkTargetEntry, targets, n_targets ); #if 0 new_target = gtk_target_entry_new( "x-special/gnome-copied-files", 0, 0 ); #else new_target = g_new0( GtkTargetEntry, 1 ); new_target->target = "x-special/gnome-copied-files"; #endif g_memmove( &(targets[ n_targets - 2 ]), new_target, sizeof (GtkTargetEntry)); #if 0 new_target = gtk_target_entry_new( "text/uri-list", 0, 0 ); #else new_target = g_new0( GtkTargetEntry, 1 ); new_target->target = "text/uri-list"; #endif g_memmove( &(targets[ n_targets - 1 ]), new_target, sizeof (GtkTargetEntry)); gtk_target_list_unref ( target_list ); file_path = path; while ( *file_path ) { if ( *file_path[0] == '/' ) file_list = g_list_append( file_list, g_strdup( *file_path ) ); file_path++; } gtk_clipboard_set_with_data ( clip, targets, n_targets, clipboard_get_data, clipboard_clean_data, NULL ); g_free( targets ); clipboard_file_list = file_list; clipboard_action = copy ? GDK_ACTION_COPY : GDK_ACTION_MOVE; } void ptk_clipboard_paste_files( GtkWindow* parent_win, const char* dest_dir, GtkTreeView* task_view, GFunc callback, GtkWindow* callback_win ) { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GdkAtom gnome_target; GdkAtom uri_list_target; gchar **uri_list, **puri; GtkSelectionData* sel_data = NULL; GList* files = NULL; gchar* file_path; PtkFileTask* task; VFSFileTaskType action; char* uri_list_str; gnome_target = gdk_atom_intern( "x-special/gnome-copied-files", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, gnome_target ); if ( sel_data ) { if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); if ( 0 == strncmp( ( char* ) gtk_selection_data_get_data( sel_data ), "cut", 3 ) ) action = VFS_FILE_TASK_MOVE; else action = VFS_FILE_TASK_COPY; if ( uri_list_str ) { while ( *uri_list_str && *uri_list_str != '\n' ) ++uri_list_str; } } else { uri_list_target = gdk_atom_intern( "text/uri-list", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, uri_list_target ); if ( !sel_data ) return; if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); if ( clipboard_action == GDK_ACTION_MOVE ) action = VFS_FILE_TASK_MOVE; else action = VFS_FILE_TASK_COPY; } if ( uri_list_str ) { puri = uri_list = g_uri_list_extract_uris( uri_list_str ); while ( *puri ) { file_path = g_filename_from_uri( *puri, NULL, NULL ); if ( file_path ) { files = g_list_prepend( files, file_path ); } ++puri; } g_strfreev( uri_list ); //sfm if ( files ) files = g_list_reverse( files ); /* * If only one item is selected and the item is a * directory, paste the files in that directory; * otherwise, paste the file in current directory. */ task = ptk_file_task_new( action, files, dest_dir, parent_win ? GTK_WINDOW( parent_win ) : NULL, GTK_WIDGET( task_view ) ); if ( callback && callback_win ) ptk_file_task_set_complete_notify( task, callback, (gpointer)callback_win ); ptk_file_task_run( task ); } gtk_selection_data_free( sel_data ); } void ptk_clipboard_paste_links( GtkWindow* parent_win, const char* dest_dir, GtkTreeView* task_view, GFunc callback, GtkWindow* callback_win ) { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GdkAtom gnome_target; GdkAtom uri_list_target; gchar **uri_list, **puri; GtkSelectionData* sel_data = NULL; GList* files = NULL; gchar* file_path; PtkFileTask* task; VFSFileTaskType action; char* uri_list_str; gnome_target = gdk_atom_intern( "x-special/gnome-copied-files", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, gnome_target ); if ( sel_data ) { if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); action = VFS_FILE_TASK_LINK; if ( uri_list_str ) { while ( *uri_list_str && *uri_list_str != '\n' ) ++uri_list_str; } } else { uri_list_target = gdk_atom_intern( "text/uri-list", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, uri_list_target ); if ( !sel_data ) return; if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); action = VFS_FILE_TASK_LINK; } if ( uri_list_str ) { puri = uri_list = g_uri_list_extract_uris( uri_list_str ); while ( *puri ) { if ( file_path = g_filename_from_uri( *puri, NULL, NULL ) ) files = g_list_prepend( files, file_path ); ++puri; } g_strfreev( uri_list ); //sfm if ( files ) files = g_list_reverse( files ); task = ptk_file_task_new( action, files, dest_dir, parent_win ? GTK_WINDOW( parent_win ) : NULL, task_view ? GTK_WIDGET( task_view ) : NULL ); if ( callback && callback_win ) ptk_file_task_set_complete_notify( task, callback, (gpointer)callback_win ); ptk_file_task_run( task ); } gtk_selection_data_free( sel_data ); } void ptk_clipboard_paste_targets( GtkWindow* parent_win, const char* dest_dir, GtkTreeView* task_view, GFunc callback, GtkWindow* callback_win ) { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GdkAtom gnome_target; GdkAtom uri_list_target; gchar **uri_list, **puri; GtkSelectionData* sel_data = NULL; GList* files = NULL; gchar* file_path; gint missing_targets = 0; char* str; char buf[ PATH_MAX + 1 ]; char* canon; ssize_t len; struct stat64 stat; PtkFileTask* task; VFSFileTaskType action; char* uri_list_str; gnome_target = gdk_atom_intern( "x-special/gnome-copied-files", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, gnome_target ); if ( sel_data ) { if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); action = VFS_FILE_TASK_COPY; if ( uri_list_str ) { while ( *uri_list_str && *uri_list_str != '\n' ) ++uri_list_str; } } else { uri_list_target = gdk_atom_intern( "text/uri-list", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, uri_list_target ); if ( !sel_data ) return; if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); action = VFS_FILE_TASK_COPY; } if ( uri_list_str ) { puri = uri_list = g_uri_list_extract_uris( uri_list_str ); while ( *puri ) { file_path = g_filename_from_uri( *puri, NULL, NULL ); if ( file_path ) { if ( g_file_test( file_path, G_FILE_TEST_IS_SYMLINK ) ) { str = file_path; // canonicalize target canon = g_strdup( realpath( file_path, buf ) ); if ( canon ) file_path = canon; else { /* fall back to immediate target if canonical target * missing. * g_file_read_link() doesn't behave like readlink, * gives nothing if final target missing */ len = readlink( file_path, buf, PATH_MAX ); if ( len > 0 ) file_path = g_strndup( buf, len ); else file_path = NULL; } g_free( str ); } if ( file_path ) { // do not use g_file_test here - link target may be missing if ( lstat64( file_path, &stat ) == 0 ) files = g_list_prepend( files, file_path ); else { missing_targets++; g_free( file_path ); } } } ++puri; } g_strfreev( uri_list ); //sfm if ( files ) files = g_list_reverse( files ); task = ptk_file_task_new( action, files, dest_dir, parent_win ? GTK_WINDOW( parent_win ) : NULL, GTK_WIDGET( task_view ) ); if ( callback && callback_win ) ptk_file_task_set_complete_notify( task, callback, (gpointer)callback_win ); ptk_file_task_run( task ); if ( missing_targets > 0 ) ptk_show_error( parent_win ? GTK_WINDOW( parent_win ) : NULL, g_strdup_printf ( "Error" ), g_strdup_printf ( "%i target%s missing", missing_targets, missing_targets > 1 ? g_strdup_printf ( "s are" ) : g_strdup_printf ( " is" ) ) ); } gtk_selection_data_free( sel_data ); } GList* ptk_clipboard_get_file_paths( const char* cwd, gboolean* is_cut, gint* missing_targets ) { GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GdkAtom gnome_target; GdkAtom uri_list_target; gchar **uri_list, **puri; GtkSelectionData* sel_data = NULL; GList* files = NULL; gchar* file_path; char* uri_list_str; *is_cut = FALSE; *missing_targets = 0; // get files from clip gnome_target = gdk_atom_intern( "x-special/gnome-copied-files", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, gnome_target ); if ( sel_data ) { if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return NULL; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); *is_cut = ( 0 == strncmp( ( char* ) gtk_selection_data_get_data( sel_data ), "cut", 3 ) ); if ( uri_list_str ) { while ( *uri_list_str && *uri_list_str != '\n' ) ++uri_list_str; } } else { uri_list_target = gdk_atom_intern( "text/uri-list", FALSE ); sel_data = gtk_clipboard_wait_for_contents( clip, uri_list_target ); if ( ! sel_data ) return NULL; if ( gtk_selection_data_get_length( sel_data ) <= 0 || gtk_selection_data_get_format( sel_data ) != 8 ) { gtk_selection_data_free( sel_data ); return NULL; } uri_list_str = ( char* ) gtk_selection_data_get_data( sel_data ); } if ( !uri_list_str ) { gtk_selection_data_free( sel_data ); return NULL; } // create file list puri = uri_list = g_uri_list_extract_uris( uri_list_str ); while ( *puri ) { file_path = g_filename_from_uri( *puri, NULL, NULL ); if ( file_path ) { if ( g_file_test( file_path, G_FILE_TEST_EXISTS ) ) { files = g_list_prepend( files, file_path ); } else // no *missing_targets++ here to avoid -Wunused-value compiler warning *missing_targets = *missing_targets + 1; } ++puri; } g_strfreev( uri_list ); gtk_selection_data_free( sel_data ); return files; } spacefm-1.0.5/src/ptk/ptk-clipboard.h000066400000000000000000000033051264770501700174360ustar00rootroot00000000000000/* * C Interface: ptk-clipboard * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_CLIPBOARD_H_ #define _PTK_CLIPBOARD_H_ #include #include G_BEGIN_DECLS void ptk_clipboard_cut_or_copy_files( const char* working_dir, GList* files, gboolean copy ); void ptk_clipboard_copy_as_text( const char* working_dir, GList* files ); //MOD added void ptk_clipboard_copy_name( const char* working_dir, GList* files ); //MOD added void ptk_clipboard_paste_files( GtkWindow* parent_win, const char* dest_dir, GtkTreeView* task_view, GFunc callback, GtkWindow* callback_win ); void ptk_clipboard_paste_links( GtkWindow* parent_win, const char* dest_dir, GtkTreeView* task_view, GFunc callback, GtkWindow* callback_win ); void ptk_clipboard_paste_targets( GtkWindow* parent_win, const char* dest_dir, GtkTreeView* task_view, GFunc callback, GtkWindow* callback_win ); void ptk_clipboard_copy_text( const char* text ); //MOD added void ptk_clipboard_copy_file_list( char** path, gboolean copy ); //sfm GList* ptk_clipboard_get_file_paths( const char* cwd, gboolean* is_cut, gint* missing_targets ); //sfm G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-console-output.c000066400000000000000000000201601264770501700204700ustar00rootroot00000000000000/* * * NOTE: This file is retained for reference purposes only - it is no longer * included in the build system. * */ #include #include #include "glib-mem.h" #include #include #include #include #include /* for kill(2) */ #include "ptk-utils.h" typedef struct _PtkConsoleOutputData { GtkWidget* main_dlg; GtkWidget* scroll; GtkTextView* view; GtkTextBuffer* buf; GPid pid; int stdo, stdi, stde; GIOChannel *chstdo, *chstdi, *chstde; }PtkConsoleOutputData; static gboolean on_complete( gpointer user_data ) { GtkAdjustment* adj = GTK_ADJUSTMENT( user_data ); gdk_threads_enter(); gtk_adjustment_set_value( adj, gtk_adjustment_get_upper( adj ) - gtk_adjustment_get_page_size( adj ) ); gdk_threads_leave(); return FALSE; } static gboolean delayed_destroy( gpointer dlg ) { gdk_threads_enter(); gtk_widget_destroy( GTK_WIDGET( dlg ) ); gdk_threads_leave(); return FALSE; } static gboolean on_output( GIOChannel* ch, GIOCondition cond, gpointer user_data ) { GtkTextIter it; char buffer[4096]; gsize rlen = 0; GtkAdjustment* adj; int status; PtkConsoleOutputData *data = (PtkConsoleOutputData*)user_data; if( cond & G_IO_IN ) { g_io_channel_read_chars( ch, buffer, sizeof(buffer), &rlen, NULL ); GDK_THREADS_ENTER(); /*gdk_window_freeze_updates( GTK_WIDGET(data->view)->window );*/ gtk_text_buffer_get_end_iter( data->buf, &it ); gtk_text_buffer_insert( data->buf, &it, buffer, rlen ); adj = gtk_scrolled_window_get_vadjustment( GTK_SCROLLED_WINDOW(data->scroll) ); gtk_adjustment_set_value( adj, gtk_adjustment_get_upper( adj ) - gtk_adjustment_get_page_size( adj ) ); /*gdk_window_thaw_updates( GTK_WIDGET(data->view)->window );*/ GDK_THREADS_LEAVE(); } if( cond == G_IO_HUP ) { if( data->chstdo == ch ) { strcpy(buffer, _("\nComplete!")); rlen = strlen(buffer); GDK_THREADS_ENTER(); gtk_text_buffer_get_end_iter( data->buf, &it ); gtk_text_buffer_insert( data->buf, &it, buffer, rlen ); gtk_dialog_set_response_sensitive( GTK_DIALOG(data->main_dlg), GTK_RESPONSE_CANCEL, FALSE ); gtk_dialog_set_response_sensitive( GTK_DIALOG(data->main_dlg), GTK_RESPONSE_CLOSE, TRUE ); if( data->pid ) { status = 0; waitpid( data->pid, &status, 0 ); data->pid = 0; if( WIFEXITED(status) && 0 == WEXITSTATUS(status) ) { g_idle_add( delayed_destroy, data->main_dlg ); GDK_THREADS_LEAVE(); return FALSE; } adj = gtk_scrolled_window_get_vadjustment( GTK_SCROLLED_WINDOW(data->scroll) ); gtk_adjustment_set_value( adj, gtk_adjustment_get_upper( adj ) - gtk_adjustment_get_page_size( adj ) ); g_idle_add( on_complete, adj ); } GDK_THREADS_LEAVE(); } return FALSE; } return TRUE; } static void on_destroy( gpointer data, GObject* obj ) { int status = 0; PtkConsoleOutputData* ptk_data = (PtkConsoleOutputData *)data; do{} while( g_source_remove_by_user_data( ptk_data ) ); if( ptk_data->chstdo ) { g_io_channel_unref(ptk_data->chstdo); close( ptk_data->stdo ); } if( ptk_data->chstde ) { g_io_channel_unref(ptk_data->chstde); close( ptk_data->stde ); } if( ptk_data->pid ) { kill( ptk_data->pid, 15 ); waitpid( ptk_data->pid, &status, 0 ); } g_slice_free( PtkConsoleOutputData, ptk_data ); } static void on_response( GtkDialog* dlg, int response, PtkConsoleOutputData* data ) { gtk_widget_destroy( data->main_dlg ); } int ptk_console_output_run( GtkWindow* parent_win, const char* title, const char* desc, const char* working_dir, int argc, char* argv[] ) { GtkWidget* main_dlg; GtkWidget* desc_label; PtkConsoleOutputData* data; GtkWidget* hbox; GtkWidget* entry; GdkColor black={0}, white={0, 65535, 65535, 65535}; char* cmd; GError* err; data = g_slice_new0( PtkConsoleOutputData ); cmd = g_strjoinv( " ", &argv[0] ); main_dlg = gtk_dialog_new_with_buttons( title, NULL, 0, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL ); gtk_dialog_set_alternative_button_order( GTK_DIALOG(main_dlg), GTK_RESPONSE_CLOSE, GTK_RESPONSE_CANCEL, -1 ); g_object_weak_ref( G_OBJECT(main_dlg), on_destroy, data ); data->main_dlg = main_dlg; gtk_dialog_set_response_sensitive( GTK_DIALOG(main_dlg), GTK_RESPONSE_CLOSE, FALSE ); gtk_window_set_type_hint( GTK_WINDOW(main_dlg), GDK_WINDOW_TYPE_HINT_NORMAL ); desc_label = gtk_label_new( desc ); gtk_label_set_line_wrap( GTK_LABEL(desc_label), TRUE ); gtk_box_pack_start( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(main_dlg))), desc_label, FALSE, TRUE, 2 ); hbox = gtk_hbox_new( FALSE, 2 ); gtk_box_pack_start( GTK_BOX(hbox), gtk_label_new( _("Command:") ), FALSE, FALSE, 2 ); entry = gtk_entry_new(); gtk_entry_set_text( GTK_ENTRY(entry), cmd ); gtk_editable_set_position( GTK_EDITABLE(entry), 0 ); gtk_editable_set_editable( GTK_EDITABLE(entry), FALSE ); gtk_editable_select_region( GTK_EDITABLE(entry), 0, 0 ); g_free( cmd ); gtk_box_pack_start( GTK_BOX(hbox), entry, TRUE, TRUE, 2 ); gtk_box_pack_start( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(main_dlg))), hbox, FALSE, TRUE, 2 ); data->buf = GTK_TEXT_BUFFER(gtk_text_buffer_new(NULL)); data->view = GTK_TEXT_VIEW(gtk_text_view_new_with_buffer( data->buf )); gtk_widget_modify_base( GTK_WIDGET(data->view), GTK_STATE_NORMAL, &black ); gtk_widget_modify_text( GTK_WIDGET(data->view), GTK_STATE_NORMAL, &white ); data->scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(data->scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS ); gtk_container_add( GTK_CONTAINER(data->scroll), GTK_WIDGET(data->view) ); gtk_box_pack_start( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(main_dlg))), data->scroll, TRUE, TRUE, 2 ); gtk_widget_show_all( gtk_dialog_get_content_area(GTK_DIALOG(main_dlg)) ); gtk_window_set_default_size( GTK_WINDOW(main_dlg), 480, 240 ); gtk_widget_show( main_dlg ); if( g_spawn_async_with_pipes( working_dir, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &data->pid, NULL/*&stdi*/, &data->stdo, &data->stde, &err ) ) { /* fcntl(stdi,F_SETFL,O_NONBLOCK); */ fcntl(data->stdo,F_SETFL,O_NONBLOCK); fcntl(data->stde,F_SETFL,O_NONBLOCK); data->chstdo = g_io_channel_unix_new( data->stdo ); g_io_channel_set_encoding( data->chstdo, NULL, NULL ); g_io_channel_set_buffered( data->chstdo, FALSE ); g_io_add_watch( data->chstdo, G_IO_IN|G_IO_HUP, on_output, data ); fcntl(data->stde,F_SETFL,O_NONBLOCK); data->chstde = g_io_channel_unix_new( data->stde ); g_io_channel_set_encoding( data->chstde, NULL, NULL ); g_io_channel_set_buffered( data->chstde, FALSE ); g_io_add_watch( data->chstde, G_IO_IN|G_IO_HUP, on_output, data ); g_signal_connect( main_dlg, "delete-event", G_CALLBACK(gtk_widget_destroy), NULL ); g_signal_connect( main_dlg, "response", G_CALLBACK(on_response), data ); } else { gtk_widget_destroy( main_dlg ); ptk_show_error( parent_win, _("Error"), err->message ); g_error_free( err ); return 1; } return 0; } spacefm-1.0.5/src/ptk/ptk-console-output.h000066400000000000000000000005641264770501700205030ustar00rootroot00000000000000#ifndef _PTK_CONSOLE_OUTPUT_H_ #define _PTK_CONSOLE_OUTPUT_H_ #include G_BEGIN_DECLS int ptk_console_output_run( GtkWindow* parent_win, const char* title, const char* desc, const char* working_dir, int argc, char* argv[] ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-dir-tree-view.c000066400000000000000000001001531264770501700201540ustar00rootroot00000000000000/* * C Implementation: ptkdirtreeview * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "ptk-dir-tree-view.h" #include "ptk-file-icon-renderer.h" #include #include #include #include "glib-mem.h" #include #include "ptk-dir-tree.h" #include "ptk-file-menu.h" #include "ptk-file-task.h" //MOD #include "vfs-file-info.h" #include "vfs-file-monitor.h" #include "gtk2-compat.h" static GQuark dir_tree_view_data = 0; static GtkTreeModel* get_dir_tree_model(); static void on_dir_tree_view_row_expanded( GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data ); static void on_dir_tree_view_row_collapsed( GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data ); static gboolean on_dir_tree_view_button_press( GtkWidget* view, GdkEventButton* evt, PtkFileBrowser* browser ); static gboolean on_dir_tree_view_key_press( GtkWidget* view, GdkEventKey* evt, PtkFileBrowser* browser ); static gboolean sel_func ( GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data ); struct _DirTreeNode { VFSFileInfo* file; GList* children; int n_children; VFSFileMonitor* monitor; int n_expand; }; //MOD #if 0 /* Drag & Drop/Clipboard targets */ static GtkTargetEntry drag_targets[] = { { "text/uri-list", 0 , 0 } }; // #endif //MOD drag n drop... static void on_dir_tree_view_drag_data_received ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *sel_data, guint info, guint time, gpointer user_data ); static gboolean on_dir_tree_view_drag_motion ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ); static gboolean on_dir_tree_view_drag_leave ( GtkWidget *widget, GdkDragContext *drag_context, guint time, PtkFileBrowser* file_browser ); static gboolean on_dir_tree_view_drag_drop ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ); #define GDK_ACTION_ALL (GDK_ACTION_MOVE|GDK_ACTION_COPY|GDK_ACTION_LINK) static gboolean filter_func( GtkTreeModel *model, GtkTreeIter *iter, gpointer data ) { VFSFileInfo * file; const char* name; GtkTreeView* view = ( GtkTreeView* ) data; gboolean show_hidden = GPOINTER_TO_INT( g_object_get_qdata( G_OBJECT( view ), dir_tree_view_data ) ); if ( show_hidden ) return TRUE; gtk_tree_model_get( model, iter, COL_DIR_TREE_INFO, &file, -1 ); if ( G_LIKELY( file ) ) { name = vfs_file_info_get_name( file ); if ( G_UNLIKELY( name && name[ 0 ] == '.' ) ) { vfs_file_info_unref( file ); return FALSE; } vfs_file_info_unref( file ); } return TRUE; } static void on_destroy(GtkWidget* w) { do{ }while( g_source_remove_by_user_data(w) ); } /* Create a new dir tree view */ GtkWidget* ptk_dir_tree_view_new( PtkFileBrowser* browser, gboolean show_hidden ) { GtkTreeView * dir_tree_view; GtkTreeViewColumn* col; GtkCellRenderer* renderer; GtkTreeModel* model; GtkTreeSelection* tree_sel; GtkTreePath* tree_path; GtkTreeModel* filter; dir_tree_view = GTK_TREE_VIEW( gtk_tree_view_new () ); gtk_tree_view_set_headers_visible( dir_tree_view, FALSE ); gtk_tree_view_set_enable_tree_lines(dir_tree_view, TRUE); //MOD enabled DND FIXME: Temporarily disable drag & drop since it doesn't work right now. /* exo_icon_view_enable_model_drag_dest ( EXO_ICON_VIEW( dir_tree_view ), drag_targets, G_N_ELEMENTS( drag_targets ), GDK_ACTION_ALL ); */ gtk_tree_view_enable_model_drag_dest ( dir_tree_view, drag_targets, sizeof( drag_targets ) / sizeof( GtkTargetEntry ), GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK ); /* gtk_tree_view_enable_model_drag_source ( dir_tree_view, ( GDK_CONTROL_MASK | GDK_BUTTON1_MASK | GDK_BUTTON3_MASK ), drag_targets, sizeof( drag_targets ) / sizeof( GtkTargetEntry ), GDK_ACTION_DEFAULT | GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK ); */ col = gtk_tree_view_column_new (); renderer = ( GtkCellRenderer* ) ptk_file_icon_renderer_new(); gtk_tree_view_column_pack_start( col, renderer, FALSE ); gtk_tree_view_column_set_attributes( col, renderer, "pixbuf", COL_DIR_TREE_ICON, "info", COL_DIR_TREE_INFO, NULL ); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", COL_DIR_TREE_DISP_NAME, NULL ); gtk_tree_view_append_column ( dir_tree_view, col ); tree_sel = gtk_tree_view_get_selection( dir_tree_view ); gtk_tree_selection_set_select_function( tree_sel, sel_func, NULL, NULL ); if ( G_UNLIKELY( !dir_tree_view_data ) ) dir_tree_view_data = g_quark_from_static_string( "show_hidden" ); g_object_set_qdata( G_OBJECT( dir_tree_view ), dir_tree_view_data, GINT_TO_POINTER( show_hidden ) ); model = get_dir_tree_model(); filter = gtk_tree_model_filter_new( model, NULL ); g_object_unref( G_OBJECT( model ) ); gtk_tree_model_filter_set_visible_func( GTK_TREE_MODEL_FILTER( filter ), filter_func, dir_tree_view, NULL ); gtk_tree_view_set_model( dir_tree_view, filter ); g_object_unref( G_OBJECT( filter ) ); g_signal_connect ( dir_tree_view, "row-expanded", G_CALLBACK ( on_dir_tree_view_row_expanded ), model ); g_signal_connect_data ( dir_tree_view, "row-collapsed", G_CALLBACK ( on_dir_tree_view_row_collapsed ), model, NULL, G_CONNECT_AFTER ); g_signal_connect ( dir_tree_view, "button-press-event", G_CALLBACK ( on_dir_tree_view_button_press ), browser ); g_signal_connect ( dir_tree_view, "key-press-event", G_CALLBACK ( on_dir_tree_view_key_press ), browser ); //MOD drag n drop g_signal_connect ( ( gpointer ) dir_tree_view, "drag-data-received", G_CALLBACK ( on_dir_tree_view_drag_data_received ), browser ); g_signal_connect ( ( gpointer ) dir_tree_view, "drag-motion", G_CALLBACK ( on_dir_tree_view_drag_motion ), browser ); g_signal_connect ( ( gpointer ) dir_tree_view, "drag-leave", G_CALLBACK ( on_dir_tree_view_drag_leave ), browser ); g_signal_connect ( ( gpointer ) dir_tree_view, "drag-drop", G_CALLBACK ( on_dir_tree_view_drag_drop ), browser ); tree_path = gtk_tree_path_new_first(); gtk_tree_view_expand_row( dir_tree_view, tree_path, FALSE ); gtk_tree_path_free( tree_path ); g_signal_connect( dir_tree_view, "destroy", G_CALLBACK(on_destroy), NULL ); return GTK_WIDGET( dir_tree_view ); } gboolean ptk_dir_tree_view_chdir( GtkTreeView* dir_tree_view, const char* path ) { GtkTreeModel * model; GtkTreeIter it, parent_it; GtkTreePath* tree_path = NULL; gchar **dirs, **dir; gboolean found; VFSFileInfo* info; if ( !path || *path != '/' ) return FALSE; dirs = g_strsplit( path + 1, "/", -1 ); if ( !dirs ) return FALSE; model = gtk_tree_view_get_model( dir_tree_view ); if ( ! gtk_tree_model_iter_children ( model, &parent_it, NULL ) ) { g_strfreev( dirs ); return FALSE; } /* special case: root dir */ if ( ! dirs[ 0 ] ) { it = parent_it; tree_path = gtk_tree_model_get_path ( model, &parent_it ); goto _found; } for ( dir = dirs; *dir; ++dir ) { if ( ! gtk_tree_model_iter_children ( model, &it, &parent_it ) ) { g_strfreev( dirs ); return FALSE; } found = FALSE; do { gtk_tree_model_get( model, &it, COL_DIR_TREE_INFO, &info, -1 ); if ( !info ) continue; if ( 0 == strcmp( vfs_file_info_get_name( info ), *dir ) ) { tree_path = gtk_tree_model_get_path( model, &it ); if( dir[1] ) { gtk_tree_view_expand_row ( dir_tree_view, tree_path, FALSE ); gtk_tree_model_get_iter( model, &parent_it, tree_path ); } found = TRUE; vfs_file_info_unref( info ); break; } vfs_file_info_unref( info ); } while ( gtk_tree_model_iter_next( model, &it ) ); if ( ! found ) return FALSE; /* Error! */ if ( tree_path && dir[ 1 ] ) { gtk_tree_path_free( tree_path ); tree_path = NULL; } } _found: g_strfreev( dirs ); gtk_tree_selection_select_path ( gtk_tree_view_get_selection( dir_tree_view ), tree_path ); gtk_tree_view_scroll_to_cell ( dir_tree_view, tree_path, NULL, FALSE, 0.5, 0.5 ); gtk_tree_path_free( tree_path ); return TRUE; } /* FIXME: should this API be put here? Maybe it belongs to prk-dir-tree.c */ char* ptk_dir_view_get_dir_path( GtkTreeModel* model, GtkTreeIter* it ) { GtkTreeModel * tree; GtkTreeIter real_it; gtk_tree_model_filter_convert_iter_to_child_iter( GTK_TREE_MODEL_FILTER( model ), &real_it, it ); tree = gtk_tree_model_filter_get_model( GTK_TREE_MODEL_FILTER( model ) ); return ptk_dir_tree_get_dir_path( PTK_DIR_TREE( tree ), &real_it ); } /* Return a newly allocated string containing path of current selected dir. */ char* ptk_dir_tree_view_get_selected_dir( GtkTreeView* dir_tree_view ) { GtkTreeModel * model; GtkTreeIter it; GtkTreeSelection* tree_sel; tree_sel = gtk_tree_view_get_selection( dir_tree_view ); if ( gtk_tree_selection_get_selected( tree_sel, &model, &it ) ) return ptk_dir_view_get_dir_path( model, &it ); return NULL; } GtkTreeModel* get_dir_tree_model() { static PtkDirTree * dir_tree_model = NULL; if ( G_UNLIKELY( ! dir_tree_model ) ) { dir_tree_model = ptk_dir_tree_new( TRUE ); g_object_add_weak_pointer( G_OBJECT( dir_tree_model ), ( gpointer * ) (GtkWidget *) & dir_tree_model ); } else { g_object_ref( G_OBJECT( dir_tree_model ) ); } return GTK_TREE_MODEL( dir_tree_model ); } gboolean sel_func ( GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data ) { GtkTreeIter it; VFSFileInfo* file; if ( ! gtk_tree_model_get_iter( model, &it, path ) ) return FALSE; gtk_tree_model_get( model, &it, COL_DIR_TREE_INFO, &file, -1 ); if ( !file ) return FALSE; vfs_file_info_unref( file ); return TRUE; } void ptk_dir_tree_view_show_hidden_files( GtkTreeView* dir_tree_view, gboolean show_hidden ) { GtkTreeModel * filter; g_object_set_qdata( G_OBJECT( dir_tree_view ), dir_tree_view_data, GINT_TO_POINTER( show_hidden ) ); filter = gtk_tree_view_get_model( dir_tree_view ); gtk_tree_model_filter_refilter( GTK_TREE_MODEL_FILTER( filter ) ); } void on_dir_tree_view_row_expanded( GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data ) { GtkTreeIter real_it; GtkTreePath* real_path; GtkTreeModel* filter = gtk_tree_view_get_model( treeview ); PtkDirTree* tree = PTK_DIR_TREE( user_data ); gtk_tree_model_filter_convert_iter_to_child_iter( GTK_TREE_MODEL_FILTER( filter ), &real_it, iter ); real_path = gtk_tree_model_filter_convert_path_to_child_path( GTK_TREE_MODEL_FILTER( filter ), path ); ptk_dir_tree_expand_row( tree, &real_it, real_path ); gtk_tree_path_free( real_path ); } void on_dir_tree_view_row_collapsed( GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data ) { GtkTreeIter real_it; GtkTreePath* real_path; GtkTreeModel* filter = gtk_tree_view_get_model( treeview ); PtkDirTree* tree = PTK_DIR_TREE( user_data ); gtk_tree_model_filter_convert_iter_to_child_iter( GTK_TREE_MODEL_FILTER( filter ), &real_it, iter ); real_path = gtk_tree_model_filter_convert_path_to_child_path( GTK_TREE_MODEL_FILTER( filter ), path ); ptk_dir_tree_collapse_row( tree, &real_it, real_path ); gtk_tree_path_free( real_path ); } gboolean on_dir_tree_view_button_press( GtkWidget* view, GdkEventButton* evt, PtkFileBrowser* browser ) { GtkTreeModel* model; GtkTreePath* tree_path; GtkTreeViewColumn* tree_col; GtkTreeIter it; if ( evt->type == GDK_BUTTON_PRESS && ( evt->button == 1 || evt->button == 3 ) ) { // middle click 2 handled in ptk-file-browser.c on_dir_tree_button_press model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), evt->x, evt->y, &tree_path, &tree_col, NULL, NULL ) ) { if ( gtk_tree_model_get_iter( model, &it, tree_path ) ) { gtk_tree_view_set_cursor( GTK_TREE_VIEW( view ), tree_path, tree_col, FALSE ); if ( evt->button == 3 ) { // right click char* dir_path = ptk_dir_tree_view_get_selected_dir( GTK_TREE_VIEW( view ) ); if ( ptk_file_browser_chdir( browser, dir_path, PTK_FB_CHDIR_ADD_HISTORY ) ) { /* show right-click menu * This simulates a right-click in the file list when * no files are selected (even if some are) since * actions are to be taken on the dir itself. */ GtkWidget* popup = ptk_file_menu_new( NULL, browser, NULL, NULL, dir_path, NULL ); if ( popup ) gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, 3, 0 ); gtk_tree_path_free( tree_path ); return TRUE; } } else gtk_tree_view_row_activated( GTK_TREE_VIEW( view ), tree_path, tree_col ); } gtk_tree_path_free( tree_path ); } } else if ( evt->type == GDK_2BUTTON_PRESS && evt->button == 1 ) { // double click - expand/collapse if ( gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), evt->x, evt->y, &tree_path, NULL, NULL, NULL ) ) { if ( gtk_tree_view_row_expanded( GTK_TREE_VIEW( view ), tree_path ) ) gtk_tree_view_collapse_row( GTK_TREE_VIEW( view ), tree_path ); else gtk_tree_view_expand_row( GTK_TREE_VIEW( view ), tree_path, FALSE ); gtk_tree_path_free( tree_path ); return TRUE; } } return FALSE; } gboolean on_dir_tree_view_key_press( GtkWidget* view, GdkEventKey* evt, PtkFileBrowser* browser ) { VFSFileInfo* file; GtkTreeModel *model; GtkTreeIter iter; GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); if(!gtk_tree_selection_get_selected(select, &model, &iter)) return FALSE; int keymod = ( evt->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); GtkTreePath *path = gtk_tree_model_get_path(model, &iter); switch( evt->keyval ) { case GDK_KEY_Left: if(gtk_tree_view_row_expanded(GTK_TREE_VIEW(view), path)) { gtk_tree_view_collapse_row(GTK_TREE_VIEW(view), path); } else if(gtk_tree_path_up(path)) { gtk_tree_selection_select_path(select, path); gtk_tree_view_set_cursor(GTK_TREE_VIEW(view), path, NULL, FALSE); } else { gtk_tree_path_free( path ); return FALSE; } break; case GDK_KEY_Right: if(!gtk_tree_view_row_expanded(GTK_TREE_VIEW(view), path)) { gtk_tree_view_expand_row(GTK_TREE_VIEW(view), path, FALSE); } else { gtk_tree_path_down(path); gtk_tree_selection_select_path(select, path); gtk_tree_view_set_cursor(GTK_TREE_VIEW(view), path, NULL, FALSE); } break; case GDK_KEY_F10: case GDK_KEY_Menu: if ( evt->keyval == GDK_KEY_F10 && keymod != GDK_SHIFT_MASK ) { gtk_tree_path_free( path ); return FALSE; } char* dir_path = ptk_dir_tree_view_get_selected_dir( GTK_TREE_VIEW( view ) ); if ( ptk_file_browser_chdir( browser, dir_path, PTK_FB_CHDIR_ADD_HISTORY ) ) { /* show right-click menu * This simulates a right-click in the file list when * no files are selected (even if some are) since * actions are to be taken on the dir itself. */ GtkWidget* popup = ptk_file_menu_new( NULL, browser, NULL, NULL, dir_path, NULL ); if ( popup ) gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, 3, 0 ); } /* this old method operates on the wrong files gtk_tree_model_get( gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ), &iter, COL_DIR_TREE_INFO, &file, -1 ); if ( file ) { GtkWidget * popup; char* file_path; GList* sel_files; char* dir_name; file_path = ptk_dir_view_get_dir_path( gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ), &iter ); sel_files = g_list_prepend( NULL, vfs_file_info_ref(file) ); dir_name = g_path_get_dirname( file_path ); popup = ptk_file_menu_new( NULL, browser, file_path, file, dir_name, sel_files ); g_free( dir_name ); g_free( file_path ); if ( popup ) gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, 3, evt->time ); vfs_file_info_unref( file ); } */ break; default: gtk_tree_path_free( path ); return FALSE; } gtk_tree_path_free( path ); return TRUE; } //MOD drag n drop static char* dir_tree_view_get_drop_dir( GtkWidget* view, int x, int y ) { GtkTreePath *tree_path = NULL; GtkTreeModel *model; GtkTreeIter it; VFSFileInfo* file; char* dest_path = NULL; // if drag is in progress, get the dest row path gtk_tree_view_get_drag_dest_row( GTK_TREE_VIEW( view ), &tree_path, NULL ); if ( !tree_path ) { // no drag in progress, get drop path if ( !gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), x, y, &tree_path, NULL, NULL, NULL ) ) tree_path = NULL; } if ( tree_path ) { model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( gtk_tree_model_get_iter( model, &it, tree_path ) ) { gtk_tree_model_get( model, &it, COL_DIR_TREE_INFO, &file, -1 ); if ( file ) { dest_path = ptk_dir_view_get_dir_path( model, &it ); vfs_file_info_unref( file ); } } gtk_tree_path_free( tree_path ); } /* this isn't needed? // dest_path is a link? resolve if ( dest_path && g_file_test( dest_path, G_FILE_TEST_IS_SYMLINK ) ) { char* old_dest = dest_path; dest_path = g_file_read_link( old_dest, NULL ); g_free( old_dest ); } */ return dest_path; } void on_dir_tree_view_drag_data_received ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *sel_data, guint info, guint time, gpointer user_data ) //MOD added { gchar **list, **puri; GList* files = NULL; PtkFileTask* task; VFSFileTaskType file_action = VFS_FILE_TASK_MOVE; PtkFileBrowser* file_browser = ( PtkFileBrowser* ) user_data; char* dest_dir; char* file_path; GtkWidget* parent_win; /* Don't call the default handler */ g_signal_stop_emission_by_name( widget, "drag-data-received" ); if ( ( gtk_selection_data_get_length( sel_data ) >= 0 ) && ( gtk_selection_data_get_format( sel_data ) == 8 ) ) { dest_dir = dir_tree_view_get_drop_dir( widget, x, y ); if ( dest_dir ) { puri = list = gtk_selection_data_get_uris( sel_data ); if( file_browser->pending_drag_status_tree ) { // We only want to update drag status, not really want to drop dev_t dest_dev; struct stat statbuf; // skip stat64 if( stat( dest_dir, &statbuf ) == 0 ) { dest_dev = statbuf.st_dev; if( 0 == file_browser->drag_source_dev_tree ) { file_browser->drag_source_dev_tree = dest_dev; for( ; *puri; ++puri ) { file_path = g_filename_from_uri( *puri, NULL, NULL ); if( stat( file_path, &statbuf ) == 0 && statbuf.st_dev != dest_dev ) { file_browser->drag_source_dev_tree = statbuf.st_dev; g_free( file_path ); break; } g_free( file_path ); } } if( file_browser->drag_source_dev_tree != dest_dev ) // src and dest are on different devices */ gdk_drag_status( drag_context, GDK_ACTION_COPY, time); else gdk_drag_status( drag_context, GDK_ACTION_MOVE, time); } else // stat failed gdk_drag_status( drag_context, GDK_ACTION_COPY, time); g_free( dest_dir ); g_strfreev( list ); file_browser->pending_drag_status_tree = 0; return; } if ( puri ) { if ( 0 == ( gdk_drag_context_get_selected_action ( drag_context ) & ( GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK ) ) ) { gdk_drag_status( drag_context, GDK_ACTION_MOVE, time); } gtk_drag_finish ( drag_context, TRUE, FALSE, time ); while ( *puri ) { if ( **puri == '/' ) file_path = g_strdup( *puri ); else file_path = g_filename_from_uri( *puri, NULL, NULL ); if ( file_path ) files = g_list_prepend( files, file_path ); ++puri; } g_strfreev( list ); switch ( gdk_drag_context_get_selected_action ( drag_context ) ) { case GDK_ACTION_COPY: file_action = VFS_FILE_TASK_COPY; break; case GDK_ACTION_LINK: file_action = VFS_FILE_TASK_LINK; break; /* FIXME: GDK_ACTION_DEFAULT, GDK_ACTION_PRIVATE, and GDK_ACTION_ASK are not handled */ default: break; } if ( files ) { /* Accept the drop and perform file actions */ { parent_win = gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ); task = ptk_file_task_new( file_action, files, dest_dir, GTK_WINDOW( parent_win ), file_browser->task_view ); ptk_file_task_run( task ); } } g_free( dest_dir ); gtk_drag_finish ( drag_context, TRUE, FALSE, time ); return ; } g_free( dest_dir ); } //else // g_warning ("bad dest_dir in on_dir_tree_view_drag_data_received"); } /* If we are only getting drag status, not finished. */ if( file_browser->pending_drag_status_tree ) { gdk_drag_status ( drag_context, GDK_ACTION_COPY, time ); file_browser->pending_drag_status_tree = 0; return; } gtk_drag_finish ( drag_context, FALSE, FALSE, time ); } gboolean on_dir_tree_view_drag_drop ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ) //MOD added { GdkAtom target = gdk_atom_intern( "text/uri-list", FALSE ); /* Don't call the default handler */ g_signal_stop_emission_by_name( widget, "drag-drop" ); gtk_drag_get_data ( widget, drag_context, target, time ); return TRUE; } gboolean on_dir_tree_view_drag_motion ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ) //MOD added { GdkDragAction suggested_action; GdkAtom target; GtkTargetList* target_list; target_list = gtk_target_list_new( drag_targets, G_N_ELEMENTS(drag_targets) ); target = gtk_drag_dest_find_target( widget, drag_context, target_list ); gtk_target_list_unref( target_list ); if (target == GDK_NONE) gdk_drag_status( drag_context, 0, time); else { // Need to set suggested_action because default handler assumes copy /* Only 'move' is available. The user force move action by pressing Shift key */ if( (gdk_drag_context_get_actions ( drag_context ) & GDK_ACTION_ALL) == GDK_ACTION_MOVE ) suggested_action = GDK_ACTION_MOVE; /* Only 'copy' is available. The user force copy action by pressing Ctrl key */ else if( (gdk_drag_context_get_actions ( drag_context ) & GDK_ACTION_ALL) == GDK_ACTION_COPY ) suggested_action = GDK_ACTION_COPY; /* Only 'link' is available. The user force link action by pressing Shift+Ctrl key */ else if( (gdk_drag_context_get_actions ( drag_context ) & GDK_ACTION_ALL) == GDK_ACTION_LINK ) suggested_action = GDK_ACTION_LINK; /* Several different actions are available. We have to figure out a good default action. */ else { int drag_action = xset_get_int( "drag_action", "x" ); if ( drag_action == 1 ) suggested_action = GDK_ACTION_COPY; else if ( drag_action == 2 ) suggested_action = GDK_ACTION_MOVE; else if ( drag_action == 3 ) suggested_action = GDK_ACTION_LINK; else { // automatic file_browser->pending_drag_status_tree = 1; gtk_drag_get_data (widget, drag_context, target, time); suggested_action = gdk_drag_context_get_selected_action( drag_context ); } } #if GTK_CHECK_VERSION (3, 0, 0) /* hack to be able to call the default handler with the correct suggested_action */ struct _GdkDragContext { GObject parent_instance; /*< private >*/ GdkDragProtocol protocol; gboolean is_source; GdkWindow *source_window; GdkWindow *dest_window; GList *targets; GdkDragAction actions; GdkDragAction suggested_action; GdkDragAction action; guint32 start_time; GdkDevice *device; }; ((struct _GdkDragContext *)drag_context)->suggested_action = suggested_action; #else drag_context->suggested_action = suggested_action; // needed for default handler #endif gdk_drag_status( drag_context, suggested_action, gtk_get_current_event_time() ); } return FALSE; } static gboolean on_dir_tree_view_drag_leave ( GtkWidget *widget, GdkDragContext *drag_context, guint time, PtkFileBrowser* file_browser ) { file_browser->drag_source_dev_tree = 0; return FALSE; } spacefm-1.0.5/src/ptk/ptk-dir-tree-view.h000066400000000000000000000016541264770501700201670ustar00rootroot00000000000000/* * C Interface: ptkdirtreeview * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_DIR_TREE_VIEW_H_ #define _PTK_DIR_TREE_VIEW_H_ #include #include "ptk-file-browser.h" G_BEGIN_DECLS /* Create a new dir tree view */ GtkWidget* ptk_dir_tree_view_new( PtkFileBrowser* browser, gboolean show_hidden ); gboolean ptk_dir_tree_view_chdir( GtkTreeView* dir_tree_view, const char* path ); /* Return a newly allocated string containing path of current selected dir. */ char* ptk_dir_tree_view_get_selected_dir( GtkTreeView* dir_tree_view ); void ptk_dir_tree_view_show_hidden_files( GtkTreeView* dir_tree_view, gboolean show_hidden ); char* ptk_dir_view_get_dir_path( GtkTreeModel* model, GtkTreeIter* it ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-dir-tree.c000066400000000000000000000670201264770501700172110ustar00rootroot00000000000000/* * SpaceFM ptk-dir-tree.c * * Copyright (C) 2015 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #include "ptk-dir-tree.h" #include #include #include #include "settings.h" #include "vfs-utils.h" /* for vfs_load_icon */ #include "vfs-file-info.h" #include "vfs-file-monitor.h" #include "glib-mem.h" struct _PtkDirTreeNode { VFSFileInfo* file; PtkDirTreeNode* children; int n_children; VFSFileMonitor* monitor; int n_expand; PtkDirTreeNode* parent; PtkDirTreeNode* next; PtkDirTreeNode* prev; PtkDirTreeNode* last; PtkDirTree* tree; /* FIXME: This is a waste of memory :-( */ }; static void ptk_dir_tree_init ( PtkDirTree *tree ); static void ptk_dir_tree_class_init ( PtkDirTreeClass *klass ); static void ptk_dir_tree_tree_model_init ( GtkTreeModelIface *iface ); static void ptk_dir_tree_drag_source_init ( GtkTreeDragSourceIface *iface ); static void ptk_dir_tree_drag_dest_init ( GtkTreeDragDestIface *iface ); static void ptk_dir_tree_finalize ( GObject *object ); static GtkTreeModelFlags ptk_dir_tree_get_flags ( GtkTreeModel *tree_model ); static gint ptk_dir_tree_get_n_columns ( GtkTreeModel *tree_model ); static GType ptk_dir_tree_get_column_type ( GtkTreeModel *tree_model, gint index ); static gboolean ptk_dir_tree_get_iter ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path ); static GtkTreePath *ptk_dir_tree_get_path ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static void ptk_dir_tree_get_value ( GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value ); static gboolean ptk_dir_tree_iter_next ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static gboolean ptk_dir_tree_iter_children ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent ); static gboolean ptk_dir_tree_iter_has_child ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static gint ptk_dir_tree_iter_n_children ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static gboolean ptk_dir_tree_iter_nth_child ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n ); static gboolean ptk_dir_tree_iter_parent ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child ); static gint ptk_dir_tree_node_compare( PtkDirTree* tree, PtkDirTreeNode* a, PtkDirTreeNode* b ); static void ptk_dir_tree_insert_child( PtkDirTree* tree, PtkDirTreeNode* parent, const char* file_path, const char* name ); static void ptk_dir_tree_delete_child( PtkDirTree* tree, PtkDirTreeNode* child ); /* signal handlers */ static void on_file_monitor_event ( VFSFileMonitor* fm, VFSFileMonitorEvent event, const char* file_name, gpointer user_data ); static PtkDirTreeNode* ptk_dir_tree_node_new( PtkDirTree* tree, PtkDirTreeNode* parent, const char* path, const char* base_name ); static void ptk_dir_tree_node_free( PtkDirTreeNode* node ); static GObjectClass* parent_class = NULL; static GType column_types[ N_DIR_TREE_COLS ]; GType ptk_dir_tree_get_type ( void ) { static GType type = 0; if ( G_UNLIKELY( !type ) ) { static const GTypeInfo type_info = { sizeof ( PtkDirTreeClass ), NULL, /* base_init */ NULL, /* base_finalize */ ( GClassInitFunc ) ptk_dir_tree_class_init, NULL, /* class finalize */ NULL, /* class_data */ sizeof ( PtkDirTree ), 0, /* n_preallocs */ ( GInstanceInitFunc ) ptk_dir_tree_init }; static const GInterfaceInfo tree_model_info = { ( GInterfaceInitFunc ) ptk_dir_tree_tree_model_init, NULL, NULL }; static const GInterfaceInfo drag_src_info = { ( GInterfaceInitFunc ) ptk_dir_tree_drag_source_init, NULL, NULL }; static const GInterfaceInfo drag_dest_info = { ( GInterfaceInitFunc ) ptk_dir_tree_drag_dest_init, NULL, NULL }; type = g_type_register_static ( G_TYPE_OBJECT, "PtkDirTree", &type_info, ( GTypeFlags ) 0 ); g_type_add_interface_static ( type, GTK_TYPE_TREE_MODEL, &tree_model_info ); g_type_add_interface_static ( type, GTK_TYPE_TREE_DRAG_SOURCE, &drag_src_info ); g_type_add_interface_static ( type, GTK_TYPE_TREE_DRAG_DEST, &drag_dest_info ); } return type; } void ptk_dir_tree_init ( PtkDirTree *tree ) { PtkDirTreeNode* child; tree->root = g_slice_new0( PtkDirTreeNode ); tree->root->tree = tree; tree->root->n_children = 1; child = ptk_dir_tree_node_new( tree, tree->root, "/", "/" ); vfs_file_info_set_disp_name( child->file, _("File System") ); tree->root->children = child; /* child = ptk_dir_tree_node_new( tree, tree->root, g_get_home_dir(), NULL ); vfs_file_info_set_name( child->file, g_get_home_dir() ); tree->root->children->next = child; */ /* Random int to check whether an iter belongs to our model */ tree->stamp = g_random_int(); } void ptk_dir_tree_class_init ( PtkDirTreeClass *klass ) { GObjectClass * object_class; parent_class = ( GObjectClass* ) g_type_class_peek_parent ( klass ); object_class = ( GObjectClass* ) klass; object_class->finalize = ptk_dir_tree_finalize; } void ptk_dir_tree_tree_model_init ( GtkTreeModelIface *iface ) { iface->get_flags = ptk_dir_tree_get_flags; iface->get_n_columns = ptk_dir_tree_get_n_columns; iface->get_column_type = ptk_dir_tree_get_column_type; iface->get_iter = ptk_dir_tree_get_iter; iface->get_path = ptk_dir_tree_get_path; iface->get_value = ptk_dir_tree_get_value; iface->iter_next = ptk_dir_tree_iter_next; iface->iter_children = ptk_dir_tree_iter_children; iface->iter_has_child = ptk_dir_tree_iter_has_child; iface->iter_n_children = ptk_dir_tree_iter_n_children; iface->iter_nth_child = ptk_dir_tree_iter_nth_child; iface->iter_parent = ptk_dir_tree_iter_parent; column_types [ COL_DIR_TREE_ICON ] = GDK_TYPE_PIXBUF; column_types [ COL_DIR_TREE_DISP_NAME ] = G_TYPE_STRING; column_types [ COL_DIR_TREE_INFO ] = G_TYPE_POINTER; } void ptk_dir_tree_drag_source_init ( GtkTreeDragSourceIface *iface ) { /* FIXME: Unused. Will this cause any problem? */ } void ptk_dir_tree_drag_dest_init ( GtkTreeDragDestIface *iface ) { /* FIXME: Unused. Will this cause any problem? */ } void ptk_dir_tree_finalize ( GObject *object ) { PtkDirTree *tree = ( PtkDirTree* ) object; if( tree->root ) ptk_dir_tree_node_free( tree->root ); /* must chain up - finalize parent */ ( * parent_class->finalize ) ( object ); } PtkDirTree *ptk_dir_tree_new () { PtkDirTree * tree; tree = ( PtkDirTree* ) g_object_new ( PTK_TYPE_DIR_TREE, NULL ); return tree; } GtkTreeModelFlags ptk_dir_tree_get_flags ( GtkTreeModel *tree_model ) { g_return_val_if_fail ( PTK_IS_DIR_TREE( tree_model ), ( GtkTreeModelFlags ) 0 ); return GTK_TREE_MODEL_ITERS_PERSIST; } gint ptk_dir_tree_get_n_columns ( GtkTreeModel *tree_model ) { return N_DIR_TREE_COLS; } GType ptk_dir_tree_get_column_type ( GtkTreeModel *tree_model, gint index ) { g_return_val_if_fail ( PTK_IS_DIR_TREE( tree_model ), G_TYPE_INVALID ); g_return_val_if_fail ( index < G_N_ELEMENTS( column_types ) && index >= 0, G_TYPE_INVALID ); return column_types[ index ]; } static PtkDirTreeNode* get_nth_node( PtkDirTreeNode* parent, int n ) { PtkDirTreeNode* node; if ( n >= parent->n_children || n < 0 ) return NULL; node = parent->children; while( n > 0 && node ) { node = node->next; --n; } return node; } gboolean ptk_dir_tree_get_iter ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path ) { PtkDirTree *tree; gint *indices, i, depth; PtkDirTreeNode* node; g_assert(PTK_IS_DIR_TREE(tree_model)); g_assert(path!=NULL); tree = PTK_DIR_TREE(tree_model); if( !tree || !tree->root ) return FALSE; indices = gtk_tree_path_get_indices(path); depth = gtk_tree_path_get_depth(path); node = tree->root; for( i = 0; i < depth; ++i ) { node = get_nth_node( node, indices[i] ); if( !node ) return FALSE; } /* We simply store a pointer in the iter */ iter->stamp = tree->stamp; iter->user_data = node; iter->user_data2 = NULL; iter->user_data3 = NULL; /* unused */ return TRUE; } static int get_node_index( PtkDirTreeNode* parent, PtkDirTreeNode* child ) { PtkDirTreeNode* node; int i; if( !parent || !child ) return -1; for( i = 0, node = parent->children; node; node = node->next ) { if( node == child ) { return i; } ++i; } return -1; } GtkTreePath *ptk_dir_tree_get_path ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { PtkDirTreeNode* node; GtkTreePath* path; int i; PtkDirTree* tree = PTK_DIR_TREE(tree_model); g_return_val_if_fail (tree, NULL); g_return_val_if_fail (iter->stamp == tree->stamp, NULL); g_return_val_if_fail (iter != NULL, NULL); g_return_val_if_fail (iter->user_data != NULL, NULL); path = gtk_tree_path_new(); node = (PtkDirTreeNode*)iter->user_data; g_return_val_if_fail( node->parent != NULL, (GtkTreePath *)(-1) ); while( node != tree->root ) { i = get_node_index( node->parent, node ); if( i == -1 ) { gtk_tree_path_free( path ); return NULL; } gtk_tree_path_prepend_index( path, i ); node = node->parent; } return path; } void ptk_dir_tree_get_value ( GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value ) { VFSFileInfo* info; GdkPixbuf* icon; PtkDirTreeNode* node; g_return_if_fail (PTK_IS_DIR_TREE (tree_model)); g_return_if_fail (iter != NULL); g_return_if_fail (column < G_N_ELEMENTS(column_types) ); g_value_init (value, column_types[column] ); node = (PtkDirTreeNode*) iter->user_data; g_return_if_fail ( node != NULL ); info = node->file; switch(column) { case COL_DIR_TREE_ICON: if( G_UNLIKELY( !info ) ) return; //icon = vfs_file_info_get_small_icon( info ); GtkIconTheme* icon_theme = gtk_icon_theme_get_default(); int icon_size = app_settings.small_icon_size; if ( icon_size > PANE_MAX_ICON_SIZE ) icon_size = PANE_MAX_ICON_SIZE; icon = vfs_load_icon ( icon_theme, "folder", icon_size ); if( G_UNLIKELY( !icon) ) icon = vfs_load_icon ( icon_theme, "gnome-fs-directory", icon_size ); if( G_UNLIKELY( !icon) ) icon = vfs_load_icon ( icon_theme, "gtk-directory", icon_size ); if( icon ) { g_value_set_object( value, icon ); g_object_unref( icon ); } break; case COL_DIR_TREE_DISP_NAME: if( G_LIKELY( info ) ) g_value_set_string( value, vfs_file_info_get_disp_name(info) ); else g_value_set_string( value, _("( no subfolder )") ); // no sub folder break; case COL_DIR_TREE_INFO: if( G_UNLIKELY( !info ) ) return; g_value_set_pointer( value, vfs_file_info_ref( info ) ); break; } } gboolean ptk_dir_tree_iter_next ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { PtkDirTreeNode* node; PtkDirTree* tree; g_return_val_if_fail (PTK_IS_DIR_TREE (tree_model), FALSE); if (iter == NULL || iter->user_data == NULL) return FALSE; tree = PTK_DIR_TREE(tree_model); node = (PtkDirTreeNode *) iter->user_data; /* Is this the last child in the parent node? */ if ( ! node->next ) return FALSE; iter->stamp = tree->stamp; iter->user_data = node->next; iter->user_data2 = NULL; iter->user_data3 = NULL; return TRUE; } gboolean ptk_dir_tree_iter_children ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent ) { PtkDirTree* tree; PtkDirTreeNode* parent_node; g_return_val_if_fail ( parent == NULL || parent->user_data != NULL, FALSE ); g_return_val_if_fail ( PTK_IS_DIR_TREE ( tree_model ), FALSE ); tree = PTK_DIR_TREE( tree_model ); if ( parent ) parent_node = (PtkDirTreeNode*)parent->user_data; else { /* parent == NULL is a special case; we need to return the first top-level row */ parent_node = tree->root; } /* No rows => no first row */ if ( parent_node->n_children == 0 ) return FALSE; /* Set iter to first item in tree */ iter->stamp = tree->stamp; iter->user_data = parent_node->children; iter->user_data2 = iter->user_data3 = NULL; return TRUE; } gboolean ptk_dir_tree_iter_has_child ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { PtkDirTreeNode* node; g_return_val_if_fail( iter != NULL, FALSE ); node = (PtkDirTreeNode*)iter->user_data; return node->n_children != 0; } gint ptk_dir_tree_iter_n_children ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { PtkDirTreeNode* node; PtkDirTree* tree; g_return_val_if_fail ( PTK_IS_DIR_TREE ( tree_model ), -1 ); tree = PTK_DIR_TREE( tree_model ); /* special case: if iter == NULL, return number of top-level rows */ if ( !iter ) node = tree->root; else node = (PtkDirTreeNode*)iter->user_data; g_return_val_if_fail ( node != NULL, -1 ); return node->n_children; } gboolean ptk_dir_tree_iter_nth_child ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n ) { PtkDirTreeNode* parent_node; PtkDirTreeNode* node; PtkDirTree* tree; g_return_val_if_fail (PTK_IS_DIR_TREE (tree_model), FALSE); tree = PTK_DIR_TREE(tree_model); if( G_LIKELY(parent) ) { parent_node = ( PtkDirTreeNode* )parent->user_data; g_return_val_if_fail( parent_node, FALSE ); } else { /* special case: if parent == NULL, set iter to n-th top-level row */ parent_node = tree->root; } if( n >= parent_node->n_children || n < 0 ) return FALSE; node = get_nth_node( parent_node, n ); iter->stamp = tree->stamp; iter->user_data = node; iter->user_data2 = iter->user_data3 = NULL; return TRUE; } gboolean ptk_dir_tree_iter_parent ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child ) { PtkDirTreeNode* node; PtkDirTree* tree; g_return_val_if_fail( iter != NULL && child != NULL, FALSE ); tree = PTK_DIR_TREE( tree_model ); node = (PtkDirTreeNode*)child->user_data; if( G_LIKELY( node->parent != tree->root ) ) { iter->user_data = node->parent; iter->user_data2 = iter->user_data3 = NULL; return TRUE; } return FALSE; } gint ptk_dir_tree_node_compare( PtkDirTree* tree, PtkDirTreeNode* a, PtkDirTreeNode* b ) { VFSFileInfo* file1 = a->file; VFSFileInfo* file2 = b->file; int ret; if( ! file1 || !file2 ) return 0; /* FIXME: UTF-8 strings should not be treated as ASCII when sorted */ ret = g_ascii_strcasecmp( vfs_file_info_get_disp_name(file2), vfs_file_info_get_disp_name(file1) ); return ret; } PtkDirTreeNode* ptk_dir_tree_node_new( PtkDirTree* tree, PtkDirTreeNode* parent, const char* path, const char* base_name ) { PtkDirTreeNode* node; node = g_slice_new0( PtkDirTreeNode ); node->tree = tree; node->parent = parent; if( path ) { node->file = vfs_file_info_new(); vfs_file_info_get( node->file, path, base_name ); node->n_children = 1; node->children = ptk_dir_tree_node_new( tree, node, NULL, NULL ); node->last = node->children; } return node; } void ptk_dir_tree_node_free( PtkDirTreeNode* node ) { PtkDirTreeNode* child; if( node->file ) vfs_file_info_unref( node->file ); for( child = node->children; child; child = child->next ) ptk_dir_tree_node_free( child ); if( node->monitor ) { vfs_file_monitor_remove( node->monitor, &on_file_monitor_event, node ); } g_slice_free( PtkDirTreeNode, node ); } static char* dir_path_from_tree_node( PtkDirTree* tree, PtkDirTreeNode* node ) { GSList* names = NULL, *l; const char* name; int len; char* dir_path, *p; if( !node ) return NULL; while( node != tree->root ) { if( !node->file || ! (name = vfs_file_info_get_name( node->file )) ) { g_slist_free( names ); return NULL; } names = g_slist_prepend( names, (gpointer) name ); node = node->parent; } for( len = 1, l = names; l; l = l->next ) len += strlen((char*)l->data) + 1; dir_path = g_malloc( len ); for( p = dir_path, l = names; l; l = l->next ) { name = (char*)l->data; len = strlen( name ); memcpy( p, name, len * sizeof(char) ); p += len; if( l->next && strcmp( name, "/" ) ) { *p = '/'; ++p; } } *p = '\0'; g_slist_free( names ); return dir_path; } void ptk_dir_tree_insert_child( PtkDirTree* tree, PtkDirTreeNode* parent, const char* file_path, const char* name ) { PtkDirTreeNode *child_node; PtkDirTreeNode *node; GtkTreeIter it; GtkTreePath* tree_path; child_node = ptk_dir_tree_node_new( tree, parent, file_path, name ); for( node = parent->children; node; node = node->next ) { if( ptk_dir_tree_node_compare( tree, child_node, node ) >= 0 ) break; } if( node ) { if( node->prev ) { child_node->prev = node->prev; node->prev->next = child_node; } child_node->next = node; if( node == parent->children ) parent->children = child_node; node->prev = child_node; } else { if( parent->children ) { child_node->prev = parent->last; parent->last->next = child_node; parent->last = child_node; } else { parent->children = parent->last = child_node; } } ++parent->n_children; it.stamp = tree->stamp; it.user_data = child_node; it.user_data2 = it.user_data3 = NULL; tree_path = ptk_dir_tree_get_path( GTK_TREE_MODEL(tree), &it ); gtk_tree_model_row_inserted( GTK_TREE_MODEL(tree), tree_path, &it ); gtk_tree_model_row_has_child_toggled( GTK_TREE_MODEL(tree), tree_path, &it ); gtk_tree_path_free( tree_path ); } void ptk_dir_tree_delete_child( PtkDirTree* tree, PtkDirTreeNode* child ) { GtkTreeIter child_it; GtkTreePath* tree_path; PtkDirTreeNode* parent; if( !child ) return; child_it.stamp = tree->stamp; child_it.user_data = child; child_it.user_data2 = child_it.user_data3 = NULL; tree_path = ptk_dir_tree_get_path( GTK_TREE_MODEL(tree), &child_it ); gtk_tree_model_row_deleted( GTK_TREE_MODEL(tree), tree_path ); gtk_tree_path_free( tree_path ); parent = child->parent; --parent->n_children; if( child == parent->children ) parent->children = parent->last = child->next; else if( child == parent->last ) parent->last = child->prev; if( child->prev ) child->prev->next = child->next; if( child->next ) child->next->prev = child->prev; ptk_dir_tree_node_free( child ); if( parent->n_children == 0 ) { /* add place holder */ ptk_dir_tree_insert_child( tree, parent, NULL,NULL ); } } void ptk_dir_tree_expand_row ( PtkDirTree* tree, GtkTreeIter* iter, GtkTreePath *tree_path ) { PtkDirTreeNode *node, *place_holder; GDir *dir; char *path, *file_path; const char *name=NULL; node = (PtkDirTreeNode*)iter->user_data; ++node->n_expand; if( node->n_expand > 1 || node->n_children > 1 ) return; place_holder = node->children; path = dir_path_from_tree_node( tree, node ); dir = g_dir_open( path, 0, NULL ); if( dir ) { node->monitor = vfs_file_monitor_add_dir( path, &on_file_monitor_event, node ); while( (name = g_dir_read_name( dir )) ) { file_path = g_build_filename( path, name, NULL ); if( g_file_test( file_path, G_FILE_TEST_IS_DIR ) ) { ptk_dir_tree_insert_child( tree, node, file_path, name ); } g_free( file_path ); } g_dir_close( dir ); if( node->n_children > 1 ) { ptk_dir_tree_delete_child( tree, place_holder ); } } g_free( path ); } void ptk_dir_tree_collapse_row ( PtkDirTree* tree, GtkTreeIter* iter, GtkTreePath *path ) { PtkDirTreeNode *node, *child, *next; node = (PtkDirTreeNode*)iter->user_data; --node->n_expand; /* cache nodes containing more than 128 children */ /* FIXME: Is this useful? The nodes containing childrens with 128+ children are still not cached. */ if( node->n_children > 128 || node->n_expand > 0 ) return; if( node->n_children > 0 ) { /* place holder */ if( node->n_children == 1 && ! node->children->file ) return; if( G_LIKELY( node->monitor ) ) { vfs_file_monitor_remove( node->monitor, &on_file_monitor_event, node ); node->monitor = NULL; } for( child = node->children; child; child = next ) { next = child->next; ptk_dir_tree_delete_child( tree, child ); } } } char* ptk_dir_tree_get_dir_path( PtkDirTree* tree, GtkTreeIter* iter ) { g_return_val_if_fail( iter->user_data != NULL, NULL ); return dir_path_from_tree_node( tree, (PtkDirTreeNode*)iter->user_data ); } static PtkDirTreeNode* find_node( PtkDirTreeNode* parent, const char* name ) { PtkDirTreeNode* child; for( child = parent->children; child; child = child->next ) { if( G_LIKELY(child->file ) && 0 == strcmp( vfs_file_info_get_name(child->file), name ) ) { return child; } } return NULL; } void on_file_monitor_event ( VFSFileMonitor* fm, VFSFileMonitorEvent event, const char* file_name, gpointer user_data ) { PtkDirTreeNode* node = (PtkDirTreeNode*)user_data; PtkDirTreeNode* child; GtkTreeIter it; GtkTreePath* tree_path; char* file_path; g_return_if_fail( node ); GDK_THREADS_ENTER(); child = find_node( node, file_name ); switch( event ) { case VFS_FILE_MONITOR_CREATE: if( G_LIKELY( !child ) ) { /* remove place holder */ if( node->n_children == 1 && !node->children->file ) child = node->children; else child = NULL; file_path = g_build_filename( fm->path, file_name, NULL ); if( g_file_test( file_path, G_FILE_TEST_IS_DIR ) ) { ptk_dir_tree_insert_child( node->tree, node, fm->path, file_name ); if( child ) ptk_dir_tree_delete_child( node->tree, child ); } g_free( file_path ); } break; case VFS_FILE_MONITOR_DELETE: if( G_LIKELY( child ) ) { ptk_dir_tree_delete_child( node->tree, child ); } break; /* //MOD Change isn't needed? Creates this warning and triggers subsequent * errors and causes visible redrawing problems: Gtk-CRITICAL **: /tmp/buildd/gtk+2.0-2.24.3/gtk/gtktreeview.c:6072 (validate_visible_area): assertion `has_next' failed. There is a disparity between the internal view of the GtkTreeView, and the GtkTreeModel. This generally means that the model has changed without letting the view know. Any display from now on is likely to be incorrect. */ case VFS_FILE_MONITOR_CHANGE: /* if( G_LIKELY( child && child->file ) ) { file_path = g_build_filename( fm->path, file_name, NULL ); if( ! g_file_test( file_path, G_FILE_TEST_IS_DIR ) ) { g_free( file_path ); break; } vfs_file_info_get( child->file, file_path, file_name ); g_free( file_path ); it.stamp = node->tree->stamp; it.user_data = child; it.user_data2 = it.user_data3 = NULL; tree_path = ptk_dir_tree_get_path(GTK_TREE_MODEL(node->tree), &it); gtk_tree_model_row_changed( GTK_TREE_MODEL( node->tree ), tree_path, &it ); gtk_tree_model_row_has_child_toggled( GTK_TREE_MODEL( node->tree ), tree_path, &it ); gtk_tree_path_free( tree_path ); } */ break; } GDK_THREADS_LEAVE(); } spacefm-1.0.5/src/ptk/ptk-dir-tree.h000066400000000000000000000037361264770501700172220ustar00rootroot00000000000000/* * C Interface: ptk-dir-tree * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_DIR_TREE_H_ #define _PTK_DIR_TREE_H_ #include #include #include #include G_BEGIN_DECLS #define PTK_TYPE_DIR_TREE (ptk_dir_tree_get_type()) #define PTK_DIR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PTK_TYPE_DIR_TREE, PtkDirTree)) #define PTK_DIR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PTK_TYPE_DIR_TREE, PtkDirTreeClass)) #define PTK_IS_DIR_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PTK_TYPE_DIR_TREE)) #define PTK_IS_DIR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PTK_TYPE_DIR_TREE)) #define PTK_DIR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PTK_TYPE_DIR_TREE, PtkDirTreeClass)) /* Columns of folder view */ enum{ COL_DIR_TREE_ICON, COL_DIR_TREE_DISP_NAME, COL_DIR_TREE_INFO, N_DIR_TREE_COLS }; typedef struct _PtkDirTree PtkDirTree; typedef struct _PtkDirTreeClass PtkDirTreeClass; typedef struct _PtkDirTreeNode PtkDirTreeNode; struct _PtkDirTree { GObject parent; /* */ PtkDirTreeNode* root; /* GtkSortType sort_order; */ /* I don't want to support this :-( */ /* Random integer to check whether an iter belongs to our model */ gint stamp; }; struct _PtkDirTreeClass { GObjectClass parent; /* Default signal handlers */ }; GType ptk_dir_tree_get_type (void); PtkDirTree *ptk_dir_tree_new (); void ptk_dir_tree_expand_row ( PtkDirTree* tree, GtkTreeIter* iter, GtkTreePath *path ); void ptk_dir_tree_collapse_row ( PtkDirTree* tree, GtkTreeIter* iter, GtkTreePath *path ); char* ptk_dir_tree_get_dir_path( PtkDirTree* tree, GtkTreeIter* iter ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-file-archiver.c000066400000000000000000001751761264770501700202320ustar00rootroot00000000000000/* * SpaceFM ptk-file-archiver.c * * Copyright (C) 2015 IgnorantGuru * Copyright (C) 2013-2014 OmegaPhil * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #include #include #include "desktop-window.h" #include "ptk-file-archiver.h" #include "ptk-file-task.h" #include "ptk-handler.h" #include "vfs-file-info.h" #include "vfs-mime-type.h" #include "settings.h" //#include "gtk2-compat.h" // Archive handlers treeview model enum enum { COL_XSET_NAME, COL_HANDLER_NAME }; // Archive creation handlers combobox model enum enum { // COL_XSET_NAME COL_HANDLER_EXTENSIONS = 1 }; static gchar* archive_handler_get_first_extension( XSet* handler_xset ) { // Function deals with the possibility that a handler is responsible // for multiple MIME types and therefore file extensions. Functions // like archive creation need only one extension gchar* first_ext = NULL; gchar* name; int i; if ( handler_xset && handler_xset->x ) { // find first extension gchar** pathnames = g_strsplit( handler_xset->x, " ", -1 ); if ( pathnames ) { for ( i = 0; pathnames[i]; ++i ) { // getting just the extension of the pathname list element name = get_name_extension( pathnames[i], FALSE, &first_ext ); g_free( name ); if ( first_ext ) { // add a dot to extension char* str = first_ext; first_ext = g_strconcat( ".", first_ext, NULL ); g_free( str ); break; } } g_strfreev( pathnames ); } } if ( first_ext ) return first_ext; else return g_strdup( "" ); } static gboolean archive_handler_run_in_term( XSet* handler_xset, int operation ) { // Making sure a valid handler_xset has been passed if (!handler_xset) { g_warning("archive_handler_run_in_term has been called with an " "invalid handler_xset!"); return FALSE; } int ret; if ( operation == ARC_COMPRESS ) ret = handler_xset->in_terminal; else if ( operation == ARC_EXTRACT ) ret = handler_xset->keep_terminal; else if ( operation == ARC_LIST ) ret = handler_xset->scroll_lock; else { g_warning("archive_handler_run_in_term was passed an invalid" " archive operation ('%d')!", operation); return FALSE; } return ret == XSET_B_TRUE; } static void on_format_changed( GtkComboBox* combo, gpointer user_data ) { int len = 0; char *path, *name, *new_name; // Obtaining reference to dialog GtkFileChooser* dlg = GTK_FILE_CHOOSER( user_data ); // Obtaining new archive filename path = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dlg ) ); if( !path ) return; name = g_path_get_basename( path ); g_free( path ); // Fetching the combo model GtkListStore* list = g_object_get_data( G_OBJECT( dlg ), "combo-model" ); // Attempting to detect and remove extension from any current archive // handler - otherwise cycling through the handlers just appends // extensions to the filename // Obtaining iterator pointing at first handler GtkTreeIter iter; if (!gtk_tree_model_get_iter_first( GTK_TREE_MODEL( list ), &iter )) { // Failed to get iterator - warning user and exiting g_warning("Unable to get an iterator to the start of the model " "associated with combobox!"); return; } // Loop through available handlers XSet* handler_xset; gchar* xset_name = NULL, *extension; do { gtk_tree_model_get( GTK_TREE_MODEL( list ), &iter, COL_XSET_NAME, &xset_name, //COL_HANDLER_EXTENSIONS, &extensions, -1 ); if ( handler_xset = xset_is( xset_name ) ) { // Obtaining archive extension extension = archive_handler_get_first_extension(handler_xset); // Checking to see if the current archive filename has this if (g_str_has_suffix( name, extension )) { /* It does - recording its length if its the longest match * yet, and continuing */ if (strlen( extension ) > len) len = strlen( extension ); } g_free(extension); } g_free( xset_name ); } while(gtk_tree_model_iter_next( GTK_TREE_MODEL( list ), &iter )); // Cropping current extension if found if (len) { len = strlen( name ) - len; name[len] = '\0'; } // Getting at currently selected archive handler if ( gtk_combo_box_get_active_iter( GTK_COMBO_BOX( combo ), &iter ) ) { // You have to fetch both items here gtk_tree_model_get( GTK_TREE_MODEL( list ), &iter, COL_XSET_NAME, &xset_name, //COL_HANDLER_EXTENSIONS, &extensions, -1 ); if ( handler_xset = xset_is( xset_name ) ) { // Obtaining archive extension extension = archive_handler_get_first_extension(handler_xset); // Appending extension to original filename new_name = g_strconcat( name, extension, NULL ); // Updating new archive filename gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER( dlg ), new_name ); g_free( new_name ); g_free( extension ); } g_free( xset_name ); } g_free( name ); // Loading command if ( handler_xset ) { GtkTextView* view = (GtkTextView*)g_object_get_data( G_OBJECT( dlg ), "view" ); char* err_msg = ptk_handler_load_script( HANDLER_MODE_ARC, HANDLER_COMPRESS, handler_xset, GTK_TEXT_VIEW( view ), NULL ); if ( err_msg ) { xset_msg_dialog( GTK_WIDGET( dlg ), GTK_MESSAGE_ERROR, _("Error Loading Handler"), NULL, 0, err_msg, NULL, NULL ); g_free( err_msg ); } } } static char* generate_bash_error_function( gboolean run_in_terminal, char* parent_quote ) { /* When ran in a terminal, errors need to result in a pause so that * the user can review the situation. Even outside a terminal, IG * has requested text is output * No translation for security purposes */ char *error_pause = NULL, *finished_with_errors = NULL; if (run_in_terminal) { error_pause = " read\n"; finished_with_errors = "[ Finished With Errors ] Press Enter " "to close: "; } else { error_pause = ""; finished_with_errors = "[ Finished With Errors ]"; } return g_strdup_printf( "" "fm_handle_err() {\n" " fm_err=$?\n" "%s%s%s" " if [ $fm_err -ne 0 ]; then\n" " echo; echo -n '%s'\n" "%s" " exit $fm_err\n" " fi\n" "}", parent_quote ? " rmdir --ignore-fail-on-non-empty " : "", parent_quote ? parent_quote : "", parent_quote ? "\n" : "", finished_with_errors, error_pause ); } char* replace_archive_subs( const char* line, const char* n, const char* N, const char* o, const char* x, const char* g ) { char* s; char* old_s; char* sub; char* percent; char ch; if ( !line ) return g_strdup( "" ); s = g_strdup( "" ); char* ptr = (char*) line; while ( ptr[0] ) { percent = strchr( ptr, '%' ); if ( !percent ) { // no more percents - copy end of string old_s = s; s = g_strdup_printf( "%s%s", s, ptr ); g_free( old_s ); break; } if ( percent[1] == 'n' && n ) sub = (char*) n; else if ( percent[1] == 'N' && N ) sub = (char*) N; else if ( ( percent[1] == 'o' || percent[1] == 'O' ) && o ) sub = (char*) o; else if ( percent[1] == 'x' && x ) sub = (char*) x; else if ( ( percent[1] == 'g' || percent[1] == 'G' ) && g ) sub = (char*) g; else if ( percent[1] == '%' ) { // double percent %% - reduce to single and skip percent[1] = '\0'; old_s = s; s = g_strdup_printf( "%s%s", s, ptr ); g_free( old_s ); percent[1] = '%'; ptr = percent + 2; continue; } else { // not recognized % - copy ptr to percent literally ch = percent[1]; // save the character after percent, change to null percent[1] = '\0'; old_s = s; s = g_strdup_printf( "%s%s", s, ptr ); g_free( old_s ); percent[1] = ch; // restore character after percent ptr = percent + 1; continue; } // copy ptr to percent - 1 and sub percent[0] = '\0'; // change % to end of string old_s = s; s = g_strdup_printf( "%s%s%s", s, ptr, sub ); g_free( old_s ); percent[0] = '%'; // restore % ptr = percent + 2; } return s; } void ptk_file_archiver_create( DesktopWindow *desktop, PtkFileBrowser *file_browser, GList *files, const char *cwd ) { GList *l; GtkWidget* combo, *dlg, *hbox; GtkFileFilter* filter; char *cmd_to_run = NULL, *desc = NULL, *dest_file = NULL, *ext = NULL, *s1 = NULL, *str = NULL, *udest_file = NULL, *udest_quote = NULL, *final_command = NULL; int i, n, format, res; struct stat64 statbuf; /* Generating dialog - extra NULL on the NULL-terminated list to * placate an irrelevant compilation warning. See notes in * ptk-handler.c:ptk_handler_show_config about GTK failure to * identify top-level widget */ GtkWidget *top_level = file_browser ? gtk_widget_get_toplevel( GTK_WIDGET( file_browser->main_window ) ) : NULL; dlg = gtk_file_chooser_dialog_new( _("Create Archive"), top_level ? GTK_WINDOW( top_level ) : NULL, GTK_FILE_CHOOSER_ACTION_SAVE, NULL, NULL ); /* Adding standard buttons and saving references in the dialog * 'Configure' button has custom text but a stock image */ GtkButton* btn_configure = GTK_BUTTON( gtk_dialog_add_button( GTK_DIALOG( dlg ), _("Conf_igure"), GTK_RESPONSE_NONE ) ); GtkWidget* btn_configure_image = xset_get_image( "GTK_STOCK_PREFERENCES", GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( GTK_BUTTON( btn_configure ), GTK_WIDGET ( btn_configure_image ) ); g_object_set_data( G_OBJECT( dlg ), "btn_configure", GTK_BUTTON( btn_configure ) ); g_object_set_data( G_OBJECT( dlg ), "btn_cancel", gtk_dialog_add_button( GTK_DIALOG( dlg ), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL ) ); g_object_set_data( G_OBJECT( dlg ), "btn_ok", gtk_dialog_add_button( GTK_DIALOG( dlg ), GTK_STOCK_OK, GTK_RESPONSE_OK ) ); /* Adding the help button but preventing it from taking the focus on * click */ gtk_button_set_focus_on_click( GTK_BUTTON( gtk_dialog_add_button( GTK_DIALOG( dlg ), GTK_STOCK_HELP, GTK_RESPONSE_HELP ) ), FALSE ); filter = gtk_file_filter_new(); /* Top hbox has 'Command:' label, 'Archive Format:' label then format * combobox */ GtkWidget *hbox_top = gtk_hbox_new( FALSE, 4 ); GtkWidget *lbl_command = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_command ), _("Co_mpress Commands:") ); gtk_box_pack_start( GTK_BOX( hbox_top ), lbl_command, FALSE, TRUE, 2 ); // Generating a ComboBox with model behind, and saving model for use // in callback - now that archive handlers are custom, can't rely on // presence or a particular order // Model is xset name then extensions the handler deals with GtkListStore* list = gtk_list_store_new( 2, G_TYPE_STRING, G_TYPE_STRING ); combo = gtk_combo_box_new_with_model( GTK_TREE_MODEL( list ) ); // gtk_combo_box_new_with_model adds a ref g_object_unref( list ); g_object_set_data( G_OBJECT( dlg ), "combo-model", (gpointer)list ); // Need to manually create the combobox dropdown cells!! Mapping the // extensions column from the model to the displayed cell GtkCellRenderer* renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start( GTK_CELL_LAYOUT( combo ), renderer, TRUE ); gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT( combo ), renderer, "text", COL_HANDLER_EXTENSIONS, NULL ); // Fetching available archive handlers char* archive_handlers_s = xset_get_s( "arc_conf2" ); // Dealing with possibility of no handlers if (g_strcmp0( archive_handlers_s, "" ) <= 0) { /* Telling user to ensure handlers are available and bringing * up configuration */ xset_msg_dialog( GTK_WIDGET( dlg ), GTK_MESSAGE_ERROR, _("Archive Handlers - Create Archive"), NULL, GTK_BUTTONS_OK, _("No archive handlers " "configured. You must add a handler before " "creating an archive."), NULL, NULL); ptk_handler_show_config( HANDLER_MODE_ARC, desktop, file_browser, NULL ); return; } // Splitting archive handlers gchar** archive_handlers = g_strsplit( archive_handlers_s, " ", -1 ); // Debug code //g_message("archive_handlers_s: %s", archive_handlers_s); // Looping for handlers (NULL-terminated list) GtkTreeIter iter; gchar* xset_name, *extensions; XSet* handler_xset; // Get xset name of last used handler xset_name = xset_get_s( "arc_dlg" ); // do not free format = 4; // default tar.gz n = 0; for (i = 0; archive_handlers[i] != NULL; ++i) { // Fetching handler handler_xset = xset_is( archive_handlers[i] ); if ( handler_xset && handler_xset->b == XSET_B_TRUE ) /* Checking to see if handler is enabled, can cope with * compression and the extension is set - dealing with empty * command yet 'run in terminal' still ticked && handler_xset->y && g_strcmp0( handler_xset->y, "" ) != 0 && g_strcmp0( handler_xset->y, "+" ) != 0 && g_strcmp0( handler_xset->x, "" ) != 0) */ { /* Adding to filter so that only relevant archives * are displayed when the user chooses an archive name to * create. Note that the handler may be responsible for * multiple MIME types and extensions */ gtk_file_filter_add_mime_type( filter, handler_xset->s ); // Appending to combobox // Obtaining appending iterator for model gtk_list_store_append( GTK_LIST_STORE( list ), &iter ); // Adding to model extensions = g_strconcat( handler_xset->menu_label, " (", handler_xset->x, ")", NULL ); gtk_list_store_set( GTK_LIST_STORE( list ), &iter, COL_XSET_NAME, archive_handlers[i], COL_HANDLER_EXTENSIONS, extensions, -1 ); g_free( extensions ); // Is last used handler? if ( !g_strcmp0( xset_name, handler_xset->name ) ) format = n; n++; } } // Clearing up archive_handlers g_strfreev( archive_handlers ); // Applying filter gtk_file_chooser_set_filter( GTK_FILE_CHOOSER( dlg ), filter ); // Restoring previous selected handler xset_name = NULL; n = gtk_tree_model_iter_n_children( gtk_combo_box_get_model( GTK_COMBO_BOX( combo ) ), NULL ); if ( format < 0 || format > n - 1 ) format = 0; gtk_combo_box_set_active( GTK_COMBO_BOX( combo ), format ); // Adding filter box to hbox and connecting callback g_signal_connect( combo, "changed", G_CALLBACK( on_format_changed ), dlg ); gtk_box_pack_end( GTK_BOX( hbox_top ), combo, FALSE, FALSE, 2 ); GtkWidget *lbl_archive_format = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_archive_format ), _("_Archive Format:") ); gtk_box_pack_end( GTK_BOX( hbox_top ), lbl_archive_format, FALSE, FALSE, 2 ); gtk_widget_show_all( hbox_top ); GtkTextView* view = (GtkTextView*)gtk_text_view_new(); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( view ), GTK_WRAP_WORD_CHAR ); GtkWidget* view_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_container_add( GTK_CONTAINER( view_scroll ), GTK_WIDGET ( view ) ); g_object_set_data( G_OBJECT( dlg ), "view", view ); /* Loading command for handler, based off the format handler */ // Obtaining iterator from string turned into a path into the model str = g_strdup_printf( "%d", format ); if ( gtk_tree_model_get_iter_from_string( GTK_TREE_MODEL( list ), &iter, str ) ) { gtk_tree_model_get( GTK_TREE_MODEL( list ), &iter, COL_XSET_NAME, &xset_name, //COL_HANDLER_EXTENSIONS, &extensions, -1 ); if ( handler_xset = xset_is( xset_name ) ) { char* err_msg = ptk_handler_load_script( HANDLER_MODE_ARC, HANDLER_COMPRESS, handler_xset, GTK_TEXT_VIEW( view ), NULL ); if ( err_msg ) { xset_msg_dialog( GTK_WIDGET( dlg ), GTK_MESSAGE_ERROR, _("Error Loading Handler"), NULL, 0, err_msg, NULL, NULL ); g_free( err_msg ); } } g_free( xset_name ); } else { // Recording the fact getting the iter failed g_warning( "Unable to fetch the iter from handler ordinal %d!", format ); }; g_free( str ); // Mnemonically attaching widgets to labels gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_archive_format ), combo ); gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_command ), GTK_WIDGET( view ) ); /* Creating hbox for the command textview, on a line under the top * hbox */ GtkWidget *hbox_bottom = gtk_hbox_new( FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_bottom ), GTK_WIDGET( view_scroll ), TRUE, TRUE, 4 ); gtk_widget_show_all( hbox_bottom ); // Packing the two hboxes into a vbox, then adding to dialog at bottom GtkWidget *vbox = gtk_vbox_new( FALSE, 4 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox_top ), TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox_bottom ), TRUE, TRUE, 1 ); gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area ( GTK_DIALOG( dlg ) ) ), vbox, FALSE, TRUE, 0 ); // Configuring dialog gtk_file_chooser_set_action( GTK_FILE_CHOOSER( dlg ), GTK_FILE_CHOOSER_ACTION_SAVE ); gtk_file_chooser_set_do_overwrite_confirmation( GTK_FILE_CHOOSER( dlg ), TRUE ); // Populating name of archive and setting the correct directory if( files ) { // Fetching first extension handler deals with ext = archive_handler_get_first_extension( handler_xset ); dest_file = g_strjoin( NULL, vfs_file_info_get_disp_name( (VFSFileInfo*)files->data ), ext, NULL ); gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER( dlg ), dest_file ); g_free( dest_file ); dest_file = NULL; g_free( ext ); ext = NULL; } gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( dlg ), cwd ); // Setting dimension and position int width = xset_get_int( "arc_dlg", "x" ); int height = xset_get_int( "arc_dlg", "y" ); if ( width && height ) { // filechooser won't honor default size or size request ? gtk_widget_show_all( dlg ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER_ALWAYS ); gtk_window_resize( GTK_WINDOW( dlg ), width, height ); while( gtk_events_pending() ) gtk_main_iteration(); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); } // Displaying dialog gchar* command = NULL; gboolean run_in_terminal; gtk_widget_show_all( dlg ); while( res = gtk_dialog_run( GTK_DIALOG( dlg ) ) ) { if ( res == GTK_RESPONSE_OK ) { // Dialog OK'd - fetching archive filename dest_file = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dlg ) ); // Fetching archive handler selected if(!gtk_combo_box_get_active_iter( GTK_COMBO_BOX( combo ), &iter )) { // Unable to fetch iter from combo box - warning user and // exiting g_warning( "Unable to fetch iter from combobox!" ); g_free( dest_file ); gtk_widget_destroy( dlg ); return; } // Fetching model data gtk_tree_model_get( GTK_TREE_MODEL( list ), &iter, COL_XSET_NAME, &xset_name, //COL_HANDLER_EXTENSIONS, &extensions, -1 ); handler_xset = xset_get( xset_name ); // Saving selected archive handler name as default xset_set( "arc_dlg", "s", xset_name ); g_free( xset_name ); // run in the terminal or not run_in_terminal = handler_xset->in_terminal == XSET_B_TRUE; // Get command from text view GtkTextBuffer* buf = gtk_text_view_get_buffer( view ); GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); command = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); // reject command that contains only whitespace and comments if ( ptk_handler_command_is_empty( command ) ) { xset_msg_dialog( GTK_WIDGET( dlg ), GTK_MESSAGE_ERROR, _("Create Archive"), NULL, 0, _("The archive creation command is empty. Please enter a command."), NULL, NULL ); g_free( command ); continue; } #if 0 // I don't like this warning here - users may have custom ways of doing /* This is duplicating GUI validation code but it is just * not worth spinning out a series of validation functions * for this * Checking to see if the archive handler compression command * has been deleted or has invalid placeholders - not * required to only have one of the particular type */ if (g_strcmp0( command, "" ) <= 0 || ( !g_strstr_len( command, -1, "%o" ) && !g_strstr_len( command, -1, "%O" ) ) || ( !g_strstr_len( command, -1, "%n" ) && !g_strstr_len( command, -1, "%N" ) ) ) { // It has/is - warning user /* this looks like a very tall dialog - will fit on smaller (600) screens? */ xset_msg_dialog( GTK_WIDGET( dlg ), GTK_MESSAGE_WARNING, _("Create Archive"), NULL, FALSE, _("The following variables " "should be in the archive creation" " command:\n\n" "One of the following:\n\n" "%%%%n: First selected file/directory to" " archive\n" "%%%%N: All selected files/directories to" " archive\n\n" "and one of the following:\n\n" "%%%%o: Resulting single archive\n" "%%%%O: Resulting archive per source " "file/directory (see %%%%n/%%%%N)\n"), NULL, NULL ); gtk_widget_grab_focus( GTK_WIDGET( view ) ); } #endif // Getting prior command for comparison char* compress_cmd = NULL; char* err_msg = ptk_handler_load_script( HANDLER_MODE_ARC, HANDLER_COMPRESS, handler_xset, NULL, &compress_cmd ); if ( err_msg ) { g_warning( "%s", err_msg ); g_free( err_msg ); compress_cmd = g_strdup( "" ); } // Checking to see if the compression command has changed if ( g_strcmp0( compress_cmd, command ) ) { // command has changed - saving command g_free( compress_cmd ); if ( handler_xset->disable ) { // commmand was default - need to save all commands // get default extract command from const compress_cmd = ptk_handler_get_command( HANDLER_MODE_ARC, HANDLER_EXTRACT, handler_xset ); // write extract command script err_msg = ptk_handler_save_script( HANDLER_MODE_ARC, HANDLER_EXTRACT, handler_xset, NULL, compress_cmd ); if ( err_msg ) { g_warning( "%s", err_msg ); g_free( err_msg ); } g_free( compress_cmd ); // get default list command from const compress_cmd = ptk_handler_get_command( HANDLER_MODE_ARC, HANDLER_LIST, handler_xset ); // write list command script err_msg = ptk_handler_save_script( HANDLER_MODE_ARC, HANDLER_LIST, handler_xset, NULL, compress_cmd ); if ( err_msg ) { g_warning( "%s", err_msg ); g_free( err_msg ); } g_free( compress_cmd ); handler_xset->disable = FALSE; // not default handler now } // save updated compress command err_msg = ptk_handler_save_script( HANDLER_MODE_ARC, HANDLER_COMPRESS, handler_xset, NULL, command ); if ( err_msg ) { xset_msg_dialog( GTK_WIDGET( dlg ), GTK_MESSAGE_ERROR, _("Error Saving Handler"), NULL, 0, err_msg, NULL, NULL ); g_free( err_msg ); } } else g_free( compress_cmd ); // Saving settings xset_autosave( FALSE, FALSE ); break; } else if ( res == GTK_RESPONSE_NONE ) { /* User wants to configure archive handlers - call up the * config dialog then exit, as this dialog would need to be * reconstructed if changes occur */ gtk_widget_destroy( dlg ); ptk_handler_show_config( HANDLER_MODE_ARC, desktop, file_browser, NULL ); return; } else if ( res == GTK_RESPONSE_HELP ) { xset_show_help( dlg, NULL, "#handlers-arc" ); } else { // Destroying dialog gtk_widget_destroy( dlg ); return; } } // Saving dialog dimensions GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET ( dlg ), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { str = g_strdup_printf( "%d", width ); xset_set( "arc_dlg", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "arc_dlg", "y", str ); g_free( str ); } // Destroying dialog gtk_widget_destroy( dlg ); // Make Archive Creation Command // Dealing with separate archives for each source file/directory ('%O') if (g_strstr_len( command, -1, "%O" )) { /* '%O' is present - the archiving command should be generated * and ran for each individual file */ // Fetching extension ext = archive_handler_get_first_extension( handler_xset ); /* Looping for all selected files/directories - all are used * when '%N' is present, only the first otherwise */ for( i = 0, l = files; l && ( i == 0 || g_strstr_len( command, -1, "%N" ) ); l = l->next, ++i) { desc = (char *) vfs_file_info_get_name( (VFSFileInfo*) l->data ); /* In %O mode, every source file is output to its own archive, * so the resulting archive name is based on the filename and * substituted every time */ // Obtaining valid quoted UTF8 archive path to substitute for %O if ( i == 0 ) { // First archive - use user-selected destination udest_file = g_filename_display_name( dest_file ); } else { /* For subsequent archives, base archive name on the filename * being compressed, in the user-selected dir */ char* dest_dir = g_path_get_dirname( dest_file ); udest_file = g_strconcat( dest_dir, "/", desc, ext, NULL ); // Looping to find a path that doesnt exist n = 1; while ( lstat64( udest_file, &statbuf ) == 0 ) { g_free( udest_file ); udest_file = g_strdup_printf( "%s/%s-%s%d%s", dest_dir, desc, _("copy"), ++n, ext ); } g_free( dest_dir ); } udest_quote = bash_quote( udest_file ); g_free( udest_file ); udest_file = NULL; /* Bash quoting desc - desc original value comes from the * VFSFileInfo struct and therefore should not be freed */ if ( desc[0] == '-' ) { // special handling for filename starting with a dash // due to tar interpreting it as option s1 = g_strdup_printf( "./%s", desc ); desc = bash_quote( s1 ); g_free( s1 ); } else desc = bash_quote( desc ); // Replace sub vars %n %N %O (and erroneous %o treat as %O) cmd_to_run = replace_archive_subs( command, i == 0 ? desc : "", // first run only %n = desc desc, // Replace %N with nth file (NOT ALL FILES) udest_quote, NULL, NULL ); g_free( udest_quote ); g_free( desc ); // Appending to final command as appropriate if (i == 0) final_command = g_strconcat( cmd_to_run, "\n[[ $? -eq 0 ]] || fm_handle_err\n", NULL ); else { s1 = final_command; final_command = g_strconcat( final_command, "echo\n", cmd_to_run, "\n[[ $? -eq 0 ]] || fm_handle_err\n", NULL ); g_free(s1); } g_free( cmd_to_run ); } } else { /* '%O' isn't present - the normal single command is needed * Obtaining valid quoted UTF8 file name %o for archive to create */ udest_file = g_filename_display_name( dest_file ); char* udest_quote = bash_quote( udest_file ); g_free( udest_file ); char* all = g_strdup ( "" ); char* first; if ( files ) { desc = (char*) vfs_file_info_get_name( (VFSFileInfo*) files->data ); if ( desc[0] == '-' ) { // special handling for filename starting with a dash // due to tar interpreting it as option s1 = g_strdup_printf( "./%s", desc ); first = bash_quote( s1 ); g_free( s1 ); } else first = bash_quote( desc ); /* Generating string of selected files/directories to archive if * '%N' is present */ if ( g_strstr_len( command, -1, "%N" ) ) { for( l = files; l; l = l->next) { desc = (char*) vfs_file_info_get_name( (VFSFileInfo*) l->data ); if ( desc[0] == '-' ) { // special handling for filename starting with a dash // due to tar interpreting it as option s1 = g_strdup_printf( "./%s", desc ); desc = bash_quote( s1 ); g_free( s1 ); } else desc = bash_quote( desc ); str = all; all = g_strdup_printf( "%s%s%s", all, all[0] ? " " : "", desc ); g_free( str ); g_free( desc ); } } } else { // no files selected! first = g_strdup( "" ); } // Replace sub vars %n %N %o cmd_to_run = replace_archive_subs( command, first, all, udest_quote, NULL, NULL ); // Enforce error check final_command = g_strconcat( cmd_to_run, "\n[[ $? -eq 0 ]] || fm_handle_err\n", NULL ); g_free( cmd_to_run ); g_free( udest_quote ); g_free( first ); g_free( all ); } g_free( dest_file ); /* When ran in a terminal, errors need to result in a pause so that * the user can review the situation - in any case an error check * needs to be made */ str = generate_bash_error_function( run_in_terminal, NULL ); s1 = final_command; final_command = g_strconcat( str, "\n\n", final_command, NULL ); g_free( str ); g_free( s1 ); /* Cleaning up - final_command does not need freeing, as this * is freed by the task */ g_free( command ); // Creating task char* task_name = g_strdup_printf( _("Archive") ); PtkFileTask* task = ptk_file_exec_new( task_name, cwd, file_browser ? GTK_WIDGET( file_browser ) : NULL, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); /* Setting correct exec reference - probably causes different bash * to be output */ if (file_browser) task->task->exec_browser = file_browser; else task->task->exec_desktop = desktop; // Using terminals for certain handlers if (run_in_terminal) { task->task->exec_terminal = TRUE; task->task->exec_sync = FALSE; } else task->task->exec_sync = TRUE; // Final configuration, setting custom icon task->task->exec_command = final_command; task->task->exec_show_error = TRUE; task->task->exec_export = TRUE; // Setup SpaceFM bash variables XSet* set = xset_get( "new_archive" ); if ( set->icon ) task->task->exec_icon = g_strdup( set->icon ); // Running task ptk_file_task_run( task ); } static void on_create_subfolder_toggled( GtkToggleButton *togglebutton, GtkWidget* chk_write ) { gboolean enabled = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( togglebutton ) ); gtk_widget_set_sensitive( chk_write, enabled && geteuid() != 0 ); } void ptk_file_archiver_extract( DesktopWindow *desktop, PtkFileBrowser *file_browser, GList *files, const char *cwd, const char *dest_dir, int job, gboolean archive_presence_checked ) { /* This function is also used to list the contents of archives */ GtkWidget* dlg; GtkWidget* dlgparent = NULL; char* choose_dir = NULL; gboolean create_parent = FALSE, in_term = FALSE, keep_term = FALSE; gboolean write_access = FALSE, list_contents = FALSE; char* parent_quote = NULL; VFSFileInfo* file; VFSMimeType* mime_type; const char *dest; GList* l; char *dest_quote = NULL, *full_path = NULL, *full_quote = NULL, *perm = NULL, *cmd = NULL, *str = NULL, *final_command = NULL, *s1 = NULL, *extension = NULL; int i, n, j, res; struct stat64 statbuf; GSList *handlers_slist = NULL; // Making sure files to act on have been passed if( !files || job == HANDLER_COMPRESS ) return; /* Detecting whether this function call is actually to list the * contents of the archive or not... */ list_contents = job == HANDLER_LIST; /* Setting desired archive operation and keeping in terminal while * listing */ int archive_operation = list_contents ? ARC_LIST : ARC_EXTRACT; keep_term = list_contents; /* Ensuring archives are actually present in files, if this hasn't already * been verified - i.e. the function was triggered by a keyboard shortcut */ if (!archive_presence_checked) { gboolean archive_found = FALSE; // Looping for all files to attempt to list/extract for ( l = files; l; l = l->next ) { // Fetching file details file = (VFSFileInfo*)l->data; mime_type = vfs_file_info_get_mime_type( file ); full_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); // Checking for enabled handler with non-empty command handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_ARC, archive_operation, full_path, mime_type, TRUE, FALSE, TRUE ); g_free(full_path); vfs_mime_type_unref( mime_type ); if ( handlers_slist ) { archive_found = TRUE; g_slist_free( handlers_slist ); break; } } if (!archive_found) return; } // Determining parent of dialog if ( file_browser ) dlgparent = gtk_widget_get_toplevel( GTK_WIDGET( file_browser->main_window ) ); //else if ( desktop ) // dlgparent = gtk_widget_get_toplevel( desktop ); // causes drag action??? // Checking if extract to directory hasn't been specified if ( !dest_dir && !list_contents ) { /* It hasn't - generating dialog to ask user. Only dealing with * user-writable contents if the user isn't root */ dlg = gtk_file_chooser_dialog_new( _("Extract To"), dlgparent ? GTK_WINDOW( dlgparent ) : NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, NULL, NULL ); /* Adding standard buttons and saving references in the dialog * 'Configure' button has custom text but a stock image */ GtkButton* btn_configure = GTK_BUTTON( gtk_dialog_add_button( GTK_DIALOG( dlg ), _("Conf_igure"), GTK_RESPONSE_NONE ) ); GtkWidget* btn_configure_image = xset_get_image( "GTK_STOCK_PREFERENCES", GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( GTK_BUTTON( btn_configure ), GTK_WIDGET ( btn_configure_image ) ); g_object_set_data( G_OBJECT( dlg ), "btn_configure", GTK_BUTTON( btn_configure ) ); g_object_set_data( G_OBJECT( dlg ), "btn_cancel", gtk_dialog_add_button( GTK_DIALOG( dlg ), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL ) ); g_object_set_data( G_OBJECT( dlg ), "btn_ok", gtk_dialog_add_button( GTK_DIALOG( dlg ), GTK_STOCK_OK, GTK_RESPONSE_OK ) ); /* Adding the help button but preventing it from taking the focus on * click */ gtk_button_set_focus_on_click( GTK_BUTTON( gtk_dialog_add_button( GTK_DIALOG( dlg ), GTK_STOCK_HELP, GTK_RESPONSE_HELP ) ), FALSE ); GtkWidget* hbox = gtk_hbox_new( FALSE, 10 ); GtkWidget* chk_parent = gtk_check_button_new_with_mnemonic( _("Cre_ate subfolder(s)") ); GtkWidget* chk_write = gtk_check_button_new_with_mnemonic( _("Make contents " "user-_writable") ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chk_parent ), xset_get_b( "arc_dlg" ) ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( chk_write ), xset_get_int( "arc_dlg", "z" ) == 1 && geteuid() != 0 ); gtk_widget_set_sensitive( chk_write, xset_get_b( "arc_dlg" ) && geteuid() != 0 ); g_signal_connect( G_OBJECT( chk_parent ), "toggled", G_CALLBACK ( on_create_subfolder_toggled ), chk_write ); gtk_box_pack_start( GTK_BOX(hbox), chk_parent, FALSE, FALSE, 6 ); gtk_box_pack_start( GTK_BOX(hbox), chk_write, FALSE, FALSE, 6 ); gtk_widget_show_all( hbox ); gtk_file_chooser_set_extra_widget( GTK_FILE_CHOOSER(dlg), hbox ); // Setting dialog to current working directory gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER (dlg), cwd ); // Fetching saved dialog dimensions and applying int width = xset_get_int( "arc_dlg", "x" ); int height = xset_get_int( "arc_dlg", "y" ); if ( width && height ) { // filechooser won't honor default size or size request ? gtk_widget_show_all( dlg ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER_ALWAYS ); gtk_window_resize( GTK_WINDOW( dlg ), width, height ); while( gtk_events_pending() ) gtk_main_iteration(); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); } // Displaying dialog while( res = gtk_dialog_run( GTK_DIALOG( dlg ) ) ) { if ( res == GTK_RESPONSE_OK ) { // Fetching user-specified settings and saving choose_dir = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dlg ) ); create_parent = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( chk_parent ) ); write_access = create_parent && gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( chk_write ) ); xset_set_b( "arc_dlg", create_parent ); xset_set( "arc_dlg", "z", write_access ? "1" : "0" ); break; } else if ( res == GTK_RESPONSE_NONE ) { /* User wants to configure archive handlers - call up the * config dialog then exit, as this dialog would need to be * reconstructed if changes occur */ gtk_widget_destroy( dlg ); ptk_handler_show_config( HANDLER_MODE_ARC, desktop, file_browser, NULL ); return; } else if ( res == GTK_RESPONSE_HELP ) { xset_show_help( dlg, NULL, "#handlers-arc" ); } else { // Destroying dialog gtk_widget_destroy( dlg ); return; } } // Saving dialog dimensions GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET ( dlg ), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { str = g_strdup_printf( "%d", width ); xset_set( "arc_dlg", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "arc_dlg", "y", str ); g_free( str ); } // Destroying dialog gtk_widget_destroy( dlg ); // Exiting if user didnt choose an extraction directory if( !choose_dir ) return; dest = choose_dir; } else { // Extraction directory specified - loading defaults create_parent = xset_get_b( "arc_def_parent" ); write_access = create_parent && xset_get_b( "arc_def_write" ); dest = dest_dir; } /* Quoting destination directory (doing this outside of the later * loop as its needed after the selected files loop completes) */ dest_quote = bash_quote( dest ? dest : cwd ); // Fetching available archive handlers and splitting char* archive_handlers_s = xset_get_s( "arc_conf2" ); gchar** archive_handlers = archive_handlers_s ? g_strsplit( archive_handlers_s, " ", -1 ) : NULL; XSet* handler_xset = NULL; // Looping for all files to attempt to list/extract for ( l = files; l; l = l->next ) { // Fetching file details file = (VFSFileInfo*)l->data; mime_type = vfs_file_info_get_mime_type( file ); // Determining file paths full_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); // Get handler with non-empty command handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_ARC, archive_operation, full_path, mime_type, TRUE, FALSE, TRUE ); if ( handlers_slist ) { handler_xset = (XSet*)handlers_slist->data; g_slist_free( handlers_slist ); } else handler_xset = NULL; vfs_mime_type_unref( mime_type ); // Continuing to next file if a handler hasnt been found if ( !handler_xset ) { g_warning( "%s %s", _("No archive handler/command found for file:"), full_path ); g_free( full_path ); continue; } printf( "Archive Handler Selected: %s\n", handler_xset->menu_label ); /* Handler found - fetching the 'run in terminal' preference, if * the operation is listing then the terminal should be kept * open, otherwise the user should explicitly keep the terminal * running via the handler's command * Since multiple commands are now batched together, only one * of the handlers needing to run in a terminal will cause all of * them to */ if (!in_term) in_term = archive_handler_run_in_term( handler_xset, archive_operation ); // Archive to list or extract: full_quote = bash_quote( full_path ); // %x gchar* extract_target = NULL; // %g or %G gchar* mkparent = g_strdup( "" ); perm = g_strdup( "" ); if ( list_contents ) { // List archive contents only char* err_msg = ptk_handler_load_script( HANDLER_MODE_ARC, HANDLER_LIST, handler_xset, NULL, &cmd ); if ( err_msg ) { g_warning( err_msg, NULL ); g_free( err_msg ); cmd = g_strdup( "" ); } } else { /* An archive is to be extracted * Obtaining filename minus the archive extension - this is * needed if a parent directory must be created, and if the * extraction target is a file without the handler extension * filename is g_strdup'd to get rid of the const */ gchar* filename = g_strdup( vfs_file_info_get_name( file ) ); gchar* filename_no_archive_ext = NULL; /* Looping for all extensions registered with the current * archive handler (NULL-terminated list) */ gchar** pathnames = handler_xset->x ? g_strsplit( handler_xset->x, " ", -1 ) : NULL; gchar *filename_no_ext; if ( pathnames ) { for (i = 0; pathnames[i]; ++i) { // getting just the extension of the pathname list element filename_no_ext = get_name_extension( pathnames[i], FALSE, &extension ); if ( extension ) { // add a dot to extension str = extension; extension = g_strconcat( ".", extension, NULL ); g_free( str ); // Checking if the current extension is being used if ( g_str_has_suffix( filename, extension ) ) { // It is - determining filename without extension n = strlen( filename ) - strlen( extension ); char ch = filename[n]; filename[n] = '\0'; filename_no_archive_ext = g_strdup( filename ); filename[n] = ch; break; } } g_free( filename_no_ext ); g_free( extension ); } } g_strfreev( pathnames ); /* An archive may not have an extension, or there may be no * extensions specified for the handler (they are optional) * - making sure filename_no_archive_ext is set in this case */ if ( !filename_no_archive_ext ) filename_no_archive_ext = g_strdup( filename ); /* Now the extraction filename is obtained, determine the * normal filename without the extension */ filename_no_ext = get_name_extension( filename_no_archive_ext, FALSE, &extension ); /* 'Completing' the extension and dealing with files with * no extension */ if ( !extension ) extension = g_strdup( "" ); else { str = extension; extension = g_strconcat( ".", extension, NULL ); g_free( str ); } /* Get extraction command - Doing this here as parent * directory creation needs access to the command. */ char* err_msg = ptk_handler_load_script( HANDLER_MODE_ARC, HANDLER_EXTRACT, handler_xset, NULL, &cmd ); if ( err_msg ) { g_warning( err_msg, NULL ); g_free( err_msg ); cmd = g_strdup( "" ); } /* Dealing with creation of parent directory if needed - * never create a parent directory if '%G' is used - this is * an override substitution for the sake of gzip */ gchar* parent_path = NULL; if ( create_parent && !g_strstr_len( cmd, -1, "%G" ) ) { /* Determining full path of parent directory to make * (also used later in '%g' substitution) */ parent_path = g_build_filename( dest, filename_no_archive_ext, NULL ); gchar* parent_orig = g_strdup( parent_path ); n = 1; // Looping to find a path that doesnt exist while ( lstat64( parent_path, &statbuf ) == 0 ) { g_free( parent_path ); parent_path = g_strdup_printf( "%s-%s%d", parent_orig, _("copy"), ++n ); } g_free( parent_orig ); // Generating shell command to make directory parent_quote = bash_quote( parent_path ); g_free( mkparent ); mkparent = g_strdup_printf( "" "mkdir -p %s || fm_handle_err\n" "cd %s || fm_handle_err\n", parent_quote, parent_quote ); /* Dealing with the need to make extracted files writable if * desired (e.g. a tar of files originally archived from a CD * will be readonly). Root users don't obey such access * permissions and making such owned files writeable may be a * security issue */ if ( write_access && geteuid() != 0 ) { /* deliberately omitting fm_handle_error - only a * convenience function */ g_free( perm ); perm = g_strdup_printf( "chmod -R u+rwX %s\n", parent_quote ); } g_free( parent_quote ); parent_quote = NULL; } else { // Parent directory doesn't need to be created create_parent = FALSE; } // Debug code //g_message( "full_quote: %s\ndest: %s", full_quote, dest ); /* Singular file extraction target (e.g. stdout-redirected * gzip) */ if ( g_strstr_len( cmd, -1, "%g" ) || g_strstr_len( cmd, -1, "%G" ) ) { /* Creating extraction target, taking into account whether * a parent directory has been created or not - target is * guaranteed not to exist so as to avoid overwriting */ extract_target = g_build_filename( create_parent ? parent_path : dest, filename_no_archive_ext, NULL ); n = 1; // Looping to find a path that doesnt exist while ( lstat64( extract_target, &statbuf ) == 0 ) { g_free( extract_target ); str = g_strdup_printf( "%s-%s%d%s", filename_no_ext, _("copy"), ++n, extension ); extract_target = g_build_filename( create_parent ? parent_path : dest, str, NULL ); g_free( str ); } // Quoting target str = extract_target; extract_target = bash_quote( extract_target ); g_free( str ); } // Cleaning up g_free( filename ); g_free( filename_no_archive_ext ); g_free( filename_no_ext ); g_free( extension ); g_free( parent_path ); } // Substituting %x %g %G str = cmd; cmd = replace_archive_subs( cmd, NULL, NULL, NULL, full_quote, extract_target ); g_free( str ); /* Finally constructing command to run, taking into account more than * one archive to list/extract. The mkparent command itself has error * checking - final error check not here as I want the code shared with * the list code flow */ str = final_command; final_command = g_strdup_printf( "%s\ncd %s || fm_handle_err\n%s%s" "\n[[ $? -eq 0 ]] || fm_handle_err\n%s\n", (g_strcmp0( final_command, "" ) < 0) ? "" : final_command, dest_quote, mkparent, cmd, perm ); g_free( str ); // Cleaning up g_free( full_quote ); g_free( full_path ); g_free( cmd ); g_free( mkparent ); g_free( perm ); } /* When ran in a terminal, errors need to result in a pause so that * the user can review the situation - in any case an error check * needs to be made */ str = generate_bash_error_function( in_term, create_parent ? parent_quote : NULL ); s1 = final_command; final_command = g_strconcat( str, "\n", final_command, NULL ); g_free( str ); g_free( s1 ); g_free( dest_quote ); g_free( parent_quote ); g_free( choose_dir ); g_strfreev( archive_handlers ); // Creating task char* task_name = g_strdup_printf( _("Extract %s"), vfs_file_info_get_name( file ) ); PtkFileTask* task = ptk_file_exec_new( task_name, cwd, dlgparent, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); /* Setting correct exec reference - probably causes different bash * to be output */ if (file_browser) task->task->exec_browser = file_browser; else task->task->exec_desktop = desktop; // Configuring task task->task->exec_command = final_command; task->task->exec_browser = file_browser; task->task->exec_sync = !in_term; task->task->exec_show_error = TRUE; task->task->exec_scroll_lock = FALSE; task->task->exec_show_output = list_contents && !in_term; task->task->exec_terminal = in_term; task->task->exec_keep_terminal = keep_term; task->task->exec_export = TRUE; // Setup SpaceFM bash variables // Setting custom icon XSet* set = xset_get( "arc_extract" ); if ( set->icon ) task->task->exec_icon = g_strdup( set->icon ); // Running task ptk_file_task_run( task ); } spacefm-1.0.5/src/ptk/ptk-file-archiver.h000066400000000000000000000025561264770501700202260ustar00rootroot00000000000000/* * SpaceFM ptk-file-archiver.h * * Copyright (C) 2013-2014 OmegaPhil * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #ifndef _PTK_FILE_ARCHIVER_H_ #define _PTK_FILE_ARCHIVER_H_ #include #include #include "vfs-mime-type.h" #include "ptk-file-browser.h" G_BEGIN_DECLS // Archive operations enum enum { ARC_COMPRESS, ARC_EXTRACT, ARC_LIST }; // Pass file_browser or desktop depending on where you're calling from void ptk_file_archiver_create( DesktopWindow *desktop, PtkFileBrowser *file_browser, GList *files, const char *cwd ); void ptk_file_archiver_extract( DesktopWindow *desktop, PtkFileBrowser *file_browser, GList *files, const char *cwd, const char *dest_dir, int job, gboolean archive_presence_checked ); // At least a mime type or extension is required - mime type preferred gboolean ptk_file_archiver_is_format_supported( VFSMimeType* mime, const char* extension, int operation ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-file-browser.c000066400000000000000000010022141264770501700200710ustar00rootroot00000000000000#ifdef HAVE_CONFIG_H #include #endif #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "ptk-file-browser.h" #include "exo-icon-view.h" #include "exo-tree-view.h" #include "mime-type/mime-type.h" #include "settings.h" //MOD #include "ptk-app-chooser.h" #include "ptk-file-icon-renderer.h" #include "ptk-utils.h" #include "ptk-input-dialog.h" #include "ptk-file-task.h" #include "ptk-file-misc.h" #include "ptk-location-view.h" #include "ptk-dir-tree-view.h" #include "ptk-dir-tree.h" #include "vfs-dir.h" #include "vfs-utils.h" //MOD #include "vfs-file-info.h" #include "vfs-file-monitor.h" #include "vfs-app-desktop.h" #include "ptk-file-list.h" #include "ptk-text-renderer.h" #include "ptk-file-archiver.h" #include "ptk-clipboard.h" #include "ptk-file-menu.h" #include "ptk-path-entry.h" //MOD #include "find-files.h" //MOD #include "main-window.h" #include "gtk2-compat.h" extern char* run_cmd; //MOD static void ptk_file_browser_class_init( PtkFileBrowserClass* klass ); static void ptk_file_browser_init( PtkFileBrowser* file_browser ); static void ptk_file_browser_finalize( GObject *obj ); static void ptk_file_browser_get_property ( GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec ); static void ptk_file_browser_set_property ( GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec ); /* Utility functions */ static GtkWidget* create_folder_view( PtkFileBrowser* file_browser, PtkFBViewMode view_mode ); static void init_list_view( PtkFileBrowser* file_browser, GtkTreeView* list_view ); static GtkWidget* ptk_file_browser_create_dir_tree( PtkFileBrowser* file_browser ); static void on_dir_file_listed( VFSDir* dir, gboolean is_cancelled, PtkFileBrowser* file_browser ); void ptk_file_browser_open_selected_files( PtkFileBrowser* file_browser ); static void ptk_file_browser_cut_or_copy( PtkFileBrowser* file_browser, gboolean copy ); static void ptk_file_browser_update_model( PtkFileBrowser* file_browser ); static gboolean is_latin_shortcut_key( guint keyval ); /* Get GtkTreePath of the item at coordinate x, y */ static GtkTreePath* folder_view_get_tree_path_at_pos( PtkFileBrowser* file_browser, int x, int y ); /* signal handlers */ static void on_folder_view_item_activated ( ExoIconView *iconview, GtkTreePath *path, PtkFileBrowser* file_browser ); static void on_folder_view_row_activated ( GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn* col, PtkFileBrowser* file_browser ); static void on_folder_view_item_sel_change ( ExoIconView *iconview, PtkFileBrowser* file_browser ); static gboolean on_folder_view_button_press_event ( GtkWidget *widget, GdkEventButton *event, PtkFileBrowser* file_browser ); static gboolean on_folder_view_button_release_event ( GtkWidget *widget, GdkEventButton *event, PtkFileBrowser* file_browser ); static gboolean on_folder_view_popup_menu ( GtkWidget *widget, PtkFileBrowser* file_browser ); void on_dir_tree_row_activated ( GtkTreeView* view, GtkTreePath* path, GtkTreeViewColumn* column, PtkFileBrowser* file_browser ); /* Drag & Drop */ static void on_folder_view_drag_data_received ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *sel_data, guint info, guint time, gpointer user_data ); static void on_folder_view_drag_data_get ( GtkWidget *widget, GdkDragContext *drag_context, GtkSelectionData *sel_data, guint info, guint time, PtkFileBrowser *file_browser ); static void on_folder_view_drag_begin ( GtkWidget *widget, GdkDragContext *drag_context, PtkFileBrowser* file_browser ); static gboolean on_folder_view_drag_motion ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ); static gboolean on_folder_view_drag_leave ( GtkWidget *widget, GdkDragContext *drag_context, guint time, PtkFileBrowser* file_browser ); static gboolean on_folder_view_drag_drop ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ); static void on_folder_view_drag_end ( GtkWidget *widget, GdkDragContext *drag_context, PtkFileBrowser* file_browser ); /* Default signal handlers */ static void ptk_file_browser_before_chdir( PtkFileBrowser* file_browser, const char* path, gboolean* cancel ); static void ptk_file_browser_after_chdir( PtkFileBrowser* file_browser ); static void ptk_file_browser_content_change( PtkFileBrowser* file_browser ); static void ptk_file_browser_sel_change( PtkFileBrowser* file_browser ); static void ptk_file_browser_open_item( PtkFileBrowser* file_browser, const char* path, int action ); static void ptk_file_browser_pane_mode_change( PtkFileBrowser* file_browser ); void ptk_file_browser_update_views( GtkWidget* item, PtkFileBrowser* file_browser ); void focus_folder_view( PtkFileBrowser* file_browser ); void on_shortcut_new_tab_here( GtkMenuItem* item, PtkFileBrowser* file_browser ); void enable_toolbar( PtkFileBrowser* file_browser ); void show_thumbnails( PtkFileBrowser* file_browser, PtkFileList* list, gboolean is_big, int max_file_size ); static int file_list_order_from_sort_order( PtkFBSortOrder order ); static GtkPanedClass *parent_class = NULL; enum { BEFORE_CHDIR_SIGNAL, BEGIN_CHDIR_SIGNAL, AFTER_CHDIR_SIGNAL, OPEN_ITEM_SIGNAL, CONTENT_CHANGE_SIGNAL, SEL_CHANGE_SIGNAL, PANE_MODE_CHANGE_SIGNAL, N_SIGNALS }; enum{ //MOD RESPONSE_RUN = 100, RESPONSE_RUNTERMINAL = 101, }; static void enter_callback( GtkEntry* entry, GtkDialog* dlg ); //MOD static char *replace_str(char *str, char *orig, char *rep); //MOD static void rebuild_toolbox( GtkWidget* widget, PtkFileBrowser* file_browser ); static void rebuild_side_toolbox( GtkWidget* widget, PtkFileBrowser* file_browser ); static guint signals[ N_SIGNALS ] = { 0 }; static guint folder_view_auto_scroll_timer = 0; static GtkDirectionType folder_view_auto_scroll_direction = 0; /* Drag & Drop/Clipboard targets */ static GtkTargetEntry drag_targets[] = { {"text/uri-list", 0 , 0 } }; #define GDK_ACTION_ALL (GDK_ACTION_MOVE|GDK_ACTION_COPY|GDK_ACTION_LINK) // must match main-window.c main_window_socket_command const char* column_titles[] = { N_( "Name" ), N_( "Size" ), N_( "Type" ), N_( "Permission" ), N_( "Owner" ), N_( "Modified" ) }; const char* column_names[] = { "detcol_name", "detcol_size", "detcol_type", "detcol_perm", "detcol_owner", "detcol_date" }; GType ptk_file_browser_get_type() { static GType type = G_TYPE_INVALID; if ( G_UNLIKELY ( type == G_TYPE_INVALID ) ) { static const GTypeInfo info = { sizeof ( PtkFileBrowserClass ), NULL, NULL, ( GClassInitFunc ) ptk_file_browser_class_init, NULL, NULL, sizeof ( PtkFileBrowser ), 0, ( GInstanceInitFunc ) ptk_file_browser_init, NULL, }; //type = g_type_register_static ( GTK_TYPE_HPANED, "PtkFileBrowser", &info, 0 ); type = g_type_register_static ( GTK_TYPE_VBOX, "PtkFileBrowser", &info, 0 ); } return type; } /* These g_cclosure_marshal functions are from gtkmarshal.c, the deprecated * functions renamed from gtk_* to g_cclosure_*, to match the naming convention * of the non-deprecated glib functions. Added for gtk3 port. */ static void g_cclosure_marshal_VOID__POINTER_POINTER( GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { register GCClosure *cc = (GCClosure *) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } typedef void (*GMarshalFunc_VOID__POINTER_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__POINTER_POINTER callback = (GMarshalFunc_VOID__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_pointer (param_values + 1), g_value_get_pointer (param_values + 2), data2); } static void g_cclosure_marshal_VOID__POINTER_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__POINTER_INT) (gpointer data1, gpointer arg_1, gint arg_2, gpointer data2); register GMarshalFunc_VOID__POINTER_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__POINTER_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_pointer (param_values + 1), g_value_get_int (param_values + 2), data2); } void ptk_file_browser_class_init( PtkFileBrowserClass* klass ) { GObjectClass * object_class; GtkWidgetClass *widget_class; object_class = ( GObjectClass * ) klass; parent_class = g_type_class_peek_parent ( klass ); object_class->set_property = ptk_file_browser_set_property; object_class->get_property = ptk_file_browser_get_property; object_class->finalize = ptk_file_browser_finalize; widget_class = GTK_WIDGET_CLASS ( klass ); /* Signals */ klass->before_chdir = ptk_file_browser_before_chdir; klass->after_chdir = ptk_file_browser_after_chdir; klass->open_item = ptk_file_browser_open_item; klass->content_change = ptk_file_browser_content_change; klass->sel_change = ptk_file_browser_sel_change; klass->pane_mode_change = ptk_file_browser_pane_mode_change; /* before-chdir is emitted when PtkFileBrowser is about to change * its working directory. The 1st param is the path of the dir (in UTF-8), * and the 2nd param is a gboolean*, which can be filled by the * signal handler with TRUE to cancel the operation. */ signals[ BEFORE_CHDIR_SIGNAL ] = g_signal_new ( "before-chdir", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET ( PtkFileBrowserClass, before_chdir ), NULL, NULL, g_cclosure_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER ); signals[ BEGIN_CHDIR_SIGNAL ] = g_signal_new ( "begin-chdir", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET ( PtkFileBrowserClass, begin_chdir ), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0 ); signals[ AFTER_CHDIR_SIGNAL ] = g_signal_new ( "after-chdir", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET ( PtkFileBrowserClass, after_chdir ), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0 ); /* * This signal is sent when a directory is about to be opened * arg1 is the path to be opened, and arg2 is the type of action, * ex: open in tab, open in terminal...etc. */ signals[ OPEN_ITEM_SIGNAL ] = g_signal_new ( "open-item", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET ( PtkFileBrowserClass, open_item ), NULL, NULL, g_cclosure_marshal_VOID__POINTER_INT, G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_INT ); signals[ CONTENT_CHANGE_SIGNAL ] = g_signal_new ( "content-change", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET ( PtkFileBrowserClass, content_change ), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0 ); signals[ SEL_CHANGE_SIGNAL ] = g_signal_new ( "sel-change", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET ( PtkFileBrowserClass, sel_change ), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0 ); signals[ PANE_MODE_CHANGE_SIGNAL ] = g_signal_new ( "pane-mode-change", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET ( PtkFileBrowserClass, pane_mode_change ), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0 ); } gboolean ptk_file_browser_slider_release( GtkWidget *widget, GdkEventButton *event, PtkFileBrowser* file_browser ) { int pos; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int p = file_browser->mypanel; char mode = main_window->panel_context[p-1]; XSet* set = xset_get_panel_mode( p, "slider_positions", mode ); if ( widget == file_browser->hpane ) { pos = gtk_paned_get_position( GTK_PANED( file_browser->hpane ) ); if ( !main_window->fullscreen ) { g_free( set->x ); set->x = g_strdup_printf( "%d", pos ); } main_window->panel_slide_x[p-1] = pos; //printf(" slide_x = %d\n", pos ); } else { //printf("ptk_file_browser_slider_release fb=%#x (panel %d) mode = %d\n", file_browser, p, mode ); pos = gtk_paned_get_position( GTK_PANED( file_browser->side_vpane_top ) ); if ( !main_window->fullscreen ) { g_free( set->y ); set->y = g_strdup_printf( "%d", pos ); } main_window->panel_slide_y[p-1] = pos; //printf(" slide_y = %d ", pos ); pos = gtk_paned_get_position( GTK_PANED( file_browser->side_vpane_bottom ) ); if ( !main_window->fullscreen ) { g_free( set->s ); set->s = g_strdup_printf( "%d", pos ); } main_window->panel_slide_s[p-1] = pos; //printf("slide_s = %d\n", pos ); } return FALSE; } void ptk_file_browser_select_file( PtkFileBrowser* file_browser, const char* path ) { GtkTreeIter it; GtkTreePath* tree_path; GtkTreeSelection* tree_sel; GtkTreeModel* model = NULL; VFSFileInfo* file; const char* file_name; PtkFileList* list = PTK_FILE_LIST( file_browser->file_list ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_unselect_all( EXO_ICON_VIEW( file_browser->folder_view ) ); model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); gtk_tree_selection_unselect_all( tree_sel ); } if ( !model ) return; char* name = g_path_get_basename( path ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( file ) { file_name = vfs_file_info_get_name( file ); if ( !strcmp( file_name, name ) ) { tree_path = gtk_tree_model_get_path( GTK_TREE_MODEL(list), &it ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), tree_path ); exo_icon_view_set_cursor( EXO_ICON_VIEW( file_browser->folder_view ), tree_path, NULL, FALSE ); exo_icon_view_scroll_to_path( EXO_ICON_VIEW( file_browser->folder_view ), tree_path, TRUE, .25, 0 ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { gtk_tree_selection_select_path( tree_sel, tree_path ); gtk_tree_view_set_cursor( GTK_TREE_VIEW( file_browser->folder_view ), tree_path, NULL, FALSE); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( file_browser->folder_view ), tree_path, NULL, TRUE, .25, 0 ); } gtk_tree_path_free( tree_path ); vfs_file_info_unref( file ); break; } vfs_file_info_unref( file ); } } while ( gtk_tree_model_iter_next( model, &it ) ); } g_free( name ); } void save_command_history( GtkEntry* entry ) { GList* l; EntryData* edata = (EntryData*)g_object_get_data( G_OBJECT( entry ), "edata" ); if ( !edata ) return; const char* text = gtk_entry_get_text( GTK_ENTRY( entry ) ); // remove duplicates while ( l = g_list_find_custom( xset_cmd_history, text, (GCompareFunc)g_strcmp0 ) ) { g_free( (char*)l->data ); xset_cmd_history = g_list_delete_link( xset_cmd_history, l ); } xset_cmd_history = g_list_prepend( xset_cmd_history, g_strdup( text ) ); // shorten to 200 entries while ( g_list_length( xset_cmd_history ) > 200 ) { l = g_list_last( xset_cmd_history ); g_free( (char*)l->data ); xset_cmd_history = g_list_delete_link( xset_cmd_history, l ); } } gboolean on_address_bar_focus_in( GtkWidget *entry, GdkEventFocus* evt, PtkFileBrowser* file_browser ) { ptk_file_browser_focus_me( file_browser ); return FALSE; } void on_address_bar_activate( GtkWidget* entry, PtkFileBrowser* file_browser ) { const char* text; gchar *dir_path, *final_path; GList* l; char* str; struct stat64 statbuf; text = gtk_entry_get_text( GTK_ENTRY( entry ) ); gtk_editable_select_region( (GtkEditable*)entry, 0, 0 ); // clear selection // Convert to on-disk encoding dir_path = g_filename_from_utf8( text, -1, NULL, NULL, NULL ); final_path = vfs_file_resolve_path( ptk_file_browser_get_cwd( file_browser ), dir_path ); g_free( dir_path ); if ( text[0] == '\0' ) { g_free( final_path ); return; } gboolean final_path_exists = g_file_test( final_path, G_FILE_TEST_EXISTS ); if ( !final_path_exists && ( text[0] == '$' || text[0] == '+' || text[0] == '&' || text[0] == '!' || text[0] == '\0' ) ) { // command char* command; char* trim_command; gboolean as_root = FALSE; gboolean in_terminal = FALSE; gboolean as_task = TRUE; char* prefix = g_strdup( "" ); while ( text[0] == '$' || text[0] == '+' || text[0] == '&' || text[0] == '!' ) { if ( text[0] == '+' ) in_terminal = TRUE; else if ( text[0] == '&' ) as_task = FALSE; else if ( text[0] == '!' ) as_root = TRUE; str = prefix; prefix = g_strdup_printf( "%s%c", str, text[0] ); g_free( str ); text++; } gboolean is_space = text[0] == ' '; command = g_strdup( text ); trim_command = g_strstrip( command ); if ( trim_command[0] == '\0' ) { g_free( command ); g_free( prefix ); ptk_path_entry_help( entry, GTK_WIDGET( file_browser ) ); gtk_editable_set_position( GTK_EDITABLE( entry ), -1 ); return; } save_command_history( GTK_ENTRY( entry ) ); // task char* task_name = g_strdup( gtk_entry_get_text( GTK_ENTRY( entry ) ) ); const char* cwd = ptk_file_browser_get_cwd( file_browser ); PtkFileTask* task = ptk_file_exec_new( task_name, cwd, GTK_WIDGET( file_browser ), file_browser->task_view ); g_free( task_name ); // don't free cwd! task->task->exec_browser = file_browser; task->task->exec_command = replace_line_subs( trim_command ); g_free( command ); if ( as_root ) task->task->exec_as_user = g_strdup_printf( "root" ); if ( !as_task ) task->task->exec_sync = FALSE; else task->task->exec_sync = !in_terminal; task->task->exec_show_output = TRUE; task->task->exec_show_error = TRUE; task->task->exec_export = TRUE; task->task->exec_terminal = in_terminal; task->task->exec_keep_terminal = as_task; //task->task->exec_keep_tmp = TRUE; ptk_file_task_run( task ); //gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); // reset entry text str = prefix; prefix = g_strdup_printf( "%s%s", str, is_space ? " " : "" ); g_free( str ); gtk_entry_set_text( GTK_ENTRY( entry ), prefix ); g_free( prefix ); gtk_editable_set_position( GTK_EDITABLE( entry ), -1 ); } else if ( !final_path_exists && text[0] == '%' ) { str = g_strdup( ++text ); g_strstrip( str ); if ( str && str[0] != '\0' ) { save_command_history( GTK_ENTRY( entry ) ); ptk_file_browser_select_pattern( NULL, file_browser, str ); } g_free( str ); } else if ( ( text[0] != '/' && strstr( text, ":/" ) ) || g_str_has_prefix( text, "//" ) ) { save_command_history( GTK_ENTRY( entry ) ); str = g_strdup( text ); ptk_location_view_mount_network( file_browser, str, FALSE, FALSE ); g_free( str ); return; } else { // path? // clean double slashes while ( strstr( final_path, "//" ) ) { str = final_path; final_path = replace_string( str, "//", "/", FALSE ); g_free( str ); } if ( g_file_test( final_path, G_FILE_TEST_IS_DIR ) ) { // open dir if ( strcmp( final_path, ptk_file_browser_get_cwd( file_browser ) ) ) ptk_file_browser_chdir( file_browser, final_path, PTK_FB_CHDIR_ADD_HISTORY ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); } else if ( final_path_exists ) { if ( stat64( final_path, &statbuf ) == 0 && S_ISBLK( statbuf.st_mode ) && ptk_location_view_open_block( final_path, FALSE ) ) { // ptk_location_view_open_block opened device } else { // open dir and select file dir_path = g_path_get_dirname( final_path ); if ( strcmp( dir_path, ptk_file_browser_get_cwd( file_browser ) ) ) { g_free( file_browser->select_path ); file_browser->select_path = strdup( final_path ); ptk_file_browser_chdir( file_browser, dir_path, PTK_FB_CHDIR_ADD_HISTORY ); } else ptk_file_browser_select_file( file_browser, final_path ); g_free( dir_path ); } gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); } gtk_editable_set_position( GTK_EDITABLE( entry ), -1 ); // inhibit auto seek because if multiple completions will change dir EntryData* edata = (EntryData*)g_object_get_data( G_OBJECT( entry ), "edata" ); if ( edata && edata->seek_timer ) { g_source_remove( edata->seek_timer ); edata->seek_timer = 0; } } g_free( final_path ); } void ptk_file_browser_add_toolbar_widget( gpointer set_ptr, GtkWidget* widget ) { // store the toolbar widget created by set for later change of status char x; XSet* set = (XSet*)set_ptr; if ( !( set && !set->lock && set->browser && set->tool && GTK_IS_WIDGET( widget ) ) ) return; if ( set->tool == XSET_TOOL_UP ) x = 0; else if ( set->tool == XSET_TOOL_BACK || set->tool == XSET_TOOL_BACK_MENU ) x = 1; else if ( set->tool == XSET_TOOL_FWD || set->tool == XSET_TOOL_FWD_MENU ) x = 2; else if ( set->tool == XSET_TOOL_DEVICES ) x = 3; else if ( set->tool == XSET_TOOL_BOOKMARKS ) x = 4; else if ( set->tool == XSET_TOOL_TREE ) x = 5; else if ( set->tool == XSET_TOOL_SHOW_HIDDEN ) x = 6; else if ( set->tool == XSET_TOOL_CUSTOM && set->menu_style == XSET_MENU_CHECK ) { x = 7; // attach set pointer to custom checkboxes so we can find it g_object_set_data( G_OBJECT( widget ), "set", set ); } else if ( set->tool == XSET_TOOL_SHOW_THUMB ) x = 8; else if ( set->tool == XSET_TOOL_LARGE_ICONS ) x = 9; else return; set->browser->toolbar_widgets[x] = g_slist_append( set->browser->toolbar_widgets[x], widget ); } void ptk_file_browser_update_toolbar_widgets( PtkFileBrowser* file_browser, gpointer set_ptr, char tool_type ) { char x; GSList* l; GtkWidget* widget; XSet* set = (XSet*)set_ptr; if ( !PTK_IS_FILE_BROWSER( file_browser ) ) return; if ( set && !set->lock && set->menu_style == XSET_MENU_CHECK && set->tool == XSET_TOOL_CUSTOM ) { // a custom checkbox is being updated for ( l = file_browser->toolbar_widgets[7]; l; l = l->next ) { if ( (XSet*)g_object_get_data( G_OBJECT( l->data ), "set" ) == set ) { widget = GTK_WIDGET( l->data ); if ( GTK_IS_TOGGLE_BUTTON( widget ) ) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), set->b == XSET_B_TRUE ); return; } } } g_warning( "ptk_file_browser_update_toolbar_widget widget not found for set" ); return; } else if ( set_ptr ) { g_warning( "ptk_file_browser_update_toolbar_widget invalid set_ptr or set" ); return; } // builtin tool gboolean b; if ( tool_type == XSET_TOOL_UP ) { x = 0; const char* cwd = ptk_file_browser_get_cwd( file_browser ); b = !cwd || ( cwd && strcmp( cwd, "/" ) ); } else if ( tool_type == XSET_TOOL_BACK || tool_type == XSET_TOOL_BACK_MENU ) { x = 1; b = file_browser->curHistory && file_browser->curHistory->prev; } else if ( tool_type == XSET_TOOL_FWD || tool_type == XSET_TOOL_FWD_MENU ) { x = 2; b = file_browser->curHistory && file_browser->curHistory->next; } else if ( tool_type == XSET_TOOL_DEVICES ) { x = 3; b = !!file_browser->side_dev; } else if ( tool_type == XSET_TOOL_BOOKMARKS ) { x = 4; b = !!file_browser->side_book; } else if ( tool_type == XSET_TOOL_TREE ) { x = 5; b = !!file_browser->side_dir; } else if ( tool_type == XSET_TOOL_SHOW_HIDDEN ) { x = 6; b = file_browser->show_hidden_files; } else if ( tool_type == XSET_TOOL_SHOW_THUMB ) { x = 8; b = app_settings.show_thumbnail; } else if ( tool_type == XSET_TOOL_LARGE_ICONS ) { x = 9; b = file_browser->large_icons; } else { g_warning( "ptk_file_browser_update_toolbar_widget invalid tool_type" ); return; } // update all widgets in list for ( l = file_browser->toolbar_widgets[x]; l; l = l->next ) { widget = GTK_WIDGET( l->data ); if ( GTK_IS_TOGGLE_BUTTON( widget ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( widget ), b ); else if ( GTK_IS_WIDGET( widget ) ) gtk_widget_set_sensitive( widget, b ); else { g_warning( "ptk_file_browser_update_toolbar_widget invalid widget" ); } } } void enable_toolbar( PtkFileBrowser* file_browser ) { ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_BACK ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_FWD ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_UP ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_DEVICES ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_BOOKMARKS ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_TREE ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_SHOW_HIDDEN ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_SHOW_THUMB ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_LARGE_ICONS ); } static void rebuild_toolbox( GtkWidget* widget, PtkFileBrowser* file_browser ) { //printf(" rebuild_toolbox\n"); if ( !file_browser ) return; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int p = file_browser->mypanel; char mode = main_window ? main_window->panel_context[p-1] : 0; gboolean show_tooltips = !xset_get_b_panel( 1, "tool_l" ); // destroy if ( file_browser->toolbar ) { if ( GTK_IS_WIDGET( file_browser->toolbar ) ) gtk_widget_destroy( file_browser->toolbar ); file_browser->toolbar = NULL; file_browser->path_bar = NULL; } if ( !file_browser->path_bar ) { file_browser->path_bar = ptk_path_entry_new( file_browser ); g_signal_connect( file_browser->path_bar, "activate", G_CALLBACK(on_address_bar_activate), file_browser ); g_signal_connect( file_browser->path_bar, "focus-in-event", G_CALLBACK(on_address_bar_focus_in), file_browser ); } // create toolbar file_browser->toolbar = gtk_toolbar_new(); gtk_box_pack_start( GTK_BOX( file_browser->toolbox ), file_browser->toolbar, TRUE, TRUE, 0 ); gtk_toolbar_set_style( GTK_TOOLBAR( file_browser->toolbar ), GTK_TOOLBAR_ICONS ); if ( app_settings.tool_icon_size > 0 && app_settings.tool_icon_size <= GTK_ICON_SIZE_DIALOG ) gtk_toolbar_set_icon_size( GTK_TOOLBAR( file_browser->toolbar ), app_settings.tool_icon_size ); // fill left toolbar xset_fill_toolbar( GTK_WIDGET( file_browser ), file_browser, file_browser->toolbar, xset_get_panel( p, "tool_l" ), show_tooltips ); // add pathbar GtkWidget* hbox = gtk_hbox_new( FALSE, 0 ); GtkToolItem* toolitem = gtk_tool_item_new(); gtk_tool_item_set_expand ( toolitem, TRUE ); gtk_toolbar_insert( GTK_TOOLBAR( file_browser->toolbar ), toolitem, -1 ); gtk_container_add ( GTK_CONTAINER ( toolitem ), hbox ); gtk_box_pack_start( GTK_BOX ( hbox ), GTK_WIDGET( file_browser->path_bar ), TRUE, TRUE, 5 ); // fill right toolbar xset_fill_toolbar( GTK_WIDGET( file_browser ), file_browser, file_browser->toolbar, xset_get_panel( p, "tool_r" ), show_tooltips ); // show if ( xset_get_b_panel_mode( p, "show_toolbox", mode ) ) gtk_widget_show_all( file_browser->toolbox ); } static void rebuild_side_toolbox( GtkWidget* widget, PtkFileBrowser* file_browser ) { FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int p = file_browser->mypanel; char mode = main_window ? main_window->panel_context[p-1] : 0; gboolean show_tooltips = !xset_get_b_panel( 1, "tool_l" ); // destroy if ( file_browser->side_toolbar ) gtk_widget_destroy( file_browser->side_toolbar ); // create side toolbar file_browser->side_toolbar = gtk_toolbar_new(); gtk_box_pack_start( GTK_BOX( file_browser->side_toolbox ), file_browser->side_toolbar, TRUE, TRUE, 0 ); gtk_toolbar_set_style( GTK_TOOLBAR( file_browser->side_toolbar ), GTK_TOOLBAR_ICONS ); if ( app_settings.tool_icon_size > 0 && app_settings.tool_icon_size <= GTK_ICON_SIZE_DIALOG ) gtk_toolbar_set_icon_size( GTK_TOOLBAR( file_browser->side_toolbar ), app_settings.tool_icon_size ); // fill side toolbar xset_fill_toolbar( GTK_WIDGET( file_browser ), file_browser, file_browser->side_toolbar, xset_get_panel( p, "tool_s" ), show_tooltips ); // show if ( xset_get_b_panel_mode( p, "show_sidebar", mode ) ) gtk_widget_show_all( file_browser->side_toolbox ); } void ptk_file_browser_rebuild_toolbars( PtkFileBrowser* file_browser ) { char* disp_path; int i; for ( i = 0; i < G_N_ELEMENTS( file_browser->toolbar_widgets ); i++ ) { g_slist_free( file_browser->toolbar_widgets[i] ); file_browser->toolbar_widgets[i] = NULL; } if ( file_browser->toolbar ) { rebuild_toolbox( NULL, file_browser ); disp_path = g_filename_display_name( ptk_file_browser_get_cwd( file_browser ) ); gtk_entry_set_text( GTK_ENTRY( file_browser->path_bar ), disp_path ); g_free( disp_path ); } if ( file_browser->side_toolbar ) rebuild_side_toolbox( NULL, file_browser ); enable_toolbar( file_browser ); } void ptk_file_browser_status_change( PtkFileBrowser* file_browser, gboolean panel_focus ) { char* scolor; GdkColor color; // image gtk_widget_set_sensitive( GTK_WIDGET( file_browser->status_image ), panel_focus ); // text color if ( panel_focus ) { scolor = xset_get_s( "status_text" ); if ( scolor && gdk_color_parse( scolor, &color ) ) gtk_widget_modify_fg( GTK_WIDGET( file_browser->status_label ), GTK_STATE_NORMAL, &color ); else gtk_widget_modify_fg( GTK_WIDGET( file_browser->status_label ), GTK_STATE_NORMAL, NULL ); } else gtk_widget_modify_fg( GTK_WIDGET( file_browser->status_label ), GTK_STATE_NORMAL, NULL ); // frame border color if ( panel_focus ) { scolor = xset_get_s( "status_border" ); if ( scolor && gdk_color_parse( scolor, &color ) ) gtk_widget_modify_bg( GTK_WIDGET( file_browser->status_frame ), GTK_STATE_NORMAL, &color ); else gtk_widget_modify_bg( GTK_WIDGET( file_browser->status_frame ), GTK_STATE_NORMAL, NULL ); // below caused visibility issues with some themes //gtk_widget_modify_bg( file_browser->status_frame, GTK_STATE_NORMAL, // >K_WIDGET( file_browser->status_frame ) // ->style->fg[ GTK_STATE_SELECTED ] ); } else gtk_widget_modify_bg( GTK_WIDGET( file_browser->status_frame ), GTK_STATE_NORMAL, NULL ); } gboolean on_status_bar_button_press( GtkWidget *widget, GdkEventButton *event, PtkFileBrowser* file_browser ) { focus_folder_view( file_browser ); if ( event->type == GDK_BUTTON_PRESS ) { if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( file_browser->main_window, evt_win_click, "evt_win_click", 0, 0, "statusbar", 0, event->button, event->state, TRUE ) ) return TRUE; if ( event->button == 2 ) { const char* setname[] = { "status_name", "status_path", "status_info", "status_hide" }; int i; for ( i = 0; i < G_N_ELEMENTS( setname ); i++ ) { if ( xset_get_b( setname[i] ) ) { if ( i < 2 ) { GList* sel_files = ptk_file_browser_get_selected_files( file_browser ); if ( !sel_files ) return TRUE; if ( i == 0 ) ptk_clipboard_copy_name( ptk_file_browser_get_cwd( file_browser ), sel_files ); else ptk_clipboard_copy_as_text( ptk_file_browser_get_cwd( file_browser ), sel_files ); g_list_foreach( sel_files, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( sel_files ); } else if ( i == 2 ) ptk_file_browser_file_properties( file_browser, 0 ); else if ( i == 3 ) focus_panel( NULL, file_browser->main_window, -3 ); } } return TRUE; } } return FALSE; } void on_status_effect_change( GtkMenuItem* item, PtkFileBrowser* file_browser ) { main_update_fonts( NULL, file_browser ); set_panel_focus( NULL, file_browser ); } void on_status_middle_click_config( GtkMenuItem *menuitem, XSet* set ) { const char* setname[] = { "status_name", "status_path", "status_info", "status_hide" }; int i; for ( i = 0; i < G_N_ELEMENTS( setname ); i++ ) { if ( !strcmp( set->name, setname[i] ) ) set->b = XSET_B_TRUE; else xset_set_b( setname[i], FALSE ); } } void on_status_bar_popup( GtkWidget *widget, GtkWidget *menu, PtkFileBrowser* file_browser ) { XSet* set_radio; XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); GtkAccelGroup* accel_group = gtk_accel_group_new(); char* desc = g_strdup_printf( "sep_bar1 status_border status_text panel%d_icon_status panel%d_font_status status_middle", file_browser->mypanel, file_browser->mypanel ); xset_set_cb( "status_border", on_status_effect_change, file_browser ); xset_set_cb( "status_text", on_status_effect_change, file_browser ); xset_set_cb_panel( file_browser->mypanel, "icon_status", on_status_effect_change, file_browser ); xset_set_cb_panel( file_browser->mypanel, "font_status", on_status_effect_change, file_browser ); XSet* set = xset_get( "status_name" ); xset_set_cb( "status_name", on_status_middle_click_config, set ); xset_set_ob2( set, NULL, NULL ); set_radio = set; set = xset_get( "status_path" ); xset_set_cb( "status_path", on_status_middle_click_config, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "status_info" ); xset_set_cb( "status_info", on_status_middle_click_config, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "status_hide" ); xset_set_cb( "status_hide", on_status_middle_click_config, set ); xset_set_ob2( set, NULL, set_radio ); xset_add_menu( NULL, file_browser, menu, accel_group, desc ); g_free( desc ); gtk_widget_show_all( menu ); g_signal_connect( menu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); } /* static gboolean on_status_bar_key_press( GtkWidget* widget, GdkEventKey* event, gpointer user_data) { printf( "on_status_bar_key_press\n"); return FALSE; } */ /* void on_side_vbox_allocate( GtkWidget* widget, GdkRectangle* allocation, PtkFileBrowser* file_browser ) { //printf("side_vbox: %d, %d\n", allocation->width, allocation->height ); } void on_paned_allocate( GtkWidget* widget, GdkRectangle* allocation, PtkFileBrowser* file_browser ) { int pos; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; if ( widget == file_browser->side_vpane_top ) pos = main_window->panel_slide_y[file_browser->mypanel-1]; else if ( widget == file_browser->side_vpane_bottom ) pos = main_window->panel_slide_s[file_browser->mypanel-1]; else return; printf("paned: %d, %d -- %d\n", allocation->width, allocation->height, pos ); //gtk_paned_set_position( GTK_PANED(widget), pos ); } gboolean on_slider_change( GtkWidget *widget, GdkEvent *event, // correct? PtkFileBrowser* file_browser ) { if ( !file_browser ) return; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; printf("slider_change\n"); main_window->panel_slide_y[file_browser->mypanel-1] = gtk_paned_get_position( GTK_PANED( file_browser->side_vpane_top ) ); main_window->panel_slide_s[file_browser->mypanel-1] = gtk_paned_get_position( GTK_PANED( file_browser->side_vpane_bottom ) ); return FALSE; } */ void ptk_file_browser_init( PtkFileBrowser* file_browser ) { file_browser->mypanel = 0; // don't load font yet in ptk_path_entry_new file_browser->path_bar = ptk_path_entry_new( file_browser ); g_signal_connect( file_browser->path_bar, "activate", G_CALLBACK(on_address_bar_activate), file_browser ); g_signal_connect( file_browser->path_bar, "focus-in-event", G_CALLBACK(on_address_bar_focus_in), file_browser ); // toolbox file_browser->toolbar = NULL; file_browser->toolbox = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX ( file_browser ), file_browser->toolbox, FALSE, FALSE, 0 ); // lists area file_browser->hpane = gtk_hpaned_new(); file_browser->side_vbox = gtk_vbox_new( FALSE, 0 ); gtk_widget_set_size_request( file_browser->side_vbox, 140, -1 ); file_browser->folder_view_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_paned_pack1 ( GTK_PANED( file_browser->hpane ), file_browser->side_vbox, FALSE, FALSE ); gtk_paned_pack2 ( GTK_PANED( file_browser->hpane ), file_browser->folder_view_scroll, TRUE, TRUE ); // fill side file_browser->side_toolbox = gtk_hbox_new( FALSE, 0 ); file_browser->side_toolbar = NULL; file_browser->side_vpane_top = gtk_vpaned_new(); file_browser->side_vpane_bottom = gtk_vpaned_new(); file_browser->side_dir_scroll = gtk_scrolled_window_new( NULL, NULL ); file_browser->side_book_scroll = gtk_scrolled_window_new( NULL, NULL ); file_browser->side_dev_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_box_pack_start ( GTK_BOX( file_browser->side_vbox ), file_browser->side_toolbox, FALSE, FALSE, 0 ); gtk_box_pack_start ( GTK_BOX( file_browser->side_vbox ), file_browser->side_vpane_top, TRUE, TRUE, 0 ); #if GTK_CHECK_VERSION (3, 0, 0) // see https://github.com/BwackNinja/spacefm/issues/21 gtk_paned_pack1 ( GTK_PANED( file_browser->side_vpane_top ), file_browser->side_dev_scroll, FALSE, FALSE ); gtk_paned_pack2 ( GTK_PANED( file_browser->side_vpane_top ), file_browser->side_vpane_bottom, TRUE, FALSE ); gtk_paned_pack1 ( GTK_PANED( file_browser->side_vpane_bottom ), file_browser->side_book_scroll, FALSE, FALSE ); gtk_paned_pack2 ( GTK_PANED( file_browser->side_vpane_bottom ), file_browser->side_dir_scroll, TRUE, FALSE ); #else gtk_paned_pack1 ( GTK_PANED( file_browser->side_vpane_top ), file_browser->side_dev_scroll, FALSE, TRUE ); gtk_paned_pack2 ( GTK_PANED( file_browser->side_vpane_top ), file_browser->side_vpane_bottom, TRUE, TRUE ); gtk_paned_pack1 ( GTK_PANED( file_browser->side_vpane_bottom ), file_browser->side_book_scroll, FALSE, TRUE ); gtk_paned_pack2 ( GTK_PANED( file_browser->side_vpane_bottom ), file_browser->side_dir_scroll, TRUE, TRUE ); #endif // status bar file_browser->status_bar = gtk_statusbar_new(); GList* children = gtk_container_get_children( GTK_CONTAINER( file_browser->status_bar ) ); file_browser->status_frame = GTK_FRAME( children->data ); g_list_free( children ); children = gtk_container_get_children( GTK_CONTAINER( gtk_statusbar_get_message_area( GTK_STATUSBAR( file_browser->status_bar ) ) ) ); file_browser->status_label = GTK_LABEL( children->data ); g_list_free( children ); //don't know panel yet file_browser->status_image = xset_get_image( "gtk-yes", GTK_ICON_SIZE_MENU ); gtk_box_pack_start ( GTK_BOX( file_browser->status_bar ), file_browser->status_image, FALSE, FALSE, 0 ); // required for button event gtk_label_set_selectable( file_browser->status_label, TRUE ); gtk_widget_set_can_focus( GTK_WIDGET( file_browser->status_label ), FALSE ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_hexpand( GTK_WIDGET( file_browser->status_label ), TRUE ); gtk_widget_set_halign( GTK_WIDGET( file_browser->status_label ), GTK_ALIGN_FILL ); gtk_misc_set_alignment( GTK_MISC( file_browser->status_label ), 0, 0.5 ); #endif g_signal_connect( G_OBJECT( file_browser->status_label ), "button-press-event", G_CALLBACK( on_status_bar_button_press ), file_browser ); g_signal_connect( G_OBJECT( file_browser->status_label ), "populate-popup", G_CALLBACK( on_status_bar_popup ), file_browser ); //g_signal_connect( G_OBJECT( file_browser->status_label ), "key-press-event", // G_CALLBACK( on_status_bar_key_press ), file_browser ); if ( xset_get_s_panel( file_browser->mypanel, "font_status" ) ) { PangoFontDescription* font_desc = pango_font_description_from_string( xset_get_s_panel( file_browser->mypanel, "font_status" ) ); gtk_widget_modify_font( GTK_WIDGET( file_browser->status_label ), font_desc ); pango_font_description_free( font_desc ); } // pack fb vbox gtk_box_pack_start( GTK_BOX ( file_browser ), file_browser->hpane, TRUE, TRUE, 0 ); // TODO pack task frames gtk_box_pack_start( GTK_BOX ( file_browser ), file_browser->status_bar, FALSE, FALSE, 0 ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( file_browser->folder_view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->side_dir_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->side_book_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->side_dev_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); g_signal_connect( file_browser->hpane, "button-release-event", G_CALLBACK( ptk_file_browser_slider_release ), file_browser ); g_signal_connect( file_browser->side_vpane_top, "button-release-event", G_CALLBACK( ptk_file_browser_slider_release ), file_browser ); g_signal_connect( file_browser->side_vpane_bottom, "button-release-event", G_CALLBACK( ptk_file_browser_slider_release ), file_browser ); /* g_signal_connect( file_browser->side_vbox, "size-allocate", G_CALLBACK( on_side_vbox_allocate ), file_browser ); g_signal_connect( file_browser->side_vpane_top, "size-allocate", G_CALLBACK( on_paned_allocate ), file_browser ); g_signal_connect( file_browser->side_vpane_bottom, "size-allocate", G_CALLBACK( on_paned_allocate ), file_browser ); */ /* // these work but fire too often g_signal_connect( file_browser->hpane, "notify::position", G_CALLBACK( on_slider_change ), file_browser ); g_signal_connect( file_browser->side_vpane_top, "notify::position", G_CALLBACK( on_slider_change ), file_browser ); g_signal_connect( file_browser->side_vpane_bottom, "notify::position", G_CALLBACK( on_slider_change ), file_browser ); */ } void ptk_file_browser_finalize( GObject *obj ) { int i; PtkFileBrowser * file_browser = PTK_FILE_BROWSER( obj ); //printf("ptk_file_browser_finalize\n"); if ( file_browser->dir ) { g_signal_handlers_disconnect_matched( file_browser->dir, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, file_browser ); g_object_unref( file_browser->dir ); } /* Remove all idle handlers which are not called yet. */ do {} while ( g_source_remove_by_user_data( file_browser ) ); if ( file_browser->file_list ) { g_signal_handlers_disconnect_matched( file_browser->file_list, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, file_browser ); g_object_unref( G_OBJECT( file_browser->file_list ) ); } g_free( file_browser->status_bar_custom ); g_free( file_browser->seek_name ); file_browser->seek_name = NULL; g_free( file_browser->book_set_name ); file_browser->book_set_name = NULL; g_free( file_browser->select_path ); file_browser->select_path = NULL; for ( i = 0; i < G_N_ELEMENTS( file_browser->toolbar_widgets ); i++ ) { g_slist_free( file_browser->toolbar_widgets[i] ); file_browser->toolbar_widgets[i] = NULL; } G_OBJECT_CLASS( parent_class ) ->finalize( obj ); /* Ensuring free space at the end of the heap is freed to the OS, * mainly to deal with the possibility that killing the browser results in * thousands of large thumbnails being freed, but the memory not actually * released by SpaceFM */ #if defined (__GLIBC__) malloc_trim(0); #endif } void ptk_file_browser_get_property ( GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec ) {} void ptk_file_browser_set_property ( GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec ) {} void ptk_file_browser_update_views( GtkWidget* item, PtkFileBrowser* file_browser ) { int i; //printf("ptk_file_browser_update_views fb=%p (panel %d)\n", file_browser, file_browser->mypanel ); FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; // hide/show browser widgets based on user settings int p = file_browser->mypanel; char mode = main_window->panel_context[p-1]; gboolean need_enable_toolbar = FALSE; if ( xset_get_b_panel_mode( p, "show_toolbox", mode ) ) { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && ( !file_browser->toolbar || !gtk_widget_get_visible( file_browser->toolbox ) ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "toolbar", 0, 0, 0, TRUE ); if ( !file_browser->toolbar ) { rebuild_toolbox( NULL, file_browser ); need_enable_toolbar = TRUE; } gtk_widget_show_all( file_browser->toolbox ); } else { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && file_browser->toolbox && gtk_widget_get_visible( file_browser->toolbox ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "toolbar", 0, 0, 0, FALSE ); gtk_widget_hide( file_browser->toolbox ); } if ( xset_get_b_panel_mode( p, "show_sidebar", mode ) ) { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && ( !file_browser->side_toolbox || !gtk_widget_get_visible( file_browser->side_toolbox ) ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "sidetoolbar", 0, 0, 0, TRUE ); if ( !file_browser->side_toolbar ) { rebuild_side_toolbox( NULL, file_browser ); need_enable_toolbar = TRUE; } gtk_widget_show_all( file_browser->side_toolbox ); } else { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && file_browser->side_toolbar && file_browser->side_toolbox && gtk_widget_get_visible( file_browser->side_toolbox ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "sidetoolbar", 0, 0, 0, FALSE ); /* toolboxes must be destroyed together for toolbar_widgets[] if ( file_browser->side_toolbar ) { gtk_widget_destroy( file_browser->side_toolbar ); file_browser->side_toolbar = NULL; } */ gtk_widget_hide( file_browser->side_toolbox ); } if ( xset_get_b_panel_mode( p, "show_dirtree", mode ) ) { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && ( !file_browser->side_dir_scroll || !gtk_widget_get_visible( file_browser->side_dir_scroll ) ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "dirtree", 0, 0, 0, TRUE ); if ( !file_browser->side_dir ) { file_browser->side_dir = ptk_file_browser_create_dir_tree( file_browser ); gtk_container_add( GTK_CONTAINER( file_browser->side_dir_scroll ), file_browser->side_dir ); } gtk_widget_show_all( file_browser->side_dir_scroll ); if ( file_browser->side_dir && file_browser->file_list ) ptk_dir_tree_view_chdir( GTK_TREE_VIEW( file_browser->side_dir ), ptk_file_browser_get_cwd( file_browser ) ); } else { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && file_browser->side_dir_scroll && gtk_widget_get_visible( file_browser->side_dir_scroll ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "dirtree", 0, 0, 0, FALSE ); gtk_widget_hide( file_browser->side_dir_scroll ); if ( file_browser->side_dir ) gtk_widget_destroy( file_browser->side_dir ); file_browser->side_dir = NULL; } if ( xset_get_b_panel_mode( p, "show_book", mode ) ) { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && ( !file_browser->side_book_scroll || !gtk_widget_get_visible( file_browser->side_book_scroll ) ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "bookmarks", 0, 0, 0, TRUE ); if ( !file_browser->side_book ) { file_browser->side_book = ptk_bookmark_view_new( file_browser ); gtk_container_add( GTK_CONTAINER( file_browser->side_book_scroll ), file_browser->side_book ); } gtk_widget_show_all( file_browser->side_book_scroll ); } else { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && file_browser->side_book_scroll && gtk_widget_get_visible( file_browser->side_book_scroll ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "bookmarks", 0, 0, 0, FALSE ); gtk_widget_hide( file_browser->side_book_scroll ); if ( file_browser->side_book ) gtk_widget_destroy( file_browser->side_book ); file_browser->side_book = NULL; } if ( xset_get_b_panel_mode( p, "show_devmon", mode ) ) { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && ( !file_browser->side_dev_scroll || !gtk_widget_get_visible( file_browser->side_dev_scroll ) ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "devices", 0, 0, 0, TRUE ); if ( !file_browser->side_dev ) { file_browser->side_dev = ptk_location_view_new( file_browser ); gtk_container_add( GTK_CONTAINER( file_browser->side_dev_scroll ), file_browser->side_dev ); } gtk_widget_show_all( file_browser->side_dev_scroll ); } else { if ( ( evt_pnl_show->s || evt_pnl_show->ob2_data ) && file_browser->side_dev_scroll && gtk_widget_get_visible( file_browser->side_dev_scroll ) ) main_window_event( main_window, evt_pnl_show, "evt_pnl_show", 0, 0, "devices", 0, 0, 0, FALSE ); gtk_widget_hide( file_browser->side_dev_scroll ); if ( file_browser->side_dev ) gtk_widget_destroy( file_browser->side_dev ); file_browser->side_dev = NULL; } if ( xset_get_b_panel_mode( p, "show_book", mode ) || xset_get_b_panel_mode( p, "show_dirtree", mode ) ) gtk_widget_show( file_browser->side_vpane_bottom ); else gtk_widget_hide( file_browser->side_vpane_bottom ); if ( xset_get_b_panel_mode( p, "show_devmon", mode ) || xset_get_b_panel_mode( p, "show_dirtree", mode ) || xset_get_b_panel_mode( p, "show_book", mode ) ) gtk_widget_show( file_browser->side_vbox ); else gtk_widget_hide( file_browser->side_vbox ); if ( need_enable_toolbar ) enable_toolbar( file_browser ); else { // toggle sidepane toolbar buttons ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_DEVICES ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_BOOKMARKS ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_TREE ); } // set slider positions int pos; // hpane pos = main_window->panel_slide_x[p-1]; if ( pos < 100 ) pos = -1; //printf( " set slide_x = %d \n", pos ); if ( pos > 0 ) gtk_paned_set_position( GTK_PANED( file_browser->hpane ), pos ); // side_vpane_top pos = main_window->panel_slide_y[p-1]; if ( pos < 20 ) pos = -1; //printf( " slide_y = %d ", pos ); gtk_paned_set_position( GTK_PANED( file_browser->side_vpane_top ), pos ); // side_vpane_bottom pos = main_window->panel_slide_s[p-1]; if ( pos < 20 ) pos = -1; //printf( "slide_s = %d\n", pos ); gtk_paned_set_position( GTK_PANED( file_browser->side_vpane_bottom ), pos ); // Large Icons - option for Detailed and Compact list views gboolean large_icons = xset_get_b_panel( p, "list_icons" ) || xset_get_b_panel_mode( p, "list_large", mode ); if ( large_icons != !!file_browser->large_icons ) { if ( file_browser->folder_view ) { // force rebuild of folder_view for icon size change gtk_widget_destroy( file_browser->folder_view ); file_browser->folder_view = NULL; } file_browser->large_icons = large_icons; ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_LARGE_ICONS ); } // List Styles if ( xset_get_b_panel( p, "list_detailed" ) ) { ptk_file_browser_view_as_list( file_browser ); // Set column widths for this panel context GtkTreeViewColumn* col; //GtkTreeViewColumn* name_col = NULL; int j, width; //int total_width = 0; //int minor_width = 0; const char* title; XSet* set; //GtkAllocation allocation; if ( GTK_IS_TREE_VIEW( file_browser->folder_view ) ) { //printf(" set widths mode = %d\n", mode); for ( i = 0; i < 6; i++ ) { col = gtk_tree_view_get_column( GTK_TREE_VIEW( file_browser->folder_view ), i ); if ( !col ) break; title = gtk_tree_view_column_get_title( col ); for ( j = 0; j < 6; j++ ) { if ( !strcmp( title, _(column_titles[j]) ) ) break; } if ( j != 6 ) { // get column width for this panel context set = xset_get_panel_mode( p, column_names[j], mode ); width = set->y ? atoi( set->y ) : 100; //printf(" %d\t%s\n", width, title ); if ( width ) { gtk_tree_view_column_set_fixed_width( col, width ); //printf("upd set_width %s %d\n", column_names[j], width ); /* if ( set->b == XSET_B_TRUE ) { total_width += width; if ( j != 0 ) minor_width += width; else name_col = col; } */ } // set column visibility gtk_tree_view_column_set_visible( col, set->b == XSET_B_TRUE || j == 0 ); } } /* This breaks panel memory, eg: * turn on panel 3, Name+Size cols, turn off 3, turn on 3, Size column goes to min * panels 1+2 on, turn off 1, turn off 2, turn on 2, column widths in panel2 go to minimums * Name column is expanding? gtk_widget_get_allocation( file_browser->folder_view, &allocation ); //printf("list_view width %d\n", allocation.width ); if ( total_width < allocation.width && name_col ) { // prevent Name column from auto-expanding // If total column widths are less than treeview allocation width // the Name column expands and won't allow user to downsize gtk_tree_view_column_set_fixed_width( name_col, allocation.width - minor_width ); set = xset_get_panel_mode( p, column_names[0], mode ); g_free( set->y ); set->y = g_strdup_printf( "%d", allocation.width - minor_width ); //printf("name col width reset %d\n", allocation.width - minor_width ); } */ } } else if ( xset_get_b_panel( p, "list_icons" ) ) ptk_file_browser_view_as_icons( file_browser ); else if ( xset_get_b_panel( p, "list_compact" ) ) ptk_file_browser_view_as_compact_list( file_browser ); else { xset_set_panel( p, "list_detailed", "b", "1" ); ptk_file_browser_view_as_list( file_browser ); } // Show Hidden ptk_file_browser_show_hidden_files( file_browser, xset_get_b_panel( p, "show_hidden" ) ); //printf("ptk_file_browser_update_views fb=%p DONE\n", file_browser); } GtkWidget* ptk_file_browser_new( int curpanel, GtkWidget* notebook, GtkWidget* task_view, gpointer main_window ) { int i; PtkFileBrowser * file_browser; PtkFBViewMode view_mode; PangoFontDescription* font_desc; file_browser = ( PtkFileBrowser* ) g_object_new( PTK_TYPE_FILE_BROWSER, NULL ); file_browser->mypanel = curpanel; file_browser->mynotebook = notebook; file_browser->main_window = main_window; file_browser->task_view = task_view; file_browser->sel_change_idle = 0; file_browser->inhibit_focus = file_browser->busy = FALSE; file_browser->seek_name = NULL; file_browser->book_set_name = NULL; for ( i = 0; i < G_N_ELEMENTS( file_browser->toolbar_widgets ); i++ ) file_browser->toolbar_widgets[i] = NULL; if ( xset_get_b_panel( curpanel, "list_detailed" ) ) view_mode = PTK_FB_LIST_VIEW; else if ( xset_get_b_panel( curpanel, "list_icons" ) ) { view_mode = PTK_FB_ICON_VIEW; gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->folder_view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); } else if ( xset_get_b_panel( curpanel, "list_compact" ) ) { view_mode = PTK_FB_COMPACT_VIEW; gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->folder_view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); } else { xset_set_panel( curpanel, "list_detailed", "b", "1" ); view_mode = PTK_FB_LIST_VIEW; } file_browser->view_mode = view_mode; //sfm was after next line // Large Icons - option for Detailed and Compact list views file_browser->large_icons = view_mode == PTK_FB_ICON_VIEW || xset_get_b_panel_mode( file_browser->mypanel, "list_large", ((FMMainWindow*)main_window)->panel_context[file_browser->mypanel-1] ); file_browser->folder_view = create_folder_view( file_browser, view_mode ); gtk_container_add ( GTK_CONTAINER ( file_browser->folder_view_scroll ), file_browser->folder_view ); file_browser->side_dir = NULL; file_browser->side_book = NULL; file_browser->side_dev = NULL; file_browser->select_path = NULL; file_browser->status_bar_custom = NULL; //gtk_widget_show_all( file_browser->folder_view_scroll ); // set status bar icon char* icon_name; XSet* set = xset_get_panel( curpanel, "icon_status" ); if ( set->icon && set->icon[0] != '\0' ) icon_name = set->icon; else icon_name = "gtk-yes"; gtk_image_set_from_icon_name( GTK_IMAGE( file_browser->status_image ), icon_name, GTK_ICON_SIZE_MENU ); // set status bar font char* fontname = xset_get_s_panel( curpanel, "font_status" ); if ( fontname ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( file_browser->status_label ), font_desc ); pango_font_description_free( font_desc ); } // set path bar font (is created before mypanel is set) if ( file_browser->path_bar && ( fontname = xset_get_s_panel( curpanel, "font_path" ) ) ) { font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( file_browser->path_bar ), font_desc ); pango_font_description_free( font_desc ); } gtk_widget_show_all( GTK_WIDGET( file_browser ) ); //ptk_file_browser_update_views( NULL, file_browser ); return GTK_IS_WIDGET( file_browser ) ? ( GtkWidget* ) file_browser : NULL; } gboolean ptk_file_restrict_homedir( const char* folder_path ) { const char *homedir = NULL; int ret=(1==0); homedir = g_getenv("HOME"); if (!homedir) { homedir = g_get_home_dir(); } if (g_str_has_prefix(folder_path,homedir)) { ret=(1==1); } if (g_str_has_prefix(folder_path,"/media")) { ret=(1==1); } return ret; } void ptk_file_browser_update_tab_label( PtkFileBrowser* file_browser ) { GtkWidget * label; GtkContainer* hbox; GtkImage* icon; GtkLabel* text; GList* children; gchar* name; label = gtk_notebook_get_tab_label ( GTK_NOTEBOOK( file_browser->mynotebook ), GTK_WIDGET( file_browser ) ); hbox = GTK_CONTAINER( gtk_bin_get_child ( GTK_BIN( label ) ) ); children = gtk_container_get_children( hbox ); icon = GTK_IMAGE( children->data ); text = GTK_LABEL( children->next->data ); g_list_free( children ); /* TODO: Change the icon */ name = g_path_get_basename( ptk_file_browser_get_cwd( file_browser ) ); gtk_label_set_text( text, name ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_label_set_ellipsize( text, PANGO_ELLIPSIZE_MIDDLE ); if (strlen( name ) < 30) { gtk_label_set_ellipsize( text, PANGO_ELLIPSIZE_NONE ); gtk_label_set_width_chars( text, -1 ); } else gtk_label_set_width_chars( text, 30 ); #endif g_free( name ); } void ptk_file_browser_select_last( PtkFileBrowser* file_browser ) //MOD added { //printf("ptk_file_browser_select_last\n"); // select one file? if ( file_browser->select_path ) { ptk_file_browser_select_file( file_browser, file_browser->select_path ); g_free( file_browser->select_path ); file_browser->select_path = NULL; return; } // select previously selected files gint elementn = -1; GList* l; GList* element = NULL; //printf(" search for %s\n", (char*)file_browser->curHistory->data ); if ( file_browser->history && file_browser->histsel && file_browser->curHistory && ( l = g_list_last( file_browser->history ) ) ) { if ( l->data && !strcmp( (char*)l->data, (char*)file_browser->curHistory->data ) ) { elementn = g_list_position( file_browser->history, l ); if ( elementn != -1 ) { element = g_list_nth( file_browser->histsel, elementn ); // skip the current history item if sellist empty since it was just created if ( !element->data ) { //printf( " found current empty\n"); element = NULL; } //else printf( " found current NON-empty\n"); } } if ( !element ) { while ( l = l->prev ) { if ( l->data && !strcmp( (char*)l->data, (char*)file_browser->curHistory->data ) ) { elementn = g_list_position( file_browser->history, l ); //printf (" found elementn=%d\n", elementn ); if ( elementn != -1 ) element = g_list_nth( file_browser->histsel, elementn ); break; } } } } /* if ( element ) { g_debug ("element OK" ); if ( element->data ) g_debug ("element->data OK" ); else g_debug ("element->data NULL" ); } else g_debug ("element NULL" ); g_debug ("histsellen=%d", g_list_length( file_browser->histsel ) ); */ if ( element && element->data ) { //printf(" select files\n"); PtkFileList* list = PTK_FILE_LIST( file_browser->file_list ); GtkTreeIter it; GtkTreePath* tp; GtkTreeSelection* tree_sel; gboolean firstsel = TRUE; if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); for ( l = element->data; l; l = l->next ) { if ( l->data ) { //g_debug ("find a file"); VFSFileInfo* file = l->data; if( ptk_file_list_find_iter( list, &it, file ) ) { //g_debug ("found file"); tp = gtk_tree_model_get_path( GTK_TREE_MODEL(list), &it ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), tp ); if ( firstsel ) { exo_icon_view_set_cursor( EXO_ICON_VIEW( file_browser->folder_view ), tp, NULL, FALSE ); exo_icon_view_scroll_to_path( EXO_ICON_VIEW( file_browser->folder_view ), tp, TRUE, .25, 0 ); firstsel = FALSE; } } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { gtk_tree_selection_select_path( tree_sel, tp ); if ( firstsel ) { gtk_tree_view_set_cursor( GTK_TREE_VIEW( file_browser->folder_view ), tp, NULL, FALSE); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( file_browser->folder_view ), tp, NULL, TRUE, .25, 0 ); firstsel = FALSE; } } gtk_tree_path_free( tp ); } } } } } gboolean ptk_file_browser_chdir( PtkFileBrowser* file_browser, const char* folder_path, PtkFBChdirMode mode ) { gboolean cancel = FALSE; GtkWidget* folder_view = file_browser->folder_view; //printf("ptk_file_browser_chdir\n"); char* path_end; char* path; char* msg; gboolean inhibit_focus = file_browser->inhibit_focus; //file_browser->button_press = FALSE; file_browser->is_drag = FALSE; file_browser->skip_release = FALSE; file_browser->menu_shown = FALSE; if ( ! folder_path ) return FALSE; if ( folder_path ) { path = strdup( folder_path ); /* remove redundent '/' */ if ( strcmp( path, "/" ) ) { path_end = path + strlen( path ) - 1; for ( ; path_end > path; --path_end ) { if ( *path_end != '/' ) break; else *path_end = '\0'; } } // convert ~ to /home/user for smarter bookmarks if ( g_str_has_prefix( path, "~/" ) || !g_strcmp0( path, "~" ) ) { msg = g_strdup_printf( "%s%s", g_get_home_dir(), path + 1 ); g_free( path ); path = msg; } } else path = NULL; if ( ! path || ! g_file_test( path, ( G_FILE_TEST_IS_DIR ) ) ) { if ( !inhibit_focus ) { msg = g_strdup_printf( _("Directory doesn't exist\n\n%s"), path ); ptk_show_error( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), _("Error"), msg ); if ( path ) g_free( path ); g_free( msg ); } return FALSE; } if ( !have_x_access( path ) ) { if ( !inhibit_focus ) { msg = g_strdup_printf( _("Unable to access %s\n\n%s"), path, g_markup_escape_text(g_strerror( errno ), -1) ); ptk_show_error( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), _("Error"), msg ); g_free(msg); } return FALSE; } g_signal_emit( file_browser, signals[ BEFORE_CHDIR_SIGNAL ], 0, path, &cancel ); if ( cancel ) return FALSE; //MOD remember selected files //g_debug ("@@@@@@@@@@@ remember: %s", ptk_file_browser_get_cwd( file_browser ) ); if ( file_browser->curhistsel && file_browser->curhistsel->data ) { //g_debug ("free curhistsel"); g_list_foreach ( file_browser->curhistsel->data, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( file_browser->curhistsel->data ); } if ( file_browser->curhistsel ) { file_browser->curhistsel->data = ptk_file_browser_get_selected_files( file_browser ); //g_debug("set curhistsel %d", g_list_position( file_browser->histsel, // file_browser->curhistsel ) ); //if ( file_browser->curhistsel->data ) // g_debug ("curhistsel->data OK" ); //else // g_debug ("curhistsel->data NULL" ); } if ( mode == PTK_FB_CHDIR_ADD_HISTORY ) { if ( ! file_browser->curHistory || strcmp( (char*)file_browser->curHistory->data, path ) ) { /* Has forward history */ if ( file_browser->curHistory && file_browser->curHistory->next ) { /* clear old forward history */ g_list_foreach ( file_browser->curHistory->next, ( GFunc ) g_free, NULL ); g_list_free( file_browser->curHistory->next ); file_browser->curHistory->next = NULL; } //MOD added - make histsel shadow file_browser->history if ( file_browser->curhistsel && file_browser->curhistsel->next ) { //g_debug("@@@@@@@@@@@ free forward"); GList* l; for ( l = file_browser->curhistsel->next; l; l = l->next ) { if ( l->data ) { //g_debug("free forward item"); g_list_foreach ( l->data, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( l->data ); } } g_list_free( file_browser->curhistsel->next ); file_browser->curhistsel->next = NULL; } /* Add path to history if there is no forward history */ file_browser->history = g_list_append( file_browser->history, path ); file_browser->curHistory = g_list_last( file_browser->history ); //MOD added - make histsel shadow file_browser->history GList* sellist = NULL; file_browser->histsel = g_list_append( file_browser->histsel, sellist ); file_browser->curhistsel = g_list_last( file_browser->histsel ); } } else if( mode == PTK_FB_CHDIR_BACK ) { file_browser->curHistory = file_browser->curHistory->prev; file_browser->curhistsel = file_browser->curhistsel->prev; //MOD } else if( mode == PTK_FB_CHDIR_FORWARD ) { file_browser->curHistory = file_browser->curHistory->next; file_browser->curhistsel = file_browser->curhistsel->next; //MOD } // remove old dir object if ( file_browser->dir ) { g_signal_handlers_disconnect_matched( file_browser->dir, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, file_browser ); g_object_unref( file_browser->dir ); } if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) exo_icon_view_set_model( EXO_ICON_VIEW( folder_view ), NULL ); else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) gtk_tree_view_set_model( GTK_TREE_VIEW( folder_view ), NULL ); // load new dir file_browser->busy = TRUE; file_browser->dir = vfs_dir_get_by_path( path ); if( ! file_browser->curHistory || path != (char*)file_browser->curHistory->data ) g_free( path ); g_signal_emit( file_browser, signals[ BEGIN_CHDIR_SIGNAL ], 0 ); if( vfs_dir_is_file_listed( file_browser->dir ) ) { on_dir_file_listed( file_browser->dir, FALSE, file_browser ); file_browser->busy = FALSE; } else file_browser->busy = TRUE; g_signal_connect( file_browser->dir, "file-listed", G_CALLBACK( on_dir_file_listed), file_browser ); ptk_file_browser_update_tab_label( file_browser ); char* disp_path = g_filename_display_name( ptk_file_browser_get_cwd( file_browser ) ); if ( !inhibit_focus ) gtk_entry_set_text( GTK_ENTRY( file_browser->path_bar ), disp_path ); g_free( disp_path ); enable_toolbar( file_browser ); return TRUE; } static void on_history_menu_item_activate( GtkWidget* menu_item, PtkFileBrowser* file_browser ) { GList* l = (GList*)g_object_get_data( G_OBJECT(menu_item), "path"), *tmp; tmp = file_browser->curHistory; file_browser->curHistory = l; if( ! ptk_file_browser_chdir( file_browser, (char*)l->data, PTK_FB_CHDIR_NO_HISTORY ) ) file_browser->curHistory = tmp; else { //MOD sync curhistsel gint elementn = -1; elementn = g_list_position( file_browser->history, file_browser->curHistory ); if ( elementn != -1 ) file_browser->curhistsel = g_list_nth( file_browser->histsel, elementn ); else g_debug("missing history item - ptk-file-browser.c"); } } static GtkWidget* add_history_menu_item( PtkFileBrowser* file_browser, GtkWidget* menu, GList* l ) { GtkWidget* menu_item, *folder_image; char *disp_name; disp_name = g_filename_display_basename( (char*)l->data ); menu_item = gtk_image_menu_item_new_with_label( disp_name ); g_object_set_data( G_OBJECT( menu_item ), "path", l ); folder_image = gtk_image_new_from_icon_name( "gnome-fs-directory", GTK_ICON_SIZE_MENU ); gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM ( menu_item ), folder_image ); g_signal_connect( menu_item, "activate", G_CALLBACK( on_history_menu_item_activate ), file_browser ); gtk_menu_shell_append( GTK_MENU_SHELL(menu), menu_item ); return menu_item; } void ptk_file_browser_show_history_menu( PtkFileBrowser* file_browser, gboolean is_back_history, GdkEventButton* event ) { //GtkMenuShell* menu = (GtkMenuShell*)gtk_menu_tool_button_get_menu(btn); GtkWidget* menu = gtk_menu_new(); GList *l; gboolean has_items = FALSE; if ( is_back_history ) { // back history for( l = file_browser->curHistory->prev; l != NULL; l = l->prev ) { add_history_menu_item( file_browser, GTK_WIDGET(menu), l ); if ( !has_items ) has_items = TRUE; } } else { // forward history for( l = file_browser->curHistory->next; l != NULL; l = l->next ) { add_history_menu_item( file_browser, GTK_WIDGET(menu), l ); if ( !has_items ) has_items = TRUE; } } if ( has_items ) { gtk_widget_show_all( GTK_WIDGET( menu ) ); gtk_menu_popup( GTK_MENU( menu ), NULL, NULL, NULL, NULL, event ? event->button : 0, event ? event->time : 0 ); } else gtk_widget_destroy( menu ); } #if 0 static gboolean ptk_file_browser_delayed_content_change( PtkFileBrowser* file_browser ) { GTimeVal t; g_get_current_time( &t ); file_browser->prev_update_time = t.tv_sec; g_signal_emit( file_browser, signals[ CONTENT_CHANGE_SIGNAL ], 0 ); file_browser->update_timeout = 0; return FALSE; } #endif #if 0 void on_folder_content_update ( FolderContent* content, PtkFileBrowser* file_browser ) { /* FIXME: Newly added or deleted files should not be delayed. This must be fixed before 0.2.0 release. */ GTimeVal t; g_get_current_time( &t ); /* Previous update is < 5 seconds before. Queue the update, and don't update the view too often */ if ( ( t.tv_sec - file_browser->prev_update_time ) < 5 ) { /* If the update timeout has been set, wait until the timeout happens, and don't do anything here. */ if ( 0 == file_browser->update_timeout ) { /* No timeout callback. Add one */ /* Delay the update */ file_browser->update_timeout = g_timeout_add( 5000, (GSourceFunc)ptk_file_browser_delayed_content_change, file_browser ); } } else if ( 0 == file_browser->update_timeout ) { /* No timeout callback. Add one */ file_browser->prev_update_time = t.tv_sec; g_signal_emit( file_browser, signals[ CONTENT_CHANGE_SIGNAL ], 0 ); } } #endif static gboolean ptk_file_browser_content_changed( PtkFileBrowser* file_browser ) { //gdk_threads_enter(); not needed because g_idle_add runs in main loop thread g_signal_emit( file_browser, signals[ CONTENT_CHANGE_SIGNAL ], 0 ); //gdk_threads_leave(); return FALSE; } static void on_folder_content_changed( VFSDir* dir, VFSFileInfo* file, PtkFileBrowser* file_browser ) { if ( file == NULL ) { // The current folder itself changed if ( !g_file_test( ptk_file_browser_get_cwd( file_browser ), G_FILE_TEST_IS_DIR ) ) // current folder doesn't exist - was renamed on_close_notebook_page( NULL, file_browser ); } else g_idle_add( ( GSourceFunc ) ptk_file_browser_content_changed, file_browser ); } static void on_file_deleted( VFSDir* dir, VFSFileInfo* file, PtkFileBrowser* file_browser ) { if( file == NULL ) { // The folder itself was deleted on_close_notebook_page( NULL, file_browser ); //ptk_file_browser_chdir( file_browser, g_get_home_dir(), PTK_FB_CHDIR_ADD_HISTORY); } else { #if GTK_CHECK_VERSION(3, 0, 0) #else /* GTK2 does not select the next row in the list when a row is deleted, * so do so. GTK3 does this automatically. */ GList* sel_files = NULL; GtkTreeModel* model; GtkTreeSelection* tree_sel = NULL; // get model and sel_files if only one selected if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { sel_files = folder_view_get_selected_items( file_browser, &model ); if ( sel_files && sel_files->next ) { // more than on file selected - do nothing g_list_foreach( sel_files, ( GFunc ) gtk_tree_path_free, NULL ); g_list_free( sel_files ); sel_files = NULL; } } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); if ( gtk_tree_selection_count_selected_rows( tree_sel ) == 1 ) sel_files = gtk_tree_selection_get_selected_rows( tree_sel, &model ); } if ( sel_files ) { VFSFileInfo* file_sel; GtkTreeIter it; GtkTreeIter it2; GtkTreeIter it_prev; GtkTreePath* tree_path = NULL; if ( gtk_tree_model_get_iter( model, &it, ( GtkTreePath* ) sel_files->data ) ) { gtk_tree_model_get( model, &it, COL_FILE_INFO, &file_sel, -1 ); if ( file_sel == file ) { // currently selected file is being deleted, select next if ( gtk_tree_model_iter_next (model, &it ) ) tree_path = gtk_tree_model_get_path( model, &it ); else if ( gtk_tree_model_get_iter_first( model, &it2 ) ) { // file is last in list, select previous it_prev.stamp = 0; do { if ( it2.user_data == it.user_data && it2.user_data2 == it.user_data2 && it2.user_data3 == it.user_data3 ) { // found deleted file if ( it_prev.stamp ) { // there was a previous so select tree_path = gtk_tree_model_get_path( model, &it_prev ); } break; } it_prev = it2; } while ( gtk_tree_model_iter_next (model, &it2 ) ); } if ( tree_path ) { if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), tree_path ); exo_icon_view_set_cursor( EXO_ICON_VIEW( file_browser->folder_view ), tree_path, NULL, FALSE ); exo_icon_view_scroll_to_path( EXO_ICON_VIEW( file_browser->folder_view ), tree_path, TRUE, .25, 0 ); } else { gtk_tree_selection_select_path( tree_sel, tree_path ); gtk_tree_view_set_cursor( GTK_TREE_VIEW( file_browser->folder_view ), tree_path, NULL, FALSE ); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( file_browser->folder_view ), tree_path, NULL, TRUE, .25, 0 ); } gtk_tree_path_free( tree_path ); } } } g_list_foreach( sel_files, ( GFunc ) gtk_tree_path_free, NULL ); g_list_free( sel_files ); } #endif on_folder_content_changed( dir, file, file_browser ); } } static void on_sort_col_changed( GtkTreeSortable* sortable, PtkFileBrowser* file_browser ) { int col; gtk_tree_sortable_get_sort_column_id( sortable, &col, &file_browser->sort_type ); switch ( col ) { case COL_FILE_NAME: col = PTK_FB_SORT_BY_NAME; break; case COL_FILE_SIZE: col = PTK_FB_SORT_BY_SIZE; break; case COL_FILE_MTIME: col = PTK_FB_SORT_BY_MTIME; break; case COL_FILE_DESC: col = PTK_FB_SORT_BY_TYPE; break; case COL_FILE_PERM: col = PTK_FB_SORT_BY_PERM; break; case COL_FILE_OWNER: col = PTK_FB_SORT_BY_OWNER; break; } file_browser->sort_order = col; //MOD enable following to make column click permanent sort // app_settings.sort_order = col; // if ( file_browser ) // ptk_file_browser_set_sort_order( PTK_FILE_BROWSER( file_browser ), app_settings.sort_order ); char* val = g_strdup_printf( "%d", col ); xset_set_panel( file_browser->mypanel, "list_detailed", "x", val ); g_free( val ); val = g_strdup_printf( "%d", file_browser->sort_type ); xset_set_panel( file_browser->mypanel, "list_detailed", "y", val ); g_free( val ); } void ptk_file_browser_update_model( PtkFileBrowser* file_browser ) { PtkFileList * list; GtkTreeModel *old_list; list = ptk_file_list_new( file_browser->dir, file_browser->show_hidden_files ); old_list = file_browser->file_list; file_browser->file_list = GTK_TREE_MODEL( list ); if ( old_list ) g_object_unref( G_OBJECT( old_list ) ); ptk_file_browser_read_sort_extra( file_browser ); //sfm gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE( list ), file_list_order_from_sort_order( file_browser->sort_order ), file_browser->sort_type ); show_thumbnails( file_browser, list, file_browser->large_icons, file_browser->max_thumbnail ); g_signal_connect( list, "sort-column-changed", G_CALLBACK( on_sort_col_changed ), file_browser ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) exo_icon_view_set_model( EXO_ICON_VIEW( file_browser->folder_view ), GTK_TREE_MODEL( list ) ); else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) gtk_tree_view_set_model( GTK_TREE_VIEW( file_browser->folder_view ), GTK_TREE_MODEL( list ) ); // try to smooth list bounce created by delayed re-appearance of column headers //while( gtk_events_pending() ) // gtk_main_iteration(); } void on_dir_file_listed( VFSDir* dir, gboolean is_cancelled, PtkFileBrowser* file_browser ) { file_browser->n_sel_files = 0; if ( G_LIKELY( ! is_cancelled ) ) { g_signal_connect( dir, "file-created", G_CALLBACK( on_folder_content_changed ), file_browser ); g_signal_connect( dir, "file-deleted", G_CALLBACK( on_file_deleted ), file_browser ); g_signal_connect( dir, "file-changed", G_CALLBACK( on_folder_content_changed ), file_browser ); } ptk_file_browser_update_model( file_browser ); file_browser->busy = FALSE; /* Ensuring free space at the end of the heap is freed to the OS, * mainly to deal with the possibility that changing the directory results in * thousands of large thumbnails being freed, but the memory not actually * released by SpaceFM */ #if defined (__GLIBC__) malloc_trim(0); #endif g_signal_emit( file_browser, signals[ AFTER_CHDIR_SIGNAL ], 0 ); //g_signal_emit( file_browser, signals[ CONTENT_CHANGE_SIGNAL ], 0 ); g_signal_emit( file_browser, signals[ SEL_CHANGE_SIGNAL ], 0 ); if ( file_browser->side_dir ) ptk_dir_tree_view_chdir( GTK_TREE_VIEW( file_browser->side_dir ), ptk_file_browser_get_cwd( file_browser ) ); /* if ( file_browser->side_pane ) if ( ptk_file_browser_is_side_pane_visible( file_browser ) ) { side_pane_chdir( file_browser, ptk_file_browser_get_cwd( file_browser ) ); } */ if ( file_browser->side_dev ) ptk_location_view_chdir( GTK_TREE_VIEW( file_browser->side_dev ), ptk_file_browser_get_cwd( file_browser ) ); if ( file_browser->side_book ) ptk_bookmark_view_chdir( GTK_TREE_VIEW( file_browser->side_book ), file_browser, TRUE ); //FIXME: This is already done in update_model, but is there any better way to // reduce unnecessary code? if ( file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { //sfm why is this needed for compact view??? if ( G_LIKELY(! is_cancelled) && file_browser->file_list ) { show_thumbnails( file_browser, PTK_FILE_LIST( file_browser->file_list ), file_browser->large_icons, file_browser->max_thumbnail ); } } } void ptk_file_browser_canon( PtkFileBrowser* file_browser, const char* path ) { const char* cwd = ptk_file_browser_get_cwd( file_browser ); char buf[ PATH_MAX + 1 ]; char* canon = realpath( path, buf ); if ( !canon || !g_strcmp0( canon, cwd ) || !g_strcmp0( canon, path ) ) return; if ( g_file_test( canon, G_FILE_TEST_IS_DIR ) ) { // open dir ptk_file_browser_chdir( file_browser, canon, PTK_FB_CHDIR_ADD_HISTORY ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); } else if ( g_file_test( canon, G_FILE_TEST_EXISTS ) ) { // open dir and select file char* dir_path = g_path_get_dirname( canon ); if ( dir_path && strcmp( dir_path, cwd ) ) { g_free( file_browser->select_path ); file_browser->select_path = strdup( canon ); ptk_file_browser_chdir( file_browser, dir_path, PTK_FB_CHDIR_ADD_HISTORY ); } else ptk_file_browser_select_file( file_browser, canon ); g_free( dir_path ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); } } const char* ptk_file_browser_get_cwd( PtkFileBrowser* file_browser ) { if ( ! file_browser->curHistory ) return NULL; return ( const char* ) file_browser->curHistory->data; } gboolean ptk_file_browser_is_busy( PtkFileBrowser* file_browser ) { return file_browser->busy; } gboolean ptk_file_browser_can_back( PtkFileBrowser* file_browser ) { /* there is back history */ return ( file_browser->curHistory && file_browser->curHistory->prev ); } void ptk_file_browser_go_back( GtkWidget* item, PtkFileBrowser* file_browser ) { const char * path; focus_folder_view( file_browser ); /* there is no back history */ if ( ! file_browser->curHistory || ! file_browser->curHistory->prev ) return; path = ( const char* ) file_browser->curHistory->prev->data; ptk_file_browser_chdir( file_browser, path, PTK_FB_CHDIR_BACK ); } gboolean ptk_file_browser_can_forward( PtkFileBrowser* file_browser ) { /* If there is forward history */ return ( file_browser->curHistory && file_browser->curHistory->next ); } void ptk_file_browser_go_forward( GtkWidget* item, PtkFileBrowser* file_browser ) { const char * path; focus_folder_view( file_browser ); /* If there is no forward history */ if ( ! file_browser->curHistory || ! file_browser->curHistory->next ) return ; path = ( const char* ) file_browser->curHistory->next->data; ptk_file_browser_chdir( file_browser, path, PTK_FB_CHDIR_FORWARD ); } void ptk_file_browser_go_up( GtkWidget* item, PtkFileBrowser* file_browser ) { char * parent_dir; focus_folder_view( file_browser ); parent_dir = g_path_get_dirname( ptk_file_browser_get_cwd( file_browser ) ); if( strcmp( parent_dir, ptk_file_browser_get_cwd( file_browser ) ) ) ptk_file_browser_chdir( file_browser, parent_dir, PTK_FB_CHDIR_ADD_HISTORY); g_free( parent_dir ); } void ptk_file_browser_go_home( GtkWidget* item, PtkFileBrowser* file_browser ) { // if ( app_settings.home_folder ) // ptk_file_browser_chdir( PTK_FILE_BROWSER( file_browser ), app_settings.home_folder, PTK_FB_CHDIR_ADD_HISTORY ); // else focus_folder_view( file_browser ); ptk_file_browser_chdir( PTK_FILE_BROWSER( file_browser ), g_get_home_dir(), PTK_FB_CHDIR_ADD_HISTORY ); } void ptk_file_browser_go_default( GtkWidget* item, PtkFileBrowser* file_browser ) { focus_folder_view( file_browser ); char* path = xset_get_s( "go_set_default" ); if ( path && path[0] != '\0' ) ptk_file_browser_chdir( PTK_FILE_BROWSER( file_browser ), path, PTK_FB_CHDIR_ADD_HISTORY ); else if ( geteuid() != 0 ) ptk_file_browser_chdir( PTK_FILE_BROWSER( file_browser ), g_get_home_dir(), PTK_FB_CHDIR_ADD_HISTORY ); else ptk_file_browser_chdir( PTK_FILE_BROWSER( file_browser ), "/", PTK_FB_CHDIR_ADD_HISTORY ); } void ptk_file_browser_set_default_folder( GtkWidget* item, PtkFileBrowser* file_browser ) { xset_set( "go_set_default", "s", ptk_file_browser_get_cwd( file_browser ) ); } GtkWidget* ptk_file_browser_get_folder_view( PtkFileBrowser* file_browser ) { return file_browser->folder_view; } /* FIXME: unused function */ GtkTreeView* ptk_file_browser_get_dir_tree( PtkFileBrowser* file_browser ) { return NULL; } void ptk_file_browser_select_all( GtkWidget* item, PtkFileBrowser* file_browser ) { GtkTreeSelection * tree_sel; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_select_all( EXO_ICON_VIEW( file_browser->folder_view ) ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); gtk_tree_selection_select_all( tree_sel ); } } void ptk_file_browser_unselect_all( GtkWidget* item, PtkFileBrowser* file_browser ) { GtkTreeSelection * tree_sel; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_unselect_all( EXO_ICON_VIEW( file_browser->folder_view ) ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); gtk_tree_selection_unselect_all( tree_sel ); } } static gboolean invert_selection ( GtkTreeModel* model, GtkTreePath *path, GtkTreeIter* it, PtkFileBrowser* file_browser ) { GtkTreeSelection * tree_sel; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { if ( exo_icon_view_path_is_selected( EXO_ICON_VIEW( file_browser->folder_view ), path ) ) exo_icon_view_unselect_path( EXO_ICON_VIEW( file_browser->folder_view ), path ); else exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), path ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); if ( gtk_tree_selection_path_is_selected ( tree_sel, path ) ) gtk_tree_selection_unselect_path ( tree_sel, path ); else gtk_tree_selection_select_path ( tree_sel, path ); } return FALSE; } void ptk_file_browser_invert_selection( GtkWidget* item, PtkFileBrowser* file_browser ) { GtkTreeModel * model; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); g_signal_handlers_block_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); gtk_tree_model_foreach ( model, ( GtkTreeModelForeachFunc ) invert_selection, file_browser ); g_signal_handlers_unblock_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( EXO_ICON_VIEW( file_browser->folder_view ), file_browser ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { GtkTreeSelection* tree_sel; tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); g_signal_handlers_block_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); gtk_tree_model_foreach ( model, ( GtkTreeModelForeachFunc ) invert_selection, file_browser ); g_signal_handlers_unblock_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( (ExoIconView*)tree_sel, file_browser ); } } void ptk_file_browser_select_pattern( GtkWidget* item, PtkFileBrowser* file_browser, const char* search_key ) { GtkTreeModel* model; GtkTreePath* path; GtkTreeIter it; GtkTreeSelection* tree_sel; VFSFileInfo* file; gboolean select; char* name; const char* key; if ( search_key ) key = search_key; else { // get pattern from user (store in ob1 so it's not saved) XSet* set = xset_get( "select_patt" ); if ( !xset_text_dialog( GTK_WIDGET( file_browser ), _("Select By Pattern"), NULL, FALSE, _("Enter pattern to select files and folders:\n\nIf your pattern contains any uppercase characters, the matching will be case sensitive.\n\nExample: *sp*e?m*\n\nTIP: You can also enter '%% PATTERN' in the path bar."), NULL, set->ob1, &set->ob1, NULL, FALSE, NULL ) || !set->ob1 ) return; key = set->ob1; } // case insensitive search ? gboolean icase = FALSE; char* lower_key = g_utf8_strdown( key, -1 ); if ( !strcmp( lower_key, key ) ) { // key is all lowercase so do icase search icase = TRUE; } g_free( lower_key ); // get model, treesel, and stop signals if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); g_signal_handlers_block_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); g_signal_handlers_block_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); } // test rows gboolean first_select = TRUE; if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { // get file gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( !file ) continue; // test name name = (char*)vfs_file_info_get_disp_name( file ); if ( icase ) name = g_utf8_strdown( name, -1 ); select = fnmatch( key, name, 0 ) == 0; if ( icase ) g_free( name ); // do selection and scroll to first selected path = gtk_tree_model_get_path( GTK_TREE_MODEL( PTK_FILE_LIST( file_browser->file_list ) ), &it ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { // select if ( exo_icon_view_path_is_selected( EXO_ICON_VIEW( file_browser->folder_view ), path ) ) { if ( !select ) exo_icon_view_unselect_path( EXO_ICON_VIEW( file_browser->folder_view ), path ); } else if ( select ) exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), path ); // scroll to first and set cursor if ( first_select && select ) { exo_icon_view_set_cursor( EXO_ICON_VIEW( file_browser->folder_view ), path, NULL, FALSE ); exo_icon_view_scroll_to_path( EXO_ICON_VIEW( file_browser->folder_view ), path, TRUE, .25, 0 ); first_select = FALSE; } } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { // select if ( gtk_tree_selection_path_is_selected ( tree_sel, path ) ) { if ( !select ) gtk_tree_selection_unselect_path( tree_sel, path ); } else if ( select ) gtk_tree_selection_select_path( tree_sel, path ); // scroll to first and set cursor if ( first_select && select ) { gtk_tree_view_set_cursor( GTK_TREE_VIEW( file_browser->folder_view ), path, NULL, FALSE); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( file_browser->folder_view ), path, NULL, TRUE, .25, 0 ); first_select = FALSE; } } gtk_tree_path_free( path ); } while ( gtk_tree_model_iter_next( model, &it ) ); } // restore signals and trigger sel change if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { g_signal_handlers_unblock_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( EXO_ICON_VIEW( file_browser->folder_view ), file_browser ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { g_signal_handlers_unblock_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( (ExoIconView*)tree_sel, file_browser ); } focus_folder_view( file_browser ); } void ptk_file_browser_select_file_list( PtkFileBrowser* file_browser, char** filename, gboolean do_select ) { // If do_select, select all filenames, unselect others // if !do_select, unselect filenames, leave others unchanged // If !*filename select or unselect all GtkTreeModel* model; GtkTreePath* path; GtkTreeIter it; GtkTreeSelection* tree_sel; VFSFileInfo* file; gboolean select; char* name; char** test_name; if ( !filename || ! *filename ) { if ( do_select ) ptk_file_browser_select_all( NULL, file_browser ); else ptk_file_browser_unselect_all( NULL, file_browser ); return; } // get model, treesel, and stop signals if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); g_signal_handlers_block_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view )); g_signal_handlers_block_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); } // test rows gboolean first_select = TRUE; if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { // get file gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( !file ) continue; // test name name = (char*)vfs_file_info_get_disp_name( file ); test_name = filename; while ( *test_name ) { if ( !strcmp( *test_name, name ) ) break; test_name++; } if ( *test_name ) select = do_select; else select = !do_select; // do selection and scroll to first selected path = gtk_tree_model_get_path( GTK_TREE_MODEL( PTK_FILE_LIST( file_browser->file_list ) ), &it ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { // select if ( exo_icon_view_path_is_selected( EXO_ICON_VIEW( file_browser->folder_view ), path ) ) { if ( !select ) exo_icon_view_unselect_path( EXO_ICON_VIEW( file_browser->folder_view ), path ); } else if ( select && do_select ) exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), path ); // scroll to first and set cursor if ( first_select && select && do_select ) { exo_icon_view_set_cursor( EXO_ICON_VIEW( file_browser->folder_view ), path, NULL, FALSE ); exo_icon_view_scroll_to_path( EXO_ICON_VIEW( file_browser->folder_view ), path, TRUE, .25, 0 ); first_select = FALSE; } } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { // select if ( gtk_tree_selection_path_is_selected ( tree_sel, path ) ) { if ( !select ) gtk_tree_selection_unselect_path( tree_sel, path ); } else if ( select && do_select ) gtk_tree_selection_select_path( tree_sel, path ); // scroll to first and set cursor if ( first_select && select && do_select ) { gtk_tree_view_set_cursor( GTK_TREE_VIEW( file_browser->folder_view ), path, NULL, FALSE); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( file_browser->folder_view ), path, NULL, TRUE, .25, 0 ); first_select = FALSE; } } gtk_tree_path_free( path ); } while ( gtk_tree_model_iter_next( model, &it ) ); } // restore signals and trigger sel change if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { g_signal_handlers_unblock_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( EXO_ICON_VIEW( file_browser->folder_view ), file_browser ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { g_signal_handlers_unblock_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( (ExoIconView*)tree_sel, file_browser ); } focus_folder_view( file_browser ); } void ptk_file_browser_seek_path( PtkFileBrowser* file_browser, const char* seek_dir, const char* seek_name ) { // change to dir seek_dir if needed; select first dir or else file with // prefix seek_name const char* cwd = ptk_file_browser_get_cwd( file_browser ); if ( seek_dir && g_strcmp0( cwd, seek_dir ) ) { // change dir g_free( file_browser->seek_name ); file_browser->seek_name = g_strdup( seek_name ); file_browser->inhibit_focus = TRUE; if ( !ptk_file_browser_chdir( file_browser, seek_dir, PTK_FB_CHDIR_ADD_HISTORY ) ) { file_browser->inhibit_focus = FALSE; g_free( file_browser->seek_name ); file_browser->seek_name = NULL; } // return here to allow dir to load // finishes seek in main-window.c on_file_browser_after_chdir() return; } // no change dir was needed or was called from on_file_browser_after_chdir() // select seek name ptk_file_browser_unselect_all( NULL, file_browser ); if ( !( seek_name && seek_name[0] ) ) return; // get model, treesel, and stop signals GtkTreeModel* model; GtkTreePath* path; GtkTreeIter it; GtkTreeIter it_file; GtkTreeIter it_dir; it_file.stamp = 0; it_dir.stamp = 0; GtkTreeSelection* tree_sel; VFSFileInfo* file; gboolean select; char* name; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); g_signal_handlers_block_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); g_signal_handlers_block_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); } if ( !GTK_IS_TREE_MODEL( model ) ) goto _restore_sig; // test rows - give preference to matching dir, else match file if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { // get file gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( !file ) continue; // test name name = (char*)vfs_file_info_get_disp_name( file ); if ( !g_strcmp0( name, seek_name ) ) { // exact match (may be file or dir) it_dir = it; break; } if ( g_str_has_prefix( name, seek_name ) ) { // prefix found if ( vfs_file_info_is_dir( file ) ) { if ( !it_dir.stamp ) it_dir = it; } else if ( !it_file.stamp ) it_file = it; } } while ( gtk_tree_model_iter_next( model, &it ) ); } if ( it_dir.stamp ) it = it_dir; else it = it_file; if ( !it.stamp ) goto _restore_sig; // do selection and scroll to selected path = gtk_tree_model_get_path( GTK_TREE_MODEL( PTK_FILE_LIST( file_browser->file_list ) ), &it ); if ( !path ) goto _restore_sig; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { // select exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), path ); // scroll and set cursor exo_icon_view_set_cursor( EXO_ICON_VIEW( file_browser->folder_view ), path, NULL, FALSE ); exo_icon_view_scroll_to_path( EXO_ICON_VIEW( file_browser->folder_view ), path, TRUE, .25, 0 ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { // select gtk_tree_selection_select_path( tree_sel, path ); // scroll and set cursor gtk_tree_view_set_cursor(GTK_TREE_VIEW( file_browser->folder_view ), path, NULL, FALSE); gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( file_browser->folder_view ), path, NULL, TRUE, .25, 0 ); } gtk_tree_path_free( path ); _restore_sig: // restore signals and trigger sel change if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { g_signal_handlers_unblock_matched( file_browser->folder_view, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( EXO_ICON_VIEW( file_browser->folder_view ), file_browser ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { g_signal_handlers_unblock_matched( tree_sel, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_folder_view_item_sel_change, NULL ); on_folder_view_item_sel_change( (ExoIconView*)tree_sel, file_browser ); } } /* signal handlers */ void on_folder_view_item_activated ( ExoIconView *iconview, GtkTreePath *path, PtkFileBrowser* file_browser ) { ptk_file_browser_open_selected_files( file_browser ); } void on_folder_view_row_activated ( GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn* col, PtkFileBrowser* file_browser ) { //file_browser->button_press = FALSE; ptk_file_browser_open_selected_files( file_browser ); } gboolean on_folder_view_item_sel_change_idle( PtkFileBrowser* file_browser ) { GList * sel_files; GList* sel; GtkTreeIter it; GtkTreeModel* model; VFSFileInfo* file; if ( !GTK_IS_WIDGET( file_browser ) ) return FALSE; file_browser->n_sel_files = 0; file_browser->sel_size = 0; sel_files = folder_view_get_selected_items( file_browser, &model ); for ( sel = sel_files; sel; sel = g_list_next( sel ) ) { if ( gtk_tree_model_get_iter( model, &it, ( GtkTreePath* ) sel->data ) ) { gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( file ) { file_browser->sel_size += vfs_file_info_get_size( file ); vfs_file_info_unref( file ); } ++file_browser->n_sel_files; } } g_list_foreach( sel_files, ( GFunc ) gtk_tree_path_free, NULL ); g_list_free( sel_files ); g_signal_emit( file_browser, signals[ SEL_CHANGE_SIGNAL ], 0 ); file_browser->sel_change_idle = 0; return FALSE; } void on_folder_view_item_sel_change( ExoIconView *iconview, PtkFileBrowser* file_browser ) { /* //sfm on_folder_view_item_sel_change fires for each selected file * when a file is clicked - causes hang if thousands of files are selected * So add only one g_idle_add at a time */ if ( file_browser->sel_change_idle ) return; file_browser->sel_change_idle = g_idle_add( (GSourceFunc)on_folder_view_item_sel_change_idle, file_browser ); } static void show_popup_menu( PtkFileBrowser* file_browser, GdkEventButton *event ) { const char * cwd; char* dir_name = NULL; guint32 time; gint button; GtkWidget* popup; char* file_path = NULL; VFSFileInfo* file; GList* sel_files; cwd = ptk_file_browser_get_cwd( file_browser ); sel_files = ptk_file_browser_get_selected_files( file_browser ); if( ! sel_files ) { file = NULL; /* file = vfs_file_info_new(); vfs_file_info_get( file, cwd, NULL ); sel_files = g_list_prepend( NULL, vfs_file_info_ref( file ) ); file_path = g_strdup( cwd ); */ /* dir_name = g_path_get_dirname( cwd ); */ } else { file = vfs_file_info_ref( (VFSFileInfo*)sel_files->data ); file_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); } //MOD added G_FILE_TEST_IS_SYMLINK for dangling symlink popup menu // if ( g_file_test( file_path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_SYMLINK ) ) // { if ( event ) { button = event->button; time = event->time; } else { button = 0; time = gtk_get_current_event_time(); } popup = ptk_file_menu_new( NULL, file_browser, file_path, file, dir_name ? dir_name : cwd, sel_files ); if ( popup ) gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, button, time ); // } // else if ( sel_files ) // { // vfs_file_info_list_free( sel_files ); // } if ( file ) vfs_file_info_unref( file ); if ( file_path ) g_free( file_path ); if ( dir_name ) g_free( dir_name ); } /* invoke popup menu via shortcut key */ gboolean on_folder_view_popup_menu ( GtkWidget* widget, PtkFileBrowser* file_browser ) { show_popup_menu( file_browser, NULL ); return TRUE; } gboolean on_folder_view_button_press_event ( GtkWidget *widget, GdkEventButton *event, PtkFileBrowser* file_browser ) { VFSFileInfo * file; GtkTreeModel * model = NULL; GtkTreePath *tree_path = NULL; GtkTreeViewColumn* col = NULL; GtkTreeIter it; gchar *file_path; GtkTreeSelection* tree_sel; gboolean ret = FALSE; if ( file_browser->menu_shown ) file_browser->menu_shown = FALSE; if ( event->type == GDK_BUTTON_PRESS ) { focus_folder_view( file_browser ); //file_browser->button_press = TRUE; if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( file_browser->main_window, evt_win_click, "evt_win_click", 0, 0, "filelist", 0, event->button, event->state, TRUE ) ) { file_browser->skip_release = TRUE; return TRUE; } if ( event->button == 4 || event->button == 5 || event->button == 8 || event->button == 9 ) //sfm { if ( event->button == 4 || event->button == 8 ) ptk_file_browser_go_back( NULL, file_browser ); else ptk_file_browser_go_forward( NULL, file_browser ); return TRUE; } // Alt - Left/Right Click if ( ( ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK ) ) == GDK_MOD1_MASK ) && ( event->button == 1 || event->button == 3 ) ) //sfm { if ( event->button == 1 ) ptk_file_browser_go_back( NULL, file_browser ); else ptk_file_browser_go_forward( NULL, file_browser ); return TRUE; } if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { tree_path = exo_icon_view_get_path_at_pos( EXO_ICON_VIEW( widget ), event->x, event->y ); model = exo_icon_view_get_model( EXO_ICON_VIEW( widget ) ); /* deselect selected files when right click on blank area */ if ( !tree_path && event->button == 3 ) exo_icon_view_unselect_all ( EXO_ICON_VIEW( widget ) ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { model = gtk_tree_view_get_model( GTK_TREE_VIEW( widget ) ); gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( widget ), event->x, event->y, &tree_path, &col, NULL, NULL ); tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( widget ) ); if( col && gtk_tree_view_column_get_sort_column_id(col) != COL_FILE_NAME && tree_path ) //MOD { gtk_tree_path_free( tree_path ); tree_path = NULL; } } /* an item is clicked, get its file path */ if ( tree_path && gtk_tree_model_get_iter( model, &it, tree_path ) ) { gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); file_path = g_build_filename( ptk_file_browser_get_cwd( file_browser ), vfs_file_info_get_name( file ), NULL ); } else /* no item is clicked */ { file = NULL; file_path = NULL; } /* middle button */ if ( event->button == 2 && file_path ) /* middle click on a item */ { /* open in new tab if its a folder */ if ( G_LIKELY( file_path ) ) { if ( g_file_test( file_path, G_FILE_TEST_IS_DIR ) ) { g_signal_emit( file_browser, signals[ OPEN_ITEM_SIGNAL ], 0, file_path, PTK_OPEN_NEW_TAB ); } } ret = TRUE; } else if ( event->button == 3 ) /* right click */ { /* cancel all selection, and select the item if it's not selected */ if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { if ( tree_path && !exo_icon_view_path_is_selected ( EXO_ICON_VIEW( widget ), tree_path ) ) { exo_icon_view_unselect_all ( EXO_ICON_VIEW( widget ) ); exo_icon_view_select_path( EXO_ICON_VIEW( widget ), tree_path ); } } else if( file_browser->view_mode == PTK_FB_LIST_VIEW ) { if ( tree_path && !gtk_tree_selection_path_is_selected( tree_sel, tree_path ) ) { gtk_tree_selection_unselect_all( tree_sel ); gtk_tree_selection_select_path( tree_sel, tree_path ); } } show_popup_menu( file_browser, event ); /* FIXME if approx 5000 are selected, right-click sometimes unselects all * after this button_press function returns - why? a gtk or exo bug? * Always happens with above show_popup_menu call disabled * Only when this occurs, cursor is automatically set to current row and * treesel 'changed' signal fires * Stopping changed signal had no effect * Using connect rather than connect_after had no effect * Removing signal connect had no effect * FIX: inhibit button release */ ret = file_browser->menu_shown = TRUE; } if ( file ) vfs_file_info_unref( file ); g_free( file_path ); gtk_tree_path_free( tree_path ); } else if ( event->type == GDK_2BUTTON_PRESS && event->button == 1 ) { // double click event - button = 0 if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( file_browser->main_window, evt_win_click, "evt_win_click", 0, 0, "filelist", 0, 0, event->state, TRUE ) ) return TRUE; /* set ret TRUE to prevent drag_begin starting in this tab after * fuseiso mount. Why? * row_activated occurs before GDK_2BUTTON_PRESS so use * file_browser->button_press to determine if row was already * activated or user clicked on non-row */ if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) ret = TRUE; } /* go up if double-click in blank area of file list - this was disabled due * to complaints about accidental clicking else if ( file_browser->button_press && event->type == GDK_2BUTTON_PRESS && event->button == 1 ) { if ( file_browser->view_mode == PTK_FB_ICON_VIEW * || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { tree_path = exo_icon_view_get_path_at_pos( EXO_ICON_VIEW( widget ), event->x, event->y ); if ( !tree_path ) { ptk_file_browser_go_up( NULL, file_browser ); ret = TRUE; } else gtk_tree_path_free( tree_path ); } else if( file_browser->view_mode == PTK_FB_LIST_VIEW ) { // row_activated occurs before GDK_2BUTTON_PRESS so use // file_browser->button_press to determine if row was already activated // or user clicked on non-row ptk_file_browser_go_up( NULL, file_browser ); ret = TRUE; } } */ return ret; } gboolean on_folder_view_button_release_event ( GtkWidget *widget, GdkEventButton *event, PtkFileBrowser* file_browser ) //sfm { // on left-click release on file, if not dnd or rubberbanding, unselect files GtkTreeModel* model; GtkTreePath* tree_path = NULL; GtkTreeSelection* tree_sel; if ( file_browser->is_drag || event->button != 1 || file_browser->skip_release || ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK ) ) ) { if ( file_browser->skip_release ) file_browser->skip_release = FALSE; // this fixes bug where right-click shows menu and release unselects files gboolean ret = file_browser->menu_shown && event->button != 1; if ( file_browser->menu_shown ) file_browser->menu_shown = FALSE; return ret; } if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { if ( exo_icon_view_is_rubber_banding_active( EXO_ICON_VIEW( widget ) ) ) return FALSE; //sfm disabled 1.0.2 Why was this conditional on single_click? // Caused a left-click to not unselect other files. //if ( app_settings.single_click ) //{ tree_path = exo_icon_view_get_path_at_pos( EXO_ICON_VIEW( widget ), event->x, event->y ); model = exo_icon_view_get_model( EXO_ICON_VIEW( widget ) ); if ( tree_path ) { // unselect all but one file exo_icon_view_unselect_all( EXO_ICON_VIEW( widget ) ); exo_icon_view_select_path( EXO_ICON_VIEW( widget ), tree_path ); } //} } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { if ( gtk_tree_view_is_rubber_banding_active( GTK_TREE_VIEW( widget ) ) ) return FALSE; if ( app_settings.single_click ) { model = gtk_tree_view_get_model( GTK_TREE_VIEW( widget ) ); gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( widget ), event->x, event->y, &tree_path, NULL, NULL, NULL ); tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( widget ) ); if ( tree_path && tree_sel && gtk_tree_selection_count_selected_rows( tree_sel ) > 1 ) { // unselect all but one file gtk_tree_selection_unselect_all( tree_sel ); gtk_tree_selection_select_path( tree_sel, tree_path ); } } } gtk_tree_path_free( tree_path ); return FALSE; } static gboolean on_dir_tree_update_sel ( PtkFileBrowser* file_browser ) { char * dir_path; if ( !file_browser->side_dir ) return FALSE; dir_path = ptk_dir_tree_view_get_selected_dir( GTK_TREE_VIEW( file_browser->side_dir ) ); if ( dir_path ) { if ( strcmp( dir_path, ptk_file_browser_get_cwd( file_browser ) ) ) { gdk_threads_enter(); // needed for gtk_dialog_run in ptk_show_error if ( ptk_file_browser_chdir( file_browser, dir_path, PTK_FB_CHDIR_ADD_HISTORY ) ) gtk_entry_set_text( GTK_ENTRY( file_browser->path_bar ), dir_path ); gdk_threads_leave(); } g_free( dir_path ); } return FALSE; } void on_dir_tree_row_activated ( GtkTreeView* view, GtkTreePath* path, GtkTreeViewColumn* column, PtkFileBrowser* file_browser ) { g_idle_add( ( GSourceFunc ) on_dir_tree_update_sel, file_browser ); } void ptk_file_browser_new_tab( GtkMenuItem* item, PtkFileBrowser* file_browser ) { const char* dir_path; focus_folder_view( file_browser ); if ( xset_get_s( "go_set_default" ) ) dir_path = xset_get_s( "go_set_default" ); else dir_path = g_get_home_dir(); if ( !g_file_test( dir_path, G_FILE_TEST_IS_DIR ) ) g_signal_emit( file_browser, signals[ OPEN_ITEM_SIGNAL ], 0, "/", PTK_OPEN_NEW_TAB ); else { g_signal_emit( file_browser, signals[ OPEN_ITEM_SIGNAL ], 0, dir_path, PTK_OPEN_NEW_TAB ); } } void ptk_file_browser_new_tab_here( GtkMenuItem* item, PtkFileBrowser* file_browser ) { const char* dir_path; focus_folder_view( file_browser ); dir_path = ptk_file_browser_get_cwd( file_browser ); if ( !g_file_test( dir_path, G_FILE_TEST_IS_DIR ) ) { if ( xset_get_s( "go_set_default" ) ) dir_path = xset_get_s( "go_set_default" ); else dir_path = g_get_home_dir(); } if ( !g_file_test( dir_path, G_FILE_TEST_IS_DIR ) ) g_signal_emit( file_browser, signals[ OPEN_ITEM_SIGNAL ], 0, "/", PTK_OPEN_NEW_TAB ); else { g_signal_emit( file_browser, signals[ OPEN_ITEM_SIGNAL ], 0, dir_path, PTK_OPEN_NEW_TAB ); } } void ptk_file_browser_save_column_widths( GtkTreeView *view, PtkFileBrowser* file_browser ) { const char* title; XSet* set = NULL; int i, j, width; GtkTreeViewColumn* col; if ( !( GTK_IS_WIDGET( file_browser ) && GTK_IS_TREE_VIEW( view ) ) ) return; if ( file_browser->view_mode != PTK_FB_LIST_VIEW ) return; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; // if the window was opened maximized and stayed maximized, or the window is // unmaximized and not fullscreen, save the columns if ( ( !main_window->maximized || main_window->opened_maximized ) && !main_window->fullscreen ) { int p = file_browser->mypanel; char mode = main_window->panel_context[p-1]; //printf("*** save_columns fb=%#x (panel %d) mode = %d\n", file_browser, p, mode); for ( i = 0; i < 6; i++ ) { col = gtk_tree_view_get_column( view, i ); if ( !col ) return; title = gtk_tree_view_column_get_title( col ); for ( j = 0; j < 6; j++ ) { if ( !strcmp( title, _(column_titles[j]) ) ) break; } if ( j != 6 ) { // save column width for this panel context set = xset_get_panel_mode( p, column_names[j], mode ); width = gtk_tree_view_column_get_width( col ); if ( width > 0 ) { g_free( set->y ); set->y = g_strdup_printf( "%d", width ); //printf(" %d\t%s\n", width, title ); } } } } } void on_folder_view_columns_changed( GtkTreeView *view, PtkFileBrowser* file_browser ) { // user dragged a column to a different position - save positions const char* title; XSet* set = NULL; int i, j, width; GtkTreeViewColumn* col; if ( !( GTK_IS_WIDGET( file_browser ) && GTK_IS_TREE_VIEW( view ) ) ) return; if ( file_browser->view_mode != PTK_FB_LIST_VIEW ) return; for ( i = 0; i < 6; i++ ) { col = gtk_tree_view_get_column( view, i ); if ( !col ) return; title = gtk_tree_view_column_get_title( col ); for ( j = 0; j < 6; j++ ) { if ( !strcmp( title, _(column_titles[j]) ) ) break; } if ( j != 6 ) { // save column position set = xset_get_panel( file_browser->mypanel, column_names[j] ); g_free( set->x ); set->x = g_strdup_printf( "%d", i ); } } } void on_folder_view_destroy( GtkTreeView *view, PtkFileBrowser* file_browser ) { guint id = g_signal_lookup ("columns-changed", G_TYPE_FROM_INSTANCE(view) ); if ( id ) { gulong hand = g_signal_handler_find( ( gpointer ) view, G_SIGNAL_MATCH_ID, id, 0, NULL, NULL, NULL ); if ( hand ) g_signal_handler_disconnect( ( gpointer ) view, hand ); } } gboolean folder_view_search_equal( GtkTreeModel* model, gint col, const gchar* key, GtkTreeIter* it, gpointer search_data ) { char* name; char* lower_name = NULL; char* lower_key; gboolean no_match; if ( col != COL_FILE_NAME ) return TRUE; gtk_tree_model_get( model, it, col, &name, -1 ); if ( !name || !key ) return TRUE; lower_key = g_utf8_strdown( key, -1 ); if ( !strcmp( lower_key, key ) ) { // key is all lowercase so do icase search lower_name = g_utf8_strdown( name, -1 ); name = lower_name; } if ( strchr( key, '*' ) || strchr( key, '?' ) ) { char* key2 = g_strdup_printf( "*%s*", key ); no_match = fnmatch( key2, name, 0 ) != 0; g_free( key2 ); } else { gboolean end = g_str_has_suffix( key, "$" ); gboolean start = !end && ( strlen( key ) < 3 ); char* key2 = g_strdup( key ); char* keyp = key2; if ( key[0] == '^' ) { keyp++; start = TRUE; } if ( end ) key2[strlen( key2 )-1] = '\0'; if ( start && end ) no_match = !strstr( name, keyp ); else if (start ) no_match = !g_str_has_prefix( name, keyp ); else if ( end ) no_match = !g_str_has_suffix( name, keyp ); else no_match = !strstr( name, key ); g_free( key2 ); } g_free( lower_name ); g_free( lower_key ); return no_match; //return FALSE for match } static GtkWidget* create_folder_view( PtkFileBrowser* file_browser, PtkFBViewMode view_mode ) { GtkWidget * folder_view = NULL; GtkTreeSelection* tree_sel; GtkCellRenderer* renderer; int big_icon_size, small_icon_size, icon_size = 0; vfs_mime_type_get_icon_size( &big_icon_size, &small_icon_size ); switch ( view_mode ) { case PTK_FB_ICON_VIEW: case PTK_FB_COMPACT_VIEW: folder_view = exo_icon_view_new(); if( view_mode == PTK_FB_COMPACT_VIEW ) { icon_size = file_browser->large_icons ? big_icon_size : small_icon_size; exo_icon_view_set_layout_mode( (ExoIconView*)folder_view, EXO_ICON_VIEW_LAYOUT_COLS ); exo_icon_view_set_orientation( (ExoIconView*)folder_view, GTK_ORIENTATION_HORIZONTAL ); } else { icon_size = big_icon_size; exo_icon_view_set_column_spacing( (ExoIconView*)folder_view, 4 ); exo_icon_view_set_item_width ( (ExoIconView*)folder_view, icon_size < 110 ? 110 : icon_size ); } exo_icon_view_set_selection_mode ( (ExoIconView*)folder_view, GTK_SELECTION_MULTIPLE ); exo_icon_view_set_pixbuf_column ( (ExoIconView*)folder_view, COL_FILE_BIG_ICON ); exo_icon_view_set_text_column ( (ExoIconView*)folder_view, COL_FILE_NAME ); // search exo_icon_view_set_enable_search( (ExoIconView*)folder_view, TRUE ); exo_icon_view_set_search_column( (ExoIconView*)folder_view, COL_FILE_NAME ); exo_icon_view_set_search_equal_func( (ExoIconView*)folder_view, folder_view_search_equal, NULL, NULL ); exo_icon_view_set_single_click( (ExoIconView*)folder_view, file_browser->single_click ); exo_icon_view_set_single_click_timeout( (ExoIconView*)folder_view, app_settings.no_single_hover ? 0 : SINGLE_CLICK_TIMEOUT ); gtk_cell_layout_clear ( GTK_CELL_LAYOUT ( folder_view ) ); /* renderer = gtk_cell_renderer_pixbuf_new (); */ file_browser->icon_render = renderer = ptk_file_icon_renderer_new(); /* add the icon renderer */ g_object_set ( G_OBJECT ( renderer ), "follow_state", TRUE, NULL ); gtk_cell_layout_pack_start ( GTK_CELL_LAYOUT ( folder_view ), renderer, FALSE ); gtk_cell_layout_add_attribute ( GTK_CELL_LAYOUT ( folder_view ), renderer, "pixbuf", file_browser->large_icons ? COL_FILE_BIG_ICON : COL_FILE_SMALL_ICON ); gtk_cell_layout_add_attribute ( GTK_CELL_LAYOUT ( folder_view ), renderer, "info", COL_FILE_INFO ); /* add the name renderer */ renderer = ptk_text_renderer_new (); if( view_mode == PTK_FB_COMPACT_VIEW ) { g_object_set ( G_OBJECT ( renderer ), "xalign", 0.0, "yalign", 0.5, NULL ); } else { g_object_set ( G_OBJECT ( renderer ), "wrap-mode", PANGO_WRAP_WORD_CHAR, "wrap-width", icon_size < 110 ? 109 : icon_size, "xalign", 0.5, "yalign", 0.0, NULL ); } gtk_cell_layout_pack_start ( GTK_CELL_LAYOUT ( folder_view ), renderer, TRUE ); gtk_cell_layout_add_attribute ( GTK_CELL_LAYOUT ( folder_view ), renderer, "text", COL_FILE_NAME ); exo_icon_view_enable_model_drag_source ( EXO_ICON_VIEW( folder_view ), ( GDK_CONTROL_MASK | GDK_BUTTON1_MASK | GDK_BUTTON3_MASK ), drag_targets, G_N_ELEMENTS( drag_targets ), GDK_ACTION_ALL ); exo_icon_view_enable_model_drag_dest ( EXO_ICON_VIEW( folder_view ), drag_targets, G_N_ELEMENTS( drag_targets ), GDK_ACTION_ALL ); g_signal_connect ( ( gpointer ) folder_view, "item-activated", G_CALLBACK ( on_folder_view_item_activated ), file_browser ); g_signal_connect_after ( ( gpointer ) folder_view, "selection-changed", G_CALLBACK ( on_folder_view_item_sel_change ), file_browser ); break; case PTK_FB_LIST_VIEW: folder_view = exo_tree_view_new (); init_list_view( file_browser, GTK_TREE_VIEW( folder_view ) ); tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( folder_view ) ); gtk_tree_selection_set_mode( tree_sel, GTK_SELECTION_MULTIPLE ); if ( xset_get_b( "rubberband" ) ) gtk_tree_view_set_rubber_banding( (GtkTreeView*)folder_view, TRUE ); // Search gtk_tree_view_set_enable_search( (GtkTreeView*)folder_view, TRUE ); gtk_tree_view_set_search_column( (GtkTreeView*)folder_view, COL_FILE_NAME ); gtk_tree_view_set_search_equal_func( (GtkTreeView*)folder_view, folder_view_search_equal, NULL, NULL ); exo_tree_view_set_single_click( (ExoTreeView*)folder_view, file_browser->single_click ); exo_tree_view_set_single_click_timeout( (ExoTreeView*)folder_view, app_settings.no_single_hover ? 0 : SINGLE_CLICK_TIMEOUT ); icon_size = file_browser->large_icons ? big_icon_size : small_icon_size; gtk_tree_view_enable_model_drag_source ( GTK_TREE_VIEW( folder_view ), ( GDK_CONTROL_MASK | GDK_BUTTON1_MASK | GDK_BUTTON3_MASK ), drag_targets, G_N_ELEMENTS( drag_targets ), GDK_ACTION_ALL ); gtk_tree_view_enable_model_drag_dest ( GTK_TREE_VIEW( folder_view ), drag_targets, G_N_ELEMENTS( drag_targets ), GDK_ACTION_ALL ); g_signal_connect ( ( gpointer ) folder_view, "row_activated", G_CALLBACK ( on_folder_view_row_activated ), file_browser ); g_signal_connect_after ( ( gpointer ) tree_sel, "changed", G_CALLBACK ( on_folder_view_item_sel_change ), file_browser ); //MOD g_signal_connect ( ( gpointer ) folder_view, "columns-changed", G_CALLBACK ( on_folder_view_columns_changed ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "destroy", G_CALLBACK ( on_folder_view_destroy ), file_browser ); break; } gtk_cell_renderer_set_fixed_size( file_browser->icon_render, icon_size, icon_size ); g_signal_connect ( ( gpointer ) folder_view, "button-press-event", G_CALLBACK ( on_folder_view_button_press_event ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "button-release-event", G_CALLBACK ( on_folder_view_button_release_event ), file_browser ); //g_signal_connect ( ( gpointer ) folder_view, // "key_press_event", // G_CALLBACK ( on_folder_view_key_press_event ), // file_browser ); g_signal_connect ( ( gpointer ) folder_view, "popup-menu", G_CALLBACK ( on_folder_view_popup_menu ), file_browser ); /* init drag & drop support */ g_signal_connect ( ( gpointer ) folder_view, "drag-data-received", G_CALLBACK ( on_folder_view_drag_data_received ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "drag-data-get", G_CALLBACK ( on_folder_view_drag_data_get ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "drag-begin", G_CALLBACK ( on_folder_view_drag_begin ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "drag-motion", G_CALLBACK ( on_folder_view_drag_motion ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "drag-leave", G_CALLBACK ( on_folder_view_drag_leave ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "drag-drop", G_CALLBACK ( on_folder_view_drag_drop ), file_browser ); g_signal_connect ( ( gpointer ) folder_view, "drag-end", G_CALLBACK ( on_folder_view_drag_end ), file_browser ); // set font if ( xset_get_s_panel( file_browser->mypanel, "font_file" ) ) { PangoFontDescription* font_desc = pango_font_description_from_string( xset_get_s_panel( file_browser->mypanel, "font_file" ) ); gtk_widget_modify_font( folder_view, font_desc ); pango_font_description_free( font_desc ); } return folder_view; } void init_list_view( PtkFileBrowser* file_browser, GtkTreeView* list_view ) { GtkTreeViewColumn * col; GtkCellRenderer *renderer; GtkCellRenderer *pix_renderer; int i, j, width; XSet* set; int cols[] = { COL_FILE_NAME, COL_FILE_SIZE, COL_FILE_DESC, COL_FILE_PERM, COL_FILE_OWNER, COL_FILE_MTIME }; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int p = file_browser->mypanel; char mode = main_window->panel_context[p-1]; for ( i = 0; i < G_N_ELEMENTS( cols ); i++ ) { col = gtk_tree_view_column_new (); gtk_tree_view_column_set_resizable ( col, TRUE ); renderer = gtk_cell_renderer_text_new(); // column order for ( j = 0; j < G_N_ELEMENTS( cols ); j++ ) { if ( xset_get_int_panel( p, column_names[j], "x" ) == i ) break; } if ( j == G_N_ELEMENTS( cols ) ) j = i; // failsafe else { // column width gtk_tree_view_column_set_min_width( col, 50 ); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_FIXED ); set = xset_get_panel_mode( p, column_names[j], mode ); width = set->y ? atoi( set->y ) : 100; if ( width ) { if ( cols[j] == COL_FILE_NAME && !app_settings.always_show_tabs && file_browser->view_mode == PTK_FB_LIST_VIEW && gtk_notebook_get_n_pages( GTK_NOTEBOOK( file_browser->mynotebook ) ) == 1 ) { // when tabs are added, the width of the notebook decreases // by a few pixels, meaning there is not enough space for // all columns - this causes a horizontal scrollbar to // appear on new and sometimes first tab // so shave some pixels off first columns gtk_tree_view_column_set_fixed_width ( col, width - 6 ); // below causes increasing reduction of column every time new tab is // added and closed - undesirable PtkFileBrowser* first_fb = (PtkFileBrowser*) gtk_notebook_get_nth_page( GTK_NOTEBOOK( file_browser->mynotebook ), 0 ); if ( first_fb && first_fb->view_mode == PTK_FB_LIST_VIEW && GTK_IS_TREE_VIEW( first_fb->folder_view ) ) { GtkTreeViewColumn* first_col = gtk_tree_view_get_column( GTK_TREE_VIEW( first_fb->folder_view ), 0 ); if ( first_col ) { int first_width = gtk_tree_view_column_get_width( first_col ); if ( first_width > 10 ) gtk_tree_view_column_set_fixed_width( first_col, first_width - 6 ); } } } else { gtk_tree_view_column_set_fixed_width ( col, width ); //printf("init set_width %s %d\n", column_names[j], width ); } } } if ( cols[j] == COL_FILE_NAME ) { g_object_set( G_OBJECT( renderer ), /* "editable", TRUE, */ "ellipsize", PANGO_ELLIPSIZE_END, NULL ); /* g_signal_connect( renderer, "editing-started", G_CALLBACK( on_filename_editing_started ), NULL ); */ file_browser->icon_render = pix_renderer = ptk_file_icon_renderer_new(); gtk_tree_view_column_pack_start( col, pix_renderer, FALSE ); gtk_tree_view_column_set_attributes( col, pix_renderer, "pixbuf", file_browser->large_icons ? COL_FILE_BIG_ICON : COL_FILE_SMALL_ICON, "info", COL_FILE_INFO, NULL ); gtk_tree_view_column_set_expand ( col, TRUE ); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_FIXED ); gtk_tree_view_column_set_min_width( col, 150 ); gtk_tree_view_column_set_reorderable( col, FALSE ); exo_tree_view_set_activable_column( (ExoTreeView*)list_view, col ); } else { gtk_tree_view_column_set_reorderable( col, TRUE ); gtk_tree_view_column_set_visible( col, xset_get_b_panel_mode( p, column_names[j], mode ) ); } if ( cols[j] == COL_FILE_SIZE ) gtk_cell_renderer_set_alignment( renderer, 1, 0.5 ); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", cols[ j ], NULL ); gtk_tree_view_append_column ( list_view, col ); gtk_tree_view_column_set_title( col, _( column_titles[ j ] ) ); gtk_tree_view_column_set_sort_indicator( col, TRUE ); gtk_tree_view_column_set_sort_column_id( col, cols[ j ] ); gtk_tree_view_column_set_sort_order( col, GTK_SORT_DESCENDING ); } gtk_tree_view_set_rules_hint ( list_view, TRUE ); } void ptk_file_browser_refresh( GtkWidget* item, PtkFileBrowser* file_browser ) { if ( file_browser->busy ) // a dir is already loading return; if ( !g_file_test( ptk_file_browser_get_cwd( file_browser ), G_FILE_TEST_IS_DIR ) ) { on_close_notebook_page( NULL, file_browser ); return; } // save cursor's file path for later re-selection GtkTreePath* tree_path = NULL; GtkTreeModel* model = NULL; GtkTreeIter it; VFSFileInfo* file; char* cursor_path = NULL; if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { gtk_tree_view_get_cursor( GTK_TREE_VIEW( file_browser->folder_view ), &tree_path, NULL ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); } else if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_get_cursor( EXO_ICON_VIEW( file_browser->folder_view ), &tree_path, NULL ); model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); } if ( tree_path && model && gtk_tree_model_get_iter( model, &it, tree_path ) ) { gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( file ) { cursor_path = g_build_filename( ptk_file_browser_get_cwd( file_browser ), vfs_file_info_get_name( file ), NULL ); } } gtk_tree_path_free( tree_path ); // these steps are similar to chdir // remove old dir object if ( file_browser->dir ) { g_signal_handlers_disconnect_matched( file_browser->dir, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, file_browser ); g_object_unref( file_browser->dir ); file_browser->dir = NULL; } // destroy file list and create new one ptk_file_browser_update_model( file_browser ); /* Ensuring free space at the end of the heap is freed to the OS, * mainly to deal with the possibility thousands of large thumbnails * have been freed but the memory not actually released by SpaceFM */ #if defined (__GLIBC__) malloc_trim(0); #endif // begin load dir file_browser->busy = TRUE; file_browser->dir = vfs_dir_get_by_path( ptk_file_browser_get_cwd( file_browser ) ); g_signal_emit( file_browser, signals[ BEGIN_CHDIR_SIGNAL ], 0 ); if ( vfs_dir_is_file_listed( file_browser->dir ) ) { on_dir_file_listed( file_browser->dir, FALSE, file_browser ); if ( cursor_path ) ptk_file_browser_select_file( file_browser, cursor_path ); file_browser->busy = FALSE; } else { file_browser->busy = TRUE; g_free( file_browser->select_path ); file_browser->select_path = g_strdup( cursor_path ); } g_signal_connect( file_browser->dir, "file-listed", G_CALLBACK(on_dir_file_listed), file_browser ); g_free( cursor_path ); } guint ptk_file_browser_get_n_all_files( PtkFileBrowser* file_browser ) { return file_browser->dir ? file_browser->dir->n_files : 0; } guint ptk_file_browser_get_n_visible_files( PtkFileBrowser* file_browser ) { return file_browser->file_list ? gtk_tree_model_iter_n_children( file_browser->file_list, NULL ) : 0; } GList* folder_view_get_selected_items( PtkFileBrowser* file_browser, GtkTreeModel** model ) { GtkTreeSelection * tree_sel; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { *model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); return exo_icon_view_get_selected_items( EXO_ICON_VIEW( file_browser->folder_view ) ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); return gtk_tree_selection_get_selected_rows( tree_sel, model ); } return NULL; } static char* folder_view_get_drop_dir( PtkFileBrowser* file_browser, int x, int y ) { GtkTreePath * tree_path = NULL; GtkTreeModel *model = NULL; GtkTreeViewColumn* col; GtkTreeIter it; VFSFileInfo* file; char* dest_path = NULL; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_widget_to_icon_coords ( EXO_ICON_VIEW( file_browser->folder_view ), x, y, &x, &y ); tree_path = folder_view_get_tree_path_at_pos( file_browser, x, y ); model = exo_icon_view_get_model( EXO_ICON_VIEW( file_browser->folder_view ) ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { // if drag is in progress, get the dest row path gtk_tree_view_get_drag_dest_row( GTK_TREE_VIEW( file_browser->folder_view ), &tree_path, NULL ); if ( !tree_path ) { // no drag in progress, get drop path gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( file_browser->folder_view ), x, y, NULL, &col, NULL, NULL ); if ( col == gtk_tree_view_get_column( GTK_TREE_VIEW( file_browser->folder_view ), 0 ) ) { gtk_tree_view_get_dest_row_at_pos( GTK_TREE_VIEW( file_browser->folder_view ), x, y, &tree_path, NULL ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); } } else model = gtk_tree_view_get_model( GTK_TREE_VIEW( file_browser->folder_view ) ); } if ( tree_path ) { if ( G_UNLIKELY( ! gtk_tree_model_get_iter( model, &it, tree_path ) ) ) return NULL; gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( file ) { if ( vfs_file_info_is_dir( file ) ) { dest_path = g_build_filename( ptk_file_browser_get_cwd( file_browser ), vfs_file_info_get_name( file ), NULL ); /* this isn't needed? // dest_path is a link? resolve if ( g_file_test( dest_path, G_FILE_TEST_IS_SYMLINK ) ) { char* old_dest = dest_path; dest_path = g_file_read_link( old_dest, NULL ); g_free( old_dest ); } */ } else /* Drop on a file, not folder */ { /* Return current directory */ dest_path = g_strdup( ptk_file_browser_get_cwd( file_browser ) ); } vfs_file_info_unref( file ); } gtk_tree_path_free( tree_path ); } else { dest_path = g_strdup( ptk_file_browser_get_cwd( file_browser ) ); } return dest_path; } void on_folder_view_drag_data_received ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *sel_data, guint info, guint time, gpointer user_data ) { gchar **list, **puri; GList* files = NULL; PtkFileTask* task; VFSFileTaskType file_action = VFS_FILE_TASK_MOVE; PtkFileBrowser* file_browser = ( PtkFileBrowser* ) user_data; char* dest_dir; char* file_path; GtkWidget* parent_win; /* Don't call the default handler */ g_signal_stop_emission_by_name( widget, "drag-data-received" ); if ( ( gtk_selection_data_get_length(sel_data) >= 0 ) && ( gtk_selection_data_get_format(sel_data) == 8 ) ) { // (list view) use stored x and y because == 0 for update drag status // when is last row (gtk2&3 bug?) // and because exo_icon_view has no get_drag_dest_row dest_dir = folder_view_get_drop_dir( file_browser, file_browser->drag_x, file_browser->drag_y ); //printf("FB dest_dir = %s\n", dest_dir ); if ( dest_dir ) { puri = list = gtk_selection_data_get_uris( sel_data ); if( file_browser->pending_drag_status ) { // We only want to update drag status, not really want to drop dev_t dest_dev; ino_t dest_inode; struct stat statbuf; // skip stat64 if( stat( dest_dir, &statbuf ) == 0 ) { dest_dev = statbuf.st_dev; dest_inode = statbuf.st_ino; if( 0 == file_browser->drag_source_dev ) { file_browser->drag_source_dev = dest_dev; for( ; *puri; ++puri ) { file_path = g_filename_from_uri( *puri, NULL, NULL ); if( file_path && stat( file_path, &statbuf ) == 0 ) { if ( statbuf.st_dev != dest_dev ) { // different devices - store source device file_browser->drag_source_dev = statbuf.st_dev; g_free( file_path ); break; } else if ( file_browser->drag_source_inode == 0 ) { // same device - store source parent inode char* src_dir = g_path_get_dirname( file_path ); if ( src_dir && stat( src_dir, &statbuf ) == 0 ) { file_browser->drag_source_inode = statbuf.st_ino; } g_free( src_dir ); } } g_free( file_path ); } } if ( file_browser->drag_source_dev != dest_dev || file_browser->drag_source_inode == dest_inode ) // src and dest are on different devices or same dir gdk_drag_status (drag_context, GDK_ACTION_COPY, time); else gdk_drag_status (drag_context, GDK_ACTION_MOVE, time); } else // stat failed gdk_drag_status (drag_context, GDK_ACTION_COPY, time); g_free( dest_dir ); g_strfreev( list ); file_browser->pending_drag_status = 0; return; } if ( puri ) { if ( 0 == ( gdk_drag_context_get_selected_action(drag_context) & ( GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK ) ) ) { gdk_drag_status (drag_context, GDK_ACTION_COPY, time); //sfm correct? was MOVE } gtk_drag_finish ( drag_context, TRUE, FALSE, time ); while ( *puri ) { if ( **puri == '/' ) file_path = g_strdup( *puri ); else file_path = g_filename_from_uri( *puri, NULL, NULL ); if ( file_path ) files = g_list_prepend( files, file_path ); ++puri; } g_strfreev( list ); switch ( gdk_drag_context_get_selected_action(drag_context) ) { case GDK_ACTION_COPY: file_action = VFS_FILE_TASK_COPY; break; case GDK_ACTION_LINK: file_action = VFS_FILE_TASK_LINK; break; /* FIXME: GDK_ACTION_DEFAULT, GDK_ACTION_PRIVATE, and GDK_ACTION_ASK are not handled */ default: break; } if ( files ) { /* g_print( "dest_dir = %s\n", dest_dir ); */ /* We only want to update drag status, not really want to drop */ if( file_browser->pending_drag_status ) { struct stat statbuf; // skip stat64 if( stat( dest_dir, &statbuf ) == 0 ) { file_browser->pending_drag_status = 0; } g_list_foreach( files, (GFunc)g_free, NULL ); g_list_free( files ); g_free( dest_dir ); return; } else /* Accept the drop and perform file actions */ { parent_win = gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ); task = ptk_file_task_new( file_action, files, dest_dir, GTK_WINDOW( parent_win ), file_browser->task_view ); ptk_file_task_run( task ); } } g_free( dest_dir ); gtk_drag_finish ( drag_context, TRUE, FALSE, time ); return ; } } g_free( dest_dir ); } /* If we are only getting drag status, not finished. */ if( file_browser->pending_drag_status ) { file_browser->pending_drag_status = 0; return; } gtk_drag_finish ( drag_context, FALSE, FALSE, time ); } void on_folder_view_drag_data_get ( GtkWidget *widget, GdkDragContext *drag_context, GtkSelectionData *sel_data, guint info, guint time, PtkFileBrowser *file_browser ) { GdkAtom type = gdk_atom_intern( "text/uri-list", FALSE ); gchar* uri; GString* uri_list = g_string_sized_new( 8192 ); GList* sels = ptk_file_browser_get_selected_files( file_browser ); GList* sel; VFSFileInfo* file; char* full_path; /* Don't call the default handler */ g_signal_stop_emission_by_name( widget, "drag-data-get" ); // drag_context->suggested_action = GDK_ACTION_MOVE; for ( sel = sels; sel; sel = g_list_next( sel ) ) { file = ( VFSFileInfo* ) sel->data; full_path = g_build_filename( ptk_file_browser_get_cwd( file_browser ), vfs_file_info_get_name( file ), NULL ); uri = g_filename_to_uri( full_path, NULL, NULL ); g_free( full_path ); g_string_append( uri_list, uri ); g_free( uri ); g_string_append( uri_list, "\r\n" ); } g_list_foreach( sels, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( sels ); gtk_selection_data_set ( sel_data, type, 8, ( guchar* ) uri_list->str, uri_list->len + 1 ); g_string_free( uri_list, TRUE ); } void on_folder_view_drag_begin ( GtkWidget *widget, GdkDragContext *drag_context, PtkFileBrowser* file_browser ) { /* Don't call the default handler */ g_signal_stop_emission_by_name ( widget, "drag-begin" ); /* gtk_drag_set_icon_stock ( drag_context, GTK_STOCK_DND_MULTIPLE, 1, 1 ); */ gtk_drag_set_icon_default( drag_context ); file_browser->is_drag = TRUE; } static GtkTreePath* folder_view_get_tree_path_at_pos( PtkFileBrowser* file_browser, int x, int y ) { GtkTreePath *tree_path; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { tree_path = exo_icon_view_get_path_at_pos( EXO_ICON_VIEW( file_browser->folder_view ), x, y ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( file_browser->folder_view ), x, y, &tree_path, NULL, NULL, NULL ); } return tree_path; } gboolean on_folder_view_auto_scroll( GtkScrolledWindow* scroll ) { GtkAdjustment * vadj; gdouble vpos; //gdk_threads_enter(); //sfm why is this here? vadj = gtk_scrolled_window_get_vadjustment( scroll ) ; vpos = gtk_adjustment_get_value( vadj ); if ( folder_view_auto_scroll_direction == GTK_DIR_UP ) { vpos -= gtk_adjustment_get_step_increment ( vadj ); if ( vpos > gtk_adjustment_get_lower ( vadj ) ) gtk_adjustment_set_value ( vadj, vpos ); else gtk_adjustment_set_value ( vadj, gtk_adjustment_get_lower ( vadj ) ); } else { vpos += gtk_adjustment_get_step_increment ( vadj ); if ( ( vpos + gtk_adjustment_get_page_size ( vadj ) ) < gtk_adjustment_get_upper ( vadj ) ) gtk_adjustment_set_value ( vadj, vpos ); else gtk_adjustment_set_value ( vadj, ( gtk_adjustment_get_upper ( vadj ) - gtk_adjustment_get_page_size ( vadj ) ) ); } //gdk_threads_leave(); return TRUE; } gboolean on_folder_view_drag_motion ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ) { GtkScrolledWindow * scroll; GtkAdjustment *vadj; gdouble vpos; GtkTreeModel* model = NULL; GtkTreePath *tree_path; GtkTreeViewColumn* col; GtkTreeIter it; VFSFileInfo* file; GdkDragAction suggested_action; GdkAtom target; GtkTargetList* target_list; GtkAllocation allocation; /* Don't call the default handler */ g_signal_stop_emission_by_name ( widget, "drag-motion" ); scroll = GTK_SCROLLED_WINDOW( gtk_widget_get_parent ( widget ) ); vadj = gtk_scrolled_window_get_vadjustment( scroll ) ; vpos = gtk_adjustment_get_value( vadj ); gtk_widget_get_allocation( widget, &allocation ); if ( y < 32 ) { /* Auto scroll up */ if ( ! folder_view_auto_scroll_timer ) { folder_view_auto_scroll_direction = GTK_DIR_UP; folder_view_auto_scroll_timer = g_timeout_add( 150, ( GSourceFunc ) on_folder_view_auto_scroll, scroll ); } } else if ( y > ( allocation.height - 32 ) ) { if ( ! folder_view_auto_scroll_timer ) { folder_view_auto_scroll_direction = GTK_DIR_DOWN; folder_view_auto_scroll_timer = g_timeout_add( 150, ( GSourceFunc ) on_folder_view_auto_scroll, scroll ); } } else if ( folder_view_auto_scroll_timer ) { g_source_remove( folder_view_auto_scroll_timer ); folder_view_auto_scroll_timer = 0; } tree_path = NULL; if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { // store x and y because exo_icon_view has no get_drag_dest_row file_browser->drag_x = x; file_browser->drag_y = y; exo_icon_view_widget_to_icon_coords( EXO_ICON_VIEW( widget ), x, y, &x, &y ); tree_path = exo_icon_view_get_path_at_pos( EXO_ICON_VIEW( widget ), x, y ); model = exo_icon_view_get_model( EXO_ICON_VIEW( widget ) ); } else { // store x and y because == 0 for update drag status when is last row file_browser->drag_x = x; file_browser->drag_y = y; if ( gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( widget ), x, y, NULL, &col, NULL, NULL ) ) { if ( gtk_tree_view_get_column ( GTK_TREE_VIEW( widget ), 0 ) == col ) { gtk_tree_view_get_dest_row_at_pos ( GTK_TREE_VIEW( widget ), x, y, &tree_path, NULL ); model = gtk_tree_view_get_model( GTK_TREE_VIEW( widget ) ); } } } if ( tree_path ) { if ( gtk_tree_model_get_iter( model, &it, tree_path ) ) { gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); if ( ! file || ! vfs_file_info_is_dir( file ) ) { gtk_tree_path_free( tree_path ); tree_path = NULL; } vfs_file_info_unref( file ); } } if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_set_drag_dest_item ( EXO_ICON_VIEW( widget ), tree_path, EXO_ICON_VIEW_DROP_INTO ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { gtk_tree_view_set_drag_dest_row( GTK_TREE_VIEW( widget ), tree_path, GTK_TREE_VIEW_DROP_INTO_OR_AFTER ); } if ( tree_path ) gtk_tree_path_free( tree_path ); /* FIXME: Creating a new target list everytime is very inefficient, but currently gtk_drag_dest_get_target_list always returns NULL due to some strange reason, and cannot be used currently. */ target_list = gtk_target_list_new( drag_targets, G_N_ELEMENTS(drag_targets) ); target = gtk_drag_dest_find_target( widget, drag_context, target_list ); gtk_target_list_unref( target_list ); if (target == GDK_NONE) gdk_drag_status( drag_context, 0, time); else { /* Only 'move' is available. The user force move action by pressing Shift key */ if( ( gdk_drag_context_get_actions ( drag_context ) & GDK_ACTION_ALL) == GDK_ACTION_MOVE ) suggested_action = GDK_ACTION_MOVE; /* Only 'copy' is available. The user force copy action by pressing Ctrl key */ else if( (gdk_drag_context_get_actions ( drag_context ) & GDK_ACTION_ALL) == GDK_ACTION_COPY ) suggested_action = GDK_ACTION_COPY; /* Only 'link' is available. The user force link action by pressing Shift+Ctrl key */ else if( (gdk_drag_context_get_actions ( drag_context ) & GDK_ACTION_ALL) == GDK_ACTION_LINK ) suggested_action = GDK_ACTION_LINK; /* Several different actions are available. We have to figure out a good default action. */ else { int drag_action = xset_get_int( "drag_action", "x" ); if ( drag_action == 1 ) suggested_action = GDK_ACTION_COPY; else if ( drag_action == 2 ) suggested_action = GDK_ACTION_MOVE; else if ( drag_action == 3 ) suggested_action = GDK_ACTION_LINK; else { // automatic file_browser->pending_drag_status = 1; gtk_drag_get_data (widget, drag_context, target, time); suggested_action = gdk_drag_context_get_selected_action( drag_context ); } } gdk_drag_status( drag_context, suggested_action, time ); } return TRUE; } gboolean on_folder_view_drag_leave ( GtkWidget *widget, GdkDragContext *drag_context, guint time, PtkFileBrowser* file_browser ) { /* Don't call the default handler */ g_signal_stop_emission_by_name( widget, "drag-leave" ); file_browser->drag_source_dev = 0; file_browser->drag_source_inode = 0; if ( folder_view_auto_scroll_timer ) { g_source_remove( folder_view_auto_scroll_timer ); folder_view_auto_scroll_timer = 0; } return TRUE; } gboolean on_folder_view_drag_drop ( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, PtkFileBrowser* file_browser ) { GdkAtom target = gdk_atom_intern( "text/uri-list", FALSE ); /* Don't call the default handler */ g_signal_stop_emission_by_name( widget, "drag-drop" ); gtk_drag_get_data ( widget, drag_context, target, time ); return TRUE; } void on_folder_view_drag_end ( GtkWidget *widget, GdkDragContext *drag_context, PtkFileBrowser* file_browser ) { if ( folder_view_auto_scroll_timer ) { g_source_remove( folder_view_auto_scroll_timer ); folder_view_auto_scroll_timer = 0; } if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_set_drag_dest_item( EXO_ICON_VIEW( widget ), NULL, 0 ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { gtk_tree_view_set_drag_dest_row( GTK_TREE_VIEW( widget ), NULL, 0 ); } file_browser->is_drag = FALSE; } void ptk_file_browser_rename_selected_files( PtkFileBrowser* file_browser, GList* files, char* cwd ) { GtkWidget * parent; VFSFileInfo* file; GList* l; if ( !file_browser ) return; gtk_widget_grab_focus( file_browser->folder_view ); parent = gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ); if ( ! files ) return; for ( l = files; l; l = l->next ) { file = (VFSFileInfo*)l->data; if ( !ptk_rename_file( NULL, file_browser, cwd, file, NULL, FALSE, PTK_RENAME, NULL ) ) break; } } gboolean ptk_file_browser_can_paste( PtkFileBrowser* file_browser ) { /* FIXME: return FALSE when we don't have write permission */ return FALSE; } void ptk_file_browser_paste( PtkFileBrowser* file_browser ) { GList * sel_files; VFSFileInfo* file; gchar* dest_dir = NULL; sel_files = ptk_file_browser_get_selected_files( file_browser ); //MOD removed - if you want this then at least make sure src != dest /* if ( sel_files && sel_files->next == NULL && ( file = ( VFSFileInfo* ) sel_files->data ) && vfs_file_info_is_dir( ( VFSFileInfo* ) sel_files->data ) ) { dest_dir = g_build_filename( ptk_file_browser_get_cwd( file_browser ), vfs_file_info_get_name( file ), NULL ); } */ ptk_clipboard_paste_files( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), dest_dir ? dest_dir : ptk_file_browser_get_cwd( file_browser ), GTK_TREE_VIEW( file_browser->task_view ), NULL, NULL ); if ( dest_dir ) g_free( dest_dir ); if ( sel_files ) { g_list_foreach( sel_files, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( sel_files ); } } void ptk_file_browser_paste_link( PtkFileBrowser* file_browser ) //MOD added { ptk_clipboard_paste_links( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), ptk_file_browser_get_cwd( file_browser ), GTK_TREE_VIEW( file_browser->task_view ), NULL, NULL ); } void ptk_file_browser_paste_target( PtkFileBrowser* file_browser ) //MOD added { ptk_clipboard_paste_targets( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), ptk_file_browser_get_cwd( file_browser ), GTK_TREE_VIEW( file_browser->task_view ), NULL, NULL ); } gboolean ptk_file_browser_can_cut_or_copy( PtkFileBrowser* file_browser ) { return FALSE; } void ptk_file_browser_cut( PtkFileBrowser* file_browser ) { /* What "cut" and "copy" do are the same. * The only difference is clipboard_action = GDK_ACTION_MOVE. */ ptk_file_browser_cut_or_copy( file_browser, FALSE ); } void ptk_file_browser_cut_or_copy( PtkFileBrowser* file_browser, gboolean copy ) { GList * sels; sels = ptk_file_browser_get_selected_files( file_browser ); if ( ! sels ) return ; ptk_clipboard_cut_or_copy_files( ptk_file_browser_get_cwd( file_browser ), sels, copy ); vfs_file_info_list_free( sels ); } void ptk_file_browser_copy( PtkFileBrowser* file_browser ) { ptk_file_browser_cut_or_copy( file_browser, TRUE ); } gboolean ptk_file_browser_can_delete( PtkFileBrowser* file_browser ) { /* FIXME: return FALSE when we don't have write permission. */ return TRUE; } void ptk_file_browser_delete( PtkFileBrowser* file_browser ) { GList * sel_files; GtkWidget* parent_win; if ( ! file_browser->n_sel_files ) return ; sel_files = ptk_file_browser_get_selected_files( file_browser ); parent_win = gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ); ptk_delete_files( GTK_WINDOW( parent_win ), ptk_file_browser_get_cwd( file_browser ), sel_files, GTK_TREE_VIEW( file_browser->task_view ) ); vfs_file_info_list_free( sel_files ); } GList* ptk_file_browser_get_selected_files( PtkFileBrowser* file_browser ) { GList * sel_files; GList* sel; GList* file_list = NULL; GtkTreeModel* model; GtkTreeIter it; VFSFileInfo* file; sel_files = folder_view_get_selected_items( file_browser, &model ); if ( !sel_files ) return NULL; for ( sel = sel_files; sel; sel = g_list_next( sel ) ) { gtk_tree_model_get_iter( model, &it, ( GtkTreePath* ) sel->data ); gtk_tree_model_get( model, &it, COL_FILE_INFO, &file, -1 ); file_list = g_list_append( file_list, file ); } g_list_foreach( sel_files, ( GFunc ) gtk_tree_path_free, NULL ); g_list_free( sel_files ); return file_list; } void ptk_file_browser_open_selected_files_with_app( PtkFileBrowser* file_browser, char* app_desktop ) { GList * sel_files; sel_files = ptk_file_browser_get_selected_files( file_browser ); ptk_open_files_with_app( ptk_file_browser_get_cwd( file_browser ), sel_files, app_desktop, NULL, file_browser, FALSE, FALSE ); vfs_file_info_list_free( sel_files ); } void ptk_file_browser_open_selected_files( PtkFileBrowser* file_browser ) { if ( xset_opener( NULL, file_browser, 1 ) ) return; ptk_file_browser_open_selected_files_with_app( file_browser, NULL ); } void ptk_file_browser_copycmd( PtkFileBrowser* file_browser, GList* sel_files, char* cwd, char* setname ) { if ( !setname || !file_browser || !sel_files ) return; XSet* set2; char* copy_dest = NULL; char* move_dest = NULL; char* path; if ( !strcmp( setname, "copy_tab_prev" ) ) copy_dest = main_window_get_tab_cwd( file_browser, -1 ); else if ( !strcmp( setname, "copy_tab_next" ) ) copy_dest = main_window_get_tab_cwd( file_browser, -2 ); else if ( !strncmp( setname, "copy_tab_", 9 ) ) copy_dest = main_window_get_tab_cwd( file_browser, atoi( setname + 9 ) ); else if ( !strcmp( setname, "copy_panel_prev" ) ) copy_dest = main_window_get_panel_cwd( file_browser, -1 ); else if ( !strcmp( setname, "copy_panel_next" ) ) copy_dest = main_window_get_panel_cwd( file_browser, -2 ); else if ( !strncmp( setname, "copy_panel_", 11 ) ) copy_dest = main_window_get_panel_cwd( file_browser, atoi( setname + 11 ) ); else if ( !strcmp( setname, "copy_loc_last" ) ) { set2 = xset_get( "copy_loc_last" ); copy_dest = g_strdup( set2->desc ); } else if ( !strcmp( setname, "move_tab_prev" ) ) move_dest = main_window_get_tab_cwd( file_browser, -1 ); else if ( !strcmp( setname, "move_tab_next" ) ) move_dest = main_window_get_tab_cwd( file_browser, -2 ); else if ( !strncmp( setname, "move_tab_", 9 ) ) move_dest = main_window_get_tab_cwd( file_browser, atoi( setname + 9 ) ); else if ( !strcmp( setname, "move_panel_prev" ) ) move_dest = main_window_get_panel_cwd( file_browser, -1 ); else if ( !strcmp( setname, "move_panel_next" ) ) move_dest = main_window_get_panel_cwd( file_browser, -2 ); else if ( !strncmp( setname, "move_panel_", 11 ) ) move_dest = main_window_get_panel_cwd( file_browser, atoi( setname + 11 ) ); else if ( !strcmp( setname, "move_loc_last" ) ) { set2 = xset_get( "copy_loc_last" ); move_dest = g_strdup( set2->desc ); } if ( ( g_str_has_prefix( setname, "copy_loc" ) || g_str_has_prefix( setname, "move_loc" ) ) && !copy_dest && !move_dest ) { char* folder; set2 = xset_get( "copy_loc_last" ); if ( set2->desc ) folder = set2->desc; else folder = cwd; path = xset_file_dialog( GTK_WIDGET( file_browser ), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _("Choose Location"), folder, NULL ); if ( path && g_file_test( path, G_FILE_TEST_IS_DIR ) ) { if ( g_str_has_prefix( setname, "copy_loc" ) ) copy_dest = path; else move_dest = path; set2 = xset_get( "copy_loc_last" ); xset_set_set( set2, "desc", path ); } else return; } if ( copy_dest || move_dest ) { int file_action; char* dest_dir; if ( copy_dest ) { file_action = VFS_FILE_TASK_COPY; dest_dir = copy_dest; } else { file_action = VFS_FILE_TASK_MOVE; dest_dir = move_dest; } if ( !strcmp( dest_dir, cwd ) ) { xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("Invalid Destination"), NULL, 0, _("Destination same as source"), NULL, NULL ); g_free( dest_dir ); return; } // rebuild sel_files with full paths GList* file_list = NULL; GList* sel; char* file_path; VFSFileInfo* file; for ( sel = sel_files; sel; sel = sel->next ) { file = ( VFSFileInfo* ) sel->data; file_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); file_list = g_list_prepend( file_list, file_path ); } // task PtkFileTask* task = ptk_file_task_new( file_action, file_list, dest_dir, GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), file_browser->task_view ); ptk_file_task_run( task ); g_free( dest_dir ); } else { xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("Invalid Destination"), NULL, 0, _("Invalid destination"), NULL, NULL ); } } void ptk_file_browser_hide_selected( PtkFileBrowser* file_browser, GList* files, char* cwd ) { if ( xset_msg_dialog( GTK_WIDGET( file_browser ), 0, _("Hide File"), NULL, GTK_BUTTONS_OK_CANCEL, _("The names of the selected files will be added to the '.hidden' file located in this folder, which will hide them from view in SpaceFM. You may need to refresh the view or restart SpaceFM for the files to disappear.\n\nTo unhide a file, open the .hidden file in your text editor, remove the name of the file, and refresh."), NULL, NULL ) != GTK_RESPONSE_OK ) return; VFSFileInfo* file; GList *l; if ( files ) { for ( l = files; l; l = l->next ) { file = ( VFSFileInfo* ) l->data; if ( !vfs_dir_add_hidden( cwd, vfs_file_info_get_name( file ) ) ) ptk_show_error( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), _("Error"), _("Error hiding files") ); } // refresh from here causes a segfault occasionally //ptk_file_browser_refresh( NULL, file_browser ); } else ptk_show_error( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), _("Error"), _( "No files are selected" ) ); } void ptk_file_browser_file_properties( PtkFileBrowser* file_browser, int page ) { GtkWidget * parent; GList* sel_files = NULL; char* dir_name = NULL; const char* cwd; if ( ! file_browser ) return ; sel_files = ptk_file_browser_get_selected_files( file_browser ); cwd = ptk_file_browser_get_cwd( file_browser ); if ( !sel_files ) { VFSFileInfo * file = vfs_file_info_new(); vfs_file_info_get( file, ptk_file_browser_get_cwd( file_browser ), NULL ); sel_files = g_list_prepend( NULL, file ); dir_name = g_path_get_dirname( cwd ); } parent = gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ); ptk_show_file_properties( GTK_WINDOW( parent ), dir_name ? dir_name : cwd, sel_files, page ); vfs_file_info_list_free( sel_files ); g_free( dir_name ); } void on_popup_file_properties_activate ( GtkMenuItem *menuitem, gpointer user_data ) { GObject * popup = G_OBJECT( user_data ); PtkFileBrowser* file_browser = ( PtkFileBrowser* ) g_object_get_data( popup, "PtkFileBrowser" ); ptk_file_browser_file_properties( file_browser, 0 ); } void ptk_file_browser_show_hidden_files( PtkFileBrowser* file_browser, gboolean show ) { if ( !!file_browser->show_hidden_files == show ) return; file_browser->show_hidden_files = show; if ( file_browser->file_list ) { ptk_file_browser_update_model( file_browser ); g_signal_emit( file_browser, signals[ SEL_CHANGE_SIGNAL ], 0 ); } if ( file_browser->side_dir ) { ptk_dir_tree_view_show_hidden_files( GTK_TREE_VIEW( file_browser->side_dir ), file_browser->show_hidden_files ); } ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_SHOW_HIDDEN ); } static gboolean on_dir_tree_button_press( GtkWidget* view, GdkEventButton* evt, PtkFileBrowser* file_browser ) { ptk_file_browser_focus_me( file_browser ); if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( file_browser->main_window, evt_win_click, "evt_win_click", 0, 0, "dirtree", 0, evt->button, evt->state, TRUE ) ) return FALSE; if ( evt->type == GDK_BUTTON_PRESS && evt->button == 2 ) /* middle click */ { /* left and right click handled in ptk-dir-tree-view.c * on_dir_tree_view_button_press() */ GtkTreeModel * model; GtkTreePath* tree_path; GtkTreeIter it; model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), evt->x, evt->y, &tree_path, NULL, NULL, NULL ) ) { if ( gtk_tree_model_get_iter( model, &it, tree_path ) ) { VFSFileInfo * file; gtk_tree_model_get( model, &it, COL_DIR_TREE_INFO, &file, -1 ); if ( file ) { char* file_path; file_path = ptk_dir_view_get_dir_path( model, &it ); g_signal_emit( file_browser, signals[ OPEN_ITEM_SIGNAL ], 0, file_path, PTK_OPEN_NEW_TAB ); g_free( file_path ); vfs_file_info_unref( file ); } } gtk_tree_path_free( tree_path ); } return TRUE; } return FALSE; } GtkWidget* ptk_file_browser_create_dir_tree( PtkFileBrowser* file_browser ) { GtkWidget * dir_tree; GtkTreeSelection* dir_tree_sel; dir_tree = ptk_dir_tree_view_new( file_browser, file_browser->show_hidden_files ); dir_tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( dir_tree ) ); g_signal_connect ( dir_tree, "row-activated", G_CALLBACK ( on_dir_tree_row_activated ), file_browser ); g_signal_connect ( dir_tree, "button-press-event", G_CALLBACK ( on_dir_tree_button_press ), file_browser ); // set font if ( xset_get_s_panel( file_browser->mypanel, "font_file" ) ) { PangoFontDescription* font_desc = pango_font_description_from_string( xset_get_s_panel( file_browser->mypanel, "font_file" ) ); gtk_widget_modify_font( dir_tree, font_desc ); pango_font_description_free( font_desc ); } return dir_tree; } int file_list_order_from_sort_order( PtkFBSortOrder order ) { int col; switch ( order ) { case PTK_FB_SORT_BY_NAME: col = COL_FILE_NAME; break; case PTK_FB_SORT_BY_SIZE: col = COL_FILE_SIZE; break; case PTK_FB_SORT_BY_MTIME: col = COL_FILE_MTIME; break; case PTK_FB_SORT_BY_TYPE: col = COL_FILE_DESC; break; case PTK_FB_SORT_BY_PERM: col = COL_FILE_PERM; break; case PTK_FB_SORT_BY_OWNER: col = COL_FILE_OWNER; break; default: col = COL_FILE_NAME; } return col; } void ptk_file_browser_read_sort_extra( PtkFileBrowser* file_browser ) { PtkFileList* list = PTK_FILE_LIST( file_browser->file_list ); if ( !list ) return; list->sort_natural = xset_get_b_panel( file_browser->mypanel, "sort_extra" ); list->sort_case = xset_get_int_panel( file_browser->mypanel, "sort_extra", "x" ) == XSET_B_TRUE; list->sort_dir = xset_get_int_panel( file_browser->mypanel, "sort_extra", "y" ); list->sort_hidden_first = xset_get_int_panel( file_browser->mypanel, "sort_extra", "z" ) == XSET_B_TRUE; } void ptk_file_browser_set_sort_extra( PtkFileBrowser* file_browser, const char* setname ) { if ( !file_browser || !setname ) return; XSet* set = xset_get( setname ); if ( !g_str_has_prefix( set->name, "sortx_" ) ) return; const char* name = set->name + 6; PtkFileList* list = PTK_FILE_LIST( file_browser->file_list ); if ( !list ) return; int panel = file_browser->mypanel; char* val = NULL; if ( !strcmp( name, "natural" ) ) { list->sort_natural = set->b == XSET_B_TRUE; xset_set_b_panel( panel, "sort_extra", list->sort_natural ); } else if ( !strcmp( name, "case" ) ) { list->sort_case = set->b == XSET_B_TRUE; val = g_strdup_printf( "%d", set->b ); xset_set_panel( panel, "sort_extra", "x", val ); } else if ( !strcmp( name, "folders" ) ) { list->sort_dir = PTK_LIST_SORT_DIR_FIRST; val = g_strdup_printf( "%d", PTK_LIST_SORT_DIR_FIRST ); xset_set_panel( panel, "sort_extra", "y", val ); } else if ( !strcmp( name, "files" ) ) { list->sort_dir = PTK_LIST_SORT_DIR_LAST; val = g_strdup_printf( "%d", PTK_LIST_SORT_DIR_LAST ); xset_set_panel( panel, "sort_extra", "y", val ); } else if ( !strcmp( name, "mix" ) ) { list->sort_dir = PTK_LIST_SORT_DIR_MIXED; val = g_strdup_printf( "%d", PTK_LIST_SORT_DIR_MIXED ); xset_set_panel( panel, "sort_extra", "y", val ); } else if ( !strcmp( name, "hidfirst" ) ) { list->sort_hidden_first = set->b == XSET_B_TRUE; val = g_strdup_printf( "%d", set->b ); xset_set_panel( panel, "sort_extra", "z", val ); } else if ( !strcmp( name, "hidlast" ) ) { list->sort_hidden_first = set->b != XSET_B_TRUE; val = g_strdup_printf( "%d", set->b == XSET_B_TRUE ? XSET_B_FALSE : XSET_B_TRUE ); xset_set_panel( panel, "sort_extra", "z", val ); } g_free( val ); ptk_file_list_sort( list ); } void ptk_file_browser_set_sort_order( PtkFileBrowser* file_browser, PtkFBSortOrder order ) { int col; if ( order == file_browser->sort_order ) return ; file_browser->sort_order = order; col = file_list_order_from_sort_order( order ); if ( file_browser->file_list ) { gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE( file_browser->file_list ), col, file_browser->sort_type ); } } void ptk_file_browser_set_sort_type( PtkFileBrowser* file_browser, GtkSortType order ) { int col; GtkSortType old_order; if ( order != file_browser->sort_type ) { file_browser->sort_type = order; if ( file_browser->file_list ) { gtk_tree_sortable_get_sort_column_id( GTK_TREE_SORTABLE( file_browser->file_list ), &col, &old_order ); gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE( file_browser->file_list ), col, order ); } } } PtkFBSortOrder ptk_file_browser_get_sort_order( PtkFileBrowser* file_browser ) { return file_browser->sort_order; } GtkSortType ptk_file_browser_get_sort_type( PtkFileBrowser* file_browser ) { return file_browser->sort_type; } /* FIXME: Don't recreate the view if previous view is compact view */ void ptk_file_browser_view_as_icons( PtkFileBrowser* file_browser ) { if ( file_browser->view_mode == PTK_FB_ICON_VIEW && file_browser->folder_view ) return ; show_thumbnails( file_browser, PTK_FILE_LIST( file_browser->file_list ), TRUE, file_browser->max_thumbnail ); file_browser->view_mode = PTK_FB_ICON_VIEW; if ( file_browser->folder_view ) gtk_widget_destroy( file_browser->folder_view ); file_browser->folder_view = create_folder_view( file_browser, PTK_FB_ICON_VIEW ); exo_icon_view_set_model( EXO_ICON_VIEW( file_browser->folder_view ), file_browser->file_list ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->folder_view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_widget_show( file_browser->folder_view ); gtk_container_add( GTK_CONTAINER( file_browser->folder_view_scroll ), file_browser->folder_view ); } /* FIXME: Don't recreate the view if previous view is icon view */ void ptk_file_browser_view_as_compact_list( PtkFileBrowser* file_browser ) { if ( file_browser->view_mode == PTK_FB_COMPACT_VIEW && file_browser->folder_view ) return ; show_thumbnails( file_browser, PTK_FILE_LIST( file_browser->file_list ), file_browser->large_icons, file_browser->max_thumbnail ); file_browser->view_mode = PTK_FB_COMPACT_VIEW; if ( file_browser->folder_view ) gtk_widget_destroy( file_browser->folder_view ); file_browser->folder_view = create_folder_view( file_browser, PTK_FB_COMPACT_VIEW ); exo_icon_view_set_model( EXO_ICON_VIEW( file_browser->folder_view ), file_browser->file_list ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->folder_view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_widget_show( file_browser->folder_view ); gtk_container_add( GTK_CONTAINER( file_browser->folder_view_scroll ), file_browser->folder_view ); } void ptk_file_browser_view_as_list ( PtkFileBrowser* file_browser ) { if ( file_browser->view_mode == PTK_FB_LIST_VIEW && file_browser->folder_view ) return ; show_thumbnails( file_browser, PTK_FILE_LIST( file_browser->file_list ), file_browser->large_icons, file_browser->max_thumbnail ); file_browser->view_mode = PTK_FB_LIST_VIEW; if ( file_browser->folder_view ) gtk_widget_destroy( file_browser->folder_view ); file_browser->folder_view = create_folder_view( file_browser, PTK_FB_LIST_VIEW ); gtk_tree_view_set_model( GTK_TREE_VIEW( file_browser->folder_view ), file_browser->file_list ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( file_browser->folder_view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS ); gtk_widget_show( file_browser->folder_view ); gtk_container_add( GTK_CONTAINER( file_browser->folder_view_scroll ), file_browser->folder_view ); } void ptk_file_browser_create_new_file( PtkFileBrowser* file_browser, gboolean create_folder ) { VFSFileInfo *file = NULL; if( ptk_create_new_file( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ), ptk_file_browser_get_cwd( file_browser ), create_folder, &file ) ) { PtkFileList* list = PTK_FILE_LIST( file_browser->file_list ); GtkTreeIter it; /* generate created event before FAM to enhance responsiveness. */ vfs_dir_emit_file_created( file_browser->dir, vfs_file_info_get_name(file), TRUE ); /* select the created file */ if( ptk_file_list_find_iter( list, &it, file ) ) { GtkTreePath* tp = gtk_tree_model_get_path( GTK_TREE_MODEL(list), &it ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), tp ); exo_icon_view_set_cursor( EXO_ICON_VIEW( file_browser->folder_view ), tp, NULL, FALSE ); /* NOTE for dirty hack: * Layout of icon view is done in idle handler, * so we have to let it re-layout after the insertion of new item. * or we cannot scroll to the specified path correctly. */ while( gtk_events_pending() ) gtk_main_iteration(); exo_icon_view_scroll_to_path( EXO_ICON_VIEW( file_browser->folder_view ), tp, FALSE, 0, 0 ); } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { //MOD give new folder/file focus //GtkTreeSelection * tree_sel; //tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); //gtk_tree_selection_select_iter( tree_sel, &it ); GtkTreeSelection *selection; GList *selected_paths = NULL; GList *lp; /* save selected paths */ selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); selected_paths = gtk_tree_selection_get_selected_rows( selection, NULL ); gtk_tree_view_set_cursor( GTK_TREE_VIEW( file_browser->folder_view ), tp, NULL, FALSE); /* select all previously selected paths */ for (lp = selected_paths; lp != NULL; lp = lp->next) gtk_tree_selection_select_path (selection, lp->data); /* while( gtk_events_pending() ) gtk_main_iteration(); */ gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( file_browser->folder_view ), tp, NULL, FALSE, 0, 0 ); } gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); //MOD gtk_tree_path_free( tp ); } vfs_file_info_unref( file ); } } guint ptk_file_browser_get_n_sel( PtkFileBrowser* file_browser, guint64* sel_size ) { if ( sel_size ) *sel_size = file_browser->sel_size; return file_browser->n_sel_files; } void ptk_file_browser_before_chdir( PtkFileBrowser* file_browser, const char* path, gboolean* cancel ) {} void ptk_file_browser_after_chdir( PtkFileBrowser* file_browser ) {} void ptk_file_browser_content_change( PtkFileBrowser* file_browser ) {} void ptk_file_browser_sel_change( PtkFileBrowser* file_browser ) {} void ptk_file_browser_pane_mode_change( PtkFileBrowser* file_browser ) {} void ptk_file_browser_open_item( PtkFileBrowser* file_browser, const char* path, int action ) {} void ptk_file_browser_show_shadow( PtkFileBrowser* file_browser ) { gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW ( file_browser->folder_view_scroll ), GTK_SHADOW_IN ); } void ptk_file_browser_hide_shadow( PtkFileBrowser* file_browser ) { gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW ( file_browser->folder_view_scroll ), GTK_SHADOW_NONE ); } void show_thumbnails( PtkFileBrowser* file_browser, PtkFileList* list, gboolean is_big, int max_file_size ) { /* This function collects all calls to ptk_file_list_show_thumbnails() * and disables them if change detection is blacklisted on current device */ if ( !( file_browser && file_browser->dir ) ) max_file_size = 0; else if ( file_browser->dir->avoid_changes ) max_file_size = 0; ptk_file_list_show_thumbnails( list, is_big, max_file_size ); ptk_file_browser_update_toolbar_widgets( file_browser, NULL, XSET_TOOL_SHOW_THUMB ); } void ptk_file_browser_show_thumbnails( PtkFileBrowser* file_browser, int max_file_size ) { file_browser->max_thumbnail = max_file_size; if ( file_browser->file_list ) { show_thumbnails( file_browser, PTK_FILE_LIST( file_browser->file_list ), file_browser->large_icons, max_file_size ); } } #if 0 // no longer used because icon size changes required a rebuild of folder_view // due to text renderer not resizing void ptk_file_browser_update_display( PtkFileBrowser* file_browser ) { GtkTreeSelection * tree_sel; GList *sel = NULL, *l; GtkTreePath* tree_path; int big_icon_size, small_icon_size; if ( ! file_browser->file_list ) return ; g_object_ref( G_OBJECT( file_browser->file_list ) ); if ( file_browser->max_thumbnail ) show_thumbnails( file_browser, PTK_FILE_LIST( file_browser->file_list ), file_browser->large_icons, file_browser->max_thumbnail ); vfs_mime_type_get_icon_size( &big_icon_size, &small_icon_size ); if ( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) { sel = exo_icon_view_get_selected_items( EXO_ICON_VIEW( file_browser->folder_view ) ); exo_icon_view_set_model( EXO_ICON_VIEW( file_browser->folder_view ), NULL ); if( file_browser->view_mode == PTK_FB_ICON_VIEW ) gtk_cell_renderer_set_fixed_size( file_browser->icon_render, big_icon_size, big_icon_size ); else if( file_browser->view_mode == PTK_FB_COMPACT_VIEW ) gtk_cell_renderer_set_fixed_size( file_browser->icon_render, file_browser->large_icons ? big_icon_size : small_icon_size, file_browser->large_icons ? big_icon_size : small_icon_size ); exo_icon_view_set_model( EXO_ICON_VIEW( file_browser->folder_view ), GTK_TREE_MODEL( file_browser->file_list ) ); for ( l = sel; l; l = l->next ) { tree_path = ( GtkTreePath* ) l->data; exo_icon_view_select_path( EXO_ICON_VIEW( file_browser->folder_view ), tree_path ); gtk_tree_path_free( tree_path ); } } else if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( file_browser->folder_view ) ); sel = gtk_tree_selection_get_selected_rows( tree_sel, NULL ); gtk_tree_view_set_model( GTK_TREE_VIEW( file_browser->folder_view ), NULL ); gtk_cell_renderer_set_fixed_size( file_browser->icon_render, file_browser->large_icons ? big_icon_size : small_icon_size, file_browser->large_icons ? big_icon_size : small_icon_size ); gtk_tree_view_set_model( GTK_TREE_VIEW( file_browser->folder_view ), GTK_TREE_MODEL( file_browser->file_list ) ); for ( l = sel; l; l = l->next ) { tree_path = ( GtkTreePath* ) l->data; gtk_tree_selection_select_path( tree_sel, tree_path ); gtk_tree_path_free( tree_path ); } } g_list_free( sel ); g_object_unref( G_OBJECT( file_browser->file_list ) ); } #endif void ptk_file_browser_emit_open( PtkFileBrowser* file_browser, const char* path, PtkOpenAction action ) { g_signal_emit( file_browser, signals[ OPEN_ITEM_SIGNAL ], 0, path, action ); } void ptk_file_browser_set_single_click( PtkFileBrowser* file_browser, gboolean single_click ) { if( single_click == file_browser->single_click ) return; if( file_browser->view_mode == PTK_FB_LIST_VIEW ) exo_tree_view_set_single_click( (ExoTreeView*)file_browser->folder_view, single_click ); else if( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) exo_icon_view_set_single_click( (ExoIconView*)file_browser->folder_view, single_click ); file_browser->single_click = single_click; } void ptk_file_browser_set_single_click_timeout( PtkFileBrowser* file_browser, guint timeout ) { if( timeout == file_browser->single_click_timeout ) return; if( file_browser->view_mode == PTK_FB_LIST_VIEW ) exo_tree_view_set_single_click_timeout( (ExoTreeView*)file_browser->folder_view, timeout ); else if( file_browser->view_mode == PTK_FB_ICON_VIEW || file_browser->view_mode == PTK_FB_COMPACT_VIEW ) exo_icon_view_set_single_click_timeout( (ExoIconView*)file_browser->folder_view, timeout ); file_browser->single_click_timeout = timeout; } //////////////////////////////////////////////////////////////////////////// int ptk_file_browser_no_access( const char* cwd, const char* smode ) { int mode; if ( !smode ) mode = W_OK; else if ( !strcmp( smode, "R_OK" ) ) mode = R_OK; else mode = W_OK; int no_access = 0; #if defined(HAVE_EUIDACCESS) no_access = euidaccess( cwd, mode ); #elif defined(HAVE_EACCESS) no_access = eaccess( cwd, mode ); #endif return no_access; } void ptk_file_browser_find_file( GtkMenuItem *menuitem, PtkFileBrowser* file_browser ) { const char* cwd; const char* dirs[2]; cwd = ptk_file_browser_get_cwd( file_browser ); dirs[0] = cwd; dirs[1] = NULL; fm_find_files( dirs ); } void ptk_file_browser_focus( GtkMenuItem *item, PtkFileBrowser* file_browser, int job2 ) { GtkWidget* widget; int job; if ( item ) job = GPOINTER_TO_INT( g_object_get_data( G_OBJECT( item ), "job" ) ); else job = job2; FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int p = file_browser->mypanel; char mode = main_window->panel_context[p-1]; switch ( job ) { case 0: // path bar if ( !xset_get_b_panel_mode( p, "show_toolbox", mode ) ) { xset_set_b_panel_mode( p, "show_toolbox", mode, TRUE ); update_views_all_windows( NULL, file_browser ); } widget = file_browser->path_bar; break; case 1: if ( !xset_get_b_panel_mode( p, "show_dirtree", mode ) ) { xset_set_b_panel_mode( p, "show_dirtree", mode, TRUE ); update_views_all_windows( NULL, file_browser ); } widget = file_browser->side_dir; break; case 2: if ( !xset_get_b_panel_mode( p, "show_book", mode ) ) { xset_set_b_panel_mode( p, "show_book", mode, TRUE ); update_views_all_windows( NULL, file_browser ); } widget = file_browser->side_book; break; case 3: if ( !xset_get_b_panel_mode( p, "show_devmon", mode ) ) { xset_set_b_panel_mode( p, "show_devmon", mode, TRUE ); update_views_all_windows( NULL, file_browser ); } widget = file_browser->side_dev; break; case 4: widget = file_browser->folder_view; break; default: return; } if ( gtk_widget_get_visible( widget ) ) gtk_widget_grab_focus( GTK_WIDGET( widget ) ); } void focus_folder_view( PtkFileBrowser* file_browser ) { gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); g_signal_emit( file_browser, signals[ PANE_MODE_CHANGE_SIGNAL ], 0 ); } void ptk_file_browser_focus_me( PtkFileBrowser* file_browser ) { g_signal_emit( file_browser, signals[ PANE_MODE_CHANGE_SIGNAL ], 0 ); } void ptk_file_browser_go_tab( GtkMenuItem *item, PtkFileBrowser* file_browser, int t ) { //printf( "ptk_file_browser_go_tab fb=%#x\n", file_browser ); GtkWidget* notebook = file_browser->mynotebook; int tab_num; if ( item ) tab_num = GPOINTER_TO_INT( g_object_get_data( G_OBJECT( item ), "tab_num" ) ); else tab_num = t; if ( tab_num == -1 ) // prev { if ( gtk_notebook_get_current_page( GTK_NOTEBOOK( notebook ) ) == 0 ) gtk_notebook_set_current_page( GTK_NOTEBOOK( notebook ), gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ) - 1 ); else gtk_notebook_prev_page( GTK_NOTEBOOK( notebook ) ); } else if ( tab_num == -2 ) // next { if ( gtk_notebook_get_current_page( GTK_NOTEBOOK( notebook ) ) + 1 == gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ) ) gtk_notebook_set_current_page( GTK_NOTEBOOK( notebook ), 0 ); else gtk_notebook_next_page( GTK_NOTEBOOK( notebook ) ); } else if ( tab_num == -3 ) // close { on_close_notebook_page( NULL, file_browser ); } else { if ( tab_num <= gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ) && tab_num > 0 ) gtk_notebook_set_current_page( GTK_NOTEBOOK( notebook ), tab_num - 1 ); } } void ptk_file_browser_open_in_tab( PtkFileBrowser* file_browser, int tab_num, char* file_path ) { int page_x; GtkWidget* notebook = file_browser->mynotebook; int cur_page = gtk_notebook_get_current_page( GTK_NOTEBOOK( notebook ) ); int pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( notebook ) ); if ( tab_num == -1 ) // prev page_x = cur_page - 1; else if ( tab_num == -2 ) // next page_x = cur_page + 1; else page_x = tab_num - 1; if ( page_x > -1 && page_x < pages && page_x != cur_page ) { PtkFileBrowser* a_browser = (PtkFileBrowser*)gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook ), page_x ); ptk_file_browser_chdir( a_browser, file_path, PTK_FB_CHDIR_ADD_HISTORY ); } } void ptk_file_browser_on_permission( GtkMenuItem* item, PtkFileBrowser* file_browser, GList* sel_files, char* cwd ) { char* name; char* cmd; const char* prog; gboolean as_root = FALSE; char* user1 = "1000"; char* user2 = "1001"; char* myuser = g_strdup_printf( "%d", geteuid() ); if ( !sel_files ) return; XSet* set = (XSet*)g_object_get_data( G_OBJECT( item ), "set" ); if ( !set || !file_browser ) return; if ( !strncmp( set->name, "perm_", 5 ) ) { name = set->name + 5; if ( !strncmp( name, "go", 2 ) || !strncmp( name, "ugo", 3 ) ) prog = "chmod -R"; else prog = "chmod"; } else if ( !strncmp( set->name, "rperm_", 6 ) ) { name = set->name + 6; if ( !strncmp( name, "go", 2 ) || !strncmp( name, "ugo", 3 ) ) prog = "chmod -R"; else prog = "chmod"; as_root = TRUE; } else if ( !strncmp( set->name, "own_", 4 ) ) { name = set->name + 4; prog = "chown"; as_root = TRUE; } else if ( !strncmp( set->name, "rown_", 5 ) ) { name = set->name + 5; prog = "chown -R"; as_root = TRUE; } else return; if ( !strcmp( name, "r" ) ) cmd = g_strdup_printf( "u+r-wx,go-rwx" ); else if ( !strcmp( name, "rw" ) ) cmd = g_strdup_printf( "u+rw-x,go-rwx" ); else if ( !strcmp( name, "rwx" ) ) cmd = g_strdup_printf( "u+rwx,go-rwx" ); else if ( !strcmp( name, "r_r" ) ) cmd = g_strdup_printf( "u+r-wx,g+r-wx,o-rwx" ); else if ( !strcmp( name, "rw_r" ) ) cmd = g_strdup_printf( "u+rw-x,g+r-wx,o-rwx" ); else if ( !strcmp( name, "rw_rw" ) ) cmd = g_strdup_printf( "u+rw-x,g+rw-x,o-rwx" ); else if ( !strcmp( name, "rwxr_x" ) ) cmd = g_strdup_printf( "u+rwx,g+rx-w,o-rwx" ); else if ( !strcmp( name, "rwxrwx" ) ) cmd = g_strdup_printf( "u+rwx,g+rwx,o-rwx" ); else if ( !strcmp( name, "r_r_r" ) ) cmd = g_strdup_printf( "ugo+r,ugo-wx" ); else if ( !strcmp( name, "rw_r_r" ) ) cmd = g_strdup_printf( "u+rw-x,go+r-wx" ); else if ( !strcmp( name, "rw_rw_rw" ) ) cmd = g_strdup_printf( "ugo+rw-x" ); else if ( !strcmp( name, "rwxr_r" ) ) cmd = g_strdup_printf( "u+rwx,go+r-wx" ); else if ( !strcmp( name, "rwxr_xr_x" ) ) cmd = g_strdup_printf( "u+rwx,go+rx-w" ); else if ( !strcmp( name, "rwxrwxrwx" ) ) cmd = g_strdup_printf( "ugo+rwx,-t" ); else if ( !strcmp( name, "rwxrwxrwt" ) ) cmd = g_strdup_printf( "ugo+rwx,+t" ); else if ( !strcmp( name, "unstick" ) ) cmd = g_strdup_printf( "-t" ); else if ( !strcmp( name, "stick" ) ) cmd = g_strdup_printf( "+t" ); else if ( !strcmp( name, "go_w" ) ) cmd = g_strdup_printf( "go-w" ); else if ( !strcmp( name, "go_rwx" ) ) cmd = g_strdup_printf( "go-rwx" ); else if ( !strcmp( name, "ugo_w" ) ) cmd = g_strdup_printf( "ugo+w" ); else if ( !strcmp( name, "ugo_rx" ) ) cmd = g_strdup_printf( "ugo+rX" ); else if ( !strcmp( name, "ugo_rwx" ) ) cmd = g_strdup_printf( "ugo+rwX" ); else if ( !strcmp( name, "myuser" ) ) cmd = g_strdup_printf( "%s:%s", myuser, myuser ); else if ( !strcmp( name, "myuser_users" ) ) cmd = g_strdup_printf( "%s:users", myuser ); else if ( !strcmp( name, "user1" ) ) cmd = g_strdup_printf( "%s:%s", user1, user1 ); else if ( !strcmp( name, "user1_users" ) ) cmd = g_strdup_printf( "%s:users", user1 ); else if ( !strcmp( name, "user2" ) ) cmd = g_strdup_printf( "%s:%s", user2, user2 ); else if ( !strcmp( name, "user2_users" ) ) cmd = g_strdup_printf( "%s:users", user2 ); else if ( !strcmp( name, "root" ) ) cmd = g_strdup_printf( "root:root" ); else if ( !strcmp( name, "root_users" ) ) cmd = g_strdup_printf( "root:users" ); else if ( !strcmp( name, "root_myuser" ) ) cmd = g_strdup_printf( "root:%s", myuser ); else if ( !strcmp( name, "root_user1" ) ) cmd = g_strdup_printf( "root:%s", user1 ); else if ( !strcmp( name, "root_user2" ) ) cmd = g_strdup_printf( "root:%s", user2 ); else return; char* file_paths = g_strdup( "" ); GList* sel; char* file_path; char* str; for ( sel = sel_files; sel; sel = sel->next ) { file_path = bash_quote( vfs_file_info_get_name( ( VFSFileInfo* ) sel->data ) ); str = file_paths; file_paths = g_strdup_printf( "%s %s", file_paths, file_path ); g_free( str ); g_free( file_path ); } // task PtkFileTask* task = ptk_file_exec_new( set->menu_label, cwd, GTK_WIDGET( file_browser ), file_browser->task_view ); task->task->exec_command = g_strdup_printf( "%s %s %s", prog, cmd, file_paths ); g_free( cmd ); g_free( file_paths ); task->task->exec_browser = file_browser; task->task->exec_sync = TRUE; task->task->exec_show_error = TRUE; task->task->exec_show_output = FALSE; task->task->exec_export = FALSE; if ( as_root ) task->task->exec_as_user = g_strdup_printf( "root" ); ptk_file_task_run( task ); } void ptk_file_browser_on_action( PtkFileBrowser* browser, char* setname ) { char* xname; int i; XSet* set = xset_get( setname ); XSet* set2; FMMainWindow* main_window = (FMMainWindow*)browser->main_window; char mode = main_window->panel_context[browser->mypanel-1]; //printf("ptk_file_browser_on_action %s\n", set->name ); if ( g_str_has_prefix( set->name, "book_" ) ) { xname = set->name + 5; if ( !strcmp( xname, "icon" ) || !strcmp( xname, "menu_icon" ) ) ptk_bookmark_view_update_icons( NULL, browser ); else if ( !strcmp( xname, "add" ) ) { const char* text = browser->path_bar && gtk_widget_has_focus( browser->path_bar ) ? gtk_entry_get_text( GTK_ENTRY( browser->path_bar ) ) : NULL; if ( text && ( g_file_test( text, G_FILE_TEST_EXISTS ) || strstr( text, ":/" ) || g_str_has_prefix( text, "//" ) ) ) ptk_bookmark_view_add_bookmark( NULL, browser, text ); else ptk_bookmark_view_add_bookmark( NULL, browser, NULL ); } else if ( !strcmp( xname, "open" ) && browser->side_book ) ptk_bookmark_view_on_open_reverse( NULL, browser ); } else if ( g_str_has_prefix( set->name, "go_" ) ) { xname = set->name + 3; if ( !strcmp( xname, "back" ) ) ptk_file_browser_go_back( NULL, browser ); else if ( !strcmp( xname, "forward" ) ) ptk_file_browser_go_forward( NULL, browser ); else if ( !strcmp( xname, "up" ) ) ptk_file_browser_go_up( NULL, browser ); else if ( !strcmp( xname, "home" ) ) ptk_file_browser_go_home( NULL, browser ); else if ( !strcmp( xname, "default" ) ) ptk_file_browser_go_default( NULL, browser ); else if ( !strcmp( xname, "set_default" ) ) ptk_file_browser_set_default_folder( NULL, browser ); } else if ( g_str_has_prefix( set->name, "tab_" ) ) { xname = set->name + 4; if ( !strcmp( xname, "new" ) ) ptk_file_browser_new_tab( NULL, browser ); else if ( !strcmp( xname, "new_here" ) ) ptk_file_browser_new_tab_here( NULL, browser ); else { if ( !strcmp( xname, "prev" ) ) i = -1; else if ( !strcmp( xname, "next" ) ) i = -2; else if ( !strcmp( xname, "close" ) ) i = -3; else i = atoi( xname ); ptk_file_browser_go_tab( NULL, browser, i ); } } else if ( g_str_has_prefix( set->name, "focus_" ) ) { xname = set->name + 6; if ( !strcmp( xname, "path_bar" ) ) i = 0; else if ( !strcmp( xname, "filelist" ) ) i = 4; else if ( !strcmp( xname, "dirtree" ) ) i = 1; else if ( !strcmp( xname, "book" ) ) i = 2; else if ( !strcmp( xname, "device" ) ) i = 3; ptk_file_browser_focus( NULL, browser, i ); } else if ( !strcmp( set->name, "view_reorder_col" ) ) on_reorder( NULL, GTK_WIDGET( browser ) ); else if ( !strcmp( set->name, "view_refresh" ) ) ptk_file_browser_refresh( NULL, browser ); else if ( !strcmp( set->name, "view_thumb" ) ) main_window_toggle_thumbnails_all_windows(); else if ( g_str_has_prefix( set->name, "sortby_" ) ) { xname = set->name + 7; i = -3; if ( !strcmp( xname, "name" ) ) i = PTK_FB_SORT_BY_NAME; else if ( !strcmp( xname, "size" ) ) i = PTK_FB_SORT_BY_SIZE; else if ( !strcmp( xname, "type" ) ) i = PTK_FB_SORT_BY_TYPE; else if ( !strcmp( xname, "perm" ) ) i = PTK_FB_SORT_BY_PERM; else if ( !strcmp( xname, "owner" ) ) i = PTK_FB_SORT_BY_OWNER; else if ( !strcmp( xname, "date" ) ) i = PTK_FB_SORT_BY_MTIME; else if ( !strcmp( xname, "ascend" ) ) { i = -1; set->b = browser->sort_type == GTK_SORT_ASCENDING ? XSET_B_TRUE : XSET_B_FALSE; } else if ( !strcmp( xname, "descend" ) ) { i = -2; set->b = browser->sort_type == GTK_SORT_DESCENDING ? XSET_B_TRUE : XSET_B_FALSE; } if ( i > 0 ) set->b = browser->sort_order == i ? XSET_B_TRUE : XSET_B_FALSE; on_popup_sortby( NULL, browser, i ); } else if ( g_str_has_prefix( set->name, "sortx_" ) ) ptk_file_browser_set_sort_extra( browser, set->name ); else if ( !strcmp( set->name, "path_help" ) ) ptk_path_entry_help( NULL, GTK_WIDGET( browser ) ); else if ( g_str_has_prefix( set->name, "panel" ) ) { i = 0; if ( strlen( set->name ) > 6 ) { xname = g_strdup( set->name + 5 ); xname[1] = '\0'; i = atoi( xname ); xname[1] = '_'; g_free( xname ); } //printf( "ACTION panelN=%d %c\n", i, set->name[5] ); if ( i > 0 && i < 5 ) { xname = set->name + 7; if ( !strcmp( xname, "show_hidden" ) ) // shared key { ptk_file_browser_show_hidden_files( browser, xset_get_b_panel( browser->mypanel, "show_hidden" ) ); } else if ( !strcmp( xname, "show" ) ) // main View|Panel N show_panels_all_windows( NULL, (FMMainWindow*)browser->main_window ); else if ( g_str_has_prefix( xname, "show_" ) ) // shared key { set2 = xset_get_panel_mode( browser->mypanel, xname, mode ); set2->b = set2->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; update_views_all_windows( NULL, browser ); if ( !strcmp( xname, "show_book" ) && browser->side_book ) { ptk_bookmark_view_chdir( GTK_TREE_VIEW( browser->side_book ), browser, TRUE ); gtk_widget_grab_focus( GTK_WIDGET( browser->side_book ) ); } } else if ( !strcmp( xname, "list_detailed" ) ) // shared key on_popup_list_detailed( NULL, browser ); else if ( !strcmp( xname, "list_icons" ) ) // shared key on_popup_list_icons( NULL, browser ); else if ( !strcmp( xname, "list_compact" ) ) // shared key on_popup_list_compact( NULL, browser ); else if ( !strcmp( xname, "list_large" ) ) // shared key { if ( browser->view_mode != PTK_FB_ICON_VIEW ) { xset_set_b_panel( browser->mypanel, "list_large", !browser->large_icons ); on_popup_list_large( NULL, browser ); } } else if ( !strcmp( xname, "icon_tab" ) || g_str_has_prefix( xname, "font_" ) ) main_update_fonts( NULL, browser ); else if ( g_str_has_prefix( xname, "detcol_" ) // shared key && browser->view_mode == PTK_FB_LIST_VIEW ) { set2 = xset_get_panel_mode( browser->mypanel, xname, mode ); set2->b = set2->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; update_views_all_windows( NULL, browser ); } else if ( !strcmp( xname, "icon_status" ) ) // shared key on_status_effect_change( NULL, browser ); else if ( !strcmp( xname, "font_status" ) ) // shared key on_status_effect_change( NULL, browser ); } } else if ( g_str_has_prefix( set->name, "status_" ) ) { xname = set->name + 7; if ( !strcmp( xname, "border" ) || !strcmp( xname, "text" ) ) on_status_effect_change( NULL, browser ); else if ( !strcmp( xname, "name" ) || !strcmp( xname, "path" ) || !strcmp( xname, "info" ) || !strcmp( xname, "hide" ) ) on_status_middle_click_config( NULL, set ); } else if ( g_str_has_prefix( set->name, "paste_" ) ) { xname = set->name + 6; if ( !strcmp( xname, "link" ) ) ptk_file_browser_paste_link( browser ); else if ( !strcmp( xname, "target" ) ) ptk_file_browser_paste_target( browser ); else if ( !strcmp( xname, "as" ) ) ptk_file_misc_paste_as( NULL, browser, ptk_file_browser_get_cwd( browser ), NULL ); } else if ( g_str_has_prefix( set->name, "select_" ) ) { xname = set->name + 7; if ( !strcmp( xname, "all" ) ) ptk_file_browser_select_all( NULL, browser ); else if ( !strcmp( xname, "un" ) ) ptk_file_browser_unselect_all( NULL, browser ); else if ( !strcmp( xname, "invert" ) ) ptk_file_browser_invert_selection( NULL, browser ); else if ( !strcmp( xname, "patt" ) ) ptk_file_browser_select_pattern( NULL, browser, NULL ); } else // all the rest require ptkfilemenu data ptk_file_menu_action( NULL, browser, set->name ); } spacefm-1.0.5/src/ptk/ptk-file-browser.h000066400000000000000000000320111264770501700200730ustar00rootroot00000000000000#ifndef _FILE_BROWSER_H_ #define _FILE_BROWSER_H_ #include #include #include "vfs-dir.h" G_BEGIN_DECLS #define PTK_TYPE_FILE_BROWSER (ptk_file_browser_get_type()) #define PTK_FILE_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PTK_TYPE_FILE_BROWSER, PtkFileBrowser)) #define PTK_FILE_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PTK_TYPE_FILE_BROWSER, PtkFileBrowserClass)) #define PTK_IS_FILE_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PTK_TYPE_FILE_BROWSER)) #define PTK_IS_FILE_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PTK_TYPE_FILE_BROWSER)) #define PTK_FILE_BROWSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PTK_TYPE_FILE_BROWSER, PtkFileBrowserClass)) typedef enum{ PTK_FB_ICON_VIEW, PTK_FB_LIST_VIEW, PTK_FB_COMPACT_VIEW }PtkFBViewMode; typedef enum{ PTK_FB_SORT_BY_NAME = 0, PTK_FB_SORT_BY_SIZE, PTK_FB_SORT_BY_MTIME, PTK_FB_SORT_BY_TYPE, PTK_FB_SORT_BY_PERM, PTK_FB_SORT_BY_OWNER }PtkFBSortOrder; typedef enum{ PTK_FB_CHDIR_NORMAL, PTK_FB_CHDIR_ADD_HISTORY, PTK_FB_CHDIR_NO_HISTORY, PTK_FB_CHDIR_BACK, PTK_FB_CHDIR_FORWARD }PtkFBChdirMode; typedef struct _PtkFileBrowser PtkFileBrowser; typedef struct _PtkFileBrowserClass PtkFileBrowserClass; struct _PtkFileBrowser { /* parent class */ GtkVBox parent; /* */ GList* history; GList* curHistory; GList* histsel; //MOD added GList* curhistsel; //MOD added VFSDir* dir; GtkTreeModel* file_list; int max_thumbnail; int n_sel_files; off_t sel_size; guint sel_change_idle; // path bar auto seek gboolean inhibit_focus; char* seek_name; /* side pane */ GtkWidget* side_pane_buttons; GtkToggleToolButton* location_btn; GtkToggleToolButton* dir_tree_btn; GtkSortType sort_type; PtkFBSortOrder sort_order : 4; PtkFBViewMode view_mode : 2; gboolean single_click : 1; gboolean show_hidden_files : 1; gboolean large_icons : 1; gboolean busy : 1; gboolean pending_drag_status : 1; dev_t drag_source_dev; ino_t drag_source_inode; int drag_x; int drag_y; gboolean pending_drag_status_tree : 1; dev_t drag_source_dev_tree; gboolean is_drag : 1; gboolean skip_release : 1; gboolean menu_shown : 1; char* book_set_name; /* folder view */ GtkWidget* folder_view; GtkWidget* folder_view_scroll; GtkCellRenderer* icon_render; guint single_click_timeout; glong prev_update_time; guint update_timeout; //MOD int mypanel; GtkWidget* mynotebook; GtkWidget* task_view; gpointer main_window; GtkWidget* toolbox; GtkWidget* path_bar; GtkWidget* hpane; GtkWidget* side_vbox; GtkWidget* side_toolbox; GtkWidget* side_vpane_top; GtkWidget* side_vpane_bottom; GtkWidget* side_dir_scroll; GtkWidget* side_dev_scroll; GtkWidget* side_book_scroll; GtkWidget* side_book; GtkWidget* side_dir; GtkWidget* side_dev; GtkWidget* status_bar; GtkFrame* status_frame; GtkLabel* status_label; GtkWidget* status_image; GtkWidget* toolbar; GtkWidget* side_toolbar; GSList* toolbar_widgets[10]; gboolean bookmark_button_press : 1; GtkTreeIter book_iter_inserted; char* select_path; char* status_bar_custom; }; typedef enum{ PTK_OPEN_DIR, PTK_OPEN_NEW_TAB, PTK_OPEN_NEW_WINDOW, PTK_OPEN_TERMINAL, PTK_OPEN_FILE }PtkOpenAction; struct _PtkFileBrowserClass { GtkPanedClass parent; /* Default signal handlers */ void ( *before_chdir ) ( PtkFileBrowser* file_browser, const char* path, gboolean* cancel ); void ( *begin_chdir ) ( PtkFileBrowser* file_browser ); void ( *after_chdir ) ( PtkFileBrowser* file_browser ); void ( *open_item ) ( PtkFileBrowser* file_browser, const char* path, int action ); void ( *content_change ) ( PtkFileBrowser* file_browser ); void ( *sel_change ) ( PtkFileBrowser* file_browser ); void ( *pane_mode_change ) ( PtkFileBrowser* file_browser ); }; GType ptk_file_browser_get_type ( void ); GtkWidget* ptk_file_browser_new( int curpanel, GtkWidget* notebook, GtkWidget* task_view, gpointer main_window ); /* * folder_path should be encodede in on-disk encoding */ gboolean ptk_file_browser_chdir( PtkFileBrowser* file_browser, const char* folder_path, PtkFBChdirMode mode ); /* * returned path should be encodede in on-disk encoding */ const char* ptk_file_browser_get_cwd( PtkFileBrowser* file_browser ); /* * returned path should be encodede in UTF-8 */ const char* ptk_file_browser_get_cwd( PtkFileBrowser* file_browser ); guint ptk_file_browser_get_n_all_files( PtkFileBrowser* file_browser ); guint ptk_file_browser_get_n_visible_files( PtkFileBrowser* file_browser ); guint ptk_file_browser_get_n_sel( PtkFileBrowser* file_browser, guint64* sel_size ); gboolean ptk_file_browser_can_back( PtkFileBrowser* file_browser ); void ptk_file_browser_go_back( GtkWidget* item, PtkFileBrowser* file_browser ); gboolean ptk_file_browser_can_forward( PtkFileBrowser* file_browser ); void ptk_file_browser_go_forward( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_go_up( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_refresh( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_update_mime_icons( PtkFileBrowser* file_browser ); gboolean ptk_file_browser_is_busy( PtkFileBrowser* file_browser ); GtkWidget* ptk_file_browser_get_folder_view( PtkFileBrowser* file_browser ); void ptk_file_browser_show_hidden_files( PtkFileBrowser* file_browser, gboolean show ); void ptk_file_browser_set_single_click( PtkFileBrowser* file_browser, gboolean single_click ); void ptk_file_browser_set_single_click_timeout( PtkFileBrowser* file_browser, guint timeout ); void ptk_file_browser_show_shadow( PtkFileBrowser* file_browser ); void ptk_file_browser_hide_shadow( PtkFileBrowser* file_browser ); /* Sorting files */ void ptk_file_browser_set_sort_order( PtkFileBrowser* file_browser, PtkFBSortOrder order ); void ptk_file_browser_set_sort_type( PtkFileBrowser* file_browser, GtkSortType order ); void ptk_file_browser_set_sort_extra( PtkFileBrowser* file_browser, const char* setname ); void ptk_file_browser_read_sort_extra( PtkFileBrowser* file_browser ); PtkFBSortOrder ptk_file_browser_get_sort_order( PtkFileBrowser* file_browser ); GtkSortType ptk_file_browser_get_sort_type( PtkFileBrowser* file_browser ); GList* ptk_file_browser_get_selected_files( PtkFileBrowser* file_browser ); /* Return a list of selected filenames (full paths in on-disk encoding) */ void ptk_file_browser_open_selected_files( PtkFileBrowser* file_browser ); gboolean ptk_file_browser_can_paste( PtkFileBrowser* file_browser ); void ptk_file_browser_paste( PtkFileBrowser* file_browser ); void ptk_file_browser_paste_link( PtkFileBrowser* file_browser ); //MOD added void ptk_file_browser_paste_target( PtkFileBrowser* file_browser ); //MOD added gboolean ptk_file_browser_can_cut_or_copy( PtkFileBrowser* file_browser ); void ptk_file_browser_cut( PtkFileBrowser* file_browser ); void ptk_file_browser_copy( PtkFileBrowser* file_browser ); gboolean ptk_file_browser_can_delete( PtkFileBrowser* file_browser ); void ptk_file_browser_delete( PtkFileBrowser* file_browser ); void ptk_file_browser_select_all( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_select_last( PtkFileBrowser* file_browser ); //MOD added void ptk_file_browser_invert_selection( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_unselect_all( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_select_pattern( GtkWidget* item, PtkFileBrowser* file_browser, const char* search_key ); //sfm void ptk_file_browser_canon( PtkFileBrowser* file_browser, const char* path ); void ptk_file_browser_rename_selected_files( PtkFileBrowser* file_browser, GList* files, char* cwd ); void ptk_file_browser_file_properties( PtkFileBrowser* file_browser, int page ); void ptk_file_browser_view_as_icons( PtkFileBrowser* file_browser ); void ptk_file_browser_view_as_compact_list ( PtkFileBrowser* file_browser ); void ptk_file_browser_view_as_list ( PtkFileBrowser* file_browser ); void ptk_file_browser_create_new_file( PtkFileBrowser* file_browser, gboolean create_folder ); void ptk_file_browser_hide_selected( PtkFileBrowser* file_browser, GList* files, char* cwd ); void ptk_file_browser_show_thumbnails( PtkFileBrowser* file_browser, int max_file_size ); void ptk_file_browser_emit_open( PtkFileBrowser* file_browser, const char* path, PtkOpenAction action ); //MOD int ptk_file_browser_no_access( const char* cwd, const char* smode ); void ptk_file_browser_update_views( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_go_home( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_go_default( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_find_file( GtkMenuItem *menuitem, PtkFileBrowser* file_browser ); void ptk_file_browser_new_tab( GtkMenuItem* item, PtkFileBrowser* file_browser ); void ptk_file_browser_new_tab_here( GtkMenuItem* item, PtkFileBrowser* file_browser ); void on_shortcut_new_window_activate( GtkMenuItem* item, PtkFileBrowser* file_browser ); void ptk_file_browser_set_default_folder( GtkWidget* item, PtkFileBrowser* file_browser ); void ptk_file_browser_grab_pathbar( GtkMenuItem *menuitem, PtkFileBrowser* file_browser ); void ptk_file_browser_go_tab( GtkMenuItem *item, PtkFileBrowser* file_browser, int t ); void ptk_file_browser_focus( GtkMenuItem *item, PtkFileBrowser* file_browser, int job2 ); void ptk_file_browser_save_column_widths( GtkTreeView *view, PtkFileBrowser* file_browser ); void ptk_file_browser_test_exec( GtkWidget* item, PtkFileBrowser* file_browser ); gboolean ptk_file_browser_slider_release( GtkWidget *widget, GdkEventButton *event, PtkFileBrowser* file_browser ); void ptk_file_browser_rebuild_toolbars( PtkFileBrowser* file_browser ); void ptk_file_browser_focus_me( PtkFileBrowser* file_browser ); void ptk_file_browser_open_in_tab( PtkFileBrowser* file_browser, int tab_num, char* file_path ); void ptk_file_browser_on_permission( GtkMenuItem* item, PtkFileBrowser* file_browser, GList* sel_files, char* cwd ); void ptk_file_browser_copycmd( PtkFileBrowser* file_browser, GList* sel_files, char* cwd, char* setname ); void ptk_file_browser_paste_as( GtkMenuItem* item, PtkFileBrowser* file_browser ); void ptk_file_browser_rootcmd( PtkFileBrowser* file_browser, GList* sel_files, char* cwd, char* setname ); void ptk_file_browser_on_action( PtkFileBrowser* browser, char* setname ); GList* folder_view_get_selected_items( PtkFileBrowser* file_browser, GtkTreeModel** model ); void ptk_file_browser_status_change( PtkFileBrowser* file_browser, gboolean panel_focus ); void ptk_file_browser_select_file( PtkFileBrowser* file_browser, const char* path ); void ptk_file_browser_select_file_list( PtkFileBrowser* file_browser, char** filename, gboolean do_select ); void ptk_file_browser_seek_path( PtkFileBrowser* file_browser, const char* seek_dir, const char* seek_name ); void ptk_file_browser_add_toolbar_widget( gpointer set_ptr, GtkWidget* widget ); void ptk_file_browser_update_toolbar_widgets( PtkFileBrowser* file_browser, gpointer set_ptr, char tool_type ); void ptk_file_browser_show_history_menu( PtkFileBrowser* file_browser, gboolean is_back_history, GdkEventButton* event ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-file-icon-renderer.c000066400000000000000000000516271264770501700211550ustar00rootroot00000000000000/* * C Implementation: ptkfileiconrenderer * * Description: PtkFileIconRenderer is used to render file icons * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * * Part of this class is taken from GtkCellRendererPixbuf written by * Red Hat, Inc., Jonathan Blandford * */ #include "ptk-file-icon-renderer.h" static void ptk_file_icon_renderer_init ( PtkFileIconRenderer *renderer ); static void ptk_file_icon_renderer_class_init ( PtkFileIconRendererClass *klass ); static void ptk_file_icon_renderer_get_property ( GObject *object, guint param_id, GValue *value, GParamSpec *pspec ); static void ptk_file_icon_renderer_set_property ( GObject *object, guint param_id, const GValue *value, GParamSpec *pspec ); static void ptk_file_icon_renderer_finalize ( GObject *gobject ); static void ptk_file_icon_renderer_get_size ( GtkCellRenderer *cell, GtkWidget *widget, #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height ); #if GTK_CHECK_VERSION (3, 0, 0) static void ptk_file_icon_renderer_render ( GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags ); #else static void ptk_file_icon_renderer_render ( GtkCellRenderer *cell, GdkWindow *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, guint flags ); #endif enum { PROP_INFO = 1, PROP_FLAGS, PROP_FOLLOW_STATE }; static gpointer parent_class; static GdkPixbuf* link_icon = NULL; /* GdkPixbuf RGBA C-Source image dump */ #ifdef __SUNPRO_C #pragma align 4 (link_icon_data) #endif #ifdef __GNUC__ static const guint8 link_icon_data[] __attribute__ ((__aligned__ (4))) = #else static const guint8 link_icon_data[] = #endif { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (400) */ "\0\0\1\250" /* pixdata_type (0x1010002) */ "\1\1\0\2" /* rowstride (40) */ "\0\0\0(" /* width (10) */ "\0\0\0\12" /* height (10) */ "\0\0\0\12" /* pixel_data: */ "\200\200\200\377\200\200\200\377\200\200\200\377\200\200\200\377\200" "\200\200\377\200\200\200\377\200\200\200\377\200\200\200\377\200\200" "\200\377\0\0\0\377\200\200\200\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\0\0\0\377\200\200\200\377\377\377\377\377\0" "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377" "\377\377\377\0\0\0\377\200\200\200\377\377\377\377\377\0\0\0\377\0\0" "\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377" "\377\0\0\0\377\200\200\200\377\377\377\377\377\0\0\0\377\0\0\0\377\0" "\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377\377\377\377\0\0\0\377" "\200\200\200\377\377\377\377\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" "\377\0\0\0\377\0\0\0\377\377\377\377\377\0\0\0\377\200\200\200\377\377" "\377\377\377\0\0\0\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0" "\0\377\0\0\0\377\377\377\377\377\0\0\0\377\200\200\200\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0" "\377\0\0\0\377\377\377\377\377\0\0\0\377\200\200\200\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0\377" "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" "\0\0\0\377\0\0\0\377" }; /*************************************************************************** * * ptk_file_icon_renderer_get_type: here we register our type with * the GObject type system if we * haven't done so yet. Everything * else is done in the callbacks. * ***************************************************************************/ GType ptk_file_icon_renderer_get_type ( void ) { static GType renderer_type = 0; if ( G_UNLIKELY( !renderer_type ) ) { static const GTypeInfo renderer_info = { sizeof ( PtkFileIconRendererClass ), NULL, /* base_init */ NULL, /* base_finalize */ ( GClassInitFunc ) ptk_file_icon_renderer_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof ( PtkFileIconRenderer ), 0, /* n_preallocs */ ( GInstanceInitFunc ) ptk_file_icon_renderer_init, }; /* Derive from GtkCellRendererPixbuf */ renderer_type = g_type_register_static ( GTK_TYPE_CELL_RENDERER_PIXBUF, "PtkFileIconRenderer", &renderer_info, 0 ); } return renderer_type; } /*************************************************************************** * * ptk_file_icon_renderer_init: set some default properties of the * parent (GtkCellRendererPixbuf). * ***************************************************************************/ static void ptk_file_icon_renderer_init ( PtkFileIconRenderer *renderer ) { if ( !link_icon ) { link_icon = gdk_pixbuf_new_from_inline( sizeof(link_icon_data), link_icon_data, FALSE, NULL ); g_object_add_weak_pointer( G_OBJECT(link_icon), (gpointer)&link_icon ); } else g_object_ref( (link_icon) ); } /*************************************************************************** * * ptk_file_icon_renderer_class_init: * ***************************************************************************/ static void ptk_file_icon_renderer_class_init ( PtkFileIconRendererClass *klass ) { GtkCellRendererClass * parent_renderer_class = GTK_CELL_RENDERER_CLASS( klass ); GObjectClass *object_class = G_OBJECT_CLASS( klass ); parent_class = g_type_class_peek_parent ( klass ); object_class->finalize = ptk_file_icon_renderer_finalize; /* Hook up functions to set and get our * custom cell renderer properties */ object_class->get_property = ptk_file_icon_renderer_get_property; object_class->set_property = ptk_file_icon_renderer_set_property; parent_renderer_class->get_size = ptk_file_icon_renderer_get_size; parent_renderer_class->render = ptk_file_icon_renderer_render; g_object_class_install_property ( object_class, PROP_INFO, g_param_spec_pointer ( "info", "File info", "File info", G_PARAM_READWRITE ) ); g_object_class_install_property ( object_class, PROP_FOLLOW_STATE, g_param_spec_boolean ( "follow-state", "Follow State", "Whether the rendered pixbuf should be " "colorized according to the state", FALSE, G_PARAM_READWRITE ) ); } /*************************************************************************** * * ptk_file_icon_renderer_finalize: free any resources here * ***************************************************************************/ static void ptk_file_icon_renderer_finalize ( GObject *object ) { PtkFileIconRenderer* renderer = PTK_FILE_ICON_RENDERER(object); if( renderer->info ) vfs_file_info_unref( renderer->info ); g_object_unref( (link_icon) ); ( * G_OBJECT_CLASS ( parent_class ) ->finalize ) ( object ); } /*************************************************************************** * * ptk_file_icon_renderer_get_property: as it says * ***************************************************************************/ static void ptk_file_icon_renderer_get_property ( GObject *object, guint param_id, GValue *value, GParamSpec *psec ) { PtkFileIconRenderer * renderer = PTK_FILE_ICON_RENDERER( object ); switch ( param_id ) { /* case PROP_FLAGS: g_value_set_long(value, renderer->flags); break; */ case PROP_INFO: g_value_set_pointer( value, renderer->info ? vfs_file_info_ref(renderer->info) : NULL ); case PROP_FOLLOW_STATE: g_value_set_boolean ( value, renderer->follow_state ); default: G_OBJECT_WARN_INVALID_PROPERTY_ID ( object, param_id, psec ); break; } } /*************************************************************************** * * ptk_file_icon_renderer_set_property: as it says * ***************************************************************************/ static void ptk_file_icon_renderer_set_property ( GObject *object, guint param_id, const GValue *value, GParamSpec *pspec ) { PtkFileIconRenderer * renderer = PTK_FILE_ICON_RENDERER ( object ); switch ( param_id ) { case PROP_INFO: if( renderer->info ) vfs_file_info_unref( renderer->info ); renderer->info = g_value_get_pointer( value ); break; /* case PROP_FLAGS: renderer->flags = g_value_get_long(value); break; */ case PROP_FOLLOW_STATE: renderer->follow_state = g_value_get_boolean ( value ); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID( object, param_id, pspec ); break; } } /*************************************************************************** * * ptk_file_icon_renderer_new: return a new cell renderer instance * ***************************************************************************/ GtkCellRenderer * ptk_file_icon_renderer_new ( void ) { return ( GtkCellRenderer* ) g_object_new( PTK_TYPE_FILE_ICON_RENDERER, NULL ); } static GdkPixbuf * create_colorized_pixbuf ( GdkPixbuf *src, GdkColor *new_color ) { gint i, j; gint width, height, has_alpha, src_row_stride, dst_row_stride; gint red_value, green_value, blue_value; guchar *target_pixels; guchar *original_pixels; guchar *pixsrc; guchar *pixdest; GdkPixbuf *dest; red_value = new_color->red / 255.0; green_value = new_color->green / 255.0; blue_value = new_color->blue / 255.0; dest = gdk_pixbuf_new ( gdk_pixbuf_get_colorspace ( src ), gdk_pixbuf_get_has_alpha ( src ), gdk_pixbuf_get_bits_per_sample ( src ), gdk_pixbuf_get_width ( src ), gdk_pixbuf_get_height ( src ) ); has_alpha = gdk_pixbuf_get_has_alpha ( src ); width = gdk_pixbuf_get_width ( src ); height = gdk_pixbuf_get_height ( src ); src_row_stride = gdk_pixbuf_get_rowstride ( src ); dst_row_stride = gdk_pixbuf_get_rowstride ( dest ); target_pixels = gdk_pixbuf_get_pixels ( dest ); original_pixels = gdk_pixbuf_get_pixels ( src ); for ( i = 0; i < height; i++ ) { pixdest = target_pixels + i * dst_row_stride; pixsrc = original_pixels + i * src_row_stride; for ( j = 0; j < width; j++ ) { *pixdest++ = ( *pixsrc++ * red_value ) >> 8; *pixdest++ = ( *pixsrc++ * green_value ) >> 8; *pixdest++ = ( *pixsrc++ * blue_value ) >> 8; if ( has_alpha ) { *pixdest++ = *pixsrc++; } } } return dest; } /*************************************************************************** * * ptk_file_icon_renderer_render: crucial - do the rendering. * ***************************************************************************/ #if GTK_CHECK_VERSION (3, 0, 0) static void ptk_file_icon_renderer_render ( GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags ) #else static void ptk_file_icon_renderer_render ( GtkCellRenderer *cell, GdkWindow *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, guint flags ) #endif { GtkCellRendererPixbuf * cellpixbuf = ( GtkCellRendererPixbuf * ) cell; GdkPixbuf *pixbuf; GdkPixbuf *pixbuf_expander_open; GdkPixbuf *pixbuf_expander_closed; GdkPixbuf *invisible = NULL; GdkPixbuf *colorized = NULL; GdkRectangle pix_rect; GdkRectangle draw_rect; VFSFileInfo* file; gint xpad, ypad; gboolean is_expander, is_expanded; GtkCellRendererClass* parent_renderer_class; parent_renderer_class = GTK_CELL_RENDERER_CLASS( parent_class ); parent_renderer_class->get_size ( cell, widget, cell_area, &pix_rect.x, &pix_rect.y, &pix_rect.width, &pix_rect.height ); pix_rect.x += cell_area->x; pix_rect.y += cell_area->y; gtk_cell_renderer_get_padding (cell, &xpad, &ypad); pix_rect.width -= xpad * 2; pix_rect.height -= ypad * 2; #if GTK_CHECK_VERSION (3, 0, 0) if ( !gdk_rectangle_intersect ( cell_area, &pix_rect, &draw_rect ) ) return ; #else if ( !gdk_rectangle_intersect ( cell_area, &pix_rect, &draw_rect ) || !gdk_rectangle_intersect ( expose_area, &draw_rect, &draw_rect ) ) return ; #endif g_object_get ( G_OBJECT ( cellpixbuf ), "pixbuf", &pixbuf, NULL); g_object_get ( G_OBJECT ( cellpixbuf ), "is-expander", &is_expander, NULL); g_object_get ( G_OBJECT ( cellpixbuf ), "is-expanded", &is_expanded, NULL); g_object_get ( G_OBJECT ( cellpixbuf ), "pixbuf-expander-open", &pixbuf_expander_open, NULL); g_object_get ( G_OBJECT ( cellpixbuf ), "pixbuf-expander-closed", &pixbuf_expander_closed, NULL); if ( is_expander ) { g_object_get ( G_OBJECT ( cellpixbuf ), "is-expanded", &is_expanded, NULL); if ( is_expanded && pixbuf_expander_open != NULL ) { g_object_unref ( pixbuf ); pixbuf = pixbuf_expander_open; if ( pixbuf_expander_closed ) g_object_unref ( pixbuf_expander_closed ); } else if ( !is_expanded && pixbuf_expander_closed != NULL ) { g_object_unref ( pixbuf ); pixbuf = pixbuf_expander_closed; if ( pixbuf_expander_open ) g_object_unref ( pixbuf_expander_open ); } } else { if ( pixbuf_expander_open ) g_object_unref ( pixbuf_expander_open ); if ( pixbuf_expander_closed ) g_object_unref ( pixbuf_expander_closed ); } if ( !pixbuf ) return ; if ( PTK_FILE_ICON_RENDERER( cell ) ->follow_state ) { if ( gtk_widget_get_state ( widget ) == GTK_STATE_INSENSITIVE || !gtk_cell_renderer_get_sensitive(cell) ) { GtkIconSource * source; source = gtk_icon_source_new (); gtk_icon_source_set_pixbuf ( source, pixbuf ); /* The size here is arbitrary; since size isn't * wildcarded in the source, it isn't supposed to be * scaled by the engine function */ gtk_icon_source_set_size ( source, GTK_ICON_SIZE_SMALL_TOOLBAR ); gtk_icon_source_set_size_wildcarded ( source, FALSE ); invisible = gtk_style_render_icon ( gtk_widget_get_style (widget), source, gtk_widget_get_direction ( widget ), GTK_STATE_INSENSITIVE, /* arbitrary */ ( GtkIconSize ) - 1, widget, "gtkcellrendererpixbuf" ); gtk_icon_source_free ( source ); pixbuf = invisible; } else if ( ( flags & ( GTK_CELL_RENDERER_SELECTED /*|GTK_CELL_RENDERER_PRELIT*/ ) ) != 0 ) { GtkStateType state; GdkColor* color; if ( ( flags & GTK_CELL_RENDERER_SELECTED ) != 0 ) { if ( gtk_widget_has_focus ( widget ) ) state = GTK_STATE_SELECTED; else #if GTK_CHECK_VERSION (3, 0, 0) state = GTK_STATE_SELECTED; #else state = GTK_STATE_ACTIVE; #endif color = >k_widget_get_style(widget)->base[ state ]; } else { state = GTK_STATE_PRELIGHT; } colorized = create_colorized_pixbuf ( pixbuf, color ); pixbuf = colorized; } } #if GTK_CHECK_VERSION (3, 0, 0) cairo_save ( cr ); #else cairo_t *cr = gdk_cairo_create ( window ); #endif cairo_set_operator ( cr, CAIRO_OPERATOR_OVER ); gdk_cairo_set_source_pixbuf ( cr, pixbuf, pix_rect.x, pix_rect.y ); gdk_cairo_rectangle ( cr, &draw_rect ); cairo_fill ( cr ); file = PTK_FILE_ICON_RENDERER( cell )->info; if ( file ) { if ( vfs_file_info_is_symlink( file ) ) { cairo_set_operator ( cr, CAIRO_OPERATOR_OVER ); gdk_cairo_set_source_pixbuf ( cr, link_icon, pix_rect.x, pix_rect.y ); draw_rect.x -= 2; draw_rect.y -= 2; gdk_cairo_rectangle ( cr, &draw_rect ); cairo_fill ( cr ); } } #if GTK_CHECK_VERSION (3, 0, 0) cairo_restore ( cr ); #else cairo_destroy ( cr ); #endif if ( invisible ) g_object_unref ( invisible ); if ( colorized ) g_object_unref ( colorized ); } void ptk_file_icon_renderer_get_size ( GtkCellRenderer *cell, GtkWidget *widget, #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height ) { GTK_CELL_RENDERER_CLASS( parent_class )->get_size( cell, widget, cell_area, x_offset, y_offset, width, height ); if(!width || ! height) return; //g_debug( "w=%d, h=%d", *width, *height ); if ( *width > *height ) * height = *width; else if ( *width < *height ) * width = *height; } spacefm-1.0.5/src/ptk/ptk-file-icon-renderer.h000066400000000000000000000032601264770501700211500ustar00rootroot00000000000000/* * C Interface: ptkfileiconrenderer * * Description: PtkFileIconRenderer is used to render file icons * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_FILE_ICON_RENDERER_H_ #define _PTK_FILE_ICON_RENDERER_H_ #include #include "vfs-file-info.h" G_BEGIN_DECLS #define PTK_TYPE_FILE_ICON_RENDERER (ptk_file_icon_renderer_get_type()) #define PTK_FILE_ICON_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PTK_TYPE_FILE_ICON_RENDERER, PtkFileIconRenderer)) #define PTK_FILE_ICON_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PTK_TYPE_FILE_ICON_RENDERER, PtkFileIconRendererClass)) #define PTK_IS_FILE_ICON_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PTK_TYPE_FILE_ICON_RENDERER)) #define PTK_IS_FILE_ICON_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PTK_TYPE_FILE_ICON_RENDERER)) #define PTK_FILE_ICON_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PTK_TYPE_FILE_ICON_RENDERER, PtkFileIconRendererClass)) typedef struct _PtkFileIconRenderer PtkFileIconRenderer; typedef struct _PtkFileIconRendererClass PtkFileIconRendererClass; struct _PtkFileIconRenderer { GtkCellRendererPixbuf parent; /* Private */ /* FIXME: draw some additional marks for symlinks */ VFSFileInfo* info; /* long flags; */ gboolean follow_state; }; struct _PtkFileIconRendererClass { GtkCellRendererPixbufClass parent_class; }; GType ptk_file_icon_renderer_get_type (void); GtkCellRenderer *ptk_file_icon_renderer_new (void); G_END_DECLS #endif /* _PTK_FILE_ICON_RENDERER_H_ */ spacefm-1.0.5/src/ptk/ptk-file-list.c000066400000000000000000001061731264770501700173710ustar00rootroot00000000000000/* * C Implementation: ptk-file-list * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "ptk-file-list.h" #include #include "glib-mem.h" #include "vfs-file-info.h" #include "vfs-thumbnail-loader.h" #include static void ptk_file_list_init ( PtkFileList *list ); static void ptk_file_list_class_init ( PtkFileListClass *klass ); static void ptk_file_list_tree_model_init ( GtkTreeModelIface *iface ); static void ptk_file_list_tree_sortable_init ( GtkTreeSortableIface *iface ); static void ptk_file_list_drag_source_init ( GtkTreeDragSourceIface *iface ); static void ptk_file_list_drag_dest_init ( GtkTreeDragDestIface *iface ); static void ptk_file_list_finalize ( GObject *object ); static GtkTreeModelFlags ptk_file_list_get_flags ( GtkTreeModel *tree_model ); static gint ptk_file_list_get_n_columns ( GtkTreeModel *tree_model ); static GType ptk_file_list_get_column_type ( GtkTreeModel *tree_model, gint index ); static gboolean ptk_file_list_get_iter ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path ); static GtkTreePath *ptk_file_list_get_path ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static void ptk_file_list_get_value ( GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value ); static gboolean ptk_file_list_iter_next ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static gboolean ptk_file_list_iter_children ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent ); static gboolean ptk_file_list_iter_has_child ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static gint ptk_file_list_iter_n_children ( GtkTreeModel *tree_model, GtkTreeIter *iter ); static gboolean ptk_file_list_iter_nth_child ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n ); static gboolean ptk_file_list_iter_parent ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child ); static gboolean ptk_file_list_get_sort_column_id( GtkTreeSortable* sortable, gint* sort_column_id, GtkSortType* order ); static void ptk_file_list_set_sort_column_id( GtkTreeSortable* sortable, gint sort_column_id, GtkSortType order ); static void ptk_file_list_set_sort_func( GtkTreeSortable *sortable, gint sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy ); static void ptk_file_list_set_default_sort_func( GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy ); //static void ptk_file_list_sort ( PtkFileList* list ); //sfm made non-static /* signal handlers */ static void on_thumbnail_loaded( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ); /* * already declared in ptk-file-list.h void ptk_file_list_file_created( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ); void ptk_file_list_file_deleted( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ); void ptk_file_list_file_changed( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ); */ static GObjectClass* parent_class = NULL; static GType column_types[ N_FILE_LIST_COLS ]; GType ptk_file_list_get_type ( void ) { static GType type = 0; if ( G_UNLIKELY( !type ) ) { static const GTypeInfo type_info = { sizeof ( PtkFileListClass ), NULL, /* base_init */ NULL, /* base_finalize */ ( GClassInitFunc ) ptk_file_list_class_init, NULL, /* class finalize */ NULL, /* class_data */ sizeof ( PtkFileList ), 0, /* n_preallocs */ ( GInstanceInitFunc ) ptk_file_list_init }; static const GInterfaceInfo tree_model_info = { ( GInterfaceInitFunc ) ptk_file_list_tree_model_init, NULL, NULL }; static const GInterfaceInfo tree_sortable_info = { ( GInterfaceInitFunc ) ptk_file_list_tree_sortable_init, NULL, NULL }; static const GInterfaceInfo drag_src_info = { ( GInterfaceInitFunc ) ptk_file_list_drag_source_init, NULL, NULL }; static const GInterfaceInfo drag_dest_info = { ( GInterfaceInitFunc ) ptk_file_list_drag_dest_init, NULL, NULL }; type = g_type_register_static ( G_TYPE_OBJECT, "PtkFileList", &type_info, ( GTypeFlags ) 0 ); g_type_add_interface_static ( type, GTK_TYPE_TREE_MODEL, &tree_model_info ); g_type_add_interface_static ( type, GTK_TYPE_TREE_SORTABLE, &tree_sortable_info ); g_type_add_interface_static ( type, GTK_TYPE_TREE_DRAG_SOURCE, &drag_src_info ); g_type_add_interface_static ( type, GTK_TYPE_TREE_DRAG_DEST, &drag_dest_info ); } return type; } void ptk_file_list_init ( PtkFileList *list ) { list->n_files = 0; list->files = NULL; list->sort_order = -1; list->sort_col = -1; /* Random int to check whether an iter belongs to our model */ list->stamp = g_random_int(); } void ptk_file_list_class_init ( PtkFileListClass *klass ) { GObjectClass * object_class; parent_class = ( GObjectClass* ) g_type_class_peek_parent ( klass ); object_class = ( GObjectClass* ) klass; object_class->finalize = ptk_file_list_finalize; } void ptk_file_list_tree_model_init ( GtkTreeModelIface *iface ) { iface->get_flags = ptk_file_list_get_flags; iface->get_n_columns = ptk_file_list_get_n_columns; iface->get_column_type = ptk_file_list_get_column_type; iface->get_iter = ptk_file_list_get_iter; iface->get_path = ptk_file_list_get_path; iface->get_value = ptk_file_list_get_value; iface->iter_next = ptk_file_list_iter_next; iface->iter_children = ptk_file_list_iter_children; iface->iter_has_child = ptk_file_list_iter_has_child; iface->iter_n_children = ptk_file_list_iter_n_children; iface->iter_nth_child = ptk_file_list_iter_nth_child; iface->iter_parent = ptk_file_list_iter_parent; column_types [ COL_FILE_BIG_ICON ] = GDK_TYPE_PIXBUF; column_types [ COL_FILE_SMALL_ICON ] = GDK_TYPE_PIXBUF; column_types [ COL_FILE_NAME ] = G_TYPE_STRING; column_types [ COL_FILE_DESC ] = G_TYPE_STRING; column_types [ COL_FILE_SIZE ] = G_TYPE_STRING; column_types [ COL_FILE_DESC ] = G_TYPE_STRING; column_types [ COL_FILE_PERM ] = G_TYPE_STRING; column_types [ COL_FILE_OWNER ] = G_TYPE_STRING; column_types [ COL_FILE_MTIME ] = G_TYPE_STRING; column_types [ COL_FILE_INFO ] = G_TYPE_POINTER; } void ptk_file_list_tree_sortable_init ( GtkTreeSortableIface *iface ) { /* iface->sort_column_changed = ptk_file_list_sort_column_changed; */ iface->get_sort_column_id = ptk_file_list_get_sort_column_id; iface->set_sort_column_id = ptk_file_list_set_sort_column_id; iface->set_sort_func = ptk_file_list_set_sort_func; iface->set_default_sort_func = ptk_file_list_set_default_sort_func; iface->has_default_sort_func = (gboolean(*)(GtkTreeSortable *))gtk_false; } void ptk_file_list_drag_source_init ( GtkTreeDragSourceIface *iface ) { /* FIXME: Unused. Will this cause any problem? */ } void ptk_file_list_drag_dest_init ( GtkTreeDragDestIface *iface ) { /* FIXME: Unused. Will this cause any problem? */ } void ptk_file_list_finalize ( GObject *object ) { PtkFileList *list = ( PtkFileList* ) object; ptk_file_list_set_dir( list, NULL ); /* must chain up - finalize parent */ ( * parent_class->finalize ) ( object ); } PtkFileList *ptk_file_list_new ( VFSDir* dir, gboolean show_hidden ) { PtkFileList * list; list = ( PtkFileList* ) g_object_new ( PTK_TYPE_FILE_LIST, NULL ); list->show_hidden = show_hidden; ptk_file_list_set_dir( list, dir ); return list; } static void _ptk_file_list_file_changed( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ) { if ( !file || !dir || dir->cancel ) return; ptk_file_list_file_changed( dir, file, list ); /* check if reloading of thumbnail is needed. * See also desktop-window.c:on_file_changed() */ if ( list->max_thumbnail != 0 && ( #ifdef HAVE_FFMPEG ( vfs_file_info_is_video( file ) && time( NULL ) - *vfs_file_info_get_mtime( file ) > 5 ) || #endif ( file->size /*vfs_file_info_get_size( file )*/ < list->max_thumbnail && vfs_file_info_is_image( file ) ) ) ) { if( ! vfs_file_info_is_thumbnail_loaded( file, list->big_thumbnail ) ) vfs_thumbnail_loader_request( list->dir, file, list->big_thumbnail ); } } static void _ptk_file_list_file_created( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ) { ptk_file_list_file_created( dir, file, list ); /* check if reloading of thumbnail is needed. */ if ( list->max_thumbnail != 0 && ( #ifdef HAVE_FFMPEG vfs_file_info_is_video( file ) || #endif ( file->size /*vfs_file_info_get_size( file )*/ < list->max_thumbnail && vfs_file_info_is_image( file ) ) ) ) { if( ! vfs_file_info_is_thumbnail_loaded( file, list->big_thumbnail ) ) vfs_thumbnail_loader_request( list->dir, file, list->big_thumbnail ); } } void ptk_file_list_set_dir( PtkFileList* list, VFSDir* dir ) { GList* l; if( list->dir == dir ) return; if ( list->dir ) { if( list->max_thumbnail > 0 ) { /* cancel all possible pending requests */ vfs_thumbnail_loader_cancel_all_requests( list->dir, list->big_thumbnail ); } g_list_foreach( list->files, (GFunc)vfs_file_info_unref, NULL ); g_list_free( list->files ); g_signal_handlers_disconnect_by_func( list->dir, _ptk_file_list_file_created, list ); g_signal_handlers_disconnect_by_func( list->dir, ptk_file_list_file_deleted, list ); g_signal_handlers_disconnect_by_func( list->dir, _ptk_file_list_file_changed, list ); g_signal_handlers_disconnect_by_func( list->dir, on_thumbnail_loaded, list ); g_object_unref( list->dir ); } list->dir = dir; list->files = NULL; list->n_files = 0; if( ! dir ) return; g_object_ref( list->dir ); g_signal_connect( list->dir, "file-created", G_CALLBACK(_ptk_file_list_file_created), list ); g_signal_connect( list->dir, "file-deleted", G_CALLBACK(ptk_file_list_file_deleted), list ); g_signal_connect( list->dir, "file-changed", G_CALLBACK(_ptk_file_list_file_changed), list ); if( dir && dir->file_list ) { for( l = dir->file_list; l; l = l->next ) { if( list->show_hidden || ((VFSFileInfo*)l->data)->disp_name[0] != '.' ) { list->files = g_list_prepend( list->files, vfs_file_info_ref( (VFSFileInfo*)l->data) ); ++list->n_files; } } } } GtkTreeModelFlags ptk_file_list_get_flags ( GtkTreeModel *tree_model ) { g_return_val_if_fail ( PTK_IS_FILE_LIST( tree_model ), ( GtkTreeModelFlags ) 0 ); return ( GTK_TREE_MODEL_LIST_ONLY | GTK_TREE_MODEL_ITERS_PERSIST ); } gint ptk_file_list_get_n_columns ( GtkTreeModel *tree_model ) { return N_FILE_LIST_COLS; } GType ptk_file_list_get_column_type ( GtkTreeModel *tree_model, gint index ) { g_return_val_if_fail ( PTK_IS_FILE_LIST( tree_model ), G_TYPE_INVALID ); g_return_val_if_fail ( index < G_N_ELEMENTS( column_types ) && index >= 0, G_TYPE_INVALID ); return column_types[ index ]; } gboolean ptk_file_list_get_iter ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path ) { PtkFileList *list; gint *indices, n, depth; GList* l; g_assert(PTK_IS_FILE_LIST(tree_model)); g_assert(path!=NULL); list = PTK_FILE_LIST(tree_model); indices = gtk_tree_path_get_indices(path); depth = gtk_tree_path_get_depth(path); /* we do not allow children */ g_assert(depth == 1); /* depth 1 = top level; a list only has top level nodes and no children */ n = indices[0]; /* the n-th top level row */ if ( n >= list->n_files || n < 0 ) return FALSE; l = g_list_nth( list->files, n ); g_assert(l != NULL); /* We simply store a pointer in the iter */ iter->stamp = list->stamp; iter->user_data = l; iter->user_data2 = l->data; iter->user_data3 = NULL; /* unused */ return TRUE; } GtkTreePath *ptk_file_list_get_path ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { GtkTreePath* path; GList* l; PtkFileList* list = PTK_FILE_LIST(tree_model); g_return_val_if_fail (list, NULL); g_return_val_if_fail (iter->stamp == list->stamp, NULL); g_return_val_if_fail (iter != NULL, NULL); g_return_val_if_fail (iter->user_data != NULL, NULL); l = (GList*) iter->user_data; path = gtk_tree_path_new(); gtk_tree_path_append_index(path, g_list_index(list->files, l->data) ); return path; } void ptk_file_list_get_value ( GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value ) { GList* l; PtkFileList* list = PTK_FILE_LIST(tree_model); VFSFileInfo* info; GdkPixbuf* icon; g_return_if_fail (PTK_IS_FILE_LIST (tree_model)); g_return_if_fail (iter != NULL); g_return_if_fail (column < G_N_ELEMENTS(column_types) ); g_value_init (value, column_types[column] ); l = (GList*) iter->user_data; g_return_if_fail ( l != NULL ); info = (VFSFileInfo*)iter->user_data2; switch(column) { case COL_FILE_BIG_ICON: icon = NULL; /* special file can use special icons saved as thumbnails*/ if ( info->flags == VFS_FILE_INFO_NONE && ( list->max_thumbnail > info->size /*vfs_file_info_get_size( info )*/ #ifdef HAVE_FFMPEG || ( list->max_thumbnail != 0 && vfs_file_info_is_video( info ) ) #endif ) ) icon = vfs_file_info_get_big_thumbnail( info ); if( ! icon ) icon = vfs_file_info_get_big_icon( info ); if( icon ) { g_value_set_object( value, icon ); g_object_unref( icon ); } break; case COL_FILE_SMALL_ICON: icon = NULL; /* special file can use special icons saved as thumbnails*/ if ( list->max_thumbnail > info->size /*vfs_file_info_get_size( info )*/ #ifdef HAVE_FFMPEG || ( list->max_thumbnail != 0 && vfs_file_info_is_video( info ) ) #endif ) icon = vfs_file_info_get_small_thumbnail( info ); if( !icon ) icon = vfs_file_info_get_small_icon( info ); if( icon ) { g_value_set_object( value, icon ); g_object_unref( icon ); } break; case COL_FILE_NAME: g_value_set_string( value, vfs_file_info_get_disp_name(info) ); break; case COL_FILE_SIZE: if ( S_ISDIR( info->mode ) || ( S_ISLNK( info->mode ) && 0 == strcmp( vfs_mime_type_get_type( info->mime_type ), XDG_MIME_TYPE_DIRECTORY ) ) ) g_value_set_string( value, NULL ); else g_value_set_string( value, vfs_file_info_get_disp_size(info) ); break; case COL_FILE_DESC: g_value_set_string( value, vfs_file_info_get_mime_type_desc( info ) ); break; case COL_FILE_PERM: g_value_set_string( value, vfs_file_info_get_disp_perm(info) ); break; case COL_FILE_OWNER: g_value_set_string( value, vfs_file_info_get_disp_owner(info) ); break; case COL_FILE_MTIME: g_value_set_string( value, vfs_file_info_get_disp_mtime(info) ); break; case COL_FILE_INFO: g_value_set_pointer( value, vfs_file_info_ref( info ) ); break; } } gboolean ptk_file_list_iter_next ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { GList* l; PtkFileList* list; g_return_val_if_fail (PTK_IS_FILE_LIST (tree_model), FALSE); if (iter == NULL || iter->user_data == NULL) return FALSE; list = PTK_FILE_LIST(tree_model); l = (GList *) iter->user_data; /* Is this the last l in the list? */ if ( ! l->next ) return FALSE; iter->stamp = list->stamp; iter->user_data = l->next; iter->user_data2 = l->next->data; return TRUE; } gboolean ptk_file_list_iter_children ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent ) { PtkFileList* list; g_return_val_if_fail ( parent == NULL || parent->user_data != NULL, FALSE ); /* this is a list, nodes have no children */ if ( parent ) return FALSE; /* parent == NULL is a special case; we need to return the first top-level row */ g_return_val_if_fail ( PTK_IS_FILE_LIST ( tree_model ), FALSE ); list = PTK_FILE_LIST( tree_model ); /* No rows => no first row */ if ( list->dir->n_files == 0 ) return FALSE; /* Set iter to first item in list */ iter->stamp = list->stamp; iter->user_data = list->files; iter->user_data2 = list->files->data; return TRUE; } gboolean ptk_file_list_iter_has_child ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { return FALSE; } gint ptk_file_list_iter_n_children ( GtkTreeModel *tree_model, GtkTreeIter *iter ) { PtkFileList* list; g_return_val_if_fail ( PTK_IS_FILE_LIST ( tree_model ), -1 ); g_return_val_if_fail ( iter == NULL || iter->user_data != NULL, FALSE ); list = PTK_FILE_LIST( tree_model ); /* special case: if iter == NULL, return number of top-level rows */ if ( !iter ) return list->n_files; return 0; /* otherwise, this is easy again for a list */ } gboolean ptk_file_list_iter_nth_child ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n ) { GList* l; PtkFileList* list; g_return_val_if_fail (PTK_IS_FILE_LIST (tree_model), FALSE); list = PTK_FILE_LIST(tree_model); /* a list has only top-level rows */ if(parent) return FALSE; /* special case: if parent == NULL, set iter to n-th top-level row */ if( n >= list->n_files || n < 0 ) return FALSE; l = g_list_nth( list->files, n ); g_assert( l != NULL ); iter->stamp = list->stamp; iter->user_data = l; iter->user_data2 = l->data; return TRUE; } gboolean ptk_file_list_iter_parent ( GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child ) { return FALSE; } gboolean ptk_file_list_get_sort_column_id( GtkTreeSortable* sortable, gint* sort_column_id, GtkSortType* order ) { PtkFileList* list = (PtkFileList*)sortable; if( sort_column_id ) *sort_column_id = list->sort_col; if( order ) *order = list->sort_order; return TRUE; } void ptk_file_list_set_sort_column_id( GtkTreeSortable* sortable, gint sort_column_id, GtkSortType order ) { PtkFileList* list = (PtkFileList*)sortable; if( list->sort_col == sort_column_id && list->sort_order == order ) return; list->sort_col = sort_column_id; list->sort_order = order; gtk_tree_sortable_sort_column_changed (sortable); ptk_file_list_sort (list); } void ptk_file_list_set_sort_func( GtkTreeSortable *sortable, gint sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy ) { g_warning( "ptk_file_list_set_sort_func: Not supported\n" ); } void ptk_file_list_set_default_sort_func( GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy ) { g_warning( "ptk_file_list_set_default_sort_func: Not supported\n" ); } static gint ptk_file_list_compare( gconstpointer a, gconstpointer b, gpointer user_data) { VFSFileInfo* file_a = (VFSFileInfo*)a; VFSFileInfo* file_b = (VFSFileInfo*)b; PtkFileList* list = (PtkFileList*)user_data; int result; // dirs before/after files if ( list->sort_dir != PTK_LIST_SORT_DIR_MIXED ) { result = vfs_file_info_is_dir( file_a ) - vfs_file_info_is_dir( file_b ); if ( result != 0 ) return list->sort_dir == PTK_LIST_SORT_DIR_FIRST ? -result : result; } // by column switch ( list->sort_col ) { case COL_FILE_SIZE: if ( file_a->size > file_b->size ) result = 1; else if ( file_a->size == file_b->size ) result = 0; else result = -1; break; case COL_FILE_MTIME: if ( file_a->mtime > file_b->mtime ) result = 1; else if ( file_a->mtime == file_b->mtime ) result = 0; else result = -1; break; case COL_FILE_DESC: result = g_ascii_strcasecmp( vfs_file_info_get_mime_type_desc( file_a ), vfs_file_info_get_mime_type_desc( file_b ) ); break; case COL_FILE_PERM: result = strcmp( file_a->disp_perm, file_b->disp_perm ); break; case COL_FILE_OWNER: if ( file_a->disp_owner && file_b->disp_owner ) result = g_ascii_strcasecmp( file_a->disp_owner, file_b->disp_owner ); else result = g_ascii_strcasecmp( vfs_file_info_get_disp_owner( file_a ), vfs_file_info_get_disp_owner( file_b ) ); break; default: result = 0; } if ( result != 0 ) return list->sort_order == GTK_SORT_ASCENDING ? result : -result; // hidden first/last gboolean hidden_a = file_a->disp_name[0] == '.' || file_a->disp_name[0] == '#'; gboolean hidden_b = file_b->disp_name[0] == '.' || file_b->disp_name[0] == '#'; if ( hidden_a && !hidden_b ) result = list->sort_hidden_first ? -1 : 1; else if ( !hidden_a && hidden_b ) result = list->sort_hidden_first ? 1 : -1; if ( result != 0 ) return result; // by display name if ( list->sort_natural ) { // natural if ( list->sort_case ) result = strcmp( file_a->collate_key, file_b->collate_key ); else result = strcmp( file_a->collate_icase_key, file_b->collate_icase_key ); } else { // non-natural /* FIXME: don't compare utf8 as ascii ? This is done to avoid casefolding * and caching expenses and seems to work * NOTE: both g_ascii_strcasecmp and g_ascii_strncasecmp appear to be * case insensitive when used on utf8 * FIXME: No case sensitive mode here because no function compare * UTF-8 strings case sensitively without collating (natural) */ result = g_ascii_strcasecmp( file_a->disp_name, file_b->disp_name ); } return list->sort_order == GTK_SORT_ASCENDING ? result : -result; } #if 0 static gint ptk_file_list_compare( gconstpointer a, gconstpointer b, gpointer user_data) { VFSFileInfo* file1 = (VFSFileInfo*)a; VFSFileInfo* file2 = (VFSFileInfo*)b; PtkFileList* list = (PtkFileList*)user_data; int ret; /* put folders before files */ ret = vfs_file_info_is_dir(file1) - vfs_file_info_is_dir(file2); if( ret ) return -ret; /* FIXME: strings should not be treated as ASCII when sorted */ switch( list->sort_col ) { case COL_FILE_NAME: ret = g_ascii_strcasecmp( vfs_file_info_get_disp_name(file1), vfs_file_info_get_disp_name(file2) ); break; case COL_FILE_SIZE: if ( file1->size > file2->size ) ret = 1; else if ( file1->size == file2->size ) ret = 0; else ret = -1; //ret = file1->size - file2->size; break; case COL_FILE_DESC: ret = g_ascii_strcasecmp( vfs_file_info_get_mime_type_desc(file1), vfs_file_info_get_mime_type_desc(file2) ); break; case COL_FILE_PERM: ret = g_ascii_strcasecmp( vfs_file_info_get_disp_perm(file1), vfs_file_info_get_disp_perm(file2) ); break; case COL_FILE_OWNER: ret = g_ascii_strcasecmp( vfs_file_info_get_disp_owner(file1), vfs_file_info_get_disp_owner(file2) ); break; case COL_FILE_MTIME: ret = file1->mtime - file2->mtime; break; } return list->sort_order == GTK_SORT_ASCENDING ? ret : -ret; } #endif void ptk_file_list_sort ( PtkFileList* list ) { GHashTable* old_order; gint *new_order; GtkTreePath *path; GList* l; int i; if( list->n_files <=1 ) return; old_order = g_hash_table_new( g_direct_hash, g_direct_equal ); /* save old order */ for( i = 0, l = list->files; l; l = l->next, ++i ) g_hash_table_insert( old_order, l, GINT_TO_POINTER(i) ); /* sort the list */ list->files = g_list_sort_with_data( list->files, ptk_file_list_compare, list ); /* save new order */ new_order = g_new( int, list->n_files ); for( i = 0, l = list->files; l; l = l->next, ++i ) new_order[i] = GPOINTER_TO_INT( g_hash_table_lookup( old_order, l ) ); g_hash_table_destroy( old_order ); path = gtk_tree_path_new (); gtk_tree_model_rows_reordered (GTK_TREE_MODEL (list), path, NULL, new_order); gtk_tree_path_free (path); g_free( new_order ); } gboolean ptk_file_list_find_iter( PtkFileList* list, GtkTreeIter* it, VFSFileInfo* fi ) { GList* l; for( l = list->files; l; l = l->next ) { VFSFileInfo* fi2 = (VFSFileInfo*)l->data; if( G_UNLIKELY( fi2 == fi || 0 == strcmp( vfs_file_info_get_name(fi), vfs_file_info_get_name(fi2) ) ) ) { it->stamp = list->stamp; it->user_data = l; it->user_data2 = fi2; return TRUE; } } return FALSE; } void ptk_file_list_file_created( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ) { GList* l, *ll = NULL; GtkTreeIter it; GtkTreePath* path; VFSFileInfo* file2; if( ! list->show_hidden && vfs_file_info_get_name(file)[0] == '.' ) return; gboolean is_desktop = vfs_file_info_is_desktop_entry( file ); //sfm gboolean is_desktop2; for( l = list->files; l; l = l->next ) { file2 = (VFSFileInfo*)l->data; if( G_UNLIKELY( file == file2 ) ) { /* The file is already in the list */ return; } is_desktop2 = vfs_file_info_is_desktop_entry( file2 ); if ( is_desktop || is_desktop2 ) { // at least one is a desktop file, need to compare filenames if ( file->name && file2->name ) { if ( !strcmp( file->name, file2->name ) ) return; } } else if ( ptk_file_list_compare( file2, file, list ) == 0 ) { // disp_name matches ? // ptk_file_list_compare may return 0 on differing display names // if case-insensitive - need to compare filenames if ( list->sort_natural && list->sort_case ) return; else if ( !strcmp( file->name, file2->name ) ) return; } if ( !ll && ptk_file_list_compare( file2, file, list ) > 0 ) { if ( !is_desktop && !is_desktop2 ) break; else ll = l; // store insertion location based on disp_name } } if ( ll ) l = ll; list->files = g_list_insert_before( list->files, l, vfs_file_info_ref( file ) ); ++list->n_files; if( l ) l = l->prev; else l = g_list_last( list->files ); it.stamp = list->stamp; it.user_data = l; it.user_data2 = file; path = gtk_tree_path_new_from_indices( g_list_index(list->files, l->data), -1 ); gtk_tree_model_row_inserted( GTK_TREE_MODEL(list), path, &it ); gtk_tree_path_free( path ); } void ptk_file_list_file_deleted( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ) { GList* l; GtkTreePath* path; /* If there is no file info, that means the dir itself was deleted. */ if( G_UNLIKELY( ! file ) ) { /* Clear the whole list */ path = gtk_tree_path_new_from_indices(0, -1); for( l = list->files; l; l = list->files ) { gtk_tree_model_row_deleted( GTK_TREE_MODEL(list), path ); file = (VFSFileInfo*)l->data; list->files = g_list_delete_link( list->files, l ); vfs_file_info_unref( file ); --list->n_files; } gtk_tree_path_free( path ); return; } if( ! list->show_hidden && vfs_file_info_get_name(file)[0] == '.' ) return; l = g_list_find( list->files, file ); if( ! l ) return; path = gtk_tree_path_new_from_indices( g_list_index(list->files, l->data), -1 ); gtk_tree_model_row_deleted( GTK_TREE_MODEL(list), path ); gtk_tree_path_free( path ); list->files = g_list_delete_link( list->files, l ); vfs_file_info_unref( file ); --list->n_files; } void ptk_file_list_file_changed( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ) { GList* l; GtkTreeIter it; GtkTreePath* path; if( ! list->show_hidden && vfs_file_info_get_name(file)[0] == '.' ) return; l = g_list_find( list->files, file ); if( ! l ) return; it.stamp = list->stamp; it.user_data = l; it.user_data2 = l->data; path = gtk_tree_path_new_from_indices( g_list_index(list->files, l->data), -1 ); gtk_tree_model_row_changed( GTK_TREE_MODEL(list), path, &it ); gtk_tree_path_free( path ); } void on_thumbnail_loaded( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ) { /* g_debug( "LOADED: %s", file->name ); */ ptk_file_list_file_changed( dir, file, list ); } void ptk_file_list_show_thumbnails( PtkFileList* list, gboolean is_big, int max_file_size ) { GList* l; VFSFileInfo* file; int old_max_thumbnail; if ( !list ) return; old_max_thumbnail = list->max_thumbnail; list->max_thumbnail = max_file_size; list->big_thumbnail = is_big; /* FIXME: This is buggy!!! Further testing might be needed. */ if( 0 == max_file_size ) { if( old_max_thumbnail > 0 ) /* cancel thumbnails */ { vfs_thumbnail_loader_cancel_all_requests( list->dir, list->big_thumbnail ); g_signal_handlers_disconnect_by_func( list->dir, on_thumbnail_loaded, list ); for( l = list->files; l; l = l->next ) { file = (VFSFileInfo*)l->data; if ( ( vfs_file_info_is_image( file ) #ifdef HAVE_FFMPEG || vfs_file_info_is_video( file ) #endif ) && vfs_file_info_is_thumbnail_loaded( file, is_big ) ) { /* update the model */ ptk_file_list_file_changed( list->dir, file, list ); } } /* Thumbnails are being disabled so ensure the large thumbnails are * freed - with up to 256x256 images this is a lot of memory */ vfs_dir_unload_thumbnails(list->dir, is_big); } return; } g_signal_connect( list->dir, "thumbnail-loaded", G_CALLBACK(on_thumbnail_loaded), list ); for( l = list->files; l; l = l->next ) { file = (VFSFileInfo*)l->data; if ( list->max_thumbnail != 0 && ( #ifdef HAVE_FFMPEG vfs_file_info_is_video( file ) || #endif ( file->size /*vfs_file_info_get_size( file )*/ < list->max_thumbnail && vfs_file_info_is_image( file ) ) ) ) { if( vfs_file_info_is_thumbnail_loaded( file, is_big ) ) ptk_file_list_file_changed( list->dir, file, list ); else { vfs_thumbnail_loader_request( list->dir, file, is_big ); /* g_debug( "REQUEST: %s", file->name ); */ } } } } spacefm-1.0.5/src/ptk/ptk-file-list.h000066400000000000000000000061421264770501700173710ustar00rootroot00000000000000/* * C Interface: ptk-file-list * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_FILE_LIST_H_ #define _PTK_FILE_LIST_H_ #include #include #include #include #include "vfs-dir.h" G_BEGIN_DECLS #define PTK_TYPE_FILE_LIST (ptk_file_list_get_type()) #define PTK_FILE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PTK_TYPE_FILE_LIST, PtkFileList)) #define PTK_FILE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PTK_TYPE_FILE_LIST, PtkFileListClass)) #define PTK_IS_FILE_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PTK_TYPE_FILE_LIST)) #define PTK_IS_FILE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PTK_TYPE_FILE_LIST)) #define PTK_FILE_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PTK_TYPE_FILE_LIST, PtkFileListClass)) /* Columns of folder view */ enum{ COL_FILE_BIG_ICON = 0, COL_FILE_SMALL_ICON, COL_FILE_NAME, COL_FILE_SIZE, COL_FILE_DESC, COL_FILE_PERM, COL_FILE_OWNER, COL_FILE_MTIME, COL_FILE_INFO, N_FILE_LIST_COLS }; // sort_dir of folder view - do not change order, saved // see also: main-window.c main_window_socket_command() get sort_first enum{ PTK_LIST_SORT_DIR_MIXED = 0, PTK_LIST_SORT_DIR_FIRST, PTK_LIST_SORT_DIR_LAST }; typedef struct _PtkFileList PtkFileList; typedef struct _PtkFileListClass PtkFileListClass; struct _PtkFileList { GObject parent; /* */ VFSDir* dir; GList* files; guint n_files; gboolean show_hidden : 1; gboolean big_thumbnail : 1; int max_thumbnail; int sort_col; GtkSortType sort_order; gboolean sort_natural; //sfm gboolean sort_case; //sfm gboolean sort_hidden_first; //sfm char sort_dir; //sfm /* Random integer to check whether an iter belongs to our model */ gint stamp; }; struct _PtkFileListClass { GObjectClass parent; /* Default signal handlers */ void ( *file_created ) ( VFSDir* dir, const char* file_name ); void ( *file_deleted ) ( VFSDir* dir, const char* file_name ); void ( *file_changed ) ( VFSDir* dir, const char* file_name ); void ( *load_complete ) ( VFSDir* dir ); }; GType ptk_file_list_get_type (void); PtkFileList *ptk_file_list_new ( VFSDir* dir, gboolean show_hidden ); void ptk_file_list_set_dir( PtkFileList* list, VFSDir* dir ); gboolean ptk_file_list_find_iter( PtkFileList* list, GtkTreeIter* it, VFSFileInfo* fi ); void ptk_file_list_file_created( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ); void ptk_file_list_file_deleted( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ); void ptk_file_list_file_changed( VFSDir* dir, VFSFileInfo* file, PtkFileList* list ); void ptk_file_list_show_thumbnails( PtkFileList* list, gboolean is_big, int max_file_size ); void ptk_file_list_sort ( PtkFileList* list ); //sfm G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-file-menu.c000066400000000000000000003625011264770501700173610ustar00rootroot00000000000000/* * C Implementation: ptk-file-menu * * Description: * * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H #include #endif #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include /* for access */ #include "ptk-file-menu.h" #include #include "glib-mem.h" #include #include #include #include #include "vfs-app-desktop.h" #include "ptk-utils.h" #include "ptk-file-misc.h" #include "ptk-file-archiver.h" #include "ptk-handler.h" #include "ptk-clipboard.h" #include "ptk-app-chooser.h" #include "settings.h" //MOD #include "item-prop.h" //MOD #include "main-window.h" #include "ptk-location-view.h" #include "ptk-file-list.h" //sfm for sort extra #include "pref-dialog.h" #include "gtk2-compat.h" //#define get_toplevel_win(data) ( (GtkWindow*) (data->browser ? ( gtk_widget_get_toplevel((GtkWidget*) data->browser) ) : NULL) ) gboolean on_app_button_press( GtkWidget* item, GdkEventButton* event, PtkFileMenu* data ); gboolean app_menu_keypress( GtkWidget* widget, GdkEventKey* event, PtkFileMenu* data ); static void show_app_menu( GtkWidget* menu, GtkWidget* app_item, PtkFileMenu* data, guint button, guint32 time ); /* Signal handlers for popup menu */ static void on_popup_open_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_open_with_another_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); #if 0 static void on_file_properties_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); #endif static void on_popup_run_app ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_open_in_new_tab_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_open_in_new_win_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_new_bookmark( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_open_in_terminal_activate( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_handlers_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_cut_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_copy_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_paste_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_paste_link_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); //MOD added static void on_popup_paste_target_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); //MOD added static void on_popup_copy_text_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); //MOD added static void on_popup_copy_name_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); //MOD added void on_popup_copy_parent_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); //MOD added void on_popup_paste_as_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); //sfm added static void on_popup_delete_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_rename_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_compress_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_extract_here_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_extract_to_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); void on_popup_extract_list_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_new_folder_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_new_text_file_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_new_link_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_file_properties_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); void on_popup_file_permissions_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ); static void on_popup_open_files_activate( GtkMenuItem *menuitem, PtkFileMenu* data ); //MOD static void on_popup_open_all( GtkMenuItem *menuitem, PtkFileMenu* data ); void on_popup_canon ( GtkMenuItem *menuitem, PtkFileMenu* data ); void on_popup_list_large( GtkMenuItem *menuitem, PtkFileBrowser* browser ) { int p = browser->mypanel; FMMainWindow* main_window = (FMMainWindow*)browser->main_window; char mode = main_window->panel_context[p-1]; xset_set_b_panel_mode( p, "list_large", mode, xset_get_b_panel( p, "list_large" ) ); update_views_all_windows( NULL, browser ); } void on_popup_list_detailed( GtkMenuItem *menuitem, PtkFileBrowser* browser ) { int p = browser->mypanel; if ( xset_get_b_panel( p, "list_detailed" ) ) { // setting b to XSET_B_UNSET does not work here xset_set_b_panel( p, "list_icons", FALSE ); xset_set_b_panel( p, "list_compact", FALSE ); } else { if ( !xset_get_b_panel( p, "list_icons" ) && !xset_get_b_panel( p, "list_compact" ) ) xset_set_b_panel( p, "list_icons", TRUE ); } update_views_all_windows( NULL, browser ); } void on_popup_list_icons( GtkMenuItem *menuitem, PtkFileBrowser* browser ) { int p = browser->mypanel; if ( xset_get_b_panel( p, "list_icons" ) ) { // setting b to XSET_B_UNSET does not work here xset_set_b_panel( p, "list_detailed", FALSE ); xset_set_b_panel( p, "list_compact", FALSE ); } else { if ( !xset_get_b_panel( p, "list_detailed" ) && !xset_get_b_panel( p, "list_compact" ) ) xset_set_b_panel( p, "list_detailed", TRUE ); } update_views_all_windows( NULL, browser ); } void on_popup_list_compact( GtkMenuItem *menuitem, PtkFileBrowser* browser ) { int p = browser->mypanel; if ( xset_get_b_panel( p, "list_compact" ) ) { // setting b to XSET_B_UNSET does not work here xset_set_b_panel( p, "list_detailed", FALSE ); xset_set_b_panel( p, "list_icons", FALSE ); } else { if ( !xset_get_b_panel( p, "list_icons" ) && !xset_get_b_panel( p, "list_detailed" ) ) xset_set_b_panel( p, "list_detailed", TRUE ); } update_views_all_windows( NULL, browser ); } void on_popup_show_hidden( GtkMenuItem *menuitem, PtkFileBrowser* browser ) { if ( browser ) ptk_file_browser_show_hidden_files( browser, xset_get_b_panel( browser->mypanel, "show_hidden" ) ); } void on_copycmd( GtkMenuItem *menuitem, PtkFileMenu* data, XSet* set2 ) { XSet* set; if ( menuitem ) set = (XSet*)g_object_get_data( G_OBJECT( menuitem ), "set" ); else set = set2; if ( !set ) return; if ( data->browser ) ptk_file_browser_copycmd( data->browser, data->sel_files, data->cwd, set->name ); #ifdef DESKTOP_INTEGRATION else if ( data->desktop ) // must pass desktop desktop_window_copycmd( data->desktop, data->sel_files, data->cwd, set->name ); #endif } void on_popup_rootcmd_activate( GtkMenuItem *menuitem, PtkFileMenu* data, XSet* set2 ) { XSet* set; if ( menuitem ) set = (XSet*)g_object_get_data( G_OBJECT( menuitem ), "set" ); else set = set2; if ( set ) ptk_file_misc_rootcmd( data->desktop, data->browser, data->sel_files, data->cwd, set->name ); } void on_popup_select_pattern( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->browser ) ptk_file_browser_select_pattern( NULL, data->browser, NULL ); } void on_open_in_tab( GtkMenuItem *menuitem, PtkFileMenu* data ) { int tab_num = GPOINTER_TO_INT( g_object_get_data( G_OBJECT( menuitem ), "tab_num" ) ); if ( data->browser ) ptk_file_browser_open_in_tab( data->browser, tab_num, data->file_path ); } void on_open_in_panel( GtkMenuItem *menuitem, PtkFileMenu* data ) { int panel_num = GPOINTER_TO_INT( g_object_get_data( G_OBJECT( menuitem ), "panel_num" ) ); if ( data->browser ) main_window_open_in_panel( data->browser, panel_num, data->file_path ); } void on_file_edit( GtkMenuItem *menuitem, PtkFileMenu* data ) { xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), data->file_path, FALSE, TRUE ); } void on_file_root_edit( GtkMenuItem *menuitem, PtkFileMenu* data ) { xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), data->file_path, TRUE, FALSE ); } void on_popup_sort_extra( GtkMenuItem *menuitem, PtkFileBrowser* file_browser, XSet* set2 ) { XSet* set; if ( menuitem ) set = (XSet*)g_object_get_data( G_OBJECT( menuitem ), "set" ); else set = set2; ptk_file_browser_set_sort_extra( file_browser, set->name ); } void on_popup_sortby( GtkMenuItem *menuitem, PtkFileBrowser* file_browser, int order ) { char* val; int v; int sort_order; if ( menuitem ) sort_order = GPOINTER_TO_INT( g_object_get_data( G_OBJECT(menuitem), "sortorder" ) ); else sort_order = order; if ( sort_order < 0 ) { if ( sort_order == -1 ) v = GTK_SORT_ASCENDING; else v = GTK_SORT_DESCENDING; val = g_strdup_printf( "%d", v ); xset_set_panel( file_browser->mypanel, "list_detailed", "y", val ); g_free( val ); ptk_file_browser_set_sort_type( file_browser, v ); } else { val = g_strdup_printf( "%d", sort_order ); xset_set_panel( file_browser->mypanel, "list_detailed", "x", val ); g_free( val ); ptk_file_browser_set_sort_order( file_browser, sort_order ); } } void on_popup_detailed_column( GtkMenuItem *menuitem, PtkFileBrowser* file_browser ) { if ( file_browser->view_mode == PTK_FB_LIST_VIEW ) { // get visiblity for correct mode FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int p = file_browser->mypanel; char mode = main_window->panel_context[p-1]; XSet* set = xset_get_panel_mode( p, "detcol_size", mode ); set->b = xset_get_panel( p, "detcol_size" )->b; set = xset_get_panel_mode( p, "detcol_type", mode ); set->b = xset_get_panel( p, "detcol_type" )->b; set = xset_get_panel_mode( p, "detcol_perm", mode ); set->b = xset_get_panel( p, "detcol_perm" )->b; set = xset_get_panel_mode( p, "detcol_owner", mode ); set->b = xset_get_panel( p, "detcol_owner" )->b; set = xset_get_panel_mode( p, "detcol_date", mode ); set->b = xset_get_panel( p, "detcol_date" )->b; update_views_all_windows( NULL, file_browser ); } } void on_popup_toggle_view( GtkMenuItem *menuitem, PtkFileBrowser* file_browser ) { // get visiblity for correct mode FMMainWindow* main_window = (FMMainWindow*)file_browser->main_window; int p = file_browser->mypanel; char mode = main_window->panel_context[p-1]; XSet* set = xset_get_panel_mode( p, "show_toolbox", mode ); set->b = xset_get_panel( p, "show_toolbox" )->b; set = xset_get_panel_mode( p, "show_devmon", mode ); set->b = xset_get_panel( p, "show_devmon" )->b; set = xset_get_panel_mode( p, "show_dirtree", mode ); set->b = xset_get_panel( p, "show_dirtree" )->b; set = xset_get_panel_mode( p, "show_book", mode ); set->b = xset_get_panel( p, "show_book" )->b; set = xset_get_panel_mode( p, "show_sidebar", mode ); set->b = xset_get_panel( p, "show_sidebar" )->b; update_views_all_windows( NULL, file_browser ); } void on_archive_default( GtkMenuItem *menuitem, XSet* set ) { const char* arcname[] = { "arc_def_open", "arc_def_ex", "arc_def_exto", "arc_def_list" }; int i; for ( i = 0; i < G_N_ELEMENTS( arcname ); i++ ) { if ( !strcmp( set->name, arcname[i] ) ) set->b = XSET_B_TRUE; else xset_set_b( arcname[i], FALSE ); } } void on_archive_show_config( GtkMenuItem *menuitem, PtkFileMenu* data ) { ptk_handler_show_config( HANDLER_MODE_ARC, data->desktop, data->browser, NULL ); } void on_hide_file( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->browser ) ptk_file_browser_hide_selected( data->browser, data->sel_files, data->cwd ); } void on_permission( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->browser ) ptk_file_browser_on_permission( menuitem, data->browser, data->sel_files, data->cwd ); } void on_popup_desktop_sort_activate( GtkMenuItem *menuitem, DesktopWindow* desktop, XSet* set2 ) { XSet* set; if ( menuitem ) set = (XSet*)g_object_get_data( G_OBJECT( menuitem ), "set" ); else set = set2; if ( !( set && desktop && g_str_has_prefix( set->name, "desk_sort_" ) ) ) return; #ifdef DESKTOP_INTEGRATION int by; char* xname = set->name + 10; if ( !strcmp( xname, "name" ) ) by = DW_SORT_BY_NAME; else if ( !strcmp( xname, "size" ) ) by = DW_SORT_BY_SIZE; else if ( !strcmp( xname, "type" ) ) by = DW_SORT_BY_TYPE; else if ( !strcmp( xname, "date" ) ) by = DW_SORT_BY_MTIME; else if ( !strcmp( xname, "cust" ) ) by = DW_SORT_CUSTOM; else { if ( !strcmp( xname, "ascend" ) ) by = GTK_SORT_ASCENDING; else if ( !strcmp( xname, "descend" ) ) by = GTK_SORT_DESCENDING; else return; desktop_window_sort_items( desktop, desktop->sort_by, by ); return; } desktop_window_sort_items( desktop, by, desktop->sort_type ); #endif } void on_popup_desktop_pref_activate( GtkMenuItem *menuitem, DesktopWindow* desktop ) { fm_edit_preference( GTK_WINDOW( desktop ), PREF_DESKTOP ); } void on_popup_desktop_new_app_activate( GtkMenuItem *menuitem, DesktopWindow* desktop ) { #ifdef DESKTOP_INTEGRATION if ( desktop ) desktop_window_add_application( desktop ); #endif } void on_popup_desktop_select( GtkMenuItem *menuitem, DesktopWindow* desktop, XSet* set2 ) { XSet* set; if ( menuitem ) set = (XSet*)g_object_get_data( G_OBJECT( menuitem ), "set" ); else set = set2; if ( !( set && set->name && desktop ) ) return; #ifdef DESKTOP_INTEGRATION DWSelectMode mode; if ( !strcmp( set->name, "select_all" ) ) mode = DW_SELECT_ALL; else if ( !strcmp( set->name, "select_un" ) ) mode = DW_SELECT_NONE; else if ( !strcmp( set->name, "select_invert" ) ) mode = DW_SELECT_INVERSE; else if ( !strcmp( set->name, "select_patt" ) ) mode = DW_SELECT_PATTERN; else return; desktop_window_select( desktop, mode ); #endif } void ptk_file_menu_add_panel_view_menu( PtkFileBrowser* browser, GtkWidget* menu, GtkAccelGroup* accel_group ) { XSet* set; XSet* set_radio; char* desc; if ( !browser || !menu || !browser->file_list ) return; int p = browser->mypanel; FMMainWindow* main_window = (FMMainWindow*)browser->main_window; char mode = main_window->panel_context[p-1]; gboolean show_side = FALSE; xset_set_cb( "view_refresh", ptk_file_browser_refresh, browser ); set = xset_set_cb_panel( p, "show_toolbox", on_popup_toggle_view, browser ); set->b = xset_get_panel_mode( p, "show_toolbox", mode )->b; set = xset_set_cb_panel( p, "show_devmon", on_popup_toggle_view, browser ); set->b = xset_get_panel_mode( p, "show_devmon", mode )->b; if ( set->b == XSET_B_TRUE ) show_side = TRUE; set = xset_set_cb_panel( p, "show_dirtree", on_popup_toggle_view, browser ); set->b = xset_get_panel_mode( p, "show_dirtree", mode )->b; if ( set->b == XSET_B_TRUE ) show_side = TRUE; set = xset_set_cb_panel( p, "show_book", on_popup_toggle_view, browser ); set->b = xset_get_panel_mode( p, "show_book", mode )->b; if ( set->b == XSET_B_TRUE ) show_side = TRUE; set = xset_set_cb_panel( p, "show_sidebar", on_popup_toggle_view, browser ); set->b = xset_get_panel_mode( p, "show_sidebar", mode )->b; set->disable = !show_side; xset_set_cb_panel( p, "show_hidden", on_popup_show_hidden, browser ); if ( browser->view_mode == PTK_FB_LIST_VIEW ) { set = xset_set_cb_panel( p, "detcol_size", on_popup_detailed_column, browser ); set->b = xset_get_panel_mode( p, "detcol_size", mode )->b; set = xset_set_cb_panel( p, "detcol_type", on_popup_detailed_column, browser ); set->b = xset_get_panel_mode( p, "detcol_type", mode )->b; set = xset_set_cb_panel( p, "detcol_perm", on_popup_detailed_column, browser ); set->b = xset_get_panel_mode( p, "detcol_perm", mode )->b; set = xset_set_cb_panel( p, "detcol_owner", on_popup_detailed_column, browser ); set->b = xset_get_panel_mode( p, "detcol_owner", mode )->b; set = xset_set_cb_panel( p, "detcol_date", on_popup_detailed_column, browser ); set->b = xset_get_panel_mode( p, "detcol_date", mode )->b; xset_set_cb( "view_reorder_col", on_reorder, browser ); set = xset_set( "view_columns", "disable", "0" ); desc = g_strdup_printf( "panel%d_detcol_size panel%d_detcol_type panel%d_detcol_perm panel%d_detcol_owner panel%d_detcol_date sep_v4 view_reorder_col", p, p, p, p, p ); xset_set_set( set, "desc", desc ); g_free( desc ); set = xset_set_cb( "rubberband", main_window_rubberband_all, NULL ); set->disable = FALSE; } else { xset_set( "view_columns", "disable", "1" ); xset_set( "rubberband", "disable", "1" ); } set = xset_set_cb( "view_thumb", main_window_toggle_thumbnails_all_windows, NULL ); set->b = app_settings.show_thumbnail ? XSET_B_TRUE : XSET_B_UNSET; if ( browser->view_mode == PTK_FB_ICON_VIEW ) { set = xset_set_b_panel( p, "list_large", TRUE ); set->disable = TRUE; } else { set = xset_set_cb_panel( p, "list_large", on_popup_list_large, browser ); set->disable = FALSE; set->b = xset_get_panel_mode( p, "list_large", mode )->b; } set = xset_set_cb_panel( p, "list_detailed", on_popup_list_detailed, browser ); xset_set_ob2( set, NULL, NULL ); set_radio = set; set = xset_set_cb_panel( p, "list_icons", on_popup_list_icons, browser ); xset_set_ob2( set, NULL, set_radio ); set = xset_set_cb_panel( p, "list_compact", on_popup_list_compact, browser ); xset_set_ob2( set, NULL, set_radio ); set = xset_set_cb( "sortby_name", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", PTK_FB_SORT_BY_NAME ); xset_set_ob2( set, NULL, NULL ); set->b = browser->sort_order == PTK_FB_SORT_BY_NAME ? XSET_B_TRUE : XSET_B_FALSE; set_radio = set; set = xset_set_cb( "sortby_size", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", PTK_FB_SORT_BY_SIZE ); xset_set_ob2( set, NULL, set_radio ); set->b = browser->sort_order == PTK_FB_SORT_BY_SIZE ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortby_type", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", PTK_FB_SORT_BY_TYPE ); xset_set_ob2( set, NULL, set_radio ); set->b = browser->sort_order == PTK_FB_SORT_BY_TYPE ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortby_perm", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", PTK_FB_SORT_BY_PERM ); xset_set_ob2( set, NULL, set_radio ); set->b = browser->sort_order == PTK_FB_SORT_BY_PERM ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortby_owner", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", PTK_FB_SORT_BY_OWNER ); xset_set_ob2( set, NULL, set_radio ); set->b = browser->sort_order == PTK_FB_SORT_BY_OWNER ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortby_date", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", PTK_FB_SORT_BY_MTIME ); xset_set_ob2( set, NULL, set_radio ); set->b = browser->sort_order == PTK_FB_SORT_BY_MTIME ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortby_ascend", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", -1 ); xset_set_ob2( set, NULL, NULL ); set->b = browser->sort_type == GTK_SORT_ASCENDING ? XSET_B_TRUE : XSET_B_FALSE; set_radio = set; set = xset_set_cb( "sortby_descend", on_popup_sortby, browser ); xset_set_ob1_int( set, "sortorder", -2 ); xset_set_ob2( set, NULL, set_radio ); set->b = browser->sort_type == GTK_SORT_DESCENDING ? XSET_B_TRUE : XSET_B_FALSE; // this crashes if !browser->file_list so don't allow if ( browser->file_list ) { set = xset_set_cb( "sortx_natural", on_popup_sort_extra, browser ); set->b = PTK_FILE_LIST( browser->file_list )->sort_natural ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortx_case", on_popup_sort_extra, browser ); set->b = PTK_FILE_LIST( browser->file_list )->sort_case ? XSET_B_TRUE : XSET_B_FALSE; set->disable = !PTK_FILE_LIST( browser->file_list )->sort_natural; set = xset_set_cb( "sortx_folders", on_popup_sort_extra, browser ); xset_set_ob2( set, NULL, NULL ); set->b = PTK_FILE_LIST( browser->file_list )->sort_dir == PTK_LIST_SORT_DIR_FIRST ? XSET_B_TRUE : XSET_B_FALSE; set_radio = set; set = xset_set_cb( "sortx_files", on_popup_sort_extra, browser ); xset_set_ob2( set, NULL, set_radio ); set->b = PTK_FILE_LIST( browser->file_list )->sort_dir == PTK_LIST_SORT_DIR_LAST ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortx_mix", on_popup_sort_extra, browser ); xset_set_ob2( set, NULL, set_radio ); set->b = PTK_FILE_LIST( browser->file_list )->sort_dir == PTK_LIST_SORT_DIR_MIXED ? XSET_B_TRUE : XSET_B_FALSE; set = xset_set_cb( "sortx_hidfirst", on_popup_sort_extra, browser ); xset_set_ob2( set, NULL, NULL ); set->b = PTK_FILE_LIST( browser->file_list )->sort_hidden_first ? XSET_B_TRUE : XSET_B_FALSE; set_radio = set; set = xset_set_cb( "sortx_hidlast", on_popup_sort_extra, browser ); xset_set_ob2( set, NULL, set_radio ); set->b = PTK_FILE_LIST( browser->file_list )->sort_hidden_first ? XSET_B_FALSE : XSET_B_TRUE; } xset_set_cb_panel( p, "font_file", main_update_fonts, browser ); set = xset_get( "view_list_style" ); desc = g_strdup_printf( "panel%d_list_detailed panel%d_list_compact panel%d_list_icons sep_v5 view_thumb panel%d_list_large rubberband sep_v6 panel%d_font_file", p, p, p, p, p ); xset_set_set( set, "desc", desc ); g_free( desc ); set = xset_get( "view_fonts" ); desc = g_strdup_printf( "panel%d_font_device panel%d_font_dir panel%d_font_book panel%d_font_files panel%d_font_tabs panel%d_font_status panel%d_font_pathbar", p, p, p, p, p, p ,p ); xset_set_set( set, "desc", desc ); g_free( desc ); set = xset_get( "con_view" ); set->disable = !browser->file_list; desc = g_strdup_printf( "panel%d_show_toolbox panel%d_show_sidebar panel%d_show_devmon panel%d_show_book panel%d_show_dirtree sep_v7 panel%d_show_hidden view_list_style view_sortby view_columns sep_v8 view_refresh", p, p, p, p, p, p ); xset_set_set( set, "desc", desc ); g_free( desc ); xset_add_menuitem( NULL, browser, menu, accel_group, set ); } static void ptk_file_menu_free( PtkFileMenu *data ) { if ( data->file_path ) g_free( data->file_path ); if ( data->info ) vfs_file_info_unref( data->info ); g_free( data->cwd ); if ( data->sel_files ) vfs_file_info_list_free( data->sel_files ); if ( data->accel_group ) g_object_unref( data->accel_group ); g_slice_free( PtkFileMenu, data ); } /* Retrieve popup menu for selected file(s) */ GtkWidget* ptk_file_menu_new( DesktopWindow* desktop, PtkFileBrowser* browser, const char* file_path, VFSFileInfo* info, const char* cwd, GList* sel_files ) { // either desktop or browser must be non-NULL GtkWidget * popup = NULL; VFSMimeType* mime_type; GtkWidget *app_menu_item; GtkWidget* submenu; gboolean is_dir; gboolean is_text; gboolean is_clip; char **apps, **app; const char* app_name = NULL; VFSAppDesktop* desktop_file; char* name; char* desc; char* str; XSet* set_radio; GdkPixbuf* app_icon; int icon_w, icon_h; GtkWidget* app_img; int i; PtkFileMenu* data; int no_write_access = 0, no_read_access = 0; XSet* set, *set2; GtkMenuItem* item; GSList* handlers_slist; if ( !desktop && !browser ) return NULL; data = g_slice_new0( PtkFileMenu ); data->cwd = g_strdup( cwd ); data->browser = browser; data->desktop = desktop; data->file_path = g_strdup( file_path ); if ( info ) data->info = vfs_file_info_ref( info ); else data->info = NULL; data->sel_files = sel_files; data->accel_group = gtk_accel_group_new (); popup = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); g_object_weak_ref( G_OBJECT( popup ), (GWeakNotify) ptk_file_menu_free, data ); g_signal_connect_after( ( gpointer ) popup, "selection-done", G_CALLBACK ( gtk_widget_destroy ), NULL ); //is_dir = file_path && g_file_test( file_path, G_FILE_TEST_IS_DIR ); is_dir = ( info && vfs_file_info_is_dir( info ) ); // Note: network filesystems may become unresponsive here is_text = info && file_path && vfs_file_info_is_text( info, file_path ); // test R/W access to cwd instead of selected file // Note: network filesystems may become unresponsive here #if defined(HAVE_EUIDACCESS) no_read_access = euidaccess( cwd, R_OK ); no_write_access = euidaccess( cwd, W_OK ); #elif defined(HAVE_EACCESS) no_read_access = eaccess( cwd, R_OK ); no_write_access = eaccess( cwd, W_OK ); #endif GtkClipboard* clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); if ( ! gtk_clipboard_wait_is_target_available ( clip, gdk_atom_intern( "x-special/gnome-copied-files", FALSE ) ) && ! gtk_clipboard_wait_is_target_available ( clip, gdk_atom_intern( "text/uri-list", FALSE ) ) ) is_clip = FALSE; else is_clip = TRUE; int p = 0; int tab_count = 0; int tab_num = 0; int panel_count = 0; if ( browser ) { p = browser->mypanel; main_window_get_counts( browser, &panel_count, &tab_count, &tab_num ); } XSetContext* context = xset_context_new(); // Get mime type and apps if ( info ) { mime_type = vfs_file_info_get_mime_type( info ); apps = vfs_mime_type_get_actions( mime_type ); context->var[CONTEXT_MIME] = g_strdup( vfs_mime_type_get_type( mime_type ) ); } else { mime_type = NULL; apps = NULL; context->var[CONTEXT_MIME] = g_strdup( "" ); } // context if ( file_path ) context->var[CONTEXT_NAME] = g_path_get_basename( file_path ); else context->var[CONTEXT_NAME] = g_strdup( "" ); context->var[CONTEXT_DIR] = g_strdup( cwd ); context->var[CONTEXT_WRITE_ACCESS] = no_write_access ? g_strdup( "false" ) : g_strdup( "true" ); context->var[CONTEXT_IS_TEXT] = is_text ? g_strdup( "true" ) : g_strdup( "false" ); context->var[CONTEXT_IS_DIR] = is_dir ? g_strdup( "true" ) : g_strdup( "false" ); context->var[CONTEXT_MUL_SEL] = sel_files && sel_files->next ? g_strdup( "true" ) : g_strdup( "false" ); context->var[CONTEXT_CLIP_FILES] = is_clip ? g_strdup( "true" ) : g_strdup( "false" ); if ( info ) context->var[CONTEXT_IS_LINK] = vfs_file_info_is_symlink( info ) ? g_strdup( "true" ) : g_strdup( "false" ); else context->var[CONTEXT_IS_LINK] = g_strdup( "false" ); if ( browser ) main_context_fill( browser, context ); #ifdef DESKTOP_INTEGRATION else desktop_context_fill( desktop, context ); #endif if ( !context->valid ) { // rare exception due to context_fill hacks - fb was probably destroyed g_warning( "context_fill rare exception" ); context = xset_context_new(); g_slice_free( XSetContext, context ); context = NULL; return NULL; } // Open > set = xset_get( "con_open" ); set->disable = !( sel_files || desktop ); item = GTK_MENU_ITEM( xset_add_menuitem( desktop, browser, popup, accel_group, set ) ); if ( sel_files ) { submenu = gtk_menu_item_get_submenu( item ); // Execute if ( !is_dir && info && file_path && ( info->flags & VFS_FILE_INFO_DESKTOP_ENTRY || // Note: network filesystems may become unresponsive here vfs_file_info_is_executable( info, file_path ) ) ) { set = xset_set_cb( "open_execute", on_popup_open_activate, data ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); } // Prepare archive commands XSet *set_arc_extract = NULL, *set_arc_extractto, *set_arc_list; handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_ARC, HANDLER_EXTRACT, file_path, mime_type, FALSE, FALSE, FALSE ); if ( handlers_slist ) { g_slist_free( handlers_slist ); set_arc_extract = xset_set_cb( "arc_extract", on_popup_extract_here_activate, data ); xset_set_ob1( set_arc_extract, "set", set_arc_extract ); set_arc_extract->disable = no_write_access; set_arc_extractto = xset_set_cb( "arc_extractto", on_popup_extract_to_activate, data ); xset_set_ob1( set_arc_extractto, "set", set_arc_extractto ); set_arc_list = xset_set_cb( "arc_list", on_popup_extract_list_activate, data ); xset_set_ob1( set_arc_list, "set", set_arc_list ); set = xset_get( "arc_def_open" ); // do NOT use set = xset_set_cb here or wrong set is passed xset_set_cb( "arc_def_open", on_archive_default, set ); xset_set_ob2( set, NULL, NULL ); set_radio = set; set = xset_get( "arc_def_ex" ); xset_set_cb( "arc_def_ex", on_archive_default, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "arc_def_exto" ); xset_set_cb( "arc_def_exto", on_archive_default, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "arc_def_list" ); xset_set_cb( "arc_def_list", on_archive_default, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "arc_def_write" ); set->disable = geteuid() == 0 || !xset_get_b( "arc_def_parent" ); xset_set_cb( "arc_conf2", on_archive_show_config, data ); if ( !xset_get_b( "arc_def_open" ) ) { // archives are not set to open with app, so list archive // functions before file handlers and associated apps // list active function first if ( xset_get_b( "arc_def_ex" ) ) { xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_extract ); set_arc_extract = NULL; } else if ( xset_get_b( "arc_def_exto" ) ) { xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_extractto ); set_arc_extractto = NULL; } else { xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_list ); set_arc_list = NULL; } // add others if ( set_arc_extract ) xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_extract ); if ( set_arc_extractto ) xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_extractto ); if ( set_arc_list ) xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_list ); xset_add_menuitem( desktop, browser, submenu, accel_group, xset_get( "arc_default" ) ); set_arc_extract = NULL; // separator item = GTK_MENU_ITEM( gtk_separator_menu_item_new() ); gtk_menu_shell_append( GTK_MENU_SHELL( submenu ), GTK_WIDGET( item ) ); } } // file handlers handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_FILE, HANDLER_MOUNT, file_path, mime_type, FALSE, TRUE, FALSE ); if ( handlers_slist ) { GSList* sl; for ( sl = handlers_slist; sl; sl = sl->next ) { set = (XSet*)sl->data; app_menu_item = gtk_image_menu_item_new_with_label( set->menu_label ); gtk_container_add ( GTK_CONTAINER ( submenu ), app_menu_item ); g_signal_connect( G_OBJECT( app_menu_item ), "activate", G_CALLBACK( on_popup_run_app ), ( gpointer ) data ); g_object_set_data( G_OBJECT( app_menu_item ), "menu", submenu ); g_signal_connect( G_OBJECT( app_menu_item ), "button-press-event", G_CALLBACK( on_app_button_press ), ( gpointer ) data ); g_signal_connect( G_OBJECT( app_menu_item ), "button-release-event", G_CALLBACK( on_app_button_press ), ( gpointer ) data ); g_object_set_data( G_OBJECT( app_menu_item ), "handler_set", set ); app_img = NULL; if ( set->icon && set->icon[0] ) app_img = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); if ( !app_img ) app_img = xset_get_image( "gtk-execute", GTK_ICON_SIZE_MENU ); gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM( app_menu_item ), app_img ); } g_slist_free( handlers_slist ); // add a separator item = GTK_MENU_ITEM( gtk_separator_menu_item_new() ); gtk_widget_show ( GTK_WIDGET( item ) ); gtk_container_add ( GTK_CONTAINER ( submenu ), GTK_WIDGET( item ) ); } // add apps gtk_icon_size_lookup_for_settings( gtk_settings_get_default(), GTK_ICON_SIZE_MENU, &icon_w, &icon_h ); if ( is_text ) { char **tmp, **txt_apps; VFSMimeType* txt_type; int len1, len2; txt_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_PLAIN_TEXT ); txt_apps = vfs_mime_type_get_actions( txt_type ); if ( txt_apps ) { len1 = apps ? g_strv_length( apps ) : 0; len2 = g_strv_length( txt_apps ); tmp = apps; apps = vfs_mime_type_join_actions( apps, len1, txt_apps, len2 ); g_strfreev( txt_apps ); g_strfreev( tmp ); } vfs_mime_type_unref( txt_type ); } if ( apps ) { for ( app = apps; *app; ++app ) { if ( ( app - apps ) == 1 && !handlers_slist ) { // Add a separator after default app if no handlers listed item = GTK_MENU_ITEM( gtk_separator_menu_item_new() ); gtk_widget_show ( GTK_WIDGET( item ) ); gtk_container_add ( GTK_CONTAINER ( submenu ), GTK_WIDGET( item ) ); } desktop_file = vfs_app_desktop_new( *app ); app_name = vfs_app_desktop_get_disp_name( desktop_file ); if ( app_name ) app_menu_item = gtk_image_menu_item_new_with_label ( app_name ); else app_menu_item = gtk_image_menu_item_new_with_label ( *app ); gtk_container_add ( GTK_CONTAINER ( submenu ), app_menu_item ); g_signal_connect( G_OBJECT( app_menu_item ), "activate", G_CALLBACK( on_popup_run_app ), ( gpointer ) data ); g_object_set_data( G_OBJECT( app_menu_item ), "menu", submenu ); g_signal_connect( G_OBJECT( app_menu_item ), "button-press-event", G_CALLBACK( on_app_button_press ), ( gpointer ) data ); g_signal_connect( G_OBJECT( app_menu_item ), "button-release-event", G_CALLBACK( on_app_button_press ), ( gpointer ) data ); g_object_set_data_full( G_OBJECT( app_menu_item ), "desktop_file", desktop_file, vfs_app_desktop_unref ); app_icon = vfs_app_desktop_get_icon( desktop_file, icon_w > icon_h ? icon_w : icon_h, TRUE ); if ( app_icon ) { app_img = gtk_image_new_from_pixbuf( app_icon ); if ( app_img ) gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM( app_menu_item ), app_img ); g_object_unref( app_icon ); } } g_strfreev( apps ); } // open with other item = GTK_MENU_ITEM( gtk_separator_menu_item_new() ); gtk_menu_shell_append( GTK_MENU_SHELL( submenu ), GTK_WIDGET( item ) ); set = xset_set_cb( "open_other", on_popup_open_with_another_activate, data ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); set = xset_set_cb( "open_hand", on_popup_handlers_activate, data ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); // Default char* plain_type = NULL; if ( mime_type ) plain_type = g_strdup( vfs_mime_type_get_type( mime_type ) ); if ( !plain_type ) plain_type = g_strdup( "" ); str = plain_type; plain_type = replace_string( str, "-", "_", FALSE ); g_free( str ); str = replace_string( plain_type, " ", "", FALSE ); g_free( plain_type ); plain_type = g_strdup_printf( "open_all_type_%s", str ); g_free( str ); set = xset_set_cb( plain_type, on_popup_open_all, data ); g_free( plain_type ); set->lock = TRUE; set->menu_style = XSET_MENU_NORMAL; if ( set->shared_key ) g_free( set->shared_key ); set->shared_key = g_strdup( "open_all" ); set2 = xset_get( "open_all" ); if ( set->menu_label ) g_free( set->menu_label ); set->menu_label = g_strdup( set2->menu_label ); if ( set->context ) { g_free( set->context ); set->context = NULL; } item = GTK_MENU_ITEM( xset_add_menuitem( desktop, browser, submenu, accel_group, set ) ); app_icon = mime_type ? vfs_mime_type_get_icon( mime_type, FALSE ) : NULL; if ( app_icon ) { GdkPixbuf* app_icon_scaled = gdk_pixbuf_scale_simple( app_icon, icon_w, icon_h, GDK_INTERP_BILINEAR ); app_img = gtk_image_new_from_pixbuf( app_icon_scaled ); if ( app_img ) { gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM( item ), app_img ); } g_object_unref( app_icon ); g_object_unref( app_icon_scaled ); } if ( set->menu_label ) g_free( set->menu_label ); set->menu_label = NULL; // don't bother to save this // Edit / Dir if ( ( is_dir && browser ) || ( is_text && sel_files && !sel_files->next ) ) { item = GTK_MENU_ITEM( gtk_separator_menu_item_new() ); gtk_menu_shell_append( GTK_MENU_SHELL( submenu ), GTK_WIDGET( item ) ); if ( is_text ) { // Edit set = xset_set_cb( "open_edit", on_file_edit, data ); set->disable = ( geteuid() == 0 ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); set = xset_set_cb( "open_edit_root", on_file_root_edit, data ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); } else if ( browser && is_dir ) { // Open Dir set = xset_set_cb( "opentab_prev", on_open_in_tab, data ); xset_set_ob1_int( set, "tab_num", -1 ); set->disable = ( tab_num == 1 ); set = xset_set_cb( "opentab_next", on_open_in_tab, data ); xset_set_ob1_int( set, "tab_num", -2 ); set->disable = ( tab_num == tab_count ); set = xset_set_cb( "opentab_new", on_popup_open_in_new_tab_activate, data ); for ( i = 1; i < 11; i++ ) { name = g_strdup_printf( "opentab_%d", i ); set = xset_set_cb( name, on_open_in_tab, data ); xset_set_ob1_int( set, "tab_num", i ); set->disable = ( i > tab_count ) || ( i == tab_num ); g_free( name ); } set = xset_set_cb( "open_in_panelprev", on_open_in_panel, data ); xset_set_ob1_int( set, "panel_num", -1 ); set->disable = ( panel_count == 1 ); set = xset_set_cb( "open_in_panelnext", on_open_in_panel, data ); xset_set_ob1_int( set, "panel_num", -2 ); set->disable = ( panel_count == 1 ); for ( i = 1; i < 5; i++ ) { name = g_strdup_printf( "open_in_panel%d", i ); set = xset_set_cb( name, on_open_in_panel, data ); xset_set_ob1_int( set, "panel_num", i ); //set->disable = ( p == i ); g_free( name ); } set = xset_get( "open_in_tab" ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); set = xset_get( "open_in_panel" ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); } } if ( set_arc_extract ) { // archives are set to open with app, so list archive // functions after associated apps // separator item = GTK_MENU_ITEM( gtk_separator_menu_item_new() ); gtk_menu_shell_append( GTK_MENU_SHELL( submenu ), GTK_WIDGET( item ) ); xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_extract ); xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_extractto ); xset_add_menuitem( desktop, browser, submenu, accel_group, set_arc_list ); xset_add_menuitem( desktop, browser, submenu, accel_group, xset_get( "arc_default" ) ); } g_signal_connect (submenu, "key-press-event", G_CALLBACK (app_menu_keypress), data ); } #ifdef DESKTOP_INTEGRATION else if ( desktop ) { // desktop, no selected files submenu = gtk_menu_item_get_submenu( item ); set = xset_set_cb( "desk_open", desktop_window_open_desktop_dir, desktop ); xset_add_menuitem( desktop, browser, submenu, accel_group, set ); } #endif if ( mime_type ) vfs_mime_type_unref( mime_type ); // Go > if ( browser ) { set = xset_set_cb( "go_back", ptk_file_browser_go_back, browser ); set->disable = !( browser->curHistory && browser->curHistory->prev ); set = xset_set_cb( "go_forward", ptk_file_browser_go_forward, browser ); set->disable = !( browser->curHistory && browser->curHistory->next ); set = xset_set_cb( "go_up", ptk_file_browser_go_up, browser ); set->disable = !strcmp( cwd, "/" ); xset_set_cb( "go_home", ptk_file_browser_go_home, browser ); xset_set_cb( "go_default", ptk_file_browser_go_default, browser ); xset_set_cb( "go_set_default", ptk_file_browser_set_default_folder, browser ); xset_set_cb( "edit_canon", on_popup_canon, data ); xset_set_cb( "go_refresh", ptk_file_browser_refresh, browser ); set = xset_set_cb( "focus_path_bar", ptk_file_browser_focus, browser ); xset_set_ob1_int( set, "job", 0 ); set = xset_set_cb( "focus_filelist", ptk_file_browser_focus, browser ); xset_set_ob1_int( set, "job", 4 ); set = xset_set_cb( "focus_dirtree", ptk_file_browser_focus, browser ); xset_set_ob1_int( set, "job", 1 ); set = xset_set_cb( "focus_book", ptk_file_browser_focus, browser ); xset_set_ob1_int( set, "job", 2 ); set = xset_set_cb( "focus_device", ptk_file_browser_focus, browser ); xset_set_ob1_int( set, "job", 3 ); // Go > Tab > set = xset_set_cb( "tab_prev", ptk_file_browser_go_tab, browser ); xset_set_ob1_int( set, "tab_num", -1 ); set->disable = ( tab_count < 2 ); set = xset_set_cb( "tab_next", ptk_file_browser_go_tab, browser ); xset_set_ob1_int( set, "tab_num", -2 ); set->disable = ( tab_count < 2 ); set = xset_set_cb( "tab_close", ptk_file_browser_go_tab, browser ); xset_set_ob1_int( set, "tab_num", -3 ); for ( i = 1; i < 11; i++ ) { name = g_strdup_printf( "tab_%d", i ); set = xset_set_cb( name, ptk_file_browser_go_tab, browser ); xset_set_ob1_int( set, "tab_num", i ); set->disable = ( i > tab_count ) || ( i == tab_num ); g_free( name ); } set = xset_get( "con_go" ); xset_add_menuitem( desktop, browser, popup, accel_group, set ); } // New > if ( desktop || browser ) { set = xset_set_cb( "new_file", on_popup_new_text_file_activate, data ); set = xset_set_cb( "new_folder", on_popup_new_folder_activate, data ); set = xset_set_cb( "new_link", on_popup_new_link_activate, data ); set = xset_set_cb( "new_archive", on_popup_compress_activate, data ); set->disable = ( !sel_files ); if ( desktop ) { xset_set_cb( "new_app", on_popup_desktop_new_app_activate, desktop ); set = xset_get( "open_new" ); xset_set_set( set, "desc", "new_file new_folder new_link new_archive sep_o1 new_app" ); } else { set = xset_set_cb( "tab_new", ptk_file_browser_new_tab, browser ); set->disable = !browser; set = xset_set_cb( "tab_new_here", on_popup_open_in_new_tab_here, data ); set->disable = !browser; set = xset_set_cb( "new_bookmark", on_new_bookmark, data ); set->disable = !browser; set = xset_get( "open_new" ); xset_set_set( set, "desc", "new_file new_folder new_link new_archive sep_o1 tab_new tab_new_here new_bookmark" ); } xset_add_menuitem( desktop, browser, popup, accel_group, set ); set = xset_get( "sep_new" ); xset_add_menuitem( desktop, browser, popup, accel_group, set ); } // Edit if ( browser || desktop ) { set = xset_set_cb( "copy_name", on_popup_copy_name_activate, data ); set->disable = !sel_files; set = xset_set_cb( "copy_path", on_popup_copy_text_activate, data ); set->disable = !sel_files; set = xset_set_cb( "copy_parent", on_popup_copy_parent_activate, data ); set->disable = !sel_files; set = xset_set_cb( "paste_link", on_popup_paste_link_activate, data ); set->disable = !is_clip || no_write_access; set = xset_set_cb( "paste_target", on_popup_paste_target_activate, data ); set->disable = !is_clip || no_write_access; set = xset_set_cb( "paste_as", on_popup_paste_as_activate, data ); set->disable = !is_clip; set = xset_set_cb( "root_copy_loc", on_popup_rootcmd_activate, data ); xset_set_ob1( set, "set", set ); set->disable = !sel_files; set = xset_set_cb( "root_move2", on_popup_rootcmd_activate, data ); xset_set_ob1( set, "set", set ); set->disable = !sel_files; set = xset_set_cb( "root_delete", on_popup_rootcmd_activate, data ); xset_set_ob1( set, "set", set ); set->disable = !sel_files; set = xset_set_cb( "edit_hide", on_hide_file, data ); set->disable = !sel_files || no_write_access || desktop || !browser; if ( browser ) { xset_set_cb( "select_all", ptk_file_browser_select_all, data->browser ); set = xset_set_cb( "select_un", ptk_file_browser_unselect_all, browser ); set->disable = !sel_files; xset_set_cb( "select_invert", ptk_file_browser_invert_selection, browser ); xset_set_cb( "select_patt", on_popup_select_pattern, data ); } else { xset_set_cb( "select_all", on_popup_desktop_select, desktop ); set = xset_set_cb( "select_un", on_popup_desktop_select, desktop ); set->disable = !sel_files; xset_set_cb( "select_invert", on_popup_desktop_select, desktop ); xset_set_cb( "select_patt", on_popup_desktop_select, desktop ); } static const char* copycmd[] = { "copy_loc", "copy_loc_last", "copy_tab_prev", "copy_tab_next", "copy_tab_1", "copy_tab_2", "copy_tab_3", "copy_tab_4", "copy_tab_5", "copy_tab_6", "copy_tab_7", "copy_tab_8", "copy_tab_9", "copy_tab_10", "copy_panel_prev", "copy_panel_next", "copy_panel_1", "copy_panel_2", "copy_panel_3", "copy_panel_4", "move_loc", "move_loc_last", "move_tab_prev", "move_tab_next", "move_tab_1", "move_tab_2", "move_tab_3", "move_tab_4", "move_tab_5", "move_tab_6", "move_tab_7", "move_tab_8", "move_tab_9", "move_tab_10", "move_panel_prev", "move_panel_next", "move_panel_1", "move_panel_2", "move_panel_3", "move_panel_4" }; for ( i = 0; i < G_N_ELEMENTS( copycmd ); i++ ) { set = xset_set_cb( copycmd[i], on_copycmd, data ); xset_set_ob1( set, "set", set ); } // enables set = xset_get( "copy_loc_last" ); set2 = xset_get( "move_loc_last" ); if ( desktop ) { set = xset_get( "copy_tab" ); set->disable = TRUE; set = xset_get( "copy_panel" ); set->disable = TRUE; set = xset_get( "move_tab" ); set->disable = TRUE; set = xset_get( "move_panel" ); set->disable = TRUE; } else { set = xset_get( "copy_tab_prev" ); set->disable = ( tab_num == 1 ); set = xset_get( "copy_tab_next" ); set->disable = ( tab_num == tab_count ); set = xset_get( "move_tab_prev" ); set->disable = ( tab_num == 1 ); set = xset_get( "move_tab_next" ); set->disable = ( tab_num == tab_count ); set = xset_get( "copy_panel_prev" ); set->disable = ( panel_count < 2 ); set = xset_get( "copy_panel_next" ); set->disable = ( panel_count < 2 ); set = xset_get( "move_panel_prev" ); set->disable = ( panel_count < 2 ); set = xset_get( "move_panel_next" ); set->disable = ( panel_count < 2 ); gboolean b; for ( i = 1; i < 11; i++ ) { str = g_strdup_printf( "copy_tab_%d", i ); set = xset_get( str ); g_free( str ); set->disable = ( i > tab_count ) || ( i == tab_num ); str = g_strdup_printf( "move_tab_%d", i ); set = xset_get( str ); g_free( str ); set->disable = ( i > tab_count ) || ( i == tab_num ); if ( i > 4 ) continue; b = main_window_panel_is_visible( browser, i ); str = g_strdup_printf( "copy_panel_%d", i ); set = xset_get( str ); g_free( str ); set->disable = ( i == p ) || !b; str = g_strdup_printf( "move_panel_%d", i ); set = xset_get( str ); g_free( str ); set->disable = ( i == p ) || !b; } } set = xset_get( "copy_to" ); set->disable = !sel_files; set = xset_get( "move_to" ); set->disable = !sel_files; set = xset_get( "edit_root" ); set->disable = ( geteuid() == 0 ) || !sel_files; set = xset_get( "edit_submenu" ); xset_add_menuitem( desktop, browser, popup, accel_group, set ); } set = xset_set_cb( "edit_cut", on_popup_cut_activate, data ); set->disable = !sel_files; xset_add_menuitem( desktop, browser, popup, accel_group, set ); set = xset_set_cb( "edit_copy", on_popup_copy_activate, data ); set->disable = !sel_files; xset_add_menuitem( desktop, browser, popup, accel_group, set ); set = xset_set_cb( "edit_paste", on_popup_paste_activate, data ); set->disable = !is_clip || no_write_access; xset_add_menuitem( desktop, browser, popup, accel_group, set ); set = xset_set_cb( "edit_rename", on_popup_rename_activate, data ); set->disable = !sel_files; xset_add_menuitem( desktop, browser, popup, accel_group, set ); set = xset_set_cb( "edit_delete", on_popup_delete_activate, data ); set->disable = !sel_files || no_write_access; xset_add_menuitem( desktop, browser, popup, accel_group, set ); set = xset_get( "sep_edit" ); xset_add_menuitem( desktop, browser, popup, accel_group, set ); // View > if ( browser ) ptk_file_menu_add_panel_view_menu( browser, popup, accel_group ); // Properties if ( browser ) { set = xset_set_cb( "prop_info", on_popup_file_properties_activate, data ); set = xset_set_cb( "prop_perm", on_popup_file_permissions_activate, data ); static const char* permcmd[] = { "perm_r", "perm_rw", "perm_rwx", "perm_r_r", "perm_rw_r", "perm_rw_rw", "perm_rwxr_x", "perm_rwxrwx", "perm_r_r_r", "perm_rw_r_r", "perm_rw_rw_rw", "perm_rwxr_r", "perm_rwxr_xr_x", "perm_rwxrwxrwx", "perm_rwxrwxrwt", "perm_unstick", "perm_stick", "perm_go_w", "perm_go_rwx", "perm_ugo_w", "perm_ugo_rx", "perm_ugo_rwx", "rperm_rw", "rperm_rwx", "rperm_rw_r", "rperm_rw_rw", "rperm_rwxr_x", "rperm_rwxrwx", "rperm_rw_r_r", "rperm_rw_rw_rw", "rperm_rwxr_r", "rperm_rwxr_xr_x", "rperm_rwxrwxrwx", "rperm_rwxrwxrwt", "rperm_unstick", "rperm_stick", "rperm_go_w", "rperm_go_rwx", "rperm_ugo_w", "rperm_ugo_rx", "rperm_ugo_rwx", "own_myuser", "own_myuser_users", "own_user1", "own_user1_users", "own_user2", "own_user2_users", "own_root", "own_root_users", "own_root_myuser", "own_root_user1", "own_root_user2", "rown_myuser", "rown_myuser_users", "rown_user1", "rown_user1_users", "rown_user2", "rown_user2_users", "rown_root", "rown_root_users", "rown_root_myuser", "rown_root_user1", "rown_root_user2" }; for ( i = 0; i < G_N_ELEMENTS( permcmd ); i++ ) { set = xset_set_cb( permcmd[i], on_permission, data ); xset_set_ob1( set, "set", set ); } set = xset_get( "prop_quick" ); set->disable = no_write_access || !sel_files; set = xset_get( "prop_root" ); set->disable = !sel_files; set = xset_get( "con_prop" ); if ( geteuid() == 0 ) desc = g_strdup_printf( "prop_info prop_perm prop_root" ); else desc = g_strdup_printf( "prop_info prop_perm prop_quick prop_root" ); xset_set_set( set, "desc", desc ); g_free( desc ); xset_add_menuitem( desktop, browser, popup, accel_group, set ); } else if ( desktop ) { // Desktop|Devices set = xset_get( "desk_dev" ); item = GTK_MENU_ITEM( xset_add_menuitem( desktop, NULL, popup, accel_group, set ) ); submenu = gtk_menu_item_get_submenu( item ); ptk_location_view_dev_menu( GTK_WIDGET( desktop ), NULL, submenu ); #ifndef HAVE_HAL set = xset_get( "sep_dm3" ); xset_add_menuitem( desktop, NULL, submenu, accel_group, set ); set = xset_get( "dev_menu_settings" ); xset_add_menuitem( desktop, NULL, submenu, accel_group, set ); #endif // Desktop|Bookmarks set = xset_get( "main_book" ); set->lock = FALSE; // treat as custom item for menu build GtkMenuItem* book_item = GTK_MENU_ITEM( xset_add_menuitem( desktop, NULL, popup, accel_group, set ) ); set->lock = TRUE; // Desktop|Icons > set = xset_set_cb( "desk_sort_name", on_popup_desktop_sort_activate, desktop ); set->b = app_settings.desktop_sort_by == DW_SORT_BY_NAME ? XSET_B_TRUE : XSET_B_FALSE; xset_set_ob2( set, NULL, NULL ); set_radio = set; set = xset_set_cb( "desk_sort_type", on_popup_desktop_sort_activate, desktop ); set->b = app_settings.desktop_sort_by == DW_SORT_BY_TYPE ? XSET_B_TRUE : XSET_B_FALSE; xset_set_ob2( set, NULL, set_radio ); set = xset_set_cb( "desk_sort_date", on_popup_desktop_sort_activate, desktop ); set->b = app_settings.desktop_sort_by == DW_SORT_BY_MTIME ? XSET_B_TRUE : XSET_B_FALSE; xset_set_ob2( set, NULL, set_radio ); set = xset_set_cb( "desk_sort_size", on_popup_desktop_sort_activate, desktop ); set->b = app_settings.desktop_sort_by == DW_SORT_BY_SIZE ? XSET_B_TRUE : XSET_B_FALSE; xset_set_ob2( set, NULL, set_radio ); set = xset_set_cb( "desk_sort_cust", on_popup_desktop_sort_activate, desktop ); set->b = app_settings.desktop_sort_by == DW_SORT_CUSTOM ? XSET_B_TRUE : XSET_B_FALSE; xset_set_ob2( set, NULL, set_radio ); set = xset_set_cb( "desk_sort_ascend", on_popup_desktop_sort_activate, desktop ); set->b = app_settings.desktop_sort_type == GTK_SORT_ASCENDING ? XSET_B_TRUE : XSET_B_FALSE; xset_set_ob2( set, NULL, NULL ); set_radio = set; set->disable = app_settings.desktop_sort_by == DW_SORT_CUSTOM; set = xset_set_cb( "desk_sort_descend", on_popup_desktop_sort_activate, desktop ); set->b = app_settings.desktop_sort_type == GTK_SORT_DESCENDING ? XSET_B_TRUE : XSET_B_FALSE; xset_set_ob2( set, NULL, set_radio ); set->disable = app_settings.desktop_sort_by == DW_SORT_CUSTOM; set = xset_get( "desk_icons" ); item = GTK_MENU_ITEM( xset_add_menuitem( desktop, NULL, popup, accel_group, set ) ); set = xset_set_cb( "desk_pref", on_popup_desktop_pref_activate, desktop ); xset_add_menuitem( desktop, NULL, popup, accel_group, set ); // Desktop|Info set = xset_get( "sep_desk2" ); xset_add_menuitem( desktop, NULL, popup, accel_group, set ); set = xset_set_cb( "prop_info", on_popup_file_properties_activate, data ); xset_add_menuitem( desktop, NULL, popup, accel_group, set ); } gtk_widget_show_all( GTK_WIDGET( popup ) ); g_signal_connect( popup, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); g_signal_connect (popup, "key-press-event", G_CALLBACK (xset_menu_keypress), NULL ); return popup; } void on_popup_open_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { GList* sel_files = data->sel_files; if( ! sel_files ) sel_files = g_list_prepend( sel_files, data->info ); ptk_open_files_with_app( data->cwd, sel_files, NULL, data->desktop, data->browser, TRUE, FALSE ); if( sel_files != data->sel_files ) g_list_free( sel_files ); } void on_popup_open_with_another_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { char * app = NULL; VFSMimeType* mime_type; if ( data->info ) { mime_type = vfs_file_info_get_mime_type( data->info ); if ( G_LIKELY( ! mime_type ) ) { mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_UNKNOWN ); } } else { mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_DIRECTORY ); } GtkWindow* parent_win; if ( data->browser ) parent_win = GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( data->browser ) ) ); else parent_win = GTK_WINDOW( data->desktop ); app = (char *) ptk_choose_app_for_mime_type( parent_win, mime_type, FALSE, TRUE, TRUE, FALSE ); if ( app ) { GList* sel_files = data->sel_files; if( ! sel_files ) sel_files = g_list_prepend( sel_files, data->info ); ptk_open_files_with_app( data->cwd, sel_files, app, data->desktop, data->browser, FALSE, FALSE ); if( sel_files != data->sel_files ) g_list_free( sel_files ); g_free( app ); } vfs_mime_type_unref( mime_type ); } void on_popup_handlers_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { ptk_handler_show_config( HANDLER_MODE_FILE, data->desktop, data->browser, NULL ); } void on_popup_open_all( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( xset_opener( NULL, data->browser, 1 ) ) return; GList* sel_files; sel_files = data->sel_files; if( ! sel_files ) sel_files = g_list_prepend( sel_files, data->info ); ptk_open_files_with_app( data->cwd, sel_files, NULL, data->desktop, data->browser, FALSE, TRUE ); if( sel_files != data->sel_files ) g_list_free( sel_files ); } void on_popup_run_app( GtkMenuItem *menuitem, PtkFileMenu* data ) { VFSAppDesktop * desktop_file; const char* app = NULL; char* set_app = NULL; GList* sel_files; XSet* handler_set = (XSet*)g_object_get_data( G_OBJECT( menuitem ), "handler_set" ); if ( handler_set ) { // is a file handler app = set_app = g_strconcat( "###", handler_set->name, NULL ); } else { desktop_file = ( VFSAppDesktop* ) g_object_get_data( G_OBJECT( menuitem ), "desktop_file" ); if ( !desktop_file ) return ; app = vfs_app_desktop_get_name( desktop_file ); } sel_files = data->sel_files; if( ! sel_files ) sel_files = g_list_prepend( sel_files, data->info ); ptk_open_files_with_app( data->cwd, sel_files, (char *) app, data->desktop, data->browser, FALSE, FALSE ); if( sel_files != data->sel_files ) g_list_free( sel_files ); g_free( set_app ); } enum { APP_JOB_NONE, APP_JOB_DEFAULT, APP_JOB_REMOVE, APP_JOB_EDIT, APP_JOB_EDIT_LIST, APP_JOB_ADD, APP_JOB_BROWSE, APP_JOB_BROWSE_SHARED, APP_JOB_EDIT_TYPE, APP_JOB_VIEW, APP_JOB_VIEW_TYPE, APP_JOB_VIEW_OVER, APP_JOB_UPDATE, APP_JOB_BROWSE_MIME, APP_JOB_BROWSE_MIME_USR, APP_JOB_HELP, APP_JOB_USR }; char* get_shared_desktop_file_location( const char* name ) { const gchar* const * dirs; char* ret; dirs = g_get_system_data_dirs(); for ( ; *dirs; ++dirs ) { if ( ret = vfs_mime_type_locate_desktop_file( *dirs, name ) ) return ret; } return NULL; } void app_job( GtkWidget* item, GtkWidget* app_item ) { char* path; char* str; VFSAppDesktop* desktop_file = ( VFSAppDesktop* ) g_object_get_data( G_OBJECT( app_item ), "desktop_file" ); if ( !( desktop_file && desktop_file->file_name ) ) return; int job = GPOINTER_TO_INT( g_object_get_data( G_OBJECT(item), "job" ) ); PtkFileMenu* data = (PtkFileMenu*)g_object_get_data( G_OBJECT(item), "data" ); if ( !( data && data->info ) ) return; VFSMimeType* mime_type = vfs_file_info_get_mime_type( data->info ); if ( !mime_type ) mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_UNKNOWN ); switch ( job ) { case APP_JOB_DEFAULT: vfs_mime_type_set_default_action( mime_type, desktop_file->file_name ); ptk_app_chooser_has_handler_warn( data->browser ? GTK_WIDGET( data->browser ) : NULL, mime_type ); break; case APP_JOB_REMOVE: // for text files, spacefm displays both the actions for the type // and the actions for text/plain, so removing an app may appear to not // work if that app is still associated with text/plain vfs_mime_type_remove_action( mime_type, desktop_file->file_name ); if ( strcmp( mime_type->type, "text/plain" ) && g_str_has_prefix( mime_type->type, "text/" ) ) xset_msg_dialog( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), 0, _("Remove Text Type Association"), NULL, 0, _("NOTE: When compiling the list of applications to appear in the Open submenu for a text file, SpaceFM will include applications associated with the MIME type (eg text/html) AND applications associated with text/plain. If you select Remove on an application, it will be removed as an associated application for the MIME type (eg text/html), but will NOT be removed as an associated application for text/plain (unless the MIME type is text/plain). Thus using Remove may not remove the application from the Open submenu for this type, unless you also remove it from text/plain."), NULL, "#designmode-mime-remove" ); break; case APP_JOB_EDIT: path = g_build_filename( g_get_user_data_dir(), "applications", desktop_file->file_name, NULL ); if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { char* share_desktop = vfs_mime_type_locate_desktop_file( NULL, desktop_file->file_name ); if ( !( share_desktop && strcmp( share_desktop, path ) ) ) { g_free( share_desktop ); g_free( path ); return; } char* msg = g_strdup_printf( _("The file '%s' does not exist.\n\nBy copying '%s' to '%s' and editing it, you can adjust the behavior and appearance of this application for the current user.\n\nCreate this copy now?"), path, share_desktop, path ); if ( xset_msg_dialog( GTK_WIDGET( data->browser ), GTK_MESSAGE_QUESTION, _( "Copy Desktop File" ), NULL, GTK_BUTTONS_YES_NO, msg, NULL, "#designmode-mime-appdesktop" ) != GTK_RESPONSE_YES ) { g_free( share_desktop ); g_free( path ); g_free( msg ); break; } g_free( msg ); // need to copy xset_copy_file( share_desktop, path ); g_free( share_desktop ); if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { g_free( path ); return; } } xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), path, FALSE, FALSE ); g_free( path ); break; case APP_JOB_VIEW: path = get_shared_desktop_file_location( desktop_file->file_name ); if ( path ) xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), path, FALSE, TRUE ); break; case APP_JOB_EDIT_LIST: // $XDG_CONFIG_HOME=[~/.config]/mimeapps.list path = g_build_filename( g_get_user_config_dir(), "mimeapps.list", NULL ); if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { // try old location // $XDG_DATA_HOME=[~/.local]/applications/mimeapps.list g_free( path ); path = g_build_filename( g_get_user_data_dir(), "applications", "mimeapps.list", NULL ); } xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), path, FALSE, TRUE ); g_free( path ); break; case APP_JOB_ADD: path = ptk_choose_app_for_mime_type( data->browser ? GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( data->browser ) ) ) : GTK_WINDOW( data->desktop ), mime_type, FALSE, TRUE, TRUE, TRUE ); // ptk_choose_app_for_mime_type returns either a bare command that // was already set as default, or a (custom or shared) desktop file if ( path && g_str_has_suffix( path, ".desktop" ) && !strchr( path, '/' ) && mime_type ) vfs_mime_type_append_action( mime_type->type, path ); g_free( path ); break; case APP_JOB_BROWSE: path = g_build_filename( g_get_user_data_dir(), "applications", NULL ); g_mkdir_with_parents( path, 0700 ); if ( data->browser ) ptk_file_browser_emit_open( data->browser, path, PTK_OPEN_NEW_TAB ); break; case APP_JOB_BROWSE_SHARED: str = get_shared_desktop_file_location( desktop_file->file_name ); if ( str ) path = g_path_get_dirname( str ); else path = g_strdup( "/usr/share/applications" ); g_free( str ); if ( data->browser ) ptk_file_browser_emit_open( data->browser, path, PTK_OPEN_NEW_TAB ); break; case APP_JOB_EDIT_TYPE: path = g_build_filename( g_get_user_data_dir(), "mime/packages", NULL ); g_mkdir_with_parents( path, 0700 ); g_free( path ); str = replace_string( mime_type->type, "/", "-", FALSE ); path = str; str = g_strdup_printf( "%s.xml", path ); g_free( path ); path = g_build_filename( g_get_user_data_dir(), "mime/packages", str, NULL ); g_free( str ); if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { str = g_strdup_printf( "%s.xml", mime_type->type ); char* usr_path = g_build_filename( "/usr/share/mime", str, NULL ); g_free( str ); char* msg; if ( g_file_test( usr_path, G_FILE_TEST_EXISTS ) ) msg = g_strdup_printf( _("The file '%s' does not exist.\n\nBy copying '%s' to '%s' and editing it, you can adjust how MIME type '%s' files are recognized for the current user.\n\nCreate this copy now?"), path, usr_path, path, mime_type->type ); else msg = g_strdup_printf( _("The file '%s' does not exist.\n\nBy creating new file '%s' and editing it, you can define how MIME type '%s' files are recognized for the current user.\n\nCreate this file now?"), path, path, mime_type->type ); if ( xset_msg_dialog( GTK_WIDGET( data->browser ), GTK_MESSAGE_QUESTION, _( "Create New XML" ), NULL, GTK_BUTTONS_YES_NO, msg, NULL, "#designmode-mime-xml" ) != GTK_RESPONSE_YES ) { g_free( usr_path ); g_free( path ); g_free( msg ); break; } g_free( msg ); // need to create msg = g_strdup_printf( "\n\n\n\n", mime_type->type ); // build from /usr/share/mime type ? char* contents = NULL; if ( g_file_get_contents ( usr_path, &contents, NULL, NULL ) ) { char* start = NULL; if ( str = strstr( contents, "\n\n" ) ) { str[1] = '\0'; start = contents; if ( str = strstr( str + 2, "" ) ) start = str + 4; } } } if ( start ) str = g_strdup_printf( "%s\n\n%s\n", msg, start ); else str = NULL; g_free( contents ); contents = str; } g_free( usr_path ); if ( !contents ) contents = g_strdup_printf( "%s\n\n\n\n\n\n\n\n", msg ); g_free( msg ); // write file FILE* file = fopen( path, "w" ); if ( file ) { fputs( contents, file ); fclose( file ); } g_free( contents ); } if ( g_file_test( path, G_FILE_TEST_EXISTS ) ) { xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), path, FALSE, FALSE ); } g_free( path ); vfs_dir_monitor_mime(); break; case APP_JOB_VIEW_TYPE: str = g_strdup_printf( "%s.xml", mime_type->type ); path = g_build_filename( "/usr/share/mime", str, NULL ); g_free( str ); if ( g_file_test( path, G_FILE_TEST_EXISTS ) ) { xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), path, FALSE, TRUE ); } g_free( path ); break; case APP_JOB_VIEW_OVER: path = "/usr/share/mime/packages/Overrides.xml"; xset_edit( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), path, TRUE, FALSE ); break; case APP_JOB_BROWSE_MIME_USR: if ( data->browser ) ptk_file_browser_emit_open( data->browser, "/usr/share/mime/packages", PTK_OPEN_NEW_TAB ); break; case APP_JOB_BROWSE_MIME: path = g_build_filename( g_get_user_data_dir(), "mime/packages", NULL ); g_mkdir_with_parents( path, 0700 ); if ( data->browser ) ptk_file_browser_emit_open( data->browser, path, PTK_OPEN_NEW_TAB ); vfs_dir_monitor_mime(); break; case APP_JOB_UPDATE: path = g_strdup_printf( "update-mime-database %s/mime", g_get_user_data_dir() ); g_spawn_command_line_async( path, NULL ); g_free( path ); path = g_strdup_printf( "update-desktop-database %s/applications", g_get_user_data_dir() ); g_spawn_command_line_async( path, NULL ); g_free( path ); break; case APP_JOB_HELP: xset_show_help( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), NULL, "#designmode-mime" ); break; } if ( mime_type ) vfs_mime_type_unref( mime_type ); } gboolean app_menu_keypress( GtkWidget* menu, GdkEventKey* event, PtkFileMenu* data ) { int job = -1; XSet* set; PtkFileMenu* app_data = NULL; VFSAppDesktop* desktop_file = NULL; GtkWidget* item = gtk_menu_shell_get_selected_item( GTK_MENU_SHELL( menu ) ); if ( item ) { // if original menu, desktop_file will be set desktop_file = ( VFSAppDesktop* ) g_object_get_data( G_OBJECT( item ), "desktop_file" ); // else if app menu, data will be set app_data = (PtkFileMenu*)g_object_get_data( G_OBJECT(item), "data" ); if ( !desktop_file && !app_data ) return FALSE; } else return FALSE; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( keymod == 0 ) { if ( event->keyval == GDK_KEY_F1 ) { char* help = NULL; if ( app_data ) { job = GPOINTER_TO_INT( g_object_get_data( G_OBJECT(item), "job" ) ); switch ( job ) { case APP_JOB_DEFAULT: help = "#designmode-mime-set"; break; case APP_JOB_REMOVE: help = "#designmode-mime-remove"; break; case APP_JOB_ADD: help = "#designmode-mime-add"; break; case APP_JOB_EDIT: help = "#designmode-mime-appdesktop"; break; case APP_JOB_EDIT_LIST: help = "#designmode-mime-mimeappslist"; break; case APP_JOB_BROWSE: help = "#designmode-mime-appdir"; break; case APP_JOB_EDIT_TYPE: help = "#designmode-mime-xml"; break; case APP_JOB_BROWSE_MIME: help = "#designmode-mime-mimedir"; break; case APP_JOB_USR: help = "#designmode-mime-usr"; break; case APP_JOB_BROWSE_SHARED: case APP_JOB_VIEW: case APP_JOB_VIEW_TYPE: case APP_JOB_VIEW_OVER: case APP_JOB_BROWSE_MIME_USR: help = "#designmode-mime-usr"; break; } } if ( !help ) help = "#designmode-mime"; gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); xset_show_help( data->browser ? GTK_WIDGET( data->browser ) : GTK_WIDGET( data->desktop ), NULL, help ); return TRUE; } else if ( desktop_file && ( event->keyval == GDK_KEY_F2 || event->keyval == GDK_KEY_Menu ) ) { show_app_menu( menu, item, data, 0, event->time ); return TRUE; } else if ( event->keyval == GDK_KEY_F4 ) job = APP_JOB_EDIT; else if ( event->keyval == GDK_KEY_Delete ) job = APP_JOB_REMOVE; else if ( event->keyval == GDK_KEY_Insert ) job = APP_JOB_ADD; } if ( desktop_file && job != -1 ) { gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); g_object_set_data( G_OBJECT( item ), "job", GINT_TO_POINTER( job ) ); g_object_set_data( G_OBJECT( item ), "data", data ); app_job( item, item ); return TRUE; } return FALSE; } void on_app_menu_hide(GtkWidget *widget, GtkWidget* app_menu ) { gtk_widget_set_sensitive( widget, TRUE ); gtk_menu_shell_deactivate( GTK_MENU_SHELL( app_menu ) ); } GtkWidget* app_menu_additem( GtkWidget* menu, char* label, gchar* stock_icon, int job, GtkWidget* app_item, PtkFileMenu* data ) { GtkWidget* item; if ( stock_icon ) { if ( !strcmp( stock_icon, "@check" ) ) item = gtk_check_menu_item_new_with_mnemonic( label ); else { item = gtk_image_menu_item_new_with_mnemonic( label ); GtkWidget* image = gtk_image_new_from_stock( stock_icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), image ); } } else item = gtk_menu_item_new_with_mnemonic( label ); g_object_set_data( G_OBJECT(item), "job", GINT_TO_POINTER( job ) ); g_object_set_data( G_OBJECT(item), "data", data ); gtk_container_add ( GTK_CONTAINER ( menu ), item ); g_signal_connect( item, "activate", G_CALLBACK( app_job ), app_item ); return item; } static void show_app_menu( GtkWidget* menu, GtkWidget* app_item, PtkFileMenu* data, guint button, guint32 time ) { GtkWidget* newitem; GtkWidget* submenu; char* str; char* str2; char* path; char* icon; const char* type; if ( !( data && data->info ) ) return; XSet* handler_set = (XSet*)g_object_get_data( G_OBJECT( app_item ), "handler_set" ); if ( handler_set ) { // is a file handler - open file handler config gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); ptk_handler_show_config( HANDLER_MODE_FILE, data->desktop, data->browser, handler_set ); return; } VFSMimeType* mime_type = vfs_file_info_get_mime_type( data->info ); if ( mime_type ) { type = vfs_mime_type_get_type( mime_type ); vfs_mime_type_unref( mime_type ); } else type = "unknown"; VFSAppDesktop* desktop_file = ( VFSAppDesktop* ) g_object_get_data( G_OBJECT( app_item ), "desktop_file" ); if ( !desktop_file ) return ; GtkWidget* app_menu = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); // Set Default newitem = app_menu_additem( app_menu, _("_Set As Default"), GTK_STOCK_SAVE, APP_JOB_DEFAULT, app_item, data ); //gtk_widget_add_accelerator( newitem, "activate", accel_group, // GDK_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); // Remove newitem = app_menu_additem( app_menu, _("_Remove"), GTK_STOCK_DELETE, APP_JOB_REMOVE, app_item, data ); // Add newitem = app_menu_additem( app_menu, _("_Add..."), GTK_STOCK_ADD, APP_JOB_ADD, app_item, data ); // Separator gtk_container_add ( GTK_CONTAINER ( app_menu ), gtk_separator_menu_item_new() ); // *.desktop (missing) if ( desktop_file->file_name ) { path = g_build_filename( g_get_user_data_dir(), "applications", desktop_file->file_name, NULL ); if ( g_file_test( path, G_FILE_TEST_EXISTS ) ) { str = replace_string( desktop_file->file_name, ".desktop", "._desktop", FALSE ); icon = GTK_STOCK_EDIT; } else { str2 = replace_string( desktop_file->file_name, ".desktop", "._desktop", FALSE ); str = g_strdup_printf( "%s (*%s)", str2, _("copy") ); g_free( str2 ); icon = GTK_STOCK_NEW; } newitem = app_menu_additem( app_menu, str, icon, APP_JOB_EDIT, app_item, data ); g_free( str ); g_free( path ); } // mimeapps.list newitem = app_menu_additem( app_menu, "_mimeapps.list", GTK_STOCK_EDIT, APP_JOB_EDIT_LIST, app_item, data ); // applications/ newitem = app_menu_additem( app_menu, "appli_cations/", GTK_STOCK_DIRECTORY, APP_JOB_BROWSE, app_item, data ); gtk_widget_set_sensitive( GTK_WIDGET( newitem ), !!data->browser ); // Separator gtk_container_add ( GTK_CONTAINER ( app_menu ), gtk_separator_menu_item_new() ); // *.xml (missing) str = replace_string( type, "/", "-", FALSE ); path = str; str = g_strdup_printf( "%s.xml", path ); g_free( path ); path = g_build_filename( g_get_user_data_dir(), "mime/packages", str, NULL ); if ( path && g_file_test( path, G_FILE_TEST_EXISTS ) ) { g_free( path ); str = replace_string( type, "/", "-", FALSE ); path = str; str = g_strdup_printf( "%s._xml", path ); g_free( path ); icon = GTK_STOCK_EDIT; } else { g_free( path ); str = replace_string( type, "/", "-", FALSE ); path = str; str = g_strdup_printf( "%s._xml (*%s)", path, _("new") ); g_free( path ); icon = GTK_STOCK_NEW; } newitem = app_menu_additem( app_menu, str, icon, APP_JOB_EDIT_TYPE, app_item, data ); // mime/packages/ newitem = app_menu_additem( app_menu, "mime/pac_kages/", GTK_STOCK_DIRECTORY, APP_JOB_BROWSE_MIME, app_item, data ); gtk_widget_set_sensitive( GTK_WIDGET( newitem ), !!data->browser ); // Run update-mime-database (now done automatically) //str = g_strdup_printf( "%s update-mime-database", _("Ru_n") ); //newitem = app_menu_additem( app_menu, str, // GTK_STOCK_EXECUTE, APP_JOB_UPDATE, app_item, data ); //g_free( str ); // Separator gtk_container_add ( GTK_CONTAINER ( app_menu ), gtk_separator_menu_item_new() ); // /usr submenu newitem = gtk_image_menu_item_new_with_mnemonic( "/_usr" ); submenu = gtk_menu_new(); gtk_menu_item_set_submenu( GTK_MENU_ITEM( newitem ), submenu ); gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( newitem ), gtk_image_new_from_stock( GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_MENU ) ); gtk_container_add ( GTK_CONTAINER ( app_menu ), newitem ); g_object_set_data( G_OBJECT( newitem ), "job", GINT_TO_POINTER( APP_JOB_USR ) ); g_object_set_data( G_OBJECT( newitem ), "data", data ); g_signal_connect( submenu, "key_press_event", G_CALLBACK( app_menu_keypress ), data ); // View /usr .desktop if ( desktop_file->file_name ) { newitem = app_menu_additem( submenu, desktop_file->file_name, GTK_STOCK_FILE, APP_JOB_VIEW, app_item, data ); path = get_shared_desktop_file_location( desktop_file->file_name ); gtk_widget_set_sensitive( GTK_WIDGET( newitem ), !!path ); g_free( path ); } // /usr applications/ newitem = app_menu_additem( submenu, "appli_cations/", GTK_STOCK_DIRECTORY, APP_JOB_BROWSE_SHARED, app_item, data ); gtk_widget_set_sensitive( GTK_WIDGET( newitem ), !!data->browser ); // Separator gtk_container_add ( GTK_CONTAINER ( submenu ), gtk_separator_menu_item_new() ); // /usr *.xml str = g_strdup_printf( "%s.xml", type ); path = g_build_filename( "/usr/share/mime", str, NULL ); g_free( str ); str = g_strdup_printf( "%s._xml", type ); newitem = app_menu_additem( submenu, str, GTK_STOCK_FILE, APP_JOB_VIEW_TYPE, app_item, data ); g_free( str ); gtk_widget_set_sensitive( GTK_WIDGET( newitem ), g_file_test( path, G_FILE_TEST_EXISTS ) ); g_free( path ); // /usr *Overrides.xml newitem = app_menu_additem( submenu, "_Overrides.xml", GTK_STOCK_EDIT, APP_JOB_VIEW_OVER, app_item, data ); gtk_widget_set_sensitive( GTK_WIDGET( newitem ), g_file_test( "/usr/share/mime/packages/Overrides.xml", G_FILE_TEST_EXISTS ) ); // mime/packages/ newitem = app_menu_additem( submenu, "mime/pac_kages/", GTK_STOCK_DIRECTORY, APP_JOB_BROWSE_MIME_USR, app_item, data ); gtk_widget_set_sensitive( GTK_WIDGET( newitem ), !!data->browser && g_file_test( "/usr/share/mime/packages", G_FILE_TEST_IS_DIR ) ); // Separator gtk_container_add ( GTK_CONTAINER ( app_menu ), gtk_separator_menu_item_new() ); // Help newitem = app_menu_additem( app_menu, "_Help", GTK_STOCK_HELP, APP_JOB_HELP, app_item, data ); // show menu gtk_widget_show_all( GTK_WIDGET( app_menu ) ); gtk_menu_popup( GTK_MENU( app_menu ), GTK_WIDGET( menu ), app_item, NULL, NULL, button, time ); gtk_widget_set_sensitive( GTK_WIDGET( menu ), FALSE ); g_signal_connect( menu, "hide", G_CALLBACK( on_app_menu_hide ), app_menu ); g_signal_connect( app_menu, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); g_signal_connect( app_menu, "key_press_event", G_CALLBACK( app_menu_keypress ), data ); gtk_menu_shell_set_take_focus( GTK_MENU_SHELL( app_menu ), TRUE ); // this is required when showing the menu via F2 or Menu key for focus gtk_menu_shell_select_first( GTK_MENU_SHELL( app_menu ), TRUE ); } gboolean on_app_button_press( GtkWidget* item, GdkEventButton* event, PtkFileMenu* data ) { int job = -1; GtkWidget* menu = (GtkWidget*)g_object_get_data( G_OBJECT(item), "menu" ); int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( event->type == GDK_BUTTON_RELEASE ) { if ( event->button == 1 && keymod == 0 ) { // user released left button - due to an apparent gtk bug, activate // doesn't always fire on this event so handle it ourselves // see also settings.c xset_design_cb() // test: gtk2 Crux theme with touchpad on Edit|Copy To|Location // https://github.com/IgnorantGuru/spacefm/issues/31 // https://github.com/IgnorantGuru/spacefm/issues/228 if ( menu ) gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); gtk_menu_item_activate( GTK_MENU_ITEM( item ) ); return TRUE; } // TRUE for issue #521 where a right-click also left-clicks the first // menu item in some GTK2/3 themes. return TRUE; } else if ( event->type != GDK_BUTTON_PRESS ) return FALSE; if ( event->button == 1 || event->button == 3 ) { // left or right click if ( keymod == 0 ) { // no modifier if ( event->button == 3 ) { // right show_app_menu( menu, item, data, event->button, event->time ); return TRUE; } } /* else if ( keymod == GDK_CONTROL_MASK ) { // ctrl job = XSET_JOB_COPY; } else if ( keymod == GDK_MOD1_MASK ) { // alt job = XSET_JOB_CUT; } else if ( keymod == GDK_SHIFT_MASK ) { // shift job = XSET_JOB_PASTE; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_SHIFT_MASK ) ) { // ctrl + shift job = XSET_JOB_COMMAND; } */ } else if ( event->button == 2 ) { // middle click if ( keymod == 0 ) { // no modifier show_app_menu( menu, item, data, event->button, event->time ); return TRUE; } /* else if ( keymod == GDK_CONTROL_MASK ) { // ctrl job = XSET_JOB_KEY; } else if ( keymod == GDK_MOD1_MASK ) { // alt job = XSET_JOB_HELP; } else if ( keymod == GDK_SHIFT_MASK ) { // shift job = XSET_JOB_ICON; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_SHIFT_MASK ) ) { // ctrl + shift job = XSET_JOB_REMOVE; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_MOD1_MASK ) ) { // ctrl + alt job = XSET_JOB_CONTEXT; } */ } /* if ( job != -1 ) { if ( xset_job_is_valid( set, job ) ) { if ( menu ) gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); g_object_set_data( G_OBJECT( item ), "job", GINT_TO_POINTER( job ) ); xset_design_job( item, set ); } else xset_design_show_menu( menu, set, event->button, event->time ); return TRUE; } */ return FALSE; // TRUE won't stop activate on button-press (will on release) } void on_popup_open_in_new_tab_activate( GtkMenuItem *menuitem, PtkFileMenu* data ) { GList * sel; VFSFileInfo* file; char* full_path; if ( data->sel_files ) { for ( sel = data->sel_files; sel; sel = sel->next ) { file = ( VFSFileInfo* ) sel->data; full_path = g_build_filename( data->cwd, vfs_file_info_get_name( file ), NULL ); if ( data->browser && g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) { ptk_file_browser_emit_open( data->browser, full_path, PTK_OPEN_NEW_TAB ); } g_free( full_path ); } } else if ( data->browser ) { ptk_file_browser_emit_open( data->browser, data->file_path, PTK_OPEN_NEW_TAB ); } } void on_popup_open_in_new_tab_here( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->browser && data->cwd && g_file_test( data->cwd, G_FILE_TEST_IS_DIR ) ) ptk_file_browser_emit_open( data->browser, data->cwd, PTK_OPEN_NEW_TAB ); } void on_new_bookmark( GtkMenuItem *menuitem, PtkFileMenu* data ) { // if a single dir or file is selected, bookmark it instead of cwd if ( data->sel_files && !data->sel_files->next ) { char* full_path = g_build_filename( data->cwd, vfs_file_info_get_name( (VFSFileInfo*)data->sel_files->data ), NULL ); ptk_bookmark_view_add_bookmark( NULL, data->browser, full_path ); g_free( full_path ); } else ptk_bookmark_view_add_bookmark( NULL, data->browser, NULL ); } void on_popup_cut_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->sel_files ) ptk_clipboard_cut_or_copy_files( data->cwd, data->sel_files, FALSE ); } void on_popup_copy_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->sel_files ) ptk_clipboard_cut_or_copy_files( data->cwd, data->sel_files, TRUE ); } void on_popup_paste_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { /* if ( data->sel_files ) { char* dest_dir; GtkWidget* parent; parent = (GtkWidget*)get_toplevel_win( data ); dest_dir = g_build_filename( data->cwd, vfs_file_info_get_name( data->info ), NULL ); if( ! g_file_test( dest_dir, G_FILE_TEST_IS_DIR ) ) { g_free( dest_dir ); dest_dir = NULL; } ptk_clipboard_paste_files( GTK_WINDOW( parent ), dest_dir ? dest_dir : data->cwd, data->browser->task_view ); } */ if ( data->browser ) { GtkWidget* parent_win = gtk_widget_get_toplevel( GTK_WIDGET( data->browser ) ); ptk_clipboard_paste_files( GTK_WINDOW( parent_win ), data->cwd, GTK_TREE_VIEW( data->browser->task_view ), NULL, NULL ); } #ifdef DESKTOP_INTEGRATION else if ( data->desktop ) { desktop_window_set_insert_item( data->desktop ); ptk_clipboard_paste_files( GTK_WINDOW( data->desktop ), data->cwd, NULL, (GFunc)desktop_window_insert_task_complete, GTK_WINDOW( data->desktop ) ); } #endif } void on_popup_paste_link_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) //MOD added { if ( data->browser ) ptk_file_browser_paste_link( data->browser ); #ifdef DESKTOP_INTEGRATION else if ( data->desktop ) { desktop_window_set_insert_item( data->desktop ); ptk_clipboard_paste_links( GTK_WINDOW( data->desktop ), data->cwd, NULL, (GFunc)desktop_window_insert_task_complete, GTK_WINDOW( data->desktop ) ); } #endif } void on_popup_paste_target_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) //MOD added { if ( data->browser ) ptk_file_browser_paste_target( data->browser ); #ifdef DESKTOP_INTEGRATION else if ( data->desktop ) { desktop_window_set_insert_item( data->desktop ); ptk_clipboard_paste_targets( GTK_WINDOW( data->desktop ), data->cwd, NULL, (GFunc)desktop_window_insert_task_complete, GTK_WINDOW( data->desktop ) ); } #endif } void on_popup_copy_text_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) //MOD added { ptk_clipboard_copy_as_text( data->cwd, data->sel_files ); } void on_popup_copy_name_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) //MOD added { ptk_clipboard_copy_name( data->cwd, data->sel_files ); } void on_popup_copy_parent_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) //MOD added { if ( data->cwd ) ptk_clipboard_copy_text( data->cwd ); } void on_popup_paste_as_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) //sfm added { #ifdef DESKTOP_INTEGRATION if ( data->desktop ) desktop_window_set_insert_item( data->desktop ); ptk_file_misc_paste_as( data->desktop, data->browser, data->cwd, data->desktop ? (GFunc)desktop_window_insert_task_complete : NULL ); #else ptk_file_misc_paste_as( data->desktop, data->browser, data->cwd, NULL ); #endif } void on_popup_delete_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->sel_files ) { if ( data->browser ) { GtkWidget* parent_win = gtk_widget_get_toplevel( GTK_WIDGET( data->browser ) ); ptk_delete_files( GTK_WINDOW( parent_win ), data->cwd, data->sel_files, GTK_TREE_VIEW( data->browser->task_view ) ); } else if ( data->desktop ) { ptk_delete_files( GTK_WINDOW( data->desktop ), data->cwd, data->sel_files, NULL ); } } } void on_popup_rename_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( data->browser ) ptk_file_browser_rename_selected_files( data->browser, data->sel_files, data->cwd ); #ifdef DESKTOP_INTEGRATION else if ( data->desktop && data->sel_files ) { desktop_window_rename_selected_files( data->desktop, data->sel_files, data->cwd ); } #endif } void on_popup_compress_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { ptk_file_archiver_create( data->desktop, data->browser, data->sel_files, data->cwd ); } void on_popup_extract_to_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { /* If menuitem is set, function was called from GUI so files will contain * an archive */ ptk_file_archiver_extract( data->desktop, data->browser, data->sel_files, data->cwd, NULL, HANDLER_EXTRACT, menuitem ? TRUE : FALSE ); } void on_popup_extract_here_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { /* If menuitem is set, function was called from GUI so files will contain * an archive */ ptk_file_archiver_extract( data->desktop, data->browser, data->sel_files, data->cwd, data->cwd, HANDLER_EXTRACT, menuitem ? TRUE : FALSE ); } void on_popup_extract_list_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { /* If menuitem is set, function was called from GUI so files will contain * an archive */ ptk_file_archiver_extract( data->desktop, data->browser, data->sel_files, data->cwd, NULL, HANDLER_LIST, menuitem ? TRUE : FALSE ); } void on_autoopen_create_cb( gpointer task, AutoOpenCreate* ao ) { VFSFileInfo* file; if ( !ao ) return; if ( ao->path && GTK_IS_WIDGET( ao->file_browser ) && g_file_test( ao->path, G_FILE_TEST_EXISTS ) ) { char* cwd = g_path_get_dirname( ao->path ); // select file if ( !g_strcmp0( cwd, ptk_file_browser_get_cwd( ao->file_browser ) ) ) { file = vfs_file_info_new(); vfs_file_info_get( file, ao->path, NULL ); vfs_dir_emit_file_created( ao->file_browser->dir, vfs_file_info_get_name( file ), TRUE ); vfs_file_info_unref( file ); vfs_dir_flush_notify_cache(); ptk_file_browser_select_file( ao->file_browser, ao->path ); } // open file if ( ao->open_file ) { if ( g_file_test( ao->path, G_FILE_TEST_IS_DIR ) ) { ptk_file_browser_chdir( ao->file_browser, ao->path, PTK_FB_CHDIR_ADD_HISTORY ); ao->path = NULL; } else { file = vfs_file_info_new(); vfs_file_info_get( file, ao->path, NULL ); GList* sel_files = NULL; sel_files = g_list_prepend( sel_files, file ); ptk_open_files_with_app( cwd, sel_files, NULL, ao->desktop, ao->file_browser, FALSE, TRUE ); vfs_file_info_unref( file ); g_list_free( sel_files ); } } g_free( cwd ); } g_free( ao->path ); g_slice_free( AutoOpenCreate, ao ); } static void create_new_file( PtkFileMenu* data, int create_new ) { char* cwd; if ( !data->cwd ) return; AutoOpenCreate* ao = g_slice_new0( AutoOpenCreate ); ao->path = NULL; ao->file_browser = data->browser; ao->desktop = data->desktop; ao->open_file = FALSE; if ( data->browser ) ao->callback = (GFunc)on_autoopen_create_cb; else if ( data->desktop ) { #ifdef DESKTOP_INTEGRATION ao->callback = (GFunc)desktop_window_on_autoopen_cb; #else ao->callback = NULL; #endif } int result = ptk_rename_file( data->desktop, data->browser, data->cwd, data->sel_files ? (VFSFileInfo*)data->sel_files->data : NULL, NULL, FALSE, create_new, ao ); if ( result == 0 ) { ao->file_browser = NULL; ao->desktop = NULL; g_free( ao->path ); ao->path = NULL; g_slice_free( AutoOpenCreate, ao ); } } void on_popup_new_folder_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { create_new_file( data, PTK_RENAME_NEW_DIR ); } void on_popup_new_text_file_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { create_new_file( data, PTK_RENAME_NEW_FILE ); } void on_popup_new_link_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { create_new_file( data, PTK_RENAME_NEW_LINK ); } void on_popup_file_properties_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { GtkWindow* parent_win; if ( data->browser ) parent_win = GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( data->browser ) ) ); else parent_win = GTK_WINDOW( data->desktop ); ptk_show_file_properties( parent_win, data->cwd, data->sel_files, 0 ); } void on_popup_file_permissions_activate ( GtkMenuItem *menuitem, PtkFileMenu* data ) { GtkWindow* parent_win; if ( data->browser ) parent_win = GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( data->browser ) ) ); else parent_win = GTK_WINDOW( data->desktop ); ptk_show_file_properties( parent_win, data->cwd, data->sel_files, 1 ); } void on_popup_canon ( GtkMenuItem *menuitem, PtkFileMenu* data ) { if ( !data->browser ) return; ptk_file_browser_canon( data->browser, data->file_path ? data->file_path : data->cwd ); } void ptk_file_menu_action( DesktopWindow* desktop, PtkFileBrowser* browser, char* setname ) { const char * cwd; char* file_path = NULL; VFSFileInfo* info; GList* sel_files = NULL; int i; char* xname; if ( ( !browser && !desktop ) || !setname ) return; XSet* set = xset_get( setname ); // setup data if ( browser ) { cwd = ptk_file_browser_get_cwd( browser ); sel_files = ptk_file_browser_get_selected_files( browser ); } else { cwd = vfs_get_desktop_dir(); #ifdef DESKTOP_INTEGRATION sel_files = desktop_window_get_selected_files( desktop ); #endif } if( !sel_files ) info = NULL; else { info = vfs_file_info_ref( (VFSFileInfo*)sel_files->data ); file_path = g_build_filename( cwd, vfs_file_info_get_name( info ), NULL ); } PtkFileMenu* data = g_slice_new0( PtkFileMenu ); data->cwd = g_strdup( cwd ); data->browser = browser; data->desktop = desktop; data->file_path = file_path; if ( info ) data->info = vfs_file_info_ref( info ); else data->info = NULL; data->sel_files = sel_files; data->accel_group = NULL; // action if ( g_str_has_prefix( set->name, "open_" ) && !g_str_has_prefix( set->name, "open_in_" ) ) { xname = set->name + 5; if ( !strcmp( xname, "edit" ) ) xset_edit( GTK_WIDGET( data->browser ), data->file_path, FALSE, TRUE ); else if ( !strcmp( xname, "edit_root" ) ) xset_edit( GTK_WIDGET( data->browser ), data->file_path, TRUE, FALSE ); else if ( !strcmp( xname, "other" ) ) on_popup_open_with_another_activate( NULL, data ); else if ( !strcmp( xname, "execute" ) ) on_popup_open_activate( NULL, data ); else if ( !strcmp( xname, "all" ) ) on_popup_open_all( NULL, data ); } else if ( g_str_has_prefix( set->name, "arc_" ) ) { xname = set->name + 4; if ( !strcmp( xname, "extract" ) ) on_popup_extract_here_activate( NULL, data ); else if ( !strcmp( xname, "extractto" ) ) on_popup_extract_to_activate( NULL, data ); else if ( !strcmp( xname, "extract" ) ) on_popup_extract_list_activate( NULL, data ); else if ( !strcmp( xname, "conf2" ) ) on_archive_show_config( NULL, data ); } else if ( g_str_has_prefix( set->name, "new_" ) ) { xname = set->name + 4; if ( !strcmp( xname, "file" ) ) on_popup_new_text_file_activate( NULL, data ); else if ( !strcmp( xname, "folder" ) ) on_popup_new_folder_activate( NULL, data ); else if ( !strcmp( xname, "link" ) ) on_popup_new_link_activate( NULL, data ); else if ( !strcmp( xname, "bookmark" ) ) ptk_bookmark_view_add_bookmark( NULL, browser, NULL ); else if ( !strcmp( xname, "archive" ) ) { if ( browser ) on_popup_compress_activate( NULL, data ); } } else if ( !strcmp( set->name, "prop_info" ) ) on_popup_file_properties_activate( NULL, data ); else if ( !strcmp( set->name, "prop_perm" ) ) on_popup_file_permissions_activate( NULL, data ); else if ( g_str_has_prefix( set->name, "edit_" ) ) { xname = set->name + 5; if ( !strcmp( xname, "cut" ) ) on_popup_cut_activate( NULL, data ); else if ( !strcmp( xname, "copy" ) ) on_popup_copy_activate( NULL, data ); else if ( !strcmp( xname, "paste" ) ) on_popup_paste_activate( NULL, data ); else if ( !strcmp( xname, "rename" ) ) on_popup_rename_activate( NULL, data ); else if ( !strcmp( xname, "delete" ) ) on_popup_delete_activate( NULL, data ); else if ( !strcmp( xname, "hide" ) ) on_hide_file( NULL, data ); else if ( !strcmp( xname, "canon" ) ) { if ( browser ) on_popup_canon( NULL, data ); } } else if ( !strcmp( set->name, "copy_name" ) ) on_popup_copy_name_activate( NULL, data ); else if ( !strcmp( set->name, "copy_path" ) ) on_popup_copy_text_activate( NULL, data ); else if ( !strcmp( set->name, "copy_parent" ) ) on_popup_copy_parent_activate( NULL, data ); else if ( g_str_has_prefix( set->name, "copy_loc" ) || g_str_has_prefix( set->name, "copy_tab_" ) || g_str_has_prefix( set->name, "copy_panel_" ) || g_str_has_prefix( set->name, "move_loc" ) || g_str_has_prefix( set->name, "move_tab_" ) || g_str_has_prefix( set->name, "move_panel_" ) ) on_copycmd( NULL, data, set ); else if ( g_str_has_prefix( set->name, "root_" ) ) { xname = set->name + 5; if ( !strcmp( xname, "copy_loc" ) || !strcmp( xname, "move2" ) || !strcmp( xname, "delete" ) ) on_popup_rootcmd_activate( NULL, data, set ); } else if ( browser ) { // browser only if ( g_str_has_prefix( set->name, "open_in_panel" ) ) { xname = set->name + 13; if ( !strcmp( xname, "prev" ) ) i = -1; else if ( !strcmp( xname, "next" ) ) i = -2; else i = atoi( xname ); main_window_open_in_panel( data->browser, i, data->file_path ); } else if ( g_str_has_prefix( set->name, "opentab_" ) ) { xname = set->name + 8; if ( !strcmp( xname, "new" ) ) on_popup_open_in_new_tab_activate( NULL, data ); else { if ( !strcmp( xname, "prev" ) ) i = -1; else if ( !strcmp( xname, "next" ) ) i = -2; else i = atoi( xname ); ptk_file_browser_open_in_tab( data->browser, i, data->file_path ); } } else if ( !strcmp( set->name, "tab_new" ) ) ptk_file_browser_new_tab( NULL, browser ); else if ( !strcmp( set->name, "tab_new_here" ) ) on_popup_open_in_new_tab_here( NULL, data ); } else { // desktop only } ptk_file_menu_free( data ); } spacefm-1.0.5/src/ptk/ptk-file-menu.h000066400000000000000000000037111264770501700173610ustar00rootroot00000000000000/* * C Interface: ptk-file-menu * * Description: Popup menu for files * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_FILE_MENU_H_ #define _PTK_FILE_MENU_H_ #include #include "ptk-file-browser.h" #include "vfs-file-info.h" #include "desktop-window.h" G_BEGIN_DECLS /* sel_files is a list containing VFSFileInfo structures * The list will be freed in this function, so the caller mustn't * free the list after calling this function. */ typedef struct _PtkFileMenu PtkFileMenu; struct _PtkFileMenu { PtkFileBrowser* browser; DesktopWindow* desktop; char* cwd; char* file_path; VFSFileInfo* info; GList* sel_files; GtkAccelGroup *accel_group; }; GtkWidget* ptk_file_menu_new( DesktopWindow* desktop, PtkFileBrowser* browser, const char* file_path, VFSFileInfo* info, const char* cwd, GList* sel_files ); void ptk_file_menu_add_panel_view_menu( PtkFileBrowser* browser, GtkWidget* menu, GtkAccelGroup* accel_group ); void on_popup_open_in_new_tab_here( GtkMenuItem *menuitem, PtkFileMenu* data ); void ptk_file_menu_action( DesktopWindow* desktop, PtkFileBrowser* browser, char* setname ); void on_popup_sortby( GtkMenuItem *menuitem, PtkFileBrowser* file_browser, int order ); void on_popup_list_detailed( GtkMenuItem *menuitem, PtkFileBrowser* browser ); void on_popup_list_icons( GtkMenuItem *menuitem, PtkFileBrowser* browser ); void on_popup_list_compact( GtkMenuItem *menuitem, PtkFileBrowser* browser ); void on_popup_list_large( GtkMenuItem *menuitem, PtkFileBrowser* browser ); void on_popup_rubber( GtkMenuItem *menuitem, PtkFileBrowser* file_browser ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-file-misc.c000066400000000000000000005105241264770501700173500ustar00rootroot00000000000000/* * C Implementation: ptk-file-misc * * Description: Miscellaneous GUI-realated functions for files * * * * Copyright: See COPYING file that comes with this distribution * */ #include "ptk-file-misc.h" #include #include "glib-mem.h" #include #include #include #include #include #include #include #include "ptk-utils.h" #include "ptk-file-task.h" #include "vfs-file-task.h" #include "ptk-file-properties.h" #include "ptk-input-dialog.h" #include "ptk-file-browser.h" #include "vfs-app-desktop.h" #include "vfs-execute.h" #include "ptk-app-chooser.h" #include "ptk-clipboard.h" #include "ptk-file-archiver.h" #include "ptk-location-view.h" #include #include "settings.h" #include "ptk-handler.h" #include "gtk2-compat.h" typedef struct { PtkFileBrowser* file_browser; DesktopWindow* desktop; const char* cwd; } ParentInfo; typedef struct { char* full_path; const char* old_path; char* new_path; char* desc; gboolean is_dir; gboolean is_link; gboolean clip_copy; PtkRenameMode create_new; GtkWidget* dlg; GtkWidget* parent; PtkFileBrowser* browser; DesktopWindow* desktop; GtkLabel* label_type; GtkLabel* label_mime; GtkWidget* hbox_type; char* mime_type; GtkLabel* label_target; GtkEntry* entry_target; GtkWidget* hbox_target; GtkWidget* browse_target; GtkLabel* label_template; GtkComboBox* combo_template; GtkComboBox* combo_template_dir; GtkWidget* hbox_template; GtkWidget* browse_template; GtkLabel* label_name; GtkWidget* scroll_name; GtkWidget* input_name; GtkTextBuffer* buf_name; GtkLabel* blank_name; GtkWidget* hbox_ext; GtkLabel* label_ext; GtkEntry* entry_ext; GtkLabel* label_full_name; GtkWidget* scroll_full_name; GtkWidget* input_full_name; GtkTextBuffer* buf_full_name; GtkLabel* blank_full_name; GtkLabel* label_path; GtkWidget* scroll_path; GtkWidget* input_path; GtkTextBuffer* buf_path; GtkLabel* blank_path; GtkLabel* label_full_path; GtkWidget* scroll_full_path; GtkWidget* input_full_path; GtkTextBuffer* buf_full_path; GtkWidget* opt_move; GtkWidget* opt_copy; GtkWidget* opt_link; GtkWidget* opt_copy_target; GtkWidget* opt_link_target; GtkWidget* opt_as_root; GtkWidget* opt_new_file; GtkWidget* opt_new_folder; GtkWidget* opt_new_link; GtkWidget* options; GtkWidget* browse; GtkWidget* revert; GtkWidget* cancel; GtkWidget* next; GtkWidget* open; GtkWidget* last_widget; gboolean full_path_exists; gboolean full_path_exists_dir; gboolean full_path_same; gboolean path_missing; gboolean path_exists_file; gboolean mode_change; gboolean is_move; } MoveSet; void on_toggled( GtkMenuItem* item, MoveSet* mset ); char* get_template_dir(); void ptk_delete_files( GtkWindow* parent_win, const char* cwd, GList* sel_files, GtkTreeView* task_view ) { GtkWidget * dlg; gchar* file_path; gint ret; GList* sel; VFSFileInfo* file; PtkFileTask* task = NULL; GList* file_list; if ( ! sel_files ) return ; if( ! app_settings.use_trash_can && ! app_settings.no_confirm ) //MOD { // count int count = g_list_length( sel_files ); char* msg = g_strdup_printf( ngettext( "Delete %d selected item ?", "Delete %d selected items ?", count ), count ); dlg = gtk_message_dialog_new( parent_win, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, msg, NULL ); gtk_dialog_set_default_response (GTK_DIALOG (dlg), GTK_RESPONSE_YES); //MOD gtk_window_set_title( GTK_WINDOW( dlg ), _("Confirm Delete") ); xset_set_window_icon( GTK_WINDOW( dlg ) ); ret = gtk_dialog_run( GTK_DIALOG( dlg ) ); gtk_widget_destroy( dlg ); g_free( msg ); if ( ret != GTK_RESPONSE_YES ) return ; } file_list = NULL; for ( sel = sel_files; sel; sel = g_list_next( sel ) ) { file = ( VFSFileInfo* ) sel->data; file_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); file_list = g_list_prepend( file_list, file_path ); } /* file_list = g_list_reverse( file_list ); */ task = ptk_file_task_new( app_settings.use_trash_can ? VFS_FILE_TASK_TRASH : VFS_FILE_TASK_DELETE, file_list, NULL, parent_win ? GTK_WINDOW( parent_win ) : NULL, GTK_WIDGET( task_view ) ); ptk_file_task_run( task ); } static void select_file_name_part( GtkEntry* entry ) { GtkEditable * editable = GTK_EDITABLE( entry ); const char* file_name = gtk_entry_get_text( entry ); const char* dot; int pos; if ( !file_name[ 0 ] || file_name[ 0 ] == '.' ) return ; /* FIXME: Simply finding '.' usually gets wrong filename suffix. */ dot = g_utf8_strrchr( file_name, -1, '.' ); if ( dot ) { pos = g_utf8_pointer_to_offset( file_name, dot ); gtk_editable_select_region( editable, 0, pos ); } } void on_help_activate( GtkMenuItem* item, MoveSet* mset ) { xset_show_help( GTK_WIDGET( mset->dlg ), NULL, mset->create_new ? "#gui-newf" : "#gui-rename" ); } static gboolean on_move_keypress ( GtkWidget *widget, GdkEventKey *event, MoveSet* mset ) { int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( keymod == 0 ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { if ( gtk_widget_get_sensitive( GTK_WIDGET( mset->next ) ) ) gtk_dialog_response( GTK_DIALOG( mset->dlg ), GTK_RESPONSE_OK ); return TRUE; } else if ( event->keyval == GDK_KEY_F1 ) { on_help_activate( NULL, mset ); return TRUE; } } return FALSE; } static gboolean on_move_entry_keypress ( GtkWidget *widget, GdkEventKey *event, MoveSet* mset ) { int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( keymod == 0 ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { if ( gtk_widget_get_sensitive( GTK_WIDGET( mset->next ) ) ) gtk_dialog_response( GTK_DIALOG( mset->dlg ), GTK_RESPONSE_OK ); return TRUE; } else if ( event->keyval == GDK_KEY_F1 ) { on_help_activate( NULL, mset ); return TRUE; } } return FALSE; } void on_move_change( GtkWidget* widget, MoveSet* mset ) { char* name; char* full_name; char* ext; char* full_path; char* path; char* cwd; char* str; GtkTextIter iter, siter; g_signal_handlers_block_matched( mset->entry_ext, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_block_matched( mset->buf_name, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_block_matched( mset->buf_full_name, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_block_matched( mset->buf_path, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_block_matched( mset->buf_full_path, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); // change is_dir to reflect state of new folder or link option if ( mset->create_new ) { gboolean new_folder = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_folder ) ); gboolean new_link = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_link ) ); if ( new_folder || ( new_link && g_file_test( gtk_entry_get_text( GTK_ENTRY( mset->entry_target ) ), G_FILE_TEST_IS_DIR ) && gtk_entry_get_text( GTK_ENTRY( mset->entry_target ) )[0] == '/' ) ) { if ( !mset->is_dir ) mset->is_dir = TRUE; } else if ( mset->is_dir ) mset->is_dir = FALSE; if ( mset->is_dir && gtk_widget_is_focus( GTK_WIDGET( mset->entry_ext ) ) ) gtk_widget_grab_focus( GTK_WIDGET( mset->input_name ) ); gtk_widget_set_sensitive( GTK_WIDGET( mset->entry_ext ), !mset->is_dir ); gtk_widget_set_sensitive( GTK_WIDGET( mset->label_ext ), !mset->is_dir ); } if ( widget == GTK_WIDGET( mset->buf_name ) || widget == GTK_WIDGET( mset->entry_ext ) ) { if ( widget == GTK_WIDGET( mset->buf_name ) ) mset->last_widget = GTK_WIDGET( mset->input_name ); else mset->last_widget = GTK_WIDGET( mset->entry_ext ); gtk_text_buffer_get_start_iter( mset->buf_name, &siter ); gtk_text_buffer_get_end_iter( mset->buf_name, &iter ); name = gtk_text_buffer_get_text( mset->buf_name, &siter, &iter, FALSE ); if ( name[0] == '\0' ) { g_free( name ); name = NULL; } ext = (char*)gtk_entry_get_text( mset->entry_ext ); if ( ext[0] == '\0' ) { ext = NULL; } else if ( ext[0] == '.' ) ext++; // ignore leading dot in extension field // update full_name if ( name && ext ) full_name = g_strdup_printf( "%s.%s", name, ext ); else if ( name && !ext ) full_name = g_strdup( name ); else if ( !name && ext ) full_name = g_strdup( ext ); else full_name = g_strdup( "" ); if ( name ) g_free( name ); gtk_text_buffer_set_text( mset->buf_full_name, full_name, -1 ); // update full_path gtk_text_buffer_get_start_iter( mset->buf_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_path, &iter ); path = gtk_text_buffer_get_text( mset->buf_path, &siter, &iter, FALSE ); if ( !strcmp( path, "." ) ) { g_free( path ); path = g_path_get_dirname( mset->full_path ); } else if ( !strcmp( path, ".." ) ) { g_free( path ); cwd = g_path_get_dirname( mset->full_path ); path = g_path_get_dirname( cwd ); g_free( cwd ); } if ( path[0] == '/' ) full_path = g_build_filename( path, full_name, NULL ); else { cwd = g_path_get_dirname( mset->full_path ); full_path = g_build_filename( cwd, path, full_name, NULL ); g_free( cwd ); } gtk_text_buffer_set_text( mset->buf_full_path, full_path, -1 ); g_free( full_name ); } else if ( widget == GTK_WIDGET( mset->buf_full_name ) ) { mset->last_widget = GTK_WIDGET( mset->input_full_name ); // update name & ext gtk_text_buffer_get_start_iter( mset->buf_full_name, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_name, &iter ); full_name = gtk_text_buffer_get_text( mset->buf_full_name, &siter, &iter, FALSE ); name = get_name_extension( full_name, mset->is_dir, &ext ); gtk_text_buffer_set_text( mset->buf_name, name, -1 ); if ( ext ) gtk_entry_set_text( mset->entry_ext, ext ); else gtk_entry_set_text( mset->entry_ext, "" ); g_free( name ); g_free( ext ); // update full_path gtk_text_buffer_get_start_iter( mset->buf_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_path, &iter ); path = gtk_text_buffer_get_text( mset->buf_path, &siter, &iter, FALSE ); if ( !strcmp( path, "." ) ) { g_free( path ); path = g_path_get_dirname( mset->full_path ); } else if ( !strcmp( path, ".." ) ) { g_free( path ); cwd = g_path_get_dirname( mset->full_path ); path = g_path_get_dirname( cwd ); g_free( cwd ); } if ( path[0] == '/' ) full_path = g_build_filename( path, full_name, NULL ); else { cwd = g_path_get_dirname( mset->full_path ); full_path = g_build_filename( cwd, path, full_name, NULL ); g_free( cwd ); } gtk_text_buffer_set_text( mset->buf_full_path, full_path, -1 ); g_free( full_name ); } else if ( widget == GTK_WIDGET( mset->buf_path ) ) { mset->last_widget = GTK_WIDGET( mset->input_path ); // update full_path gtk_text_buffer_get_start_iter( mset->buf_full_name, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_name, &iter ); full_name = gtk_text_buffer_get_text( mset->buf_full_name, &siter, &iter, FALSE ); gtk_text_buffer_get_start_iter( mset->buf_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_path, &iter ); path = gtk_text_buffer_get_text( mset->buf_path, &siter, &iter, FALSE ); if ( !strcmp( path, "." ) ) { g_free( path ); path = g_path_get_dirname( mset->full_path ); } else if ( !strcmp( path, ".." ) ) { g_free( path ); cwd = g_path_get_dirname( mset->full_path ); path = g_path_get_dirname( cwd ); g_free( cwd ); } if ( path[0] == '/' ) full_path = g_build_filename( path, full_name, NULL ); else { cwd = g_path_get_dirname( mset->full_path ); full_path = g_build_filename( cwd, path, full_name, NULL ); g_free( cwd ); } gtk_text_buffer_set_text( mset->buf_full_path, full_path, -1 ); g_free( full_name ); } else //if ( widget == GTK_WIDGET( mset->buf_full_path ) ) { mset->last_widget = GTK_WIDGET( mset->input_full_path ); gtk_text_buffer_get_start_iter( mset->buf_full_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_path, &iter ); full_path = gtk_text_buffer_get_text( mset->buf_full_path, &siter, &iter, FALSE ); // update name & ext if ( full_path[0] == '\0' ) full_name = g_strdup( "" ); else full_name = g_path_get_basename( full_path ); path = g_path_get_dirname( full_path ); if ( !strcmp( path, "." ) ) { g_free( path ); path = g_path_get_dirname( mset->full_path ); } else if ( !strcmp( path, ".." ) ) { g_free( path ); cwd = g_path_get_dirname( mset->full_path ); path = g_path_get_dirname( cwd ); g_free( cwd ); } else if ( path[0] != '/' ) { cwd = g_path_get_dirname( mset->full_path ); str = path; path = g_build_filename( cwd, str, NULL ); g_free( str ); g_free( cwd ); } name = get_name_extension( full_name, mset->is_dir, &ext ); gtk_text_buffer_set_text( mset->buf_name, name, -1 ); if ( ext ) gtk_entry_set_text( mset->entry_ext, ext ); else gtk_entry_set_text( mset->entry_ext, "" ); // update full_name if ( name && ext ) full_name = g_strdup_printf( "%s.%s", name, ext ); else if ( name && !ext ) full_name = g_strdup( name ); else if ( !name && ext ) full_name = g_strdup( ext ); else full_name = g_strdup( "" ); g_free( name ); g_free( ext ); gtk_text_buffer_set_text( mset->buf_full_name, full_name, -1 ); // update path gtk_text_buffer_set_text( mset->buf_path, path, -1 ); if ( full_path[0] != '/' ) { // update full_path for tests below cwd = g_path_get_dirname( mset->full_path ); str = full_path; full_path = g_build_filename( cwd, str, NULL ); g_free( str ); g_free( cwd ); } g_free( full_name ); } // change relative path to absolute if ( path[0] != '/' ) { g_free( path ); path = g_path_get_dirname( full_path ); } //printf("path=%s full=%s\n", path, full_path ); // tests struct stat64 statbuf; gboolean full_path_exists = FALSE; gboolean full_path_exists_dir = FALSE; gboolean full_path_same = FALSE; gboolean path_missing = FALSE; gboolean path_exists_file = FALSE; gboolean is_move = FALSE; if ( !strcmp( full_path, mset->full_path ) ) { full_path_same = TRUE; if ( mset->create_new && gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_link ) ) ) { if ( lstat64( full_path, &statbuf ) == 0 ) { full_path_exists = TRUE; if ( g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) full_path_exists_dir = TRUE; } } } else { if ( lstat64( full_path, &statbuf ) == 0 ) { full_path_exists = TRUE; if ( g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) full_path_exists_dir = TRUE; } else if ( lstat64( path, &statbuf ) == 0 ) { if ( !g_file_test( path, G_FILE_TEST_IS_DIR ) ) path_exists_file = TRUE; } else path_missing = TRUE; if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_move ) ) ) { is_move = strcmp( path, mset->old_path ); } } g_free( path ); g_free( full_path ); /* printf( "\nTEST\n full_path_same %d %d\n", full_path_same, mset->full_path_same ); printf( " full_path_exists %d %d\n", full_path_exists, mset->full_path_exists ); printf( " full_path_exists_dir %d %d\n", full_path_exists_dir, mset->full_path_exists_dir ); printf( " path_missing %d %d\n", path_missing, mset->path_missing ); printf( " path_exists_file %d %d\n", path_exists_file, mset->path_exists_file ); */ // update display if ( mset->full_path_same != full_path_same || mset->full_path_exists != full_path_exists || mset->full_path_exists_dir != full_path_exists_dir || mset->path_missing != path_missing || mset->path_exists_file != path_exists_file || mset->mode_change ) { // state change mset->full_path_exists = full_path_exists; mset->full_path_exists_dir = full_path_exists_dir; mset->path_missing = path_missing; mset->path_exists_file = path_exists_file; mset->full_path_same = full_path_same; mset->mode_change = FALSE; //gboolean opt_move = gtk_toggle_button_get_active( mset->opt_move ); //gboolean opt_copy = gtk_toggle_button_get_active( mset->opt_copy ); //gboolean opt_link = gtk_toggle_button_get_active( mset->opt_link ); //gboolean opt_copy_target = gtk_toggle_button_get_active( mset->opt_copy_target ); //gboolean opt_link_target = gtk_toggle_button_get_active( mset->opt_link_target ); if ( full_path_same && ( mset->create_new == PTK_RENAME || mset->create_new == PTK_RENAME_NEW_LINK ) ) { gtk_widget_set_sensitive( mset->next, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_move ) ) ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath: original") ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name: original") ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename: original") ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent: original") ); } else if ( full_path_exists_dir ) { gtk_widget_set_sensitive( mset->next, FALSE ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath: exists as folder") ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name: exists as folder") ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename: exists as folder") ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent:") ); } else if ( full_path_exists ) { if ( mset->is_dir ) { gtk_widget_set_sensitive( mset->next, FALSE ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath: exists as file") ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name: exists as file") ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename: exists as file") ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent:") ); } else { gtk_widget_set_sensitive( mset->next, TRUE ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath: * overwrite existing file") ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name: * overwrite existing file") ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename: * overwrite existing file") ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent:") ); } } else if ( path_exists_file ) { gtk_widget_set_sensitive( mset->next, FALSE ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath: parent exists as file") ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name:") ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename:") ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent: parent exists as file") ); } else if ( path_missing ) { gtk_widget_set_sensitive( mset->next, TRUE ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath: * create parent") ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name:") ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename:") ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent: * create parent") ); } else { gtk_widget_set_sensitive( mset->next, TRUE ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath:") ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name:") ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename:") ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent:") ); } } if ( is_move != mset->is_move && !mset->create_new ) { mset->is_move = is_move; if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_move ) ) ) gtk_button_set_label( GTK_BUTTON( mset->next ), is_move != 0 ? _("_Move") : _("_Rename") ); } if ( mset->create_new && gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_link ) ) ) { path = g_strdup( gtk_entry_get_text( GTK_ENTRY( mset->entry_target ) ) ); g_strstrip( path ); gtk_widget_set_sensitive( mset->next, ( path && path[0] != '\0' && !( full_path_same && full_path_exists ) && !full_path_exists_dir ) ); g_free( path ); } if ( mset->open ) gtk_widget_set_sensitive( mset->open, gtk_widget_get_sensitive( mset->next ) ); g_signal_handlers_unblock_matched( mset->entry_ext, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_unblock_matched( mset->buf_name, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_unblock_matched( mset->buf_full_name, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_unblock_matched( mset->buf_path, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); g_signal_handlers_unblock_matched( mset->buf_full_path, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_move_change, NULL ); } void select_input( GtkWidget* widget, MoveSet* mset ) { if ( GTK_IS_EDITABLE( widget ) ) gtk_editable_select_region( GTK_EDITABLE( widget ), 0, -1 ); else if ( GTK_IS_COMBO_BOX( widget ) ) gtk_editable_select_region( GTK_EDITABLE( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( widget ) ) ) ), 0, -1 ); else { GtkTextIter iter, siter; GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( widget ) ); if ( widget == GTK_WIDGET( mset->input_full_name ) && !gtk_widget_get_visible( gtk_widget_get_parent( mset->input_name ) ) ) { // name is not visible so select name in filename gtk_text_buffer_get_start_iter( mset->buf_full_name, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_name, &iter ); char* full_name = gtk_text_buffer_get_text( mset->buf_full_name, &siter, &iter, FALSE ); char* ext; char* name = get_name_extension( full_name, mset->is_dir, &ext ); g_free( ext ); g_free( full_name ); gtk_text_buffer_get_iter_at_offset( buf, &iter, g_utf8_strlen( name, -1 ) ); g_free( name ); } else gtk_text_buffer_get_end_iter( buf, &iter ); gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_select_range( buf, &iter, &siter ); } } static gboolean on_focus( GtkWidget* widget, GtkDirectionType direction, MoveSet* mset ) { /* if ( direction == GTK_DIR_TAB_FORWARD || direction == GTK_DIR_TAB_BACKWARD ) { if ( widget == mset->label_mime ) return TRUE; } */ select_input( widget, mset ); return FALSE; } static gboolean on_button_focus( GtkWidget* widget, GtkDirectionType direction, MoveSet* mset ) { if ( direction == GTK_DIR_TAB_FORWARD || direction == GTK_DIR_TAB_BACKWARD ) { if ( widget == mset->options || widget == mset->opt_move || widget == mset->opt_new_file ) { GtkWidget* input = NULL; if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_name ) ) ) input = mset->input_name; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_name ) ) ) input = mset->input_full_name; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_path ) ) ) input = mset->input_path; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_path ) ) ) input = mset->input_full_path; else if ( gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( mset->entry_target ) ) ) ) input = GTK_WIDGET( mset->entry_target ); else if ( gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( mset->combo_template ) ) ) ) input = GTK_WIDGET( mset->combo_template ); else if ( gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( mset->combo_template_dir ) ) ) ) input = GTK_WIDGET( mset->combo_template_dir ); if ( input ) { select_input( input, mset ); gtk_widget_grab_focus( input ); } } else { GtkWidget* input = NULL; if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_path ) ) ) input = mset->input_full_path; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_path ) ) ) input = mset->input_path; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_name ) ) ) input = mset->input_full_name; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_name ) ) ) input = mset->input_name; if ( input ) { select_input( input, mset ); gtk_widget_grab_focus( input ); } } return TRUE; } return FALSE; } void on_revert_button_press( GtkWidget* widget, MoveSet* mset ) { GtkWidget* temp = mset->last_widget; gtk_text_buffer_set_text( mset->buf_full_path, mset->new_path, -1 ); mset->last_widget = temp; select_input( mset->last_widget, mset ); gtk_widget_grab_focus( mset->last_widget ); } void on_create_browse_button_press( GtkWidget* widget, MoveSet* mset ) { int action; const char* title; const char* text; char* dir; char* name; char* new_path; if ( widget == GTK_WIDGET( mset->browse_target ) ) { title = _("Select Link Target"); action = GTK_FILE_CHOOSER_ACTION_OPEN; text = gtk_entry_get_text( mset->entry_target ); if ( text[0] == '/' ) { dir = g_path_get_dirname( text ); name = g_path_get_basename( text ); } else { dir = g_path_get_dirname( mset->full_path ); name = text[0] != '\0' ? g_strdup( text ) : NULL; } } else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ) ) { title = _("Select Template File"); action = GTK_FILE_CHOOSER_ACTION_OPEN; text = gtk_entry_get_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( mset->combo_template ) ) ) ); if ( text && text[0] == '/' ) { dir = g_path_get_dirname( text ); name = g_path_get_basename( text ); } else { dir = get_template_dir(); if ( !dir ) dir = g_path_get_dirname( mset->full_path ); name = g_strdup( text ); } } else { title = _("Select Template Folder"); action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER; text = gtk_entry_get_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( mset->combo_template ) ) ) ); if ( text && text[0] == '/' ) { dir = g_path_get_dirname( text ); name = g_path_get_basename( text ); } else { dir = get_template_dir(); if ( !dir ) dir = g_path_get_dirname( mset->full_path ); name = g_strdup( text ); } } GtkWidget* dlg = gtk_file_chooser_dialog_new( title, mset->parent ? GTK_WINDOW( mset->parent ) : NULL, action, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL ); xset_set_window_icon( GTK_WINDOW( dlg ) ); if ( !name ) gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dlg), dir ); else { char* path = g_build_filename( dir, name, NULL ); gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( dlg ), path ); g_free( path ); } g_free( dir ); g_free( name ); int width = xset_get_int( "move_dlg_help", "x" ); int height = xset_get_int( "move_dlg_help", "y" ); if ( width && height ) { // filechooser won't honor default size or size request ? gtk_widget_show_all( dlg ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER_ALWAYS ); gtk_window_resize( GTK_WINDOW( dlg ), width, height ); while( gtk_events_pending() ) gtk_main_iteration(); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); } gint response = gtk_dialog_run(GTK_DIALOG(dlg)); if( response == GTK_RESPONSE_OK ) { new_path = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER ( dlg ) ); char* path = new_path; GtkWidget* w; if ( widget == GTK_WIDGET( mset->browse_target ) ) w = GTK_WIDGET( mset->entry_target ); else { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ) ) w = gtk_bin_get_child( GTK_BIN( mset->combo_template ) ); else w = gtk_bin_get_child( GTK_BIN( mset->combo_template_dir ) ); dir = get_template_dir(); if ( dir ) { if ( g_str_has_prefix( new_path, dir ) && new_path[strlen( dir )] == '/' ) path = new_path + strlen( dir ) + 1; g_free( dir ); } } gtk_entry_set_text( GTK_ENTRY( w ), path ); g_free( new_path ); } GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET ( dlg ), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); xset_set( "move_dlg_help", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "move_dlg_help", "y", str ); g_free( str ); } gtk_widget_destroy( dlg ); } enum { MODE_FILENAME, MODE_PARENT, MODE_PATH }; void on_browse_mode_toggled( GtkMenuItem* item, GtkWidget* dlg ) { int i; GtkWidget** mode = (GtkWidget**)g_object_get_data( G_OBJECT( dlg ), "mode" ); for ( i = MODE_FILENAME; i <= MODE_PATH; i++ ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mode[i] ) ) ) { int action = i == MODE_PARENT ? GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER : GTK_FILE_CHOOSER_ACTION_SAVE; GtkAllocation allocation; gtk_widget_get_allocation( GTK_WIDGET(dlg), &allocation ); int width = allocation.width; int height = allocation.height; gtk_file_chooser_set_action( GTK_FILE_CHOOSER( dlg ), action ); if ( width && height ) { // under some circumstances, changing the action changes the size gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER_ALWAYS ); gtk_window_resize( GTK_WINDOW( dlg ), width, height ); while( gtk_events_pending() ) gtk_main_iteration(); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); } return; } } } void on_browse_button_press( GtkWidget* widget, MoveSet* mset ) { char* str; GtkTextIter iter, siter; int mode_default = MODE_PARENT; XSet* set = xset_get( "move_dlg_help" ); if ( set->z ) mode_default = xset_get_int( "move_dlg_help", "z" ); // action create folder does not work properly so not used: // it creates a folder by default with no way to stop it // it gives 'folder already exists' error popup GtkWidget* dlg = gtk_file_chooser_dialog_new( _("Browse"), mset->parent ? GTK_WINDOW( mset->parent ) : NULL, mode_default == MODE_PARENT ? GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER : GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL ); gtk_window_set_role( GTK_WINDOW( dlg ), "file_dialog" ); gtk_text_buffer_get_start_iter( mset->buf_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_path, &iter ); char* path = gtk_text_buffer_get_text( mset->buf_path, &siter, &iter, FALSE ); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dlg), path ); g_free( path ); if ( mode_default != MODE_PARENT ) { gtk_text_buffer_get_start_iter( mset->buf_full_name, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_name, &iter ); path = gtk_text_buffer_get_text( mset->buf_full_name, &siter, &iter, FALSE ); gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER(dlg), path ); g_free( path ); } gtk_file_chooser_set_do_overwrite_confirmation( GTK_FILE_CHOOSER(dlg), FALSE ); // Mode int i; GtkWidget* mode[3]; GtkWidget* hbox = gtk_hbox_new( FALSE, 4 ); mode[MODE_FILENAME] = gtk_radio_button_new_with_mnemonic( NULL, _("Fil_ename") ); mode[MODE_PARENT] = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON(mode[MODE_FILENAME]), _("Pa_rent") ); mode[MODE_PATH] = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON(mode[MODE_FILENAME]), _("P_ath") ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( mode[mode_default] ), TRUE ); gtk_box_pack_start( GTK_BOX( hbox ), gtk_label_new( _("Insert as") ), FALSE, TRUE, 2 ); for ( i = MODE_FILENAME; i <= MODE_PATH; i++ ) { gtk_button_set_focus_on_click( GTK_BUTTON( mode[i] ), FALSE ); g_signal_connect( G_OBJECT( mode[i] ), "toggled", G_CALLBACK( on_browse_mode_toggled ), dlg ); gtk_box_pack_start( GTK_BOX( hbox ), mode[i], FALSE, TRUE, 2 ); } gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area ( GTK_DIALOG( dlg ) ) ), hbox, FALSE, TRUE, 6 ); g_object_set_data( G_OBJECT( dlg ), "mode", mode ); gtk_widget_show_all( hbox ); int width = xset_get_int( "move_dlg_help", "x" ); int height = xset_get_int( "move_dlg_help", "y" ); if ( width && height ) { // filechooser won't honor default size or size request ? gtk_widget_show_all( dlg ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER_ALWAYS ); gtk_window_resize( GTK_WINDOW( dlg ), width, height ); while( gtk_events_pending() ) gtk_main_iteration(); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); } gint response = gtk_dialog_run(GTK_DIALOG(dlg)); // bogus GTK warning here: Unable to retrieve the file info for... if( response == GTK_RESPONSE_OK ) { for ( i = MODE_FILENAME; i <= MODE_PATH; i++ ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mode[i] ) ) ) { if ( i == MODE_FILENAME ) { path = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER ( dlg ) ); str = g_path_get_basename( path ); gtk_text_buffer_set_text( mset->buf_full_name, str, -1 ); g_free( str ); } else if ( i == MODE_PARENT ) { path = gtk_file_chooser_get_current_folder( GTK_FILE_CHOOSER ( dlg ) ); gtk_text_buffer_set_text( mset->buf_path, path, -1 ); } else { path = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER ( dlg ) ); gtk_text_buffer_set_text( mset->buf_full_path, path, -1 ); } g_free( path ); break; } } } // save size GtkAllocation allocation; gtk_widget_get_allocation( GTK_WIDGET(dlg), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { str = g_strdup_printf( "%d", width ); xset_set( "move_dlg_help", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "move_dlg_help", "y", str ); g_free( str ); } // save mode for ( i = MODE_FILENAME; i <= MODE_PATH; i++ ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mode[i] ) ) ) { str = g_strdup_printf( "%d", i ); xset_set( "move_dlg_help", "z", str ); g_free( str ); break; } } gtk_widget_destroy( dlg ); } void on_font_change( GtkMenuItem* item, MoveSet* mset ) { PangoFontDescription* font_desc = NULL; if ( xset_get_s( "move_dlg_font" ) ) font_desc = pango_font_description_from_string( xset_get_s( "move_dlg_font" ) ); gtk_widget_modify_font( GTK_WIDGET( mset->input_name ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( mset->entry_ext ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( mset->input_full_name ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( mset->input_path ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( mset->input_full_path ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( mset->label_mime ), font_desc ); if ( mset->entry_target ) gtk_widget_modify_font( GTK_WIDGET( mset->entry_target ), font_desc ); if ( mset->create_new ) { // doesn't change drop-down font //gtk_widget_modify_font( GTK_WIDGET( mset->combo_template ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( gtk_bin_get_child( GTK_BIN( mset->combo_template ) ) ), font_desc ); //gtk_widget_modify_font( GTK_WIDGET( mset->combo_template_dir ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( gtk_bin_get_child( GTK_BIN( mset->combo_template_dir ) ) ), font_desc ); } if ( font_desc ) pango_font_description_free( font_desc ); } void on_opt_toggled( GtkMenuItem* item, MoveSet* mset ) { const char* action; char* btn_label = NULL; char* root_msg; char* title; GtkTextIter iter, siter; gboolean move = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_move ) ); gboolean copy = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_copy ) ); gboolean link = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_link ) ); gboolean copy_target = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_copy_target ) ); gboolean link_target = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_link_target ) ); gboolean as_root = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_as_root ) ); gboolean new_file = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ); gboolean new_folder = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_folder ) ); gboolean new_link = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_link ) ); const char* desc = NULL; if ( mset->create_new ) { btn_label = _("C_reate"); action = C_("Title|", "Create New"); if ( new_file ) desc = C_("Title|CreateNew|", "File"); else if ( new_folder ) desc = C_("Title|CreateNew|", "Folder"); else desc = C_("Title|CreateNew|", "Link"); } else { gtk_text_buffer_get_start_iter( mset->buf_full_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_path, &iter ); char* full_path = gtk_text_buffer_get_text( mset->buf_full_path, &siter, &iter, FALSE ); char* new_path = g_path_get_dirname( full_path ); gboolean rename = ( !strcmp( mset->old_path, new_path ) || !strcmp( new_path, "." ) ); g_free( new_path ); g_free( full_path ); if ( move ) { btn_label = rename ? _("_Rename") : _("_Move"); action = _("Move"); } else if ( copy ) { btn_label = _("C_opy"); action = _("Copy"); } else if ( link ) { btn_label = _("_Link"); action = _("Create Link To"); } else if ( copy_target ) { btn_label = _("C_opy"); action = _("Copy"); desc = _("Link Target"); } else if ( link_target ) { btn_label = _("_Link"); action = _("Create Link To"); desc = _("Target"); } } if ( as_root ) root_msg = _(" As Root"); else root_msg = ""; // Window Icon const char* win_icon; if ( as_root ) win_icon = "gtk-dialog-warning"; else if ( mset->create_new ) win_icon = "gtk-new"; else win_icon = "gtk-edit"; GdkPixbuf* pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), win_icon, 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); if ( pixbuf ) gtk_window_set_icon( GTK_WINDOW( mset->dlg ), pixbuf ); // title if ( !desc ) desc = mset->desc; title = g_strdup_printf( "%s %s%s", action, desc, root_msg ); gtk_window_set_title( GTK_WINDOW( mset->dlg ), title ); g_free( title ); if ( btn_label ) gtk_button_set_label( GTK_BUTTON( mset->next ), btn_label ); gtk_button_set_image( GTK_BUTTON( mset->next ), xset_get_image( as_root ? "GTK_STOCK_DIALOG_WARNING" : "GTK_STOCK_YES", GTK_ICON_SIZE_BUTTON ) ); mset->full_path_same = FALSE; mset->mode_change = TRUE; on_move_change( GTK_WIDGET( mset->buf_full_path ), mset ); if ( mset->create_new ) on_toggled( NULL, mset ); } void on_toggled( GtkMenuItem* item, MoveSet* mset ) { //int (*show) () = NULL; void (*show) () = NULL; gboolean someone_is_visible = FALSE; gboolean opts_visible = FALSE; // opts if ( xset_get_b( "move_copy" ) || mset->clip_copy ) gtk_widget_show( mset->opt_copy ); else { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_copy ) ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( mset->opt_move ), TRUE ); gtk_widget_hide( mset->opt_copy ); } if ( xset_get_b( "move_link" ) ) { gtk_widget_show( mset->opt_link ); } else { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_link ) ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( mset->opt_move ), TRUE ); gtk_widget_hide( mset->opt_link ); } if ( xset_get_b( "move_copyt" ) && mset->is_link ) gtk_widget_show( mset->opt_copy_target ); else { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_copy_target ) ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( mset->opt_move ), TRUE ); gtk_widget_hide( mset->opt_copy_target ); } if ( xset_get_b( "move_linkt" ) && mset->is_link ) gtk_widget_show( mset->opt_link_target ); else { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_link_target ) ) ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( mset->opt_move ), TRUE ); gtk_widget_hide( mset->opt_link_target ); } if ( xset_get_b( "move_as_root" ) ) gtk_widget_show( mset->opt_as_root ); else { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( mset->opt_as_root ), FALSE ); gtk_widget_hide( mset->opt_as_root ); } if ( !gtk_widget_get_visible( mset->opt_copy ) && !gtk_widget_get_visible( mset->opt_link ) && !gtk_widget_get_visible( mset->opt_copy_target ) && !gtk_widget_get_visible( mset->opt_link_target ) ) { gtk_widget_hide( mset->opt_move ); opts_visible = gtk_widget_get_visible( mset->opt_as_root ); } else { gtk_widget_show( mset->opt_move ); opts_visible = TRUE; } // entries if ( xset_get_b( "move_name" ) ) { show = (GFunc)gtk_widget_show; someone_is_visible = TRUE; } else show = (GFunc)gtk_widget_hide; show( mset->label_name ); show( mset->scroll_name ); show( mset->hbox_ext ); show( mset->blank_name ); if ( xset_get_b( "move_filename" ) ) { show = (GFunc)gtk_widget_show; someone_is_visible = TRUE; } else show = (GFunc)gtk_widget_hide; show( mset->label_full_name ); show( mset->scroll_full_name ); show( mset->blank_full_name ); if ( xset_get_b( "move_parent" ) ) { show = (GFunc)gtk_widget_show; someone_is_visible = TRUE; } else show = (GFunc)gtk_widget_hide; show( mset->label_path ); show( mset->scroll_path ); show( mset->blank_path ); if ( xset_get_b( "move_path" ) ) { show = (GFunc)gtk_widget_show; someone_is_visible = TRUE; } else show = (GFunc)gtk_widget_hide; show( mset->label_full_path ); show( mset->scroll_full_path ); if ( !mset->is_link && !mset->create_new && xset_get_b( "move_type" ) ) { show = (GFunc)gtk_widget_show; } else show = (GFunc)gtk_widget_hide; show( mset->hbox_type ); gboolean new_file = FALSE; gboolean new_folder = FALSE; gboolean new_link = FALSE; if ( mset->create_new ) { new_file = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ); new_folder = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_folder ) ); new_link = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_link ) ); } if ( new_link || ( mset->is_link && xset_get_b( "move_target" ) ) ) { show = (GFunc)gtk_widget_show; } else show = (GFunc)gtk_widget_hide; show( mset->hbox_target ); if ( ( new_file || new_folder ) && xset_get_b( "move_template" ) ) { show = (GFunc)gtk_widget_show; if ( new_file ) { gtk_widget_show( GTK_WIDGET( mset->combo_template ) ); gtk_label_set_mnemonic_widget( mset->label_template, GTK_WIDGET( mset->combo_template ) ); gtk_widget_hide( GTK_WIDGET( mset->combo_template_dir ) ); } else { gtk_widget_show( GTK_WIDGET( mset->combo_template_dir ) ); gtk_label_set_mnemonic_widget( mset->label_template, GTK_WIDGET( mset->combo_template_dir ) ); gtk_widget_hide( GTK_WIDGET( mset->combo_template ) ); } } else show = (GFunc)gtk_widget_hide; show( mset->hbox_template ); if ( !someone_is_visible ) { xset_set_b( "move_filename", TRUE ); on_toggled( NULL, mset ); } if ( opts_visible ) { if ( gtk_widget_get_visible( mset->hbox_type ) ) {} else if ( gtk_widget_get_visible( GTK_WIDGET( mset->label_full_path ) ) ) {} else if ( gtk_widget_get_visible( GTK_WIDGET( mset->blank_path ) ) ) gtk_widget_hide( GTK_WIDGET( mset->blank_path ) ); else if ( gtk_widget_get_visible( GTK_WIDGET( mset->blank_full_name ) ) ) gtk_widget_hide( GTK_WIDGET( mset->blank_full_name ) ); else if ( gtk_widget_get_visible( GTK_WIDGET( mset->blank_name ) ) ) gtk_widget_hide( GTK_WIDGET( mset->blank_name ) ); } } gboolean on_mnemonic_activate(GtkWidget *widget, gboolean arg1, MoveSet* mset ) { select_input( widget, mset ); return FALSE; } void on_options_button_press( GtkWidget* btn, MoveSet* mset ) { GtkWidget* popup = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); xset_context_new(); XSet* set = xset_set_cb( "move_name", on_toggled, mset ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_filename", on_toggled, mset ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_parent", on_toggled, mset ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_path", on_toggled, mset ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_type", on_toggled, mset ); set->disable = ( mset->create_new || mset->is_link ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_target", on_toggled, mset ); set->disable = mset->create_new || !mset->is_link; xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_template", on_toggled, mset ); set->disable = !mset->create_new; xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_copy", on_toggled, mset ); set->disable = mset->clip_copy || mset->create_new; set = xset_set_cb( "move_link", on_toggled, mset ); set->disable = mset->create_new; set = xset_set_cb( "move_copyt", on_toggled, mset ); set->disable = !mset->is_link; set = xset_set_cb( "move_linkt", on_toggled, mset ); set->disable = !mset->is_link; xset_set_cb( "move_as_root", on_toggled, mset ); set = xset_get( "move_option" ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_get( "sep_mopt1" ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_get( "move_dlg_confirm_create" ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_dlg_font", on_font_change, mset ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_get( "sep_mopt2" ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); set = xset_set_cb( "move_dlg_help", on_help_activate, mset ); xset_add_menuitem( mset->desktop, mset->browser, popup, accel_group, set ); gtk_widget_show_all( GTK_WIDGET( popup ) ); g_signal_connect( popup, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time() ); } static gboolean on_label_focus( GtkWidget* widget, GtkDirectionType direction, MoveSet* mset ) { GtkWidget* input = NULL; if ( direction == GTK_DIR_TAB_FORWARD ) { if ( widget == GTK_WIDGET( mset->label_name ) ) input = mset->input_name; else if ( widget == GTK_WIDGET( mset->label_ext ) ) input = GTK_WIDGET( mset->entry_ext ); else if ( widget == GTK_WIDGET( mset->label_full_name ) ) input = mset->input_full_name; else if ( widget == GTK_WIDGET( mset->label_path ) ) input = mset->input_path; else if ( widget == GTK_WIDGET( mset->label_full_path ) ) input = mset->input_full_path; else if ( widget == GTK_WIDGET( mset->label_type ) ) { on_button_focus( mset->options, GTK_DIR_TAB_FORWARD, mset ); return TRUE; } else if ( widget == GTK_WIDGET( mset->label_target ) ) input = GTK_WIDGET( mset->entry_target ); else if ( widget == GTK_WIDGET( mset->label_template ) ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ) ) input = GTK_WIDGET( mset->combo_template ); else input = GTK_WIDGET( mset->combo_template_dir ); } } else if ( direction == GTK_DIR_TAB_BACKWARD ) { GtkWidget* input2; GtkWidget* first_input; if ( widget == GTK_WIDGET( mset->label_name ) ) { if ( mset->combo_template_dir ) input = GTK_WIDGET( mset->combo_template_dir ); else if ( mset->combo_template ) input = GTK_WIDGET( mset->combo_template ); else if ( mset->entry_target ) input = GTK_WIDGET( mset->entry_target ); else input = mset->input_full_path; } else if ( widget == GTK_WIDGET( mset->label_ext ) ) input = mset->input_name; else if ( widget == GTK_WIDGET( mset->label_full_name ) ) { if ( gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( mset->entry_ext ) ) ) && gtk_widget_get_sensitive( GTK_WIDGET( mset->entry_ext ) ) ) input = GTK_WIDGET( mset->entry_ext ); else input = mset->input_name; } else if ( widget == GTK_WIDGET( mset->label_path ) ) input = mset->input_full_name; else if ( widget == GTK_WIDGET( mset->label_full_path ) ) input = mset->input_path; else input = mset->input_full_path; first_input = input; while ( input && !gtk_widget_get_visible( gtk_widget_get_parent( input ) ) ) { input2 = NULL; if ( input == GTK_WIDGET( mset->combo_template_dir ) ) { if ( mset->combo_template ) input2 = GTK_WIDGET( mset->combo_template ); else if ( mset->entry_target ) input2 = GTK_WIDGET( mset->entry_target ); else input2 = mset->input_full_path; } else if ( input == GTK_WIDGET( mset->combo_template ) ) { if ( mset->entry_target ) input2 = GTK_WIDGET( mset->entry_target ); else input2 = mset->input_full_path; } else if ( input == GTK_WIDGET( mset->entry_target ) ) input2 = mset->input_full_path; else if ( input == mset->input_full_path ) input2 = mset->input_path; else if ( input == mset->input_path ) input2 = mset->input_full_name; else if ( input == mset->input_full_name ) { if ( gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( mset->entry_ext ) ) ) && gtk_widget_get_sensitive( GTK_WIDGET( mset->entry_ext ) ) ) input2 = GTK_WIDGET( mset->entry_ext ); else input2 = mset->input_name; } else if ( input == GTK_WIDGET( mset->entry_ext ) ) input2 = mset->input_name; else if ( input == mset->input_name ) { if ( mset->combo_template_dir ) input2 = GTK_WIDGET( mset->combo_template_dir ); else if ( mset->combo_template ) input2 = GTK_WIDGET( mset->combo_template ); else if ( mset->entry_target ) input2 = GTK_WIDGET( mset->entry_target ); else input2 = mset->input_full_path; } if ( input2 == first_input ) input = NULL; else input = input2; } } if ( input == GTK_WIDGET( mset->label_mime ) ) { gtk_label_select_region( mset->label_mime, 0, -1 ); gtk_widget_grab_focus( GTK_WIDGET( mset->label_mime ) ); } else if ( input ) { select_input( input, mset ); gtk_widget_grab_focus( input ); } return TRUE; } void copy_entry_to_clipboard( GtkWidget* widget, MoveSet* mset ) { GtkClipboard* clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); GtkTextBuffer* buf = NULL; GtkTextIter iter, siter; if ( widget == GTK_WIDGET( mset->label_name ) ) buf = mset->buf_name; else if ( widget == GTK_WIDGET( mset->label_ext ) ) { gtk_clipboard_set_text( clip, gtk_entry_get_text( mset->entry_ext ), -1 ); return; } else if ( widget == GTK_WIDGET( mset->label_full_name ) ) buf = mset->buf_full_name; else if ( widget == GTK_WIDGET( mset->label_path ) ) buf = mset->buf_path; else if ( widget == GTK_WIDGET( mset->label_full_path ) ) buf = mset->buf_full_path; else if ( widget == GTK_WIDGET( mset->label_type ) ) { gtk_clipboard_set_text( clip, mset->mime_type, -1 ); return; } else if ( widget == GTK_WIDGET( mset->label_target ) ) { gtk_clipboard_set_text( clip, gtk_entry_get_text( mset->entry_target ), -1 ); return; } else if ( widget == GTK_WIDGET( mset->label_template ) ) { GtkWidget* w; if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ) ) w = gtk_bin_get_child( GTK_BIN( mset->combo_template ) ); else w = gtk_bin_get_child( GTK_BIN( mset->combo_template_dir ) ); gtk_clipboard_set_text( clip, gtk_entry_get_text( GTK_ENTRY( w ) ), -1 ); } if ( !buf ) return; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* text = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); gtk_clipboard_set_text( clip, text, -1 ); g_free( text ); } gboolean on_label_button_press( GtkWidget *widget, GdkEventButton *event, MoveSet* mset ) { if ( event->type == GDK_BUTTON_PRESS ) { if ( event->button == 1 || event->button == 2 ) { GtkWidget* input = NULL; if ( widget == GTK_WIDGET( mset->label_name ) ) input = mset->input_name; else if ( widget == GTK_WIDGET( mset->label_ext ) ) input = GTK_WIDGET( mset->entry_ext ); else if ( widget == GTK_WIDGET( mset->label_full_name ) ) input = mset->input_full_name; else if ( widget == GTK_WIDGET( mset->label_path ) ) input = mset->input_path; else if ( widget == GTK_WIDGET( mset->label_full_path ) ) input = mset->input_full_path; else if ( widget == GTK_WIDGET( mset->label_type ) ) { gtk_label_select_region( mset->label_mime, 0, -1 ); gtk_widget_grab_focus( GTK_WIDGET( mset->label_mime ) ); if ( event->button == 2 ) copy_entry_to_clipboard( widget, mset ); return TRUE; } else if ( widget == GTK_WIDGET( mset->label_target ) ) input = GTK_WIDGET( mset->entry_target ); else if ( widget == GTK_WIDGET( mset->label_template ) ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ) ) input = GTK_WIDGET( mset->combo_template ); else input = GTK_WIDGET( mset->combo_template_dir ); } if ( input ) { select_input( input, mset ); gtk_widget_grab_focus( input ); if ( event->button == 2 ) copy_entry_to_clipboard( widget, mset ); } } } else if ( event->type == GDK_2BUTTON_PRESS ) copy_entry_to_clipboard( widget, mset ); return TRUE; } char* get_unique_name( const char* dir, const char* ext ) { char* name, *path; char* base = _("new"); if ( ext && ext[0] != '\0' ) { name = g_strdup_printf( "%s.%s", base, ext ); path = g_build_filename( dir, name, NULL ); g_free( name ); } else path = g_build_filename( dir, base, NULL ); int n = 2; struct stat64 statbuf; while ( lstat64( path, &statbuf ) == 0 ) // g_file_test doesn't see broken links { g_free( path ); if ( n == 1000 ) return g_strdup( base ); if ( ext && ext[0] != '\0' ) name = g_strdup_printf( "%s%d.%s", base, n++, ext ); else name = g_strdup_printf( "%s%d", base, n++ ); path = g_build_filename( dir, name, NULL ); g_free( name ); } return path; } char* get_template_dir() { char* templates_path = NULL; #if GLIB_CHECK_VERSION(2, 14, 0) templates_path = g_strdup( g_get_user_special_dir( G_USER_DIRECTORY_TEMPLATES ) ); #endif if ( !templates_path ) { templates_path = g_strdup( g_getenv( "XDG_TEMPLATES_DIR" ) ); } if ( !g_strcmp0( templates_path, g_get_home_dir() ) ) { /* If $XDG_TEMPLATES_DIR == $HOME this means it is disabled. Don't * recurse it as this is too many files/folders and may slow * dialog open and cause filesystem find loops. * https://wiki.freedesktop.org/www/Software/xdg-user-dirs/ */ g_free( templates_path ); templates_path = NULL; } if ( !dir_has_files( templates_path ) ) { g_free( templates_path ); templates_path = g_build_filename( g_get_home_dir(), "Templates", NULL ); if ( !dir_has_files( templates_path ) ) { g_free( templates_path ); templates_path = g_build_filename( g_get_home_dir(), ".templates", NULL ); if ( !dir_has_files( templates_path ) ) { g_free( templates_path ); templates_path = NULL; } } } return templates_path; } GList* get_templates( const char* templates_dir, const char* subdir, GList* templates, gboolean getdir ) { const char* name; char* path; char* subsubdir; char* templates_path; if ( !templates_dir ) { templates_path = get_template_dir(); if ( templates_path ) templates = get_templates( templates_path, NULL, templates, getdir ); g_free( templates_path ); return templates; } templates_path = g_build_filename( templates_dir, subdir, NULL ); GDir* dir = g_dir_open( templates_path, 0, NULL ); if ( dir ) { while ( name = g_dir_read_name( dir ) ) { path = g_build_filename( templates_path, name, NULL ); if ( getdir ) { if ( g_file_test( path, G_FILE_TEST_IS_DIR ) ) { if ( subdir ) subsubdir = g_build_filename( subdir, name, NULL ); else subsubdir = g_strdup( name ); templates = g_list_prepend( templates, g_strdup_printf( "%s/", subsubdir ) ); // prevent filesystem loops during recursive find if ( !g_file_test( path, G_FILE_TEST_IS_SYMLINK ) ) templates = get_templates( templates_dir, subsubdir, templates, getdir ); g_free( subsubdir ); } } else { if ( g_file_test( path, G_FILE_TEST_IS_REGULAR ) ) { if ( subdir ) templates = g_list_prepend( templates, g_build_filename( subdir, name, NULL ) ); else templates = g_list_prepend( templates, g_strdup( name ) ); } else if ( g_file_test( path, G_FILE_TEST_IS_DIR ) && // prevent filesystem loops during recursive find !g_file_test( path, G_FILE_TEST_IS_SYMLINK ) ) { if ( subdir ) { subsubdir = g_build_filename( subdir, name, NULL ); templates = get_templates( templates_dir, subsubdir, templates, getdir ); g_free( subsubdir ); } else templates = get_templates( templates_dir, name, templates, getdir ); } } g_free( path ); } g_dir_close( dir ); } g_free( templates_path ); return templates; } void on_template_changed( GtkWidget* widget, MoveSet* mset ) { char* str = NULL; char* str2; if ( !gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ) ) return; char* text = g_strdup( gtk_entry_get_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( mset->combo_template ) ) ) ) ); if ( text ) { g_strstrip( text ); str = text; while ( str2 = strchr( str, '/' ) ) str = str2 + 1; if ( str[0] == '.' ) str++; if ( str2 = strchr( str, '.' ) ) str = str2 + 1; else str = NULL; } gtk_entry_set_text( mset->entry_ext, str ? str : "" ); // need new name due to extension added? GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( mset->buf_full_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_path, &iter ); char* full_path = gtk_text_buffer_get_text( mset->buf_full_path, &siter, &iter, FALSE ); struct stat64 statbuf; if ( lstat64( full_path, &statbuf ) == 0 ) // g_file_test doesn't see broken links { char* dir = g_path_get_dirname( full_path ); g_free( full_path ); full_path = get_unique_name( dir, str ); if ( full_path ) { gtk_text_buffer_set_text( mset->buf_full_path, full_path, -1 ); } g_free( dir ); } g_free( full_path ); g_free( text ); } gboolean update_new_display_delayed( char* path ) { char* dir_path = g_path_get_dirname( path ); VFSDir* vdir = vfs_dir_get_by_path_soft( dir_path ); g_free( dir_path ); if ( vdir && vdir->avoid_changes ) { VFSFileInfo* file = vfs_file_info_new(); vfs_file_info_get( file, path, NULL ); vfs_dir_emit_file_created( vdir, vfs_file_info_get_name( file ), TRUE ); vfs_file_info_unref( file ); vfs_dir_flush_notify_cache(); } if ( vdir ) g_object_unref( vdir ); g_free( path ); return FALSE; } void update_new_display( const char* path ) { // for devices like nfs, emit created so the new file is shown // update now update_new_display_delayed( g_strdup( path ) ); // update a little later for exec tasks g_timeout_add( 1500, (GSourceFunc)update_new_display_delayed, g_strdup( path ) ); } /* static gboolean on_dlg_keypress( GtkWidget *widget, GdkEventKey *event, MoveSet* mset ) { if ( event->keyval == GDK_KEY_F1 && event->state == 0 ) { on_help_activate( NULL, mset ); return TRUE; } return FALSE; } */ int ptk_rename_file( DesktopWindow* desktop, PtkFileBrowser* file_browser, const char* file_dir, VFSFileInfo* file, const char* dest_dir, gboolean clip_copy, PtkRenameMode create_new, AutoOpenCreate* auto_open ) { char* full_name; char* full_path; char* path; char* old_path; char* root_mkdir = g_strdup( "" ); char* to_path; char* from_path; char* task_name; char* str; GtkTextIter iter, siter; GtkWidget* task_view = NULL; int ret = 1; gboolean target_missing = FALSE; GList* templates; FILE* touchfile; struct stat64 statbuf; if ( !file_dir ) return 0; MoveSet* mset = g_slice_new0( MoveSet ); full_name = NULL; if ( !create_new ) { if ( !file ) return 0; // special processing for files with inconsistent real name and display name if( G_UNLIKELY( vfs_file_info_is_desktop_entry(file) ) ) full_name = g_filename_display_name( file->name ); if ( !full_name ) full_name = g_strdup( vfs_file_info_get_disp_name( file ) ); if ( !full_name ) full_name = g_strdup( vfs_file_info_get_name( file ) ); mset->is_dir = vfs_file_info_is_dir( file ); mset->is_link = vfs_file_info_is_symlink( file ); mset->clip_copy = clip_copy; mset->full_path = g_build_filename( file_dir, full_name, NULL ); if ( dest_dir ) mset->new_path = g_build_filename( dest_dir, full_name, NULL ); else mset->new_path = g_strdup( mset->full_path ); g_free( full_name ); full_name = NULL; } else if ( create_new == PTK_RENAME_NEW_LINK && file ) { full_name = g_strdup( vfs_file_info_get_disp_name( file ) ); if ( !full_name ) full_name = g_strdup( vfs_file_info_get_name( file ) ); mset->full_path = g_build_filename( file_dir, full_name, NULL ); mset->new_path = g_strdup( mset->full_path ); mset->is_dir = vfs_file_info_is_dir( file ); // is_dir is dynamic for create mset->is_link = vfs_file_info_is_symlink( file ); mset->clip_copy = FALSE; } else { mset->full_path = get_unique_name( file_dir, NULL ); mset->new_path = g_strdup( mset->full_path ); mset->is_dir = FALSE; // is_dir is dynamic for create mset->is_link = FALSE; mset->clip_copy = FALSE; } mset->create_new = create_new; mset->old_path = file_dir; mset->full_path_exists = FALSE; mset->full_path_exists_dir = FALSE; mset->full_path_same = FALSE; mset->path_missing = FALSE; mset->path_exists_file = FALSE; mset->is_move = FALSE; // Dialog char* root_msg; if ( mset->is_link ) mset->desc = _("Link"); else if ( mset->is_dir ) mset->desc = _("Folder"); else mset->desc = _("File"); /* char* title; char* action; if ( job == JOB_COPY ) action = "Copy"; else if ( job == JOB_MOVE ) action = "Rename / Move"; else action = "Create Link To"; title = g_strdup_printf( "%s %s%s", action, mset->desc, root_msg ); */ mset->browser = file_browser; mset->desktop = desktop; if ( file_browser ) { mset->parent = gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ); task_view = file_browser->task_view; } else mset->parent = GTK_WIDGET( desktop ); mset->dlg = gtk_dialog_new_with_buttons( _("Move"), mset->parent ? GTK_WINDOW( mset->parent ) : NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, NULL, NULL ); //g_free( title ); gtk_window_set_role( GTK_WINDOW( mset->dlg ), "rename_dialog" ); // Buttons mset->options = gtk_button_new_with_mnemonic( _("Opt_ions") ); gtk_dialog_add_action_widget( GTK_DIALOG( mset->dlg ), mset->options, GTK_RESPONSE_YES); gtk_button_set_image( GTK_BUTTON( mset->options ), xset_get_image( "GTK_STOCK_PROPERTIES", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->options ), FALSE ); g_signal_connect( G_OBJECT( mset->options ), "clicked", G_CALLBACK( on_options_button_press ), mset ); mset->browse = gtk_button_new_with_mnemonic( _("_Browse") ); gtk_dialog_add_action_widget( GTK_DIALOG( mset->dlg ), mset->browse, GTK_RESPONSE_YES); gtk_button_set_image( GTK_BUTTON( mset->browse ), xset_get_image( "GTK_STOCK_OPEN", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->browse ), FALSE ); g_signal_connect( G_OBJECT( mset->browse ), "clicked", G_CALLBACK( on_browse_button_press ), mset ); mset->revert = gtk_button_new_with_mnemonic( _("Re_vert") ); gtk_dialog_add_action_widget( GTK_DIALOG( mset->dlg ), mset->revert, GTK_RESPONSE_NO); gtk_button_set_image( GTK_BUTTON( mset->revert ), xset_get_image( "GTK_STOCK_REVERT_TO_SAVED", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->revert ), FALSE ); g_signal_connect( G_OBJECT( mset->revert ), "clicked", G_CALLBACK( on_revert_button_press ), mset ); mset->cancel = gtk_button_new_from_stock( GTK_STOCK_CANCEL ); gtk_dialog_add_action_widget( GTK_DIALOG( mset->dlg ), mset->cancel, GTK_RESPONSE_CANCEL); mset->next = gtk_button_new_from_stock( GTK_STOCK_OK ); gtk_dialog_add_action_widget( GTK_DIALOG( mset->dlg ), mset->next, GTK_RESPONSE_OK); gtk_button_set_focus_on_click( GTK_BUTTON( mset->next ), FALSE ); gtk_button_set_image( GTK_BUTTON( mset->next ), xset_get_image( "GTK_STOCK_YES", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_label( GTK_BUTTON( mset->next ), _("_Rename") ); if ( create_new && auto_open ) { mset->open = gtk_button_new_with_mnemonic( _("& _Open") ); gtk_dialog_add_action_widget( GTK_DIALOG( mset->dlg ), mset->open, GTK_RESPONSE_APPLY); gtk_button_set_focus_on_click( GTK_BUTTON( mset->open ), FALSE ); } else mset->open = NULL; // Window int width = xset_get_int( "move_dlg_font", "x" ); int height = xset_get_int( "move_dlg_font", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( mset->dlg ), width, height ); else gtk_widget_set_size_request( GTK_WIDGET( mset->dlg ), 600, -1 ); gtk_window_set_resizable( GTK_WINDOW( mset->dlg ), TRUE ); gtk_window_set_type_hint( GTK_WINDOW ( mset->dlg ), GDK_WINDOW_TYPE_HINT_DIALOG ); gtk_widget_show_all( mset->dlg ); // Entries // Type char* type; mset->label_type = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_type, _("Type:") ); if ( mset->is_link ) { //mset->mime_type = g_strdup_printf( "inode/symlink" ); //type = g_strdup_printf( "symbolic link ( inode/symlink )" ); path = g_file_read_link( mset->full_path, NULL ); if ( path ) { mset->mime_type = path; if ( g_file_test( path, G_FILE_TEST_EXISTS ) ) type = g_strdup_printf( _("Link-> %s"), path ); else { type = g_strdup_printf( _("!Link-> %s (missing)"), path ); target_missing = TRUE; } } else { mset->mime_type = g_strdup_printf( "inode/symlink" ); type = g_strdup_printf( "symbolic link ( inode/symlink )" ); } } else if ( file ) { VFSMimeType* mime_type = vfs_file_info_get_mime_type( file ); if ( mime_type ) { mset->mime_type = g_strdup( vfs_mime_type_get_type( mime_type ) ); type = g_strdup_printf( " %s ( %s )", vfs_mime_type_get_description( mime_type ), mset->mime_type ); vfs_mime_type_unref( mime_type ); } else { mset->mime_type = g_strdup_printf( "?" ); type = g_strdup( mset->mime_type ); } } else //create { mset->mime_type = g_strdup_printf( "?" ); type = g_strdup( mset->mime_type ); } mset->label_mime = GTK_LABEL( gtk_label_new( type ) ); gtk_label_set_ellipsize( mset->label_mime, PANGO_ELLIPSIZE_MIDDLE ); g_free( type ); gtk_label_set_selectable( mset->label_mime, TRUE ); gtk_misc_set_alignment( GTK_MISC( mset->label_mime ), 0, 0 ); gtk_label_set_selectable( mset->label_type, TRUE ); g_signal_connect( G_OBJECT( mset->label_type ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_type ), "focus", G_CALLBACK( on_label_focus ), mset ); // Target if ( mset->is_link || create_new ) { mset->label_target = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_target, _("_Target:") ); gtk_misc_set_alignment( GTK_MISC( mset->label_target ), 0, 1 ); mset->entry_target = GTK_ENTRY( gtk_entry_new() ); gtk_label_set_mnemonic_widget( mset->label_target, GTK_WIDGET( mset->entry_target ) ); g_signal_connect( G_OBJECT( mset->entry_target ), "mnemonic-activate", G_CALLBACK( on_mnemonic_activate ), mset ); gtk_label_set_selectable( mset->label_target, TRUE ); g_signal_connect( G_OBJECT( mset->label_target ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_target ), "focus", G_CALLBACK( on_label_focus ), mset ); g_signal_connect( G_OBJECT( mset->entry_target ), "key-press-event", G_CALLBACK( on_move_entry_keypress ), mset ); //g_signal_connect_after( G_OBJECT( mset->entry_target ), "focus", // G_CALLBACK( on_focus ), mset ); //gtk_widget_set_sensitive( GTK_WIDGET( mset->entry_target ), !mset->is_dir ); //gtk_widget_set_sensitive( GTK_WIDGET( mset->label_target ), !mset->is_dir ); if ( create_new ) { // Target Browse button mset->browse_target = gtk_button_new(); gtk_button_set_image( GTK_BUTTON( mset->browse_target ), xset_get_image( "GTK_STOCK_OPEN", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->browse_target ), FALSE ); if ( mset->new_path && file ) gtk_entry_set_text( GTK_ENTRY( mset->entry_target ), mset->new_path ); g_signal_connect( G_OBJECT( mset->browse_target ), "clicked", G_CALLBACK( on_create_browse_button_press ), mset ); } else { gtk_entry_set_text( GTK_ENTRY( mset->entry_target ), mset->mime_type ); gtk_editable_set_editable( GTK_EDITABLE( mset->entry_target ), FALSE ); mset->browse_target = NULL; } g_signal_connect( G_OBJECT( mset->entry_target ), "changed", G_CALLBACK( on_move_change ), mset ); } else mset->label_target = NULL; // Template if ( create_new ) { mset->label_template = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_template, _("_Template:") ); gtk_misc_set_alignment( GTK_MISC( mset->label_template ), 0, 1 ); g_signal_connect( G_OBJECT( mset->entry_target ), "mnemonic-activate", G_CALLBACK( on_mnemonic_activate ), mset ); gtk_label_set_selectable( mset->label_template, TRUE ); g_signal_connect( G_OBJECT( mset->label_template ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_template ), "focus", G_CALLBACK( on_label_focus ), mset ); // template combo mset->combo_template = GTK_COMBO_BOX( gtk_combo_box_text_new_with_entry() ); gtk_combo_box_set_focus_on_click( mset->combo_template, FALSE ); // add entries gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( mset->combo_template ), _("Empty File") ); templates = NULL; templates = get_templates( NULL, NULL, templates, FALSE ); if ( templates ) { templates = g_list_sort( templates, (GCompareFunc) g_strcmp0 ); GList* l; int x = 0; for ( l = templates; l && x++ < 500; l = l->next ) { gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( mset->combo_template ), (char*)l->data ); g_free( l->data ); } g_list_free( templates ); } //gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( mset->combo_template ), // _("Add...") ); gtk_combo_box_set_active( GTK_COMBO_BOX( mset->combo_template ), 0 ); g_signal_connect( G_OBJECT( mset->combo_template ), "changed", G_CALLBACK( on_template_changed ), mset ); g_signal_connect( G_OBJECT( gtk_bin_get_child( GTK_BIN( mset->combo_template ) ) ), "key-press-event", G_CALLBACK( on_move_entry_keypress ), mset ); //gtk_label_set_mnemonic_widget( mset->label_template, GTK_WIDGET( mset->combo_template ) ); // template_dir combo mset->combo_template_dir = GTK_COMBO_BOX( gtk_combo_box_text_new_with_entry() ); gtk_combo_box_set_focus_on_click( mset->combo_template_dir, FALSE ); // add entries gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( mset->combo_template_dir ), _("Empty Folder") ); templates = NULL; templates = get_templates( NULL, NULL, templates, TRUE ); if ( templates ) { templates = g_list_sort( templates, (GCompareFunc) g_strcmp0 ); GList* l; for ( l = templates; l; l = l->next ) { gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( mset->combo_template_dir ), (char*)l->data ); g_free( l->data ); } g_list_free( templates ); } //gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( mset->combo_template_dir ), // _("Add...") ); gtk_combo_box_set_active( GTK_COMBO_BOX( mset->combo_template_dir ), 0 ); g_signal_connect( G_OBJECT( gtk_bin_get_child( GTK_BIN( mset->combo_template_dir ) ) ), "key-press-event", G_CALLBACK( on_move_entry_keypress ), mset ); //g_signal_connect( G_OBJECT( mset->combo_template_dir ), "changed", // G_CALLBACK( on_template_changed ), mset ); //gtk_label_set_mnemonic_widget( mset->label_template, GTK_WIDGET( // mset->combo_template_dir ) ); // Template Browse button mset->browse_template = gtk_button_new(); gtk_button_set_image( GTK_BUTTON( mset->browse_template ), xset_get_image( "GTK_STOCK_OPEN", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->browse_template ), FALSE ); g_signal_connect( G_OBJECT( mset->browse_template ), "clicked", G_CALLBACK( on_create_browse_button_press ), mset ); } else { mset->label_template = NULL; mset->combo_template = NULL; mset->combo_template_dir = NULL; } // Name mset->label_name = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_name, _("_Name:") ); gtk_misc_set_alignment( GTK_MISC( mset->label_name ), 0, 0 ); mset->scroll_name = gtk_scrolled_window_new( NULL, NULL ); mset->input_name = GTK_WIDGET( multi_input_new( GTK_SCROLLED_WINDOW( mset->scroll_name ), NULL, FALSE ) ); gtk_label_set_mnemonic_widget( mset->label_name, mset->input_name ); g_signal_connect( G_OBJECT( mset->input_name ), "key-press-event", G_CALLBACK( on_move_keypress ), mset ); g_signal_connect( G_OBJECT( mset->input_name ), "mnemonic-activate", G_CALLBACK( on_mnemonic_activate ), mset ); gtk_label_set_selectable( mset->label_name, TRUE ); g_signal_connect( G_OBJECT( mset->label_name ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_name ), "focus", G_CALLBACK( on_label_focus ), mset ); mset->buf_name = GTK_TEXT_BUFFER( gtk_text_view_get_buffer( GTK_TEXT_VIEW( mset->input_name ) ) ); g_signal_connect( G_OBJECT( mset->buf_name ), "changed", G_CALLBACK( on_move_change ), mset ); g_signal_connect( G_OBJECT( mset->input_name ), "focus", G_CALLBACK( on_focus ), mset ); mset->blank_name = GTK_LABEL( gtk_label_new( NULL ) ); // Ext mset->label_ext = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_ext, _("E_xtension:") ); gtk_misc_set_alignment( GTK_MISC( mset->label_ext ), 0, 1 ); mset->entry_ext = GTK_ENTRY( gtk_entry_new() ); gtk_label_set_mnemonic_widget( mset->label_ext, GTK_WIDGET( mset->entry_ext ) ); g_signal_connect( G_OBJECT( mset->entry_ext ), "mnemonic-activate", G_CALLBACK( on_mnemonic_activate ), mset ); gtk_label_set_selectable( mset->label_ext, TRUE ); g_signal_connect( G_OBJECT( mset->label_ext ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_ext ), "focus", G_CALLBACK( on_label_focus ), mset ); g_signal_connect( G_OBJECT( mset->entry_ext ), "key-press-event", G_CALLBACK( on_move_entry_keypress ), mset ); g_signal_connect( G_OBJECT( mset->entry_ext ), "changed", G_CALLBACK( on_move_change ), mset ); g_signal_connect_after( G_OBJECT( mset->entry_ext ), "focus", G_CALLBACK( on_focus ), mset ); gtk_widget_set_sensitive( GTK_WIDGET( mset->entry_ext ), !mset->is_dir ); gtk_widget_set_sensitive( GTK_WIDGET( mset->label_ext ), !mset->is_dir ); // Filename mset->label_full_name = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_full_name, _("_Filename:") ); gtk_misc_set_alignment( GTK_MISC( mset->label_full_name ), 0, 0 ); mset->scroll_full_name = gtk_scrolled_window_new( NULL, NULL ); mset->input_full_name = GTK_WIDGET( multi_input_new( GTK_SCROLLED_WINDOW( mset->scroll_full_name ), NULL, FALSE ) ); gtk_label_set_mnemonic_widget( mset->label_full_name, mset->input_full_name ); g_signal_connect( G_OBJECT( mset->input_full_name ), "mnemonic-activate", G_CALLBACK( on_mnemonic_activate ), mset ); gtk_label_set_selectable( mset->label_full_name, TRUE ); g_signal_connect( G_OBJECT( mset->label_full_name ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_full_name ), "focus", G_CALLBACK( on_label_focus ), mset ); g_signal_connect( G_OBJECT( mset->input_full_name ), "key-press-event", G_CALLBACK( on_move_keypress ), mset ); mset->buf_full_name = gtk_text_view_get_buffer( GTK_TEXT_VIEW( mset->input_full_name ) ); g_signal_connect( G_OBJECT( mset->buf_full_name ), "changed", G_CALLBACK( on_move_change ), mset ); g_signal_connect( G_OBJECT( mset->input_full_name ), "focus", G_CALLBACK( on_focus ), mset ); mset->blank_full_name = GTK_LABEL( gtk_label_new( NULL ) ); // Parent mset->label_path = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_path, _("_Parent:") ); gtk_misc_set_alignment( GTK_MISC( mset->label_path ), 0, 0 ); mset->scroll_path = gtk_scrolled_window_new( NULL, NULL ); mset->input_path = GTK_WIDGET( multi_input_new( GTK_SCROLLED_WINDOW( mset->scroll_path ), NULL, FALSE ) ); gtk_label_set_mnemonic_widget( mset->label_path, mset->input_path ); g_signal_connect( G_OBJECT( mset->input_path ), "mnemonic-activate", G_CALLBACK( on_mnemonic_activate ), mset ); gtk_label_set_selectable( mset->label_path, TRUE ); g_signal_connect( G_OBJECT( mset->label_path ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_path ), "focus", G_CALLBACK( on_label_focus ), mset ); g_signal_connect( G_OBJECT( mset->input_path ), "key-press-event", G_CALLBACK( on_move_keypress ), mset ); mset->buf_path = gtk_text_view_get_buffer( GTK_TEXT_VIEW( mset->input_path ) ); g_signal_connect( G_OBJECT( mset->buf_path ), "changed", G_CALLBACK( on_move_change ), mset ); g_signal_connect( G_OBJECT( mset->input_path ), "focus", G_CALLBACK( on_focus ), mset ); mset->blank_path = GTK_LABEL( gtk_label_new( NULL ) ); // Path mset->label_full_path = GTK_LABEL( gtk_label_new( NULL ) ); gtk_label_set_markup_with_mnemonic( mset->label_full_path, _("P_ath:") ); gtk_misc_set_alignment( GTK_MISC( mset->label_full_path ), 0, 0 ); mset->scroll_full_path = gtk_scrolled_window_new( NULL, NULL ); // set initial path mset->input_full_path = GTK_WIDGET( multi_input_new( GTK_SCROLLED_WINDOW( mset->scroll_full_path ), mset->new_path, FALSE ) ); gtk_label_set_mnemonic_widget( mset->label_full_path, mset->input_full_path ); g_signal_connect( G_OBJECT( mset->input_full_path ), "mnemonic-activate", G_CALLBACK( on_mnemonic_activate ), mset ); gtk_label_set_selectable( mset->label_full_path, TRUE ); g_signal_connect( G_OBJECT( mset->label_full_path ), "button-press-event", G_CALLBACK( on_label_button_press ), mset ); g_signal_connect( G_OBJECT( mset->label_full_path ), "focus", G_CALLBACK( on_label_focus ), mset ); g_signal_connect( G_OBJECT( mset->input_full_path ), "key-press-event", G_CALLBACK( on_move_keypress ), mset ); mset->buf_full_path = gtk_text_view_get_buffer( GTK_TEXT_VIEW( mset->input_full_path ) ); g_signal_connect( G_OBJECT( mset->buf_full_path ), "changed", G_CALLBACK( on_move_change ), mset ); g_signal_connect( G_OBJECT( mset->input_full_path ), "focus", G_CALLBACK( on_focus ), mset ); // Options mset->opt_move = gtk_radio_button_new_with_mnemonic( NULL, _("Mov_e") ); mset->opt_copy = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON(mset->opt_move), _("Cop_y") ); mset->opt_link = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON(mset->opt_move), _("Lin_k") ); mset->opt_copy_target = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON(mset->opt_move), _("Copy _Target") ); mset->opt_link_target = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON(mset->opt_move), _("Link Tar_get") ); mset->opt_as_root = gtk_check_button_new_with_mnemonic( _("A_s Root") ); mset->opt_new_file = gtk_radio_button_new_with_mnemonic( NULL, C_("New|Radio", "Fil_e") ); mset->opt_new_folder = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON( mset->opt_new_file ), C_("New|Radio", "Fol_der") ); mset->opt_new_link = gtk_radio_button_new_with_mnemonic_from_widget( GTK_RADIO_BUTTON( mset->opt_new_file ), C_("New|Radio", "_Link") ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_move ), FALSE ); g_signal_connect( G_OBJECT( mset->opt_move ), "focus", G_CALLBACK( on_button_focus ), mset ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_copy ), FALSE ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_link ), FALSE ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_copy_target ), FALSE ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_link_target ), FALSE ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_as_root ), FALSE ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_new_file ), FALSE ); g_signal_connect( G_OBJECT( mset->opt_new_file ), "focus", G_CALLBACK( on_button_focus ), mset ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_new_folder ), FALSE ); gtk_button_set_focus_on_click( GTK_BUTTON( mset->opt_new_link ), FALSE ); gtk_widget_set_sensitive( mset->opt_copy_target, mset->is_link && !target_missing ); gtk_widget_set_sensitive( mset->opt_link_target, mset->is_link ); // Pack GtkWidget* dlg_vbox = gtk_dialog_get_content_area( GTK_DIALOG( mset->dlg ) ); gtk_container_set_border_width( GTK_CONTAINER ( mset->dlg ), 10 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->label_name ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->scroll_name ), TRUE, TRUE, 0 ); mset->hbox_ext = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX( mset->hbox_ext ), GTK_WIDGET( mset->label_ext ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( mset->hbox_ext ), GTK_WIDGET( gtk_label_new( " " ) ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( mset->hbox_ext ), GTK_WIDGET( mset->entry_ext ), TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->hbox_ext ), FALSE, TRUE, 5 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->blank_name ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->label_full_name ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->scroll_full_name ), TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->blank_full_name ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->label_path ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->scroll_path ), TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->blank_path ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->label_full_path ), FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->scroll_full_path ), TRUE, TRUE, 0 ); mset->hbox_type = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start( GTK_BOX( mset->hbox_type ), GTK_WIDGET( mset->label_type ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( mset->hbox_type ), GTK_WIDGET( mset->label_mime ), TRUE, TRUE, 5 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->hbox_type ), FALSE, TRUE, 5 ); mset->hbox_target = gtk_hbox_new( FALSE, 0 ); if ( mset->label_target ) { gtk_box_pack_start( GTK_BOX( mset->hbox_target ), GTK_WIDGET( mset->label_target ), FALSE, TRUE, 0 ); if ( !create_new ) gtk_box_pack_start( GTK_BOX( mset->hbox_target ), GTK_WIDGET( gtk_label_new( " " ) ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( mset->hbox_target ), GTK_WIDGET( mset->entry_target ), TRUE, TRUE, create_new ? 3 : 0 ); if ( mset->browse_target ) gtk_box_pack_start( GTK_BOX( mset->hbox_target ), GTK_WIDGET( mset->browse_target ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->hbox_target ), FALSE, TRUE, 5 ); } mset->hbox_template = gtk_hbox_new( FALSE, 0 ); if ( mset->label_template ) { gtk_box_pack_start( GTK_BOX( mset->hbox_template ), GTK_WIDGET( mset->label_template ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( mset->hbox_template ), GTK_WIDGET( mset->combo_template ), TRUE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( mset->hbox_template ), GTK_WIDGET( mset->combo_template_dir ), TRUE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( mset->hbox_template ), GTK_WIDGET( mset->browse_template ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( mset->hbox_template ), FALSE, TRUE, 5 ); } GtkWidget* hbox = gtk_hbox_new( FALSE, 4 ); if ( create_new ) { gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( gtk_label_new( _("New") ) ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_new_file ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_new_folder ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_new_link ), FALSE, TRUE, 3 ); } else { gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_move ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_copy ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_link ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_copy_target ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_link_target ), FALSE, TRUE, 3 ); } gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( gtk_label_new( " " ) ), FALSE, TRUE, 3 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( mset->opt_as_root ), FALSE, TRUE, 6 ); gtk_box_pack_start( GTK_BOX( dlg_vbox ), GTK_WIDGET( hbox ), FALSE, TRUE, 10 ); // show on_font_change( NULL, mset ); gtk_widget_show_all( mset->dlg ); on_toggled( NULL, mset ); if ( mset->clip_copy ) { gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( mset->opt_copy ), TRUE ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( mset->opt_move ), FALSE ); } else if ( create_new == PTK_RENAME_NEW_DIR ) { gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( mset->opt_new_folder ), TRUE ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( mset->opt_new_file ), FALSE ); } else if ( create_new == PTK_RENAME_NEW_LINK ) { gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( mset->opt_new_link ), TRUE ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON( mset->opt_new_file ), FALSE ); } // signals g_signal_connect( G_OBJECT( mset->opt_move ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_copy ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_link ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_copy_target ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_link_target ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_as_root ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_new_file ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_new_folder ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); g_signal_connect( G_OBJECT( mset->opt_new_link ), "toggled", G_CALLBACK( on_opt_toggled ), mset ); // init on_move_change( GTK_WIDGET( mset->buf_full_path ), mset ); on_opt_toggled( NULL, mset ); /* instead of using last used widget, just use first visible // last widget int last = xset_get_int( "move_dlg_font", "z" ); if ( last == 1 ) mset->last_widget = mset->input_name; else if ( last == 2 ) mset->last_widget = GTK_WIDGET( mset->entry_ext ); else if ( last == 3 ) mset->last_widget = mset->input_path; else if ( last == 4 ) mset->last_widget = mset->input_full_path; else mset->last_widget = mset->input_full_name; if ( !gtk_widget_get_visible( gtk_widget_get_parent( mset->last_widget ) ) ) { if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_name ) ) ) mset->last_widget = mset->input_name; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_name ) ) ) mset->last_widget = mset->input_full_name; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_path ) ) ) mset->last_widget = mset->input_path; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_path ) ) ) mset->last_widget = mset->input_full_path; } */ if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_name ) ) ) mset->last_widget = mset->input_name; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_name ) ) ) mset->last_widget = mset->input_full_name; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_path ) ) ) mset->last_widget = mset->input_path; else if ( gtk_widget_get_visible( gtk_widget_get_parent( mset->input_full_path ) ) ) mset->last_widget = mset->input_full_path; // select last widget select_input( mset->last_widget, mset ); gtk_widget_grab_focus( mset->last_widget ); g_signal_connect( G_OBJECT( mset->options ), "focus", G_CALLBACK( on_button_focus ), mset ); g_signal_connect( G_OBJECT( mset->next ), "focus", G_CALLBACK( on_button_focus ), mset ); g_signal_connect( G_OBJECT( mset->cancel ), "focus", G_CALLBACK( on_button_focus ), mset ); // not used to speed keypress processing //g_signal_connect( G_OBJECT( mset->dlg ), "key-press-event", // G_CALLBACK( on_dlg_keypress ), mset ); // run int response; while ( response = gtk_dialog_run( GTK_DIALOG( mset->dlg ) ) ) { if ( response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY ) { gtk_text_buffer_get_start_iter( mset->buf_full_path, &siter ); gtk_text_buffer_get_end_iter( mset->buf_full_path, &iter ); full_path = gtk_text_buffer_get_text( mset->buf_full_path, &siter, &iter, FALSE ); if ( full_path[0] != '/' ) { // update full_path to absolute char* cwd = g_path_get_dirname( mset->full_path ); char* old_path = full_path; full_path = g_build_filename( cwd, old_path, NULL ); g_free( cwd ); g_free( old_path ); } if ( strchr( full_path, '\n' ) ) { ptk_show_error( GTK_WINDOW( mset->dlg ), _("Error"), _("Path contains linefeeds") ); g_free( full_path ); continue; } full_name = g_path_get_basename( full_path ); path = g_path_get_dirname( full_path ); old_path = g_path_get_dirname( mset->full_path ); gboolean overwrite = FALSE; char* msg; if ( response == GTK_RESPONSE_APPLY ) ret = 2; if ( !create_new && ( mset->full_path_same || !strcmp( full_path, mset->full_path ) ) ) { // not changed, proceed to next file g_free( full_path ); g_free( full_name ); g_free( path ); g_free( old_path ); break; } // determine job gboolean move = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_move ) ); gboolean copy = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_copy ) ); gboolean link = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_link ) ); gboolean copy_target = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_copy_target ) ); gboolean link_target = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_link_target ) ); gboolean as_root = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_as_root ) ); gboolean new_file = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_file ) ); gboolean new_folder = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_folder ) ); gboolean new_link = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( mset->opt_new_link ) ); if ( as_root ) root_msg = _(" As Root"); else root_msg = ""; if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { // create parent folder if ( xset_get_b( "move_dlg_confirm_create" ) ) { if ( xset_msg_dialog( mset->parent, GTK_MESSAGE_QUESTION, _("Create Parent Folder"), NULL, GTK_BUTTONS_YES_NO, _("The parent folder does not exist. Create it?"), NULL, NULL ) != GTK_RESPONSE_YES ) goto _continue_free; } if ( as_root ) { g_free( root_mkdir ); to_path = bash_quote( path ); root_mkdir = g_strdup_printf( "mkdir -p %s && ", to_path ); g_free( to_path ); } else if ( g_mkdir_with_parents( path, 0755 ) != 0 ) { msg = g_strdup_printf( _("Error creating parent folder\n\n%s"), strerror( errno ) ); ptk_show_error( GTK_WINDOW( mset->dlg ), _("Mkdir Error"), msg ); g_free( msg ); goto _continue_free; } else update_new_display( path ); } else if ( lstat64( full_path, &statbuf ) == 0 ) { // overwrite if ( g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) goto _continue_free; // just in case if ( xset_msg_dialog( mset->parent, GTK_MESSAGE_WARNING, _("Overwrite Existing File"), NULL, GTK_BUTTONS_YES_NO, _("OVERWRITE WARNING"), _("The file path exists. Overwrite existing file?"), NULL ) != GTK_RESPONSE_YES ) goto _continue_free; overwrite = TRUE; } if ( create_new && new_link ) { // new link task task_name = g_strdup_printf( _("Create Link%s"), root_msg ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, mset->parent, task_view ); g_free( task_name ); str = g_strdup( gtk_entry_get_text( mset->entry_target ) ); g_strstrip( str ); while ( g_str_has_suffix( str, "/" ) && str[1] != '\0' ) str[g_utf8_strlen( str, -1 ) - 1] = '\0'; from_path = bash_quote( str ); g_free( str ); to_path = bash_quote( full_path ); if ( overwrite ) { task->task->exec_command = g_strdup_printf( "%sln -sf %s %s", root_mkdir, from_path, to_path ); } else { task->task->exec_command = g_strdup_printf( "%sln -s %s %s", root_mkdir, from_path, to_path ); } g_free( from_path ); g_free( to_path ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = as_root ? g_strdup( "root" ) : NULL; if ( auto_open ) { auto_open->path = g_strdup( full_path ); auto_open->open_file = ( response == GTK_RESPONSE_APPLY ); task->complete_notify = auto_open->callback; task->user_data = auto_open; } ptk_file_task_run( task ); update_new_display( full_path ); } else if ( create_new && new_file ) { // new file task if ( gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( mset->combo_template ) ) ) && ( str = gtk_combo_box_text_get_active_text( GTK_COMBO_BOX_TEXT( mset->combo_template ) ) ) ) { g_strstrip( str ); if ( str[0] == '/' ) from_path = bash_quote( str ); else if ( !g_strcmp0( _("Empty File"), str ) || str[0] == '\0' ) from_path = NULL; else { char* tdir = get_template_dir(); if ( tdir ) { from_path = g_build_filename( tdir, str, NULL ); if ( !g_file_test( from_path, G_FILE_TEST_IS_REGULAR ) ) { ptk_show_error( GTK_WINDOW( mset->dlg ), _("Template Missing"), _("The specified template does not exist") ); g_free( from_path ); g_free( str ); g_free( tdir ); goto _continue_free; } g_free( str ); g_free( tdir ); str = from_path; from_path = bash_quote( str ); } else from_path = NULL; } g_free( str ); } else from_path = NULL; to_path = bash_quote( full_path ); char* over_cmd; if ( overwrite ) over_cmd = g_strdup_printf( "rm -f %s && ", to_path ); else over_cmd = g_strdup( "" ); task_name = g_strdup_printf( _("Create New File%s"), root_msg ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, mset->parent, task_view ); g_free( task_name ); if ( !from_path ) task->task->exec_command = g_strdup_printf( "%s%stouch %s", root_mkdir, over_cmd, to_path ); else task->task->exec_command = g_strdup_printf( "%s%scp -f %s %s", root_mkdir, over_cmd, from_path, to_path ); g_free( from_path ); g_free( to_path ); g_free( over_cmd ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = as_root ? g_strdup( "root" ) : NULL; if ( auto_open ) { auto_open->path = g_strdup( full_path ); auto_open->open_file = ( response == GTK_RESPONSE_APPLY ); task->complete_notify = auto_open->callback; task->user_data = auto_open; } ptk_file_task_run( task ); update_new_display( full_path ); } else if ( create_new ) { // new folder task if ( !new_folder ) goto _continue_free; // failsafe if ( gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( mset->combo_template_dir ) ) ) && ( str = gtk_combo_box_text_get_active_text( GTK_COMBO_BOX_TEXT( mset->combo_template_dir ) ) ) ) { g_strstrip( str ); if ( str[0] == '/' ) from_path = bash_quote( str ); else if ( !g_strcmp0( _("Empty Folder"), str ) || str[0] == '\0' ) from_path = NULL; else { char* tdir = get_template_dir(); if ( tdir ) { from_path = g_build_filename( tdir, str, NULL ); if ( !g_file_test( from_path, G_FILE_TEST_IS_DIR ) ) { ptk_show_error( GTK_WINDOW( mset->dlg ), _("Template Missing"), _("The specified template does not exist") ); g_free( from_path ); g_free( str ); g_free( tdir ); goto _continue_free; } g_free( str ); g_free( tdir ); str = from_path; from_path = bash_quote( str ); } else from_path = NULL; } g_free( str ); } else from_path = NULL; to_path = bash_quote( full_path ); task_name = g_strdup_printf( _("Create New Folder%s"), root_msg ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, mset->parent, task_view ); g_free( task_name ); if ( !from_path ) task->task->exec_command = g_strdup_printf( "%smkdir %s", root_mkdir, to_path ); else task->task->exec_command = g_strdup_printf( "%scp -rL %s %s", root_mkdir, from_path, to_path ); g_free( from_path ); g_free( to_path ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = as_root ? g_strdup( "root" ) : NULL; if ( auto_open ) { auto_open->path = g_strdup( full_path ); auto_open->open_file = ( response == GTK_RESPONSE_APPLY ); task->complete_notify = auto_open->callback; task->user_data = auto_open; } ptk_file_task_run( task ); update_new_display( full_path ); } else if ( copy || copy_target ) { // copy task task_name = g_strdup_printf( _("Copy%s"), root_msg ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, mset->parent, task_view ); g_free( task_name ); char* over_opt = NULL; to_path = bash_quote( full_path ); if ( copy || !mset->is_link ) from_path = bash_quote( mset->full_path ); else { str = g_file_read_link( mset->full_path, NULL ); if ( !str ) { ptk_show_error( GTK_WINDOW( mset->dlg ), _("Copy Target Error"), _("Error determining link's target") ); goto _continue_free; } from_path = bash_quote( str ); g_free( str ); } if ( overwrite ) over_opt = g_strdup( " --remove-destination" ); if ( !over_opt ) over_opt = g_strdup( "" ); if ( mset->is_dir ) { task->task->exec_command = g_strdup_printf( "%scp -Pfr %s %s", root_mkdir, from_path, to_path ); } else { task->task->exec_command = g_strdup_printf( "%scp -Pf%s %s %s", root_mkdir, over_opt, from_path, to_path ); } g_free( from_path ); g_free( to_path ); g_free( over_opt ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = as_root ? g_strdup( "root" ) : NULL; ptk_file_task_run( task ); update_new_display( full_path ); } else if ( link || link_target ) { // link task task_name = g_strdup_printf( _("Create Link%s"), root_msg ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, mset->parent, task_view ); g_free( task_name ); if ( link || !mset->is_link ) from_path = bash_quote( mset->full_path ); else { str = g_file_read_link( mset->full_path, NULL ); if ( !str ) { ptk_show_error( GTK_WINDOW( mset->dlg ), _("Link Target Error"), _("Error determining link's target") ); goto _continue_free; } from_path = bash_quote( str ); g_free( str ); } to_path = bash_quote( full_path ); if ( overwrite ) { task->task->exec_command = g_strdup_printf( "%sln -sf %s %s", root_mkdir, from_path, to_path ); } else { task->task->exec_command = g_strdup_printf( "%sln -s %s %s", root_mkdir, from_path, to_path ); } g_free( from_path ); g_free( to_path ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = as_root ? g_strdup( "root" ) : NULL; ptk_file_task_run( task ); update_new_display( full_path ); } // need move? (do move as task in case it takes a long time) else if ( as_root || strcmp( old_path, path ) ) { _move_task: // move task - this is jumped to from the below rename block on // EXDEV error task_name = g_strdup_printf( _("Move%s"), root_msg ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, mset->parent, task_view ); g_free( task_name ); from_path = bash_quote( mset->full_path ); to_path = bash_quote( full_path ); if ( overwrite ) { task->task->exec_command = g_strdup_printf( "%smv -f %s %s", root_mkdir, from_path, to_path ); } else { task->task->exec_command = g_strdup_printf( "%smv %s %s", root_mkdir, from_path, to_path ); } g_free( from_path ); g_free( to_path ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = as_root ? g_strdup( "root" ) : NULL; ptk_file_task_run( task ); update_new_display( full_path ); } else { // rename (does overwrite) if ( rename( mset->full_path, full_path ) != 0 ) { // Respond to an EXDEV error by switching to a move (e.g. aufs // directory rename fails due to the directory existing in // multiple underlying branches) if ( errno == EXDEV ) goto _move_task; // Unknown error has occurred - alert user as usual msg = g_strdup_printf( _("Error renaming file\n\n%s"), strerror( errno ) ); ptk_show_error( GTK_WINDOW( mset->dlg ), _("Rename Error"), msg ); g_free( msg ); goto _continue_free; } else update_new_display( full_path ); } g_free( full_path ); g_free( full_name ); g_free( path ); g_free( old_path ); break; _continue_free: g_free( full_path ); g_free( full_name ); g_free( path ); g_free( old_path ); } else if ( response == GTK_RESPONSE_CANCEL || response == GTK_RESPONSE_DELETE_EVENT ) { ret = 0; break; } } if ( response == 0 ) ret = 0; // save size GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( mset->dlg ), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { str = g_strdup_printf( "%d", width ); xset_set( "move_dlg_font", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "move_dlg_font", "y", str ); g_free( str ); } // save last_widget - this is no longer used but save anyway int last; if ( mset->last_widget == mset->input_name ) last = 1; else if ( mset->last_widget == GTK_WIDGET( mset->entry_ext ) ) last = 2; else if ( mset->last_widget == mset->input_path ) last = 3; else if ( mset->last_widget == mset->input_full_path ) last = 4; else last = 0; str = g_strdup_printf( "%d", last ); xset_set( "move_dlg_font", "z", str ); g_free( str ); // destroy gtk_widget_destroy( mset->dlg ); g_free( root_mkdir ); g_free( mset->full_path ); if ( mset->new_path ) g_free( mset->new_path ); if ( mset->mime_type ) g_free( mset->mime_type ); g_slice_free( MoveSet, mset ); return ret; } /* gboolean ptk_rename_file( GtkWindow* parent_win, const char* cwd, VFSFileInfo* file ) { GtkWidget * input_dlg; GtkLabel* prompt; char* ufile_name; char* file_name; char* from_path; char* to_path; gboolean ret = FALSE; char* disp_name = NULL; if ( !cwd || !file ) return FALSE; // special processing for files with incosistent real name and display name if( G_UNLIKELY( vfs_file_info_is_desktop_entry(file) ) ) disp_name = g_filename_display_name( file->name ); input_dlg = ptk_input_dialog_new( _( "Rename File" ), _( "Please input new file name:" ), disp_name ? disp_name : vfs_file_info_get_disp_name( file ), parent_win ); g_free( disp_name ); gtk_window_set_default_size( GTK_WINDOW( input_dlg ), 360, -1 ); // Without this line, selected region in entry cannot be set gtk_widget_show( input_dlg ); if ( ! vfs_file_info_is_dir( file ) ) select_file_name_part( GTK_ENTRY( ptk_input_dialog_get_entry( GTK_WIDGET( input_dlg ) ) ) ); while ( gtk_dialog_run( GTK_DIALOG( input_dlg ) ) == GTK_RESPONSE_OK ) { prompt = GTK_LABEL( ptk_input_dialog_get_label( input_dlg ) ); ufile_name = ptk_input_dialog_get_text( input_dlg ); file_name = g_filename_from_utf8( ufile_name, -1, NULL, NULL, NULL ); g_free( ufile_name ); if ( file_name ) { from_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); to_path = g_build_filename( cwd, file_name, NULL ); if ( g_file_test( to_path, G_FILE_TEST_EXISTS ) ) { gtk_label_set_text( prompt, _( "The file name you specified already exists.\n" "Please input a new one:" ) ); } else { if ( 0 == rename( from_path, to_path ) ) { ret = TRUE; break; } else { gtk_label_set_text( prompt, strerror( errno ) ); } } g_free( from_path ); g_free( to_path ); } else { gtk_label_set_text( prompt, _( "The file name you specified already exists.\n" "Please input a new one:" ) ); } } gtk_widget_destroy( input_dlg ); return ret; } */ gboolean ptk_create_new_file( GtkWindow* parent_win, const char* cwd, gboolean create_folder, VFSFileInfo** file ) { gchar * full_path; gchar* ufile_name; gchar* file_name; GtkLabel* prompt; int result; GtkWidget* dlg; gboolean ret = FALSE; gboolean looponce = FALSE; //MOD if ( create_folder ) { dlg = ptk_input_dialog_new( _( "New Folder" ), _( "New folder name:" ), _( "New Folder" ), parent_win ); } else { dlg = ptk_input_dialog_new( _( "New File" ), _( "New filename:" ), _( "New File" ), parent_win ); } while ( gtk_dialog_run( GTK_DIALOG( dlg ) ) == GTK_RESPONSE_OK ) { looponce = TRUE; //MOD ufile_name = ptk_input_dialog_get_text( dlg ); if ( g_get_filename_charsets( NULL ) ) file_name = ufile_name; else { file_name = g_filename_from_utf8( ufile_name, -1, NULL, NULL, NULL ); g_free( ufile_name ); } full_path = g_build_filename( cwd, file_name, NULL ); g_free( file_name ); if ( g_file_test( full_path, G_FILE_TEST_EXISTS ) ) { prompt = GTK_LABEL( ptk_input_dialog_get_label( dlg ) ); gtk_label_set_text( prompt, _( "Name already exists.\n\nPlease input a new one:" ) ); g_free( full_path ); continue; } if ( create_folder ) { result = mkdir( full_path, 0755 ); ret = (result==0); } else { result = open( full_path, O_CREAT, 0644 ); if ( result != -1 ) { close( result ); ret = TRUE; } } if( ret && file ) { *file = vfs_file_info_new(); vfs_file_info_get( *file, full_path, NULL ); } g_free( full_path ); break; } gtk_widget_destroy( dlg ); if( ! ret && looponce ) //MOD ptk_show_error( parent_win, _("Error"), _( "The new file cannot be created" ) ); return ret; } void ptk_show_file_properties( GtkWindow* parent_win, const char* cwd, GList* sel_files, int page ) { GtkWidget * dlg; if ( sel_files ) { /* Make a copy of the list */ sel_files = g_list_copy( sel_files ); g_list_foreach( sel_files, (GFunc) vfs_file_info_ref, NULL ); dlg = file_properties_dlg_new( parent_win, cwd, sel_files, page ); } else { // no files selected, use cwd as file VFSFileInfo* file = vfs_file_info_new(); vfs_file_info_get( file, cwd, NULL ); sel_files = g_list_prepend( NULL, vfs_file_info_ref( file ) ); char* parent_dir = g_path_get_dirname( cwd ); dlg = file_properties_dlg_new( parent_win, parent_dir, sel_files, page ); } g_signal_connect_swapped( dlg, "destroy", G_CALLBACK( vfs_file_info_list_free ), sel_files ); gtk_widget_show( dlg ); } static gboolean open_archives_with_handler( ParentInfo* parent, GList* sel_files, char* full_path, VFSMimeType* mime_type ) { gboolean extract_here = xset_get_b( "arc_def_ex" ); const char* dest_dir = NULL; int cmd; if ( xset_get_b( "arc_def_open" ) ) // user has open archives with app option enabled return FALSE; // don't handle these files // determine default archive action in this dir if ( extract_here && have_rw_access( parent->cwd ) ) { // Extract Here cmd = HANDLER_EXTRACT; dest_dir = parent->cwd; } else if ( extract_here || xset_get_b( "arc_def_exto" ) ) { // Extract Here but no write access or Extract To option cmd = HANDLER_EXTRACT; } else if ( xset_get_b( "arc_def_list" ) ) { // List contents cmd = HANDLER_LIST; } else return FALSE; // don't handle these files // type or pathname has archive handler? - don't test command non-empty // here because only applies to first file GSList* handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_ARC, cmd, full_path, mime_type, FALSE, FALSE, TRUE ); if ( handlers_slist ) { g_slist_free( handlers_slist ); ptk_file_archiver_extract( parent->desktop, parent->file_browser, sel_files, parent->cwd, dest_dir, cmd, TRUE ); return TRUE; // all files handled } return FALSE; // don't handle these files } static void open_files_with_handler( ParentInfo* parent, GList* files, XSet* handler_set ) { GList* l; char* str; char* quoted; char* command_final; char* command; char* name; printf( "\nSelected File Handler '%s'\n", handler_set->menu_label ); // get command - was already checked as non-empty char* err_msg = ptk_handler_load_script( HANDLER_MODE_FILE, HANDLER_MOUNT, handler_set, NULL, &command ); if ( err_msg ) { xset_msg_dialog( parent->file_browser ? GTK_WIDGET( parent->file_browser ) : NULL, GTK_MESSAGE_ERROR, _("Error Loading Handler"), NULL, 0, err_msg, NULL, NULL ); g_free( err_msg ); return; } // auto mount point if ( strstr( command, "%a" ) ) { name = ptk_location_view_create_mount_point( HANDLER_MODE_FILE, NULL, NULL, files && files->data ? (char*)files->data : NULL ); str = command; command = replace_string( command, "%a", name, FALSE ); g_free( str ); g_free( name ); } /* prepare bash vars for just the files being opened by this handler, * not necessarily all selected */ GString* fm_filenames = g_string_new( "fm_filenames=(\n" ); GString* fm_files = g_string_new( "fm_files=(\n" ); // command looks like it handles multiple files ? gboolean multiple = ( strstr( command, "%N" ) || strstr( command, "%F" ) || strstr( command, "fm_files[" ) || strstr( command, "fm_filenames[" ) ); if ( multiple ) { for ( l = files; l; l = l->next ) { // filename name = g_path_get_basename( (char*)l->data ); quoted = bash_quote( name ); g_free( name ); g_string_append_printf( fm_filenames, "%s\n", quoted ); g_free( quoted ); // file path quoted = bash_quote( (char*)l->data ); g_string_append_printf( fm_files, "%s\n", quoted ); g_free( quoted ); } } g_string_append( fm_filenames, ")\nfm_filename=\"$fm_filenames[0]\"\n" ); g_string_append( fm_files, ")\nfm_file=\"$fm_files[0]\"\n" ); // replace standard sub vars str = command; command = replace_line_subs( command ); g_free( str ); // start task(s) for ( l = files; l; l = l->next ) { if ( multiple ) { command_final = g_strdup_printf( "%s%s%s", fm_filenames->str, fm_files->str, command ); } else { // add sub vars for single file // filename name = g_path_get_basename( (char*)l->data ); quoted = bash_quote( name ); g_free( name ); str = g_strdup_printf( "fm_filename=%s\n", quoted ); g_free( quoted ); // file path quoted = bash_quote( (char*)l->data ); command_final = g_strdup_printf( "%s%s%sfm_file=%s\n%s", fm_filenames->str, fm_files->str, str, quoted, command ); g_free( str ); g_free( quoted ); } // Run task PtkFileTask* task = ptk_file_exec_new( handler_set->menu_label, parent->cwd, parent->file_browser ? GTK_WIDGET( parent->file_browser ) : NULL, parent->file_browser ? parent->file_browser->task_view : NULL ); // don't free cwd! task->task->exec_browser = parent->file_browser; task->task->exec_desktop = parent->desktop; task->task->exec_command = command_final; if ( handler_set->icon ) task->task->exec_icon = g_strdup( handler_set->icon ); task->task->exec_terminal = ( handler_set->in_terminal == XSET_B_TRUE ); task->task->exec_keep_terminal = FALSE; // file handlers store Run As Task in keep_terminal task->task->exec_sync = handler_set->keep_terminal == XSET_B_TRUE; task->task->exec_show_error = task->task->exec_sync; task->task->exec_export = TRUE; ptk_file_task_run( task ); if ( multiple ) break; } g_string_free( fm_filenames, TRUE ); g_string_free( fm_files, TRUE ); g_free( command ); } static gboolean open_files_with_app( ParentInfo* parent, GList* files, const char* app_desktop ) { gchar * name; GError* err = NULL; VFSAppDesktop* app; GdkScreen* screen; XSet* handler_set; if ( app_desktop && g_str_has_prefix( app_desktop, "###" ) && ( handler_set = xset_is( app_desktop + 3 ) ) && files ) { // is a handler open_files_with_handler( parent, files, handler_set ); return TRUE; } else if ( app_desktop ) { /* Check whether this is an app desktop file or just a command line */ if ( g_str_has_suffix ( app_desktop, ".desktop" ) ) app = vfs_app_desktop_new( app_desktop ); else { /* Not a desktop entry name */ /* * If we are lucky enough, there might be a desktop entry * for this program */ name = g_strconcat ( app_desktop, ".desktop", NULL ); if ( g_file_test( name, G_FILE_TEST_EXISTS ) ) { app = vfs_app_desktop_new( name ); } else { /* dirty hack! */ app = vfs_app_desktop_new( NULL ); app->exec = g_strdup( app_desktop ); // freed by vfs_app_desktop_unref } g_free( name ); } if ( parent->file_browser ) screen = gtk_widget_get_screen( GTK_WIDGET( parent->file_browser ) ); else if ( parent->desktop ) screen = gtk_widget_get_screen( GTK_WIDGET( parent->desktop ) ); else screen = gdk_screen_get_default(); printf("EXEC(%s)=%s\n", app->full_path ? app->full_path : app_desktop, app->exec ); if ( ! vfs_app_desktop_open_files( screen, parent->cwd, app, files, &err ) ) { GtkWidget * toplevel = parent->file_browser ? gtk_widget_get_toplevel( GTK_WIDGET( parent->file_browser ) ) : NULL; ptk_show_error( GTK_WINDOW( toplevel ), _("Error"), err->message ); g_error_free( err ); } vfs_app_desktop_unref( app ); } return TRUE; } static void open_files_with_each_app( gpointer key, gpointer value, gpointer user_data ) { char* app_desktop = (char*)key; // is const unless handler const char* cwd; GList* files = (GList*)value; ParentInfo* parent = (ParentInfo*)user_data; open_files_with_app( parent, files, app_desktop ); } static void free_file_list_hash( gpointer key, gpointer value, gpointer user_data ) { const char * app_desktop; GList* files; app_desktop = ( const char* ) key; files = ( GList* ) value; g_list_foreach( files, ( GFunc ) g_free, NULL ); g_list_free( files ); } void ptk_open_files_with_app( const char* cwd, GList* sel_files, const char* app_desktop, DesktopWindow* desktop, PtkFileBrowser* file_browser, gboolean xforce, gboolean xnever ) { // if xnever, never execute an executable // if xforce, force execute of executable ignoring app_settings.no_execute GList * l; gchar* full_path = NULL; VFSFileInfo* file; VFSMimeType* mime_type; GList* files_to_open = NULL; GHashTable* file_list_hash = NULL; GError* err; char* new_dir = NULL; char* alloc_desktop; GtkWidget* toplevel; PtkFileBrowser* fb; ParentInfo* parent = g_slice_new0( ParentInfo ); parent->desktop = desktop; parent->file_browser = file_browser; parent->cwd = cwd; for ( l = sel_files; l; l = l->next ) { file = ( VFSFileInfo* ) l->data; if ( G_UNLIKELY( ! file ) ) continue; full_path = g_build_filename( cwd, vfs_file_info_get_name( file ), NULL ); if ( G_LIKELY( full_path ) ) { if ( app_desktop ) // specified app to open all files files_to_open = g_list_append( files_to_open, full_path ); else { // No app specified - Use default app for each file // Is a dir? Open in browser if ( G_LIKELY( file_browser ) && g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) { if ( ! new_dir ) new_dir = full_path; else { if ( G_LIKELY( file_browser ) ) { ptk_file_browser_emit_open( file_browser, full_path, PTK_OPEN_NEW_TAB ); } } continue; } /* If this file is an executable file, run it. */ if ( !xnever && vfs_file_info_is_executable( file, full_path ) && ( ! app_settings.no_execute || xforce ) ) { char * argv[ 2 ] = { full_path, NULL }; GdkScreen* screen = file_browser ? gtk_widget_get_screen( GTK_WIDGET(file_browser) ) : gdk_screen_get_default(); err = NULL; if ( ! vfs_exec_on_screen ( screen, cwd, argv, NULL, vfs_file_info_get_disp_name( file ), VFS_EXEC_DEFAULT_FLAGS, TRUE, &err ) ) { toplevel = file_browser ? gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) : NULL; ptk_show_error( ( GtkWindow* ) toplevel, _("Error"), err->message ); g_error_free( err ); } else { if ( G_LIKELY( file_browser ) ) { ptk_file_browser_emit_open( file_browser, full_path, PTK_OPEN_FILE ); } } g_free( full_path ); continue; } /* Find app to open this file and place copy in alloc_desktop. * This string is freed when hash table is destroyed. */ alloc_desktop = NULL; mime_type = vfs_file_info_get_mime_type( file ); // has archive handler? if ( l == sel_files /* test first file only */ && open_archives_with_handler( parent, sel_files, full_path, mime_type ) ) { // all files were handled by open_archives_with_handler vfs_mime_type_unref( mime_type ); break; } // if has file handler, set alloc_desktop = ###XSETNAME GSList* handlers_slist = ptk_handler_file_has_handlers( HANDLER_MODE_FILE, HANDLER_MOUNT, full_path, mime_type, TRUE, FALSE, TRUE ); if ( handlers_slist ) { XSet* handler_set = (XSet*)handlers_slist->data; g_slist_free( handlers_slist ); alloc_desktop = g_strconcat( "###", handler_set->name, NULL ); } /* The file itself is a desktop entry file. */ /* was: if( g_str_has_suffix( vfs_file_info_get_name( file ), ".desktop" ) ) */ if ( !alloc_desktop ) { if ( file->flags & VFS_FILE_INFO_DESKTOP_ENTRY && ( ! app_settings.no_execute || xforce ) ) alloc_desktop = full_path; else alloc_desktop = vfs_mime_type_get_default_action( mime_type ); } if ( !alloc_desktop && mime_type_is_text_file( full_path, mime_type->type ) ) { /* FIXME: special handling for plain text file */ vfs_mime_type_unref( mime_type ); mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_PLAIN_TEXT ); alloc_desktop = vfs_mime_type_get_default_action( mime_type ); } vfs_mime_type_unref( mime_type ); if ( !alloc_desktop && vfs_file_info_is_symlink( file ) ) { // broken link? char* target_path = g_file_read_link( full_path, NULL ); if ( target_path ) { if ( !g_file_test( target_path, G_FILE_TEST_EXISTS ) ) { char* msg = g_strdup_printf( _("This symlink's target is missing or you do not have permission to access it:\n%s\n\nTarget: %s"), full_path, target_path ); toplevel = file_browser ? gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) : NULL; ptk_show_error( ( GtkWindow* ) toplevel, _("Broken Link"), msg ); g_free(msg); g_free( full_path ); g_free( target_path ); continue; } g_free( target_path ); } } if ( !alloc_desktop ) { /* Let the user choose an application */ toplevel = file_browser ? gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) : NULL; alloc_desktop = ptk_choose_app_for_mime_type( ( GtkWindow* ) toplevel, mime_type, TRUE, TRUE, TRUE, !file_browser ); } if ( !alloc_desktop ) { g_free( full_path ); continue; } // add full_path to list, update hash table files_to_open = NULL; if ( !file_list_hash ) /* this will free the keys (alloc_desktop) when hash table * destroyed or new key inserted/replaced */ file_list_hash = g_hash_table_new_full( g_str_hash, g_str_equal, g_free, NULL ); else // get existing file list for this app files_to_open = g_hash_table_lookup( file_list_hash, alloc_desktop ); if ( alloc_desktop != full_path ) /* it's not a desktop file itself - add file to list. * Otherwise use full_path as hash table key, which will * be freed when hash table is destroyed. */ files_to_open = g_list_append( files_to_open, full_path ); // update file list in hash table g_hash_table_replace( file_list_hash, alloc_desktop, files_to_open ); } } } if ( app_desktop && files_to_open ) { // specified app to open all files open_files_with_app( parent, files_to_open, app_desktop ); g_list_foreach( files_to_open, ( GFunc ) g_free, NULL ); g_list_free( files_to_open ); } else if ( file_list_hash ) { // No app specified - Use default app to open each associated list of files // free_file_list_hash frees each file list and its strings g_hash_table_foreach( file_list_hash, open_files_with_each_app, parent ); g_hash_table_foreach( file_list_hash, free_file_list_hash, NULL ); g_hash_table_destroy( file_list_hash ); } if ( new_dir ) { if ( G_LIKELY( file_browser ) ) ptk_file_browser_emit_open( file_browser, full_path, PTK_OPEN_DIR ); g_free( new_dir ); } g_slice_free( ParentInfo, parent ); } void ptk_file_misc_paste_as( DesktopWindow* desktop, PtkFileBrowser* file_browser, const char* cwd, GFunc callback ) { gchar* file_path; char* str; gboolean is_cut = FALSE; gint missing_targets; VFSFileInfo* file; char* file_dir; GList* files = ptk_clipboard_get_file_paths( cwd, &is_cut, &missing_targets ); GList* l; for ( l = files; l; l = l->next ) { file_path = (char*)l->data; file = vfs_file_info_new(); vfs_file_info_get( file, file_path, NULL ); file_dir = g_path_get_dirname( file_path ); if ( !ptk_rename_file( desktop, file_browser, file_dir, file, cwd, !is_cut, PTK_RENAME, NULL ) ) { vfs_file_info_unref( file ); g_free( file_dir ); missing_targets = 0; break; } vfs_file_info_unref( file ); g_free( file_dir ); } g_list_foreach( files, ( GFunc ) g_free, NULL ); g_list_free( files ); if ( callback && desktop ) callback( NULL, desktop ); if ( missing_targets > 0 ) { GtkWindow* parent; if ( file_browser ) parent = GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( file_browser ) ) ); else if ( desktop ) parent = GTK_WINDOW( desktop ); ptk_show_error( parent, g_strdup_printf ( _("Error") ), g_strdup_printf ( "%i target%s missing", missing_targets, missing_targets > 1 ? g_strdup_printf ( "s are" ) : g_strdup_printf ( " is" ) ) ); } } void ptk_file_misc_rootcmd( DesktopWindow* desktop, PtkFileBrowser* file_browser, GList* sel_files, char* cwd, char* setname ) { /* * root_copy_loc copy to location * root_move2 move to * root_delete delete */ if ( !setname || ( !file_browser && !desktop ) || !sel_files ) return; XSet* set; char* path; char* cmd; char* task_name; GtkWidget* parent = file_browser ? GTK_WIDGET( file_browser ) : GTK_WIDGET( desktop ); char* file_paths = g_strdup( "" ); GList* sel; char* file_path; char* file_path_q; char* str; int item_count = 0; for ( sel = sel_files; sel; sel = sel->next ) { file_path = g_build_filename( cwd, vfs_file_info_get_name( ( VFSFileInfo* ) sel->data ), NULL ); file_path_q = bash_quote( file_path ); str = file_paths; file_paths = g_strdup_printf( "%s %s", file_paths, file_path_q ); g_free( str ); g_free( file_path ); g_free( file_path_q ); item_count++; } if ( !strcmp( setname, "root_delete" ) ) { if ( !app_settings.no_confirm ) { str = g_strdup_printf( ngettext( "Delete %d selected item as root ?", "Delete %d selected items as root ?", item_count ), item_count ); if ( xset_msg_dialog( parent, GTK_MESSAGE_WARNING, _("Confirm Delete As Root"), NULL, GTK_BUTTONS_YES_NO, _("DELETE AS ROOT"), str, NULL ) != GTK_RESPONSE_YES ) { g_free( str ); return; } g_free( str ); } cmd = g_strdup_printf( "rm -r %s", file_paths ); task_name = g_strdup( _("Delete As Root") ); } else { char* folder; set = xset_get( setname ); if ( set->desc ) folder = set->desc; else folder = cwd; path = xset_file_dialog( parent, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _("Choose Location"), folder, NULL ); if ( path && g_file_test( path, G_FILE_TEST_IS_DIR ) ) { xset_set_set( set, "desc", path ); char* quote_path = bash_quote( path ); if ( !strcmp( setname, "root_move2" ) ) { task_name = g_strdup( _("Move As Root") ); // problem: no warning if already exists cmd = g_strdup_printf( "mv -f %s %s", file_paths, quote_path ); } else { task_name = g_strdup( _("Copy As Root") ); // problem: no warning if already exists cmd = g_strdup_printf( "cp -r %s %s", file_paths, quote_path ); } g_free( quote_path ); g_free( path ); } else return; } g_free( file_paths ); // root task PtkFileTask* task = ptk_file_exec_new( task_name, cwd, parent, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); task->task->exec_command = cmd; task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = g_strdup( "root" ); ptk_file_task_run( task ); } spacefm-1.0.5/src/ptk/ptk-file-misc.h000066400000000000000000000047741264770501700173620ustar00rootroot00000000000000/* * C Interface: ptk-file-misc * * Description: Miscellaneous GUI-realated functions for files * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_FILE_MISC_H_ #define _PTK_FILE_MISC_H_ #include #include "vfs-file-info.h" #include "ptk-file-browser.h" #include "desktop-window.h" G_BEGIN_DECLS typedef struct _AutoOpenCreate { char* path; PtkFileBrowser* file_browser; DesktopWindow* desktop; GFunc callback; gboolean open_file; }AutoOpenCreate; typedef enum { PTK_RENAME, PTK_RENAME_NEW_FILE, PTK_RENAME_NEW_DIR, PTK_RENAME_NEW_LINK } PtkRenameMode; void ptk_delete_files( GtkWindow* parent_win, const char* cwd, GList* sel_files, GtkTreeView* task_view ); int ptk_rename_file( DesktopWindow* desktop, PtkFileBrowser* file_browser, const char* file_dir, VFSFileInfo* file, const char* dest_dir, gboolean clip_copy, PtkRenameMode create_new, AutoOpenCreate* auto_open ); gboolean ptk_create_new_file( GtkWindow* parent_win, const char* cwd, gboolean create_folder, VFSFileInfo** file ); void ptk_show_file_properties( GtkWindow* parent_win, const char* cwd, GList* sel_files, int page ); /* sel_files is a list of VFSFileInfo * app_desktop is the application used to open the files. * If app_desktop == NULL, each file will be opened with its * default application. */ void ptk_open_files_with_app( const char* cwd, GList* sel_files, const char* app_desktop, DesktopWindow* desktop, PtkFileBrowser* file_browser, gboolean xforce, gboolean xnever ); void ptk_file_misc_paste_as( DesktopWindow* desktop, PtkFileBrowser* file_browser, const char* cwd, GFunc callback ); //sfm void ptk_file_misc_rootcmd( DesktopWindow* desktop, PtkFileBrowser* file_browser, GList* sel_files, char* cwd, char* setname ); //sfm G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-file-properties.c000066400000000000000000001063361264770501700206130ustar00rootroot00000000000000/* * C Implementation: file_properties * * Description: * * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H # include #endif #include #include "private.h" #include #include "glib-mem.h" #include "ptk-file-properties.h" #include "mime-type/mime-type.h" #include #include #include #include #include "ptk-file-task.h" #include "ptk-utils.h" #include "vfs-file-info.h" #include "vfs-app-desktop.h" #include "ptk-app-chooser.h" #include "main-window.h" const char* chmod_names[] = { "owner_r", "owner_w", "owner_x", "group_r", "group_w", "group_x", "others_r", "others_w", "others_x", "set_uid", "set_gid", "sticky" }; typedef struct { char* dir_path; GList* file_list; GtkWidget* dlg; GtkEntry* owner; GtkEntry* group; char* owner_name; char* group_name; GtkEntry* mtime; char* orig_mtime; GtkEntry* atime; char* orig_atime; GtkToggleButton* chmod_btns[ N_CHMOD_ACTIONS ]; guchar chmod_states[ N_CHMOD_ACTIONS ]; GtkLabel* total_size_label; GtkLabel* size_on_disk_label; GtkLabel* count_label; off64_t total_size; off64_t size_on_disk; guint total_count; guint total_count_dir; gboolean cancel; gboolean done; GThread* calc_size_thread; guint update_label_timer; GtkWidget* recurse; } FilePropertiesDialogData; static void on_dlg_response ( GtkDialog *dialog, gint response_id, gpointer user_data ); /* * void get_total_size_of_dir( const char* path, off_t* size ) * Recursively count total size of all files in the specified directory. * If the path specified is a file, the size of the file is directly returned. * cancel is used to cancel the operation. This function will check the value * pointed by cancel in every iteration. If cancel is set to TRUE, the * calculation is cancelled. * NOTE: path is encoded in on-disk encoding and not necessarily UTF-8. */ static void calc_total_size_of_files( const char* path, FilePropertiesDialogData* data ) { GDir * dir; const char* name; char* full_path; struct stat64 file_stat; if ( data->cancel ) return ; if ( lstat64( path, &file_stat ) ) return ; data->total_size += file_stat.st_size; data->size_on_disk += ( file_stat.st_blocks << 9 ); /* block x 512 */ dir = g_dir_open( path, 0, NULL ); if ( dir ) { ++data->total_count_dir; while ( !data->cancel && ( name = g_dir_read_name( dir ) ) ) { full_path = g_build_filename( path, name, NULL ); lstat64( full_path, &file_stat ); if ( S_ISDIR( file_stat.st_mode ) ) { calc_total_size_of_files( full_path, data ); } else { data->total_size += file_stat.st_size; data->size_on_disk += ( file_stat.st_blocks << 9 ); ++data->total_count; } g_free( full_path ); } g_dir_close( dir ); } else ++data->total_count; } static gpointer calc_size( gpointer user_data ) { FilePropertiesDialogData * data = ( FilePropertiesDialogData* ) user_data; GList* l; char* path; VFSFileInfo* file; for ( l = data->file_list; l; l = l->next ) { if ( data->cancel ) break; file = ( VFSFileInfo* ) l->data; path = g_build_filename( data->dir_path, vfs_file_info_get_name( file ), NULL ); if ( path ) { calc_total_size_of_files( path, data ); g_free( path ); } } data->done = TRUE; return NULL; } gboolean on_update_labels( FilePropertiesDialogData* data ) { char buf[ 64 ]; char buf2[ 32 ]; gdk_threads_enter(); vfs_file_size_to_string( buf2, data->total_size ); sprintf( buf, _("%s ( %lu bytes )"), buf2, ( guint64 ) data->total_size ); gtk_label_set_text( data->total_size_label, buf ); vfs_file_size_to_string( buf2, data->size_on_disk ); sprintf( buf, _("%s ( %lu bytes )"), buf2, ( guint64 ) data->size_on_disk ); gtk_label_set_text( data->size_on_disk_label, buf ); char* count; char* count_dir; if ( data->total_count_dir ) { count_dir = g_strdup_printf( ngettext( "%d folder", "%d folders", data->total_count_dir ), data->total_count_dir ); count = g_strdup_printf( ngettext( "%d file, %s", "%d files, %s", data->total_count ), data->total_count, count_dir ); g_free( count_dir ); } else count = g_strdup_printf( ngettext( "%d files", "%d files", data->total_count), data->total_count ); gtk_label_set_text( data->count_label, count ); g_free( count ); gdk_threads_leave(); if ( data->done ) data->update_label_timer = 0; return !data->done; } static void on_chmod_btn_toggled( GtkToggleButton* btn, FilePropertiesDialogData* data ) { /* Bypass the default handler */ g_signal_stop_emission_by_name( btn, "toggled" ); /* Block this handler while we are changing the state of buttons, or this handler will be called recursively. */ g_signal_handlers_block_matched( btn, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_chmod_btn_toggled, NULL ); if ( gtk_toggle_button_get_inconsistent( btn ) ) { gtk_toggle_button_set_inconsistent( btn, FALSE ); gtk_toggle_button_set_active( btn, FALSE ); } else if ( ! gtk_toggle_button_get_active( btn ) ) { gtk_toggle_button_set_inconsistent( btn, TRUE ); } g_signal_handlers_unblock_matched( btn, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_chmod_btn_toggled, NULL ); } static gboolean combo_sep( GtkTreeModel *model, GtkTreeIter* it, gpointer user_data ) { int i; for( i = 2; i > 0; --i ) { char* tmp; gtk_tree_model_get( model, it, i, &tmp, -1 ); if( tmp ) { g_free( tmp ); return FALSE; } } return TRUE; } static void on_combo_change( GtkComboBox* combo, gpointer user_data ) { GtkTreeIter it; if( gtk_combo_box_get_active_iter(combo, &it) ) { const char* action; GtkTreeModel* model = gtk_combo_box_get_model( combo ); gtk_tree_model_get( model, &it, 2, &action, -1 ); if( ! action ) { char* action; GtkWidget* parent; VFSMimeType* mime = (VFSMimeType*)user_data; parent = gtk_widget_get_toplevel( GTK_WIDGET( combo ) ); action = (char *) ptk_choose_app_for_mime_type( GTK_WINDOW(parent), mime, FALSE, TRUE, TRUE, TRUE ); if( action ) { gboolean exist = FALSE; /* check if the action is already in the list */ if( gtk_tree_model_get_iter_first( model, &it ) ) { do { char* tmp; gtk_tree_model_get( model, &it, 2, &tmp, -1 ); if( !tmp ) continue; if( 0 == strcmp( tmp, action ) ) { exist = TRUE; g_free( tmp ); break; } g_free( tmp ); } while( gtk_tree_model_iter_next( model, &it ) ); } if( ! exist ) /* It didn't exist */ { VFSAppDesktop* app = vfs_app_desktop_new( action ); if( app ) { GdkPixbuf* icon; icon = vfs_app_desktop_get_icon( app, 20, TRUE ); gtk_list_store_insert_with_values( GTK_LIST_STORE( model ), &it, 0, 0, icon, 1, vfs_app_desktop_get_disp_name(app), 2, action, -1 ); if( icon ) g_object_unref( icon ); vfs_app_desktop_unref( app ); exist = TRUE; } } if( exist ) gtk_combo_box_set_active_iter( combo, &it ); g_free( action ); } else { int prev_sel; prev_sel = GPOINTER_TO_INT( g_object_get_data( G_OBJECT(combo), "prev_sel") ); gtk_combo_box_set_active( combo, prev_sel ); } } else { int prev_sel = gtk_combo_box_get_active( combo ); g_object_set_data( G_OBJECT(combo), "prev_sel", GINT_TO_POINTER(prev_sel) ); } } else { g_object_set_data( G_OBJECT(combo), "prev_sel", GINT_TO_POINTER(-1) ); } } GtkWidget* file_properties_dlg_new( GtkWindow* parent, const char* dir_path, GList* sel_files, int page ) { GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/file_properties.ui", NULL ); GtkWidget * dlg = (GtkWidget*)gtk_builder_get_object( builder, "dlg" ); GtkNotebook* notebook = (GtkNotebook*)gtk_builder_get_object( builder, "notebook" ); xset_set_window_icon( GTK_WINDOW( dlg ) ); FilePropertiesDialogData* data; gboolean need_calc_size = TRUE; VFSFileInfo *file, *file2; VFSMimeType* mime; const char* multiple_files = _( "( multiple files )" ); const char* calculating; GtkWidget* name = (GtkWidget*)gtk_builder_get_object( builder, "file_name" ); GtkWidget* label_name = (GtkWidget*)gtk_builder_get_object( builder, "label_filename" ); GtkWidget* location = (GtkWidget*)gtk_builder_get_object( builder, "location" ); gtk_editable_set_editable ( GTK_EDITABLE( location ), FALSE ); GtkWidget* target = (GtkWidget*)gtk_builder_get_object( builder, "target" ); GtkWidget* label_target = (GtkWidget*)gtk_builder_get_object( builder, "label_target" ); gtk_editable_set_editable ( GTK_EDITABLE( target ), FALSE ); GtkWidget* mime_type = (GtkWidget*)gtk_builder_get_object( builder, "mime_type" ); GtkWidget* open_with = (GtkWidget*)gtk_builder_get_object( builder, "open_with" ); char buf[ 64 ]; char buf2[ 32 ]; const char* time_format = "%Y-%m-%d %H:%M:%S"; gchar* disp_path; gchar* file_type; int i; GList* l; gboolean same_type = TRUE; gboolean is_dirs = FALSE; char *owner_group, *tmp; gtk_dialog_set_alternative_button_order( GTK_DIALOG(dlg), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1 ); ptk_dialog_fit_small_screen( GTK_DIALOG(dlg) ); int width = xset_get_int( "app_dlg", "s" ); int height = xset_get_int( "app_dlg", "z" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( dlg ), width, -1 ); data = g_slice_new0( FilePropertiesDialogData ); data->update_label_timer = 0; /* FIXME: When will the data be freed??? */ g_object_set_data( G_OBJECT( dlg ), "DialogData", data ); data->file_list = sel_files; data->dlg = dlg; data->dir_path = g_strdup( dir_path ); disp_path = g_filename_display_name( dir_path ); //gtk_label_set_text( GTK_LABEL( location ), disp_path ); gtk_entry_set_text( GTK_ENTRY( location ), disp_path ); g_free( disp_path ); data->total_size_label = GTK_LABEL( (GtkWidget*)gtk_builder_get_object( builder, "total_size" ) ); data->size_on_disk_label = GTK_LABEL( (GtkWidget*)gtk_builder_get_object( builder, "size_on_disk" ) ); data->count_label = GTK_LABEL( (GtkWidget*)gtk_builder_get_object( builder, "count" ) ); data->owner = GTK_ENTRY( (GtkWidget*)gtk_builder_get_object( builder, "owner" ) ); data->group = GTK_ENTRY( (GtkWidget*)gtk_builder_get_object( builder, "group" ) ); data->mtime = GTK_ENTRY( (GtkWidget*)gtk_builder_get_object( builder, "mtime" ) ); data->atime = GTK_ENTRY( (GtkWidget*)gtk_builder_get_object( builder, "atime" ) ); for ( i = 0; i < N_CHMOD_ACTIONS; ++i ) { data->chmod_btns[ i ] = GTK_TOGGLE_BUTTON( (GtkWidget*)gtk_builder_get_object( builder, chmod_names[ i ] ) ); } //MOD VFSMimeType* type; VFSMimeType* type2 = NULL; for ( l = sel_files; l ; l = l->next ) { file = ( VFSFileInfo* ) l->data; type = vfs_file_info_get_mime_type( file ); if ( !type2 ) type2 = vfs_file_info_get_mime_type( file ); if ( vfs_file_info_is_dir( file ) ) is_dirs = TRUE; if ( type != type2 ) same_type = FALSE; vfs_mime_type_unref( type ); if ( is_dirs && !same_type ) break; } if ( type2 ) vfs_mime_type_unref( type2 ); data->recurse = (GtkWidget*)gtk_builder_get_object( builder, "recursive" ); gtk_widget_set_sensitive( data->recurse, is_dirs ); /* //MOD for ( l = sel_files; l && l->next; l = l->next ) { VFSMimeType *type, *type2; file = ( VFSFileInfo* ) l->data; file2 = ( VFSFileInfo* ) l->next->data; type = vfs_file_info_get_mime_type( file ); type2 = vfs_file_info_get_mime_type( file2 ); if ( type != type2 ) { vfs_mime_type_unref( type ); vfs_mime_type_unref( type2 ); same_type = FALSE; break; } vfs_mime_type_unref( type ); vfs_mime_type_unref( type2 ); } */ file = ( VFSFileInfo* ) sel_files->data; if ( same_type ) { mime = vfs_file_info_get_mime_type( file ); file_type = g_strdup_printf( "%s\n%s", vfs_mime_type_get_description( mime ), vfs_mime_type_get_type( mime ) ); gtk_label_set_text( GTK_LABEL( mime_type ), file_type ); g_free( file_type ); vfs_mime_type_unref( mime ); } else { gtk_label_set_text( GTK_LABEL( mime_type ), _( "( multiple types )" ) ); } /* Open with... * Don't show this option menu if files of different types are selected, * ,the selected file is a folder, or its type is unknown. */ if( ! same_type || vfs_file_info_is_desktop_entry( file ) || /* vfs_file_info_is_unknown_type( file ) || */ vfs_file_info_is_executable( file, NULL ) ) { /* if open with shouldn't show, destroy it. */ gtk_widget_destroy( open_with ); open_with = NULL; gtk_widget_destroy( (GtkWidget*)gtk_builder_get_object( builder, "open_with_label" ) ); } else /* Add available actions to the option menu */ { GtkTreeIter it; char **action, **actions; mime = vfs_file_info_get_mime_type( file ); actions = vfs_mime_type_get_actions( mime ); GtkCellRenderer* renderer; GtkListStore* model; gtk_cell_layout_clear( GTK_CELL_LAYOUT(open_with) ); renderer = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start( GTK_CELL_LAYOUT(open_with), renderer, FALSE); gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT(open_with), renderer, "pixbuf", 0, NULL ); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start( GTK_CELL_LAYOUT(open_with), renderer, TRUE); gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT(open_with),renderer, "text", 1, NULL ); model = gtk_list_store_new( 3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING ); if( actions ) { for( action = actions; *action; ++action ) { VFSAppDesktop* desktop; GdkPixbuf* icon; desktop = vfs_app_desktop_new( *action ); gtk_list_store_append( model, &it ); icon = vfs_app_desktop_get_icon(desktop, 20, TRUE); gtk_list_store_set( model, &it, 0, icon, 1, vfs_app_desktop_get_disp_name(desktop), 2, *action, -1 ); if( icon ) g_object_unref( icon ); vfs_app_desktop_unref( desktop ); } } else { g_object_set_data( G_OBJECT(open_with), "prev_sel", GINT_TO_POINTER(-1) ); } /* separator */ gtk_list_store_append( model, &it ); gtk_list_store_append( model, &it ); gtk_list_store_set( model, &it, 0, NULL, 1, _("Choose..."), -1 ); gtk_combo_box_set_model( GTK_COMBO_BOX(open_with), GTK_TREE_MODEL(model) ); // gtk_combo_box_set_model adds a ref g_object_unref( model ); gtk_combo_box_set_row_separator_func( GTK_COMBO_BOX(open_with), combo_sep, NULL, NULL ); gtk_combo_box_set_active(GTK_COMBO_BOX(open_with), 0); g_signal_connect( open_with, "changed", G_CALLBACK(on_combo_change), mime ); /* vfs_mime_type_unref( mime ); */ /* We can unref mime when combo box gets destroyed */ g_object_weak_ref( G_OBJECT(open_with), (GWeakNotify)vfs_mime_type_unref, mime ); } g_object_set_data( G_OBJECT(dlg), "open_with", open_with ); /* Multiple files are selected */ if ( sel_files && sel_files->next ) { gtk_widget_set_sensitive( name, FALSE ); gtk_entry_set_text( GTK_ENTRY( name ), multiple_files ); data->orig_mtime = NULL; data->orig_atime = NULL; for ( i = 0; i < N_CHMOD_ACTIONS; ++i ) { gtk_toggle_button_set_inconsistent ( data->chmod_btns[ i ], TRUE ); data->chmod_states[ i ] = 2; /* Don't touch this bit */ g_signal_connect( G_OBJECT( data->chmod_btns[ i ] ), "toggled", G_CALLBACK( on_chmod_btn_toggled ), data ); } } else { /* special processing for files with special display names */ if( vfs_file_info_is_desktop_entry( file ) ) { char* disp_name = g_filename_display_name( file->name ); gtk_entry_set_text( GTK_ENTRY( name ), disp_name ); g_free( disp_name ); } else { if ( vfs_file_info_is_dir( file ) && !vfs_file_info_is_symlink( file ) ) gtk_label_set_markup_with_mnemonic( GTK_LABEL( label_name ), _("Folder _Name:") ); gtk_entry_set_text( GTK_ENTRY( name ), vfs_file_info_get_disp_name( file ) ); } gtk_editable_set_editable ( GTK_EDITABLE( name ), FALSE ); if ( ! vfs_file_info_is_dir( file ) ) { /* Only single "file" is selected, so we don't need to caculate total file size */ need_calc_size = FALSE; sprintf( buf, _("%s ( %lu bytes )"), vfs_file_info_get_disp_size( file ), ( guint64 ) vfs_file_info_get_size( file ) ); gtk_label_set_text( data->total_size_label, buf ); vfs_file_size_to_string( buf2, vfs_file_info_get_blocks( file ) * 512 ); sprintf( buf, _("%s ( %lu bytes )"), buf2, ( guint64 ) vfs_file_info_get_blocks( file ) * 512 ); gtk_label_set_text( data->size_on_disk_label, buf ); gtk_label_set_text( data->count_label, _("1 file") ); } // Modified / Accessed //gtk_entry_set_text( GTK_ENTRY( mtime ), // vfs_file_info_get_disp_mtime( file ) ); strftime( buf, sizeof( buf ), time_format, localtime( vfs_file_info_get_mtime( file ) ) ); gtk_entry_set_text( GTK_ENTRY( data->mtime ), buf ); data->orig_mtime = g_strdup( buf ); strftime( buf, sizeof( buf ), time_format, localtime( vfs_file_info_get_atime( file ) ) ); gtk_entry_set_text( GTK_ENTRY( data->atime ), buf ); data->orig_atime = g_strdup( buf ); // Permissions owner_group = (char *) vfs_file_info_get_disp_owner( file ); tmp = strchr( owner_group, ':' ); data->owner_name = g_strndup( owner_group, tmp - owner_group ); gtk_entry_set_text( GTK_ENTRY( data->owner ), data->owner_name ); data->group_name = g_strdup( tmp + 1 ); gtk_entry_set_text( GTK_ENTRY( data->group ), data->group_name ); for ( i = 0; i < N_CHMOD_ACTIONS; ++i ) { if ( data->chmod_states[ i ] != 2 ) /* allow to touch this bit */ { data->chmod_states[ i ] = ( vfs_file_info_get_mode( file ) & chmod_flags[ i ] ? 1 : 0 ); gtk_toggle_button_set_active( data->chmod_btns[ i ], data->chmod_states[ i ] ); } } // target if ( vfs_file_info_is_symlink( file ) ) { gtk_label_set_markup_with_mnemonic( GTK_LABEL( label_name ), _("Link _Name:") ); disp_path = g_build_filename( dir_path, file->name, NULL ); char* target_path = g_file_read_link( disp_path, NULL ); if ( target_path ) { gtk_entry_set_text( GTK_ENTRY( target ), target_path ); if ( target_path[0] && target_path[0] != '/' ) { // relative link to absolute char* str = target_path; target_path = g_build_filename( dir_path, str, NULL ); g_free( str ); } if ( !g_file_test( target_path, G_FILE_TEST_EXISTS ) ) gtk_label_set_text( GTK_LABEL( mime_type ), _("( broken link )") ); g_free( target_path ); } else gtk_entry_set_text( GTK_ENTRY( target ), _("( read link error )") ); g_free( disp_path ); gtk_widget_show( target ); gtk_widget_show( label_target ); } } if ( need_calc_size ) { /* The total file size displayed in "File Properties" is not completely calculated yet. So "Calculating..." is displayed. */ calculating = _( "Calculating..." ); gtk_label_set_text( data->total_size_label, calculating ); gtk_label_set_text( data->size_on_disk_label, calculating ); g_object_set_data( G_OBJECT( dlg ), "calc_size", data ); data->calc_size_thread = g_thread_create ( ( GThreadFunc ) calc_size, data, TRUE, NULL ); data->update_label_timer = g_timeout_add( 250, ( GSourceFunc ) on_update_labels, data ); } g_signal_connect( dlg, "response", G_CALLBACK(on_dlg_response), dlg ); g_signal_connect_swapped( gtk_builder_get_object(builder, "ok_button"), "clicked", G_CALLBACK(gtk_widget_destroy), dlg ); g_signal_connect_swapped( gtk_builder_get_object(builder, "cancel_button"), "clicked", G_CALLBACK(gtk_widget_destroy), dlg ); g_object_unref( builder ); gtk_notebook_set_current_page( notebook, page ); if ( parent ) gtk_window_set_transient_for( GTK_WINDOW( dlg ), parent ); return dlg; } static uid_t uid_from_name( const char* user_name ) { struct passwd * pw; uid_t uid = -1; const char* p; pw = getpwnam( user_name ); if ( pw ) { uid = pw->pw_uid; } else { uid = 0; for ( p = user_name; *p; ++p ) { if ( !g_ascii_isdigit( *p ) ) return -1; uid *= 10; uid += ( *p - '0' ); } #if 0 /* This is not needed */ /* Check the existance */ pw = getpwuid( uid ); if ( !pw ) /* Invalid uid */ return -1; #endif } return uid; } gid_t gid_from_name( const char* group_name ) { struct group * grp; gid_t gid = -1; const char* p; grp = getgrnam( group_name ); if ( grp ) { gid = grp->gr_gid; } else { gid = 0; for ( p = group_name; *p; ++p ) { if ( !g_ascii_isdigit( *p ) ) return -1; gid *= 10; gid += ( *p - '0' ); } #if 0 /* This is not needed */ /* Check the existance */ grp = getgrgid( gid ); if ( !grp ) /* Invalid gid */ return -1; #endif } return gid; } void on_dlg_response ( GtkDialog *dialog, gint response_id, gpointer user_data ) { FilePropertiesDialogData * data; PtkFileTask* task; gboolean mod_change; uid_t uid = -1; gid_t gid = -1; const char* owner_name; const char* group_name; int i; GList* l; GList* file_list; char* file_path; GtkWidget* ask_recursive; VFSFileInfo* file; GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( dialog ), &allocation ); int width = allocation.width; int height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); xset_set( "app_dlg", "s", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "app_dlg", "z", str ); g_free( str ); } data = ( FilePropertiesDialogData* ) g_object_get_data( G_OBJECT( dialog ), "DialogData" ); if ( data ) { if ( data->update_label_timer ) g_source_remove( data->update_label_timer ); data->cancel = TRUE; if ( data->calc_size_thread ) g_thread_join( data->calc_size_thread ); if ( response_id == GTK_RESPONSE_OK ) { // change file dates char* cmd = NULL; char* quoted_time; char* quoted_path; const char* new_mtime = gtk_entry_get_text( data->mtime ); if ( !( new_mtime && new_mtime[0] ) || !g_strcmp0( data->orig_mtime, new_mtime ) ) new_mtime = NULL; const char* new_atime = gtk_entry_get_text( data->atime ); if ( !( new_atime && new_atime[0] ) || !g_strcmp0( data->orig_atime, new_atime ) ) new_atime = NULL; if ( ( new_mtime || new_atime ) && data->file_list ) { GString* gstr = g_string_new( NULL ); for ( l = data->file_list; l; l = l->next ) { file_path = g_build_filename( data->dir_path, ((VFSFileInfo*)l->data)->name, NULL ); quoted_path = bash_quote( file_path ); g_string_append_printf( gstr, " %s", quoted_path ); g_free( file_path ); g_free( quoted_path ); } if ( new_mtime ) { quoted_time = bash_quote( new_mtime ); cmd = g_strdup_printf( "touch --no-dereference --no-create -m -d %s%s", quoted_time, gstr->str ); } if ( new_atime ) { quoted_time = bash_quote( new_atime ); quoted_path = cmd; // temp str cmd = g_strdup_printf( "%s%stouch --no-dereference --no-create -a -d %s%s", cmd ? cmd : "", cmd ? "\n" : "", quoted_time, gstr->str ); g_free( quoted_path ); } g_free( quoted_time ); g_string_free( gstr, TRUE ); if ( cmd ) { task = ptk_file_exec_new( _("Change File Date"), "/", GTK_WIDGET( dialog ), NULL ); task->task->exec_command = cmd; task->task->exec_sync = TRUE; task->task->exec_export = FALSE; task->task->exec_show_output = TRUE; task->task->exec_show_error = TRUE; ptk_file_task_run( task ); } } /* Set default action for mimetype */ GtkWidget* open_with; if( ( open_with = (GtkWidget*)g_object_get_data( G_OBJECT(dialog), "open_with" ) ) ) { GtkTreeModel* model = gtk_combo_box_get_model( GTK_COMBO_BOX(open_with) ); GtkTreeIter it; if( model && gtk_combo_box_get_active_iter( GTK_COMBO_BOX(open_with), &it ) ) { char* action; gtk_tree_model_get( model, &it, 2, &action, -1 ); if( action ) { file = ( VFSFileInfo* ) data->file_list->data; VFSMimeType* mime = vfs_file_info_get_mime_type( file ); vfs_mime_type_set_default_action( mime, action ); vfs_mime_type_unref( mime ); g_free( action ); } } } /* Check if we need chown */ owner_name = gtk_entry_get_text( data->owner ); if ( owner_name && *owner_name && (!data->owner_name || strcmp( owner_name, data->owner_name ) ) ) { uid = uid_from_name( owner_name ); if ( uid == -1 ) { ptk_show_error( GTK_WINDOW( dialog ), _("Error"), _( "Invalid User" ) ); return ; } } group_name = gtk_entry_get_text( data->group ); if ( group_name && *group_name && (!data->group_name || strcmp( group_name, data->group_name ) ) ) { gid = gid_from_name( group_name ); if ( gid == -1 ) { ptk_show_error( GTK_WINDOW( dialog ), _("Error"), _( "Invalid Group" ) ); return ; } } for ( i = 0; i < N_CHMOD_ACTIONS; ++i ) { if ( gtk_toggle_button_get_inconsistent( data->chmod_btns[ i ] ) ) { data->chmod_states[ i ] = 2; /* Don't touch this bit */ } else if ( data->chmod_states[ i ] != gtk_toggle_button_get_active( data->chmod_btns[ i ] ) ) { mod_change = TRUE; data->chmod_states[ i ] = gtk_toggle_button_get_active( data->chmod_btns[ i ] ); } else /* Don't change this bit */ { data->chmod_states[ i ] = 2; } } if ( uid != -1 || gid != -1 || mod_change ) { file_list = NULL; for ( l = data->file_list; l; l = l->next ) { file = ( VFSFileInfo* ) l->data; file_path = g_build_filename( data->dir_path, vfs_file_info_get_name( file ), NULL ); file_list = g_list_prepend( file_list, file_path ); } task = ptk_file_task_new( VFS_FILE_TASK_CHMOD_CHOWN, file_list, NULL, GTK_WINDOW(gtk_widget_get_parent( GTK_WIDGET( dialog ) )), NULL ); //MOD ptk_file_task_set_recursive( task, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->recurse ) ) ); /* for ( l = data->file_list; l; l = l->next ) { file = ( VFSFileInfo* ) l->data; if ( vfs_file_info_is_dir( file ) ) { ask_recursive = gtk_message_dialog_new( GTK_WINDOW( data->dlg ), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _( "Do you want to recursively apply these changes to all files and sub-folders?" ) ); ptk_file_task_set_recursive( task, ( GTK_RESPONSE_YES == gtk_dialog_run( GTK_DIALOG( ask_recursive ) ) ) ); gtk_widget_destroy( ask_recursive ); break; } } */ if ( mod_change ) { /* If the permissions of file has been changed by the user */ ptk_file_task_set_chmod( task, data->chmod_states ); } /* For chown */ ptk_file_task_set_chown( task, uid, gid ); ptk_file_task_run( task ); /* * This file list will be freed by file operation, so we don't * need to do this. Just set the pointer to NULL. */ data->file_list = NULL; } } g_free( data->owner_name ); g_free( data->group_name ); g_free( data->orig_mtime ); g_free( data->orig_atime ); /* *NOTE: File operation chmod/chown will free the list when it's done, *and we only need to free it when there is no file operation applyed. */ g_slice_free( FilePropertiesDialogData, data ); } gtk_widget_destroy( GTK_WIDGET( dialog ) ); } spacefm-1.0.5/src/ptk/ptk-file-properties.h000066400000000000000000000014311264770501700206060ustar00rootroot00000000000000/* * C Interface: file_properties * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _FILE_PROPERTIES_H_ #define _FILE_PROPERTIES_H_ #include G_BEGIN_DECLS GtkWidget* file_properties_dlg_new( GtkWindow* parent, const char* dir_path, GList* sel_files, int page ); void on_filePropertiesDlg_response (GtkDialog *dialog, gint response_id, gpointer user_data); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-file-task.c000066400000000000000000002775251264770501700173720ustar00rootroot00000000000000/* * C Implementation: ptk-file-task * * Description: * * * Copyright: See COPYING file that comes with this distribution * */ #include #include #include "glib-mem.h" #include #include #include #include #include "ptk-file-task.h" #include "ptk-utils.h" #include "vfs-file-info.h" //MOD #include "main-window.h" #include "gtk2-compat.h" // waitpid #include #include static gboolean on_vfs_file_task_state_cb( VFSFileTask* task, VFSFileTaskState state, gpointer state_data, gpointer user_data ); static void query_overwrite( PtkFileTask* ptask ); static void enter_callback( GtkEntry* entry, GtkDialog* dlg ); //MOD void ptk_file_task_update( PtkFileTask* ptask ); //void ptk_file_task_notify_handler( GObject* o, PtkFileTask* ptask ); gboolean ptk_file_task_add_main( PtkFileTask* ptask ); void on_progress_dlg_response( GtkDialog* dlg, int response, PtkFileTask* ptask ); PtkFileTask* ptk_file_exec_new( const char* item_name, const char* dir, GtkWidget* parent, GtkWidget* task_view ) { GList* files = NULL; GtkWidget* parent_win = NULL; if ( parent ) parent_win = gtk_widget_get_toplevel( GTK_WIDGET( parent ) ); char* file = g_strdup( item_name ); files = g_list_prepend( files, file ); return ptk_file_task_new( VFS_FILE_TASK_EXEC, files, dir, GTK_WINDOW( parent_win ), task_view ); } PtkFileTask* ptk_file_task_new( VFSFileTaskType type, GList* src_files, const char* dest_dir, GtkWindow* parent_window, GtkWidget* task_view ) { //printf("ptk_file_task_new\n"); PtkFileTask* ptask = g_slice_new0( PtkFileTask ); ptask->task = vfs_task_new( type, src_files, dest_dir ); //vfs_file_task_set_progress_callback( ptask->task, // on_vfs_file_task_progress_cb, // ptask ); vfs_file_task_set_state_callback( ptask->task, on_vfs_file_task_state_cb, ptask ); ptask->parent_window = parent_window; ptask->task_view = task_view; ptask->task->exec_ptask = (gpointer)ptask; ptask->progress_dlg = NULL; ptask->complete = FALSE; ptask->aborted = FALSE; ptask->pause_change = FALSE; ptask->pause_change_view = TRUE; ptask->force_scroll = FALSE; ptask->keep_dlg = FALSE; ptask->err_count = 0; if ( xset_get_b( "task_err_any" ) ) ptask->err_mode = PTASK_ERROR_ANY; else if ( xset_get_b( "task_err_first" ) ) ptask->err_mode = PTASK_ERROR_FIRST; else ptask->err_mode = PTASK_ERROR_CONT; GtkTextIter iter; ptask->log_buf = gtk_text_buffer_new( NULL ); ptask->log_end = gtk_text_mark_new( NULL, FALSE ); gtk_text_buffer_get_end_iter( ptask->log_buf, &iter); gtk_text_buffer_add_mark( ptask->log_buf, ptask->log_end, &iter ); ptask->log_appended = FALSE; ptask->restart_timeout = FALSE; ptask->dsp_file_count = g_strdup( "" ); ptask->dsp_size_tally = g_strdup( "" ); ptask->dsp_elapsed = g_strdup( "" ); ptask->dsp_curspeed = g_strdup( "" ); ptask->dsp_curest = g_strdup( "" ); ptask->dsp_avgspeed = g_strdup( "" ); ptask->dsp_avgest = g_strdup( "" ); ptask->progress_count = 0; ptask->pop_handler = NULL; ptask->query_cond = NULL; ptask->query_cond_last = NULL; ptask->query_new_dest = NULL; // queue task if ( ptask->task->exec_sync && ptask->task->type != VFS_FILE_TASK_EXEC && ptask->task->type != VFS_FILE_TASK_LINK && ptask->task->type != VFS_FILE_TASK_CHMOD_CHOWN && xset_get_b( "task_q_new" ) ) ptk_file_task_pause( ptask, VFS_FILE_TASK_QUEUE ); /* this method doesn't work because sig handler runs in task thread // setup signal ptask->signal_widget = gtk_label_new( NULL ); // dummy object for signal g_signal_new( "task-notify", G_TYPE_OBJECT, G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); g_signal_connect( G_OBJECT( ptask->signal_widget ), "task-notify", G_CALLBACK( ptk_file_task_notify_handler ), NULL ); */ //GThread *self = g_thread_self (); //printf("GUI_THREAD = %#x\n", self ); //printf("ptk_file_task_new DONE ptask=%#x\n", ptask); return ptask; } /* void ptk_file_task_destroy_delayed( PtkFileTask* task ) { // in case of channel output following process exit //printf("ptk_file_task_destroy_delayed %d\n", task->keep_dlg); if ( task->destroy_timer ) { g_source_remove( task->destroy_timer ); task->destroy_timer = 0; } if ( !task->keep_dlg && gtk_text_buffer_get_char_count( task->task->exec_err_buf ) ) on_vfs_file_task_progress_cb( task->task, task->task->percent, task->task->current_file, task->old_dest_file, task ); if ( !task->keep_dlg ) ptk_file_task_destroy( task ); return FALSE; } */ void save_progress_dialog_size( PtkFileTask* ptask ) { // save dialog size - do this here now because as of GTK 3.8, // allocation == 1,1 in destroy event char* s; GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( ptask->progress_dlg ), &allocation ); s = g_strdup_printf( "%d", allocation.width ); if ( ptask->task->type == VFS_FILE_TASK_EXEC ) xset_set( "task_pop_top", "s", s ); else xset_set( "task_pop_top", "x", s ); g_free( s ); s = g_strdup_printf( "%d", allocation.height ); if ( ptask->task->type == VFS_FILE_TASK_EXEC ) xset_set( "task_pop_top", "z", s ); else xset_set( "task_pop_top", "y", s ); g_free( s ); } void ptk_file_task_destroy( PtkFileTask* ptask ) { //printf("ptk_file_task_destroy ptask=%#x\n", ptask); if ( ptask->timeout ) { g_source_remove( ptask->timeout ); ptask->timeout = 0; } if ( ptask->progress_timer ) { g_source_remove( ptask->progress_timer ); ptask->progress_timer = 0; } main_task_view_remove_task( ptask ); main_task_start_queued( ptask->task_view, NULL ); if ( ptask->progress_dlg ) { save_progress_dialog_size( ptask ); if ( ptask->overwrite_combo ) gtk_combo_box_popdown( GTK_COMBO_BOX( ptask->overwrite_combo ) ); if ( ptask->error_combo ) gtk_combo_box_popdown( GTK_COMBO_BOX( ptask->error_combo ) ); gtk_widget_destroy( ptask->progress_dlg ); ptask->progress_dlg = NULL; } if ( ptask->task->type == VFS_FILE_TASK_EXEC ) { //printf(" g_io_channel_shutdown\n"); // channel shutdowns are needed to stop channel reads after task ends. // Can't be placed in cb_exec_child_watch because it causes single // line output to be lost if ( ptask->task->exec_channel_out ) g_io_channel_shutdown( ptask->task->exec_channel_out, TRUE, NULL ); if ( ptask->task->exec_channel_err ) g_io_channel_shutdown( ptask->task->exec_channel_err, TRUE, NULL ); ptask->task->exec_channel_out = ptask->task->exec_channel_err = 0; if ( ptask->task->child_watch ) { g_source_remove( ptask->task->child_watch ); ptask->task->child_watch = 0; } //printf(" g_io_channel_shutdown DONE\n"); } if ( ptask->task ) vfs_file_task_free( ptask->task ); /* g_signal_handlers_disconnect_by_func( G_OBJECT( ptask->signal_widget ), G_CALLBACK( ptk_file_task_notify_handler ), NULL ); gtk_widget_destroy( ptask->signal_widget ); */ gtk_text_buffer_set_text( ptask->log_buf, "", -1 ); g_object_unref( ptask->log_buf ); g_free( ptask->dsp_file_count ); g_free( ptask->dsp_size_tally ); g_free( ptask->dsp_elapsed ); g_free( ptask->dsp_curspeed ); g_free( ptask->dsp_curest ); g_free( ptask->dsp_avgspeed ); g_free( ptask->dsp_avgest ); g_free( ptask->pop_handler ); g_slice_free( PtkFileTask, ptask ); //printf("ptk_file_task_destroy DONE ptask=%#x\n", ptask); } void ptk_file_task_set_complete_notify( PtkFileTask* ptask, GFunc callback, gpointer user_data ) { ptask->complete_notify = callback; ptask->user_data = user_data; } gboolean on_progress_timer( PtkFileTask* ptask ) { //GThread *self = g_thread_self (); //printf("PROGRESS_TIMER_THREAD = %#x\n", self ); // query condition? if ( ptask->query_cond && ptask->query_cond != ptask->query_cond_last ) { //printf("QUERY = %#x mutex = %#x\n", ptask->query_cond, ptask->task->mutex ); ptask->restart_timeout = ( ptask->timeout != 0 ); if ( ptask->timeout ) { g_source_remove( ptask->timeout ); ptask->timeout = 0; } if ( ptask->progress_timer ) { g_source_remove( ptask->progress_timer ); ptask->progress_timer = 0; } g_mutex_lock( ptask->task->mutex ); query_overwrite( ptask ); g_mutex_unlock( ptask->task->mutex ); return FALSE; } // start new queued task if ( ptask->task->queue_start ) { ptask->task->queue_start = FALSE; if ( ptask->task->state_pause == VFS_FILE_TASK_RUNNING ) ptk_file_task_pause( ptask, VFS_FILE_TASK_RUNNING ); else main_task_start_queued( ptask->task_view, ptask ); if ( ptask->timeout && ptask->task->state_pause != VFS_FILE_TASK_RUNNING && ptask->task->state == VFS_FILE_TASK_RUNNING ) { // task is waiting in queue so list it g_source_remove( ptask->timeout ); ptask->timeout = 0; } } // only update every 300ms (6 * 50ms) if ( ++ptask->progress_count < 6 ) return TRUE; ptask->progress_count = 0; //printf("on_progress_timer ptask=%p\n", ptask); if ( ptask->complete ) { if ( ptask->progress_timer ) { g_source_remove( ptask->progress_timer ); ptask->progress_timer = 0; } if ( ptask->complete_notify ) { ptask->complete_notify( ptask->task, ptask->user_data ); ptask->complete_notify = NULL; } main_task_view_remove_task( ptask ); main_task_start_queued( ptask->task_view, NULL ); } else if ( ptask->task->state_pause != VFS_FILE_TASK_RUNNING && !ptask->pause_change && ptask->task->type != VFS_FILE_TASK_EXEC ) return TRUE; ptk_file_task_update( ptask ); if ( ptask->complete ) { if ( !ptask->progress_dlg || ( !ptask->err_count && !ptask->keep_dlg ) ) { ptk_file_task_destroy( ptask ); //printf("on_progress_timer DONE FALSE-COMPLETE ptask=%p\n", ptask); return FALSE; } else if ( ptask->progress_dlg && ptask->err_count ) gtk_window_present( GTK_WINDOW( ptask->progress_dlg ) ); } //printf("on_progress_timer DONE TRUE ptask=%p\n", ptask); return !ptask->complete; } gboolean ptk_file_task_add_main( PtkFileTask* ptask ) { //printf("ptk_file_task_add_main ptask=%#x\n", ptask); if ( ptask->timeout ) { g_source_remove( ptask->timeout ); ptask->timeout = 0; } if ( ptask->task->exec_popup || xset_get_b( "task_pop_all" ) ) { // keep dlg if Popup Task is explicitly checked, otherwise close if no // error ptask->keep_dlg = ptask->keep_dlg || ptask->task->exec_popup; ptk_file_task_progress_open( ptask ); } if ( ptask->task->state_pause != VFS_FILE_TASK_RUNNING && !ptask->pause_change ) ptask->pause_change = ptask->pause_change_view = TRUE; on_progress_timer( ptask ); //printf("ptk_file_task_add_main DONE ptask=%#x\n", ptask); return FALSE; } /* void ptk_file_task_notify_handler( GObject* o, PtkFileTask* ptask ) { printf("ptk_file_task_notify_handler ptask=%#x\n", ptask); //gdk_threads_enter(); on_progress_timer( ptask ); //gdk_threads_leave(); } */ void ptk_file_task_run( PtkFileTask* ptask ) { //printf("ptk_file_task_run ptask=%#x\n", ptask); // wait this long to first show task in manager, popup ptask->timeout = g_timeout_add( 500, (GSourceFunc)ptk_file_task_add_main, ptask ); ptask->progress_timer = 0; vfs_file_task_run( ptask->task ); if ( ptask->task->type == VFS_FILE_TASK_EXEC ) { if ( ( ptask->complete || !ptask->task->exec_sync ) && ptask->timeout ) { g_source_remove( ptask->timeout ); ptask->timeout = 0; } } ptask->progress_timer = g_timeout_add( 50, ( GSourceFunc ) on_progress_timer, ptask ); //printf("ptk_file_task_run DONE ptask=%#x\n", ptask); } gboolean ptk_file_task_kill( gpointer pid ) { //printf("SIGKILL %d\n", GPOINTER_TO_INT( pid ) ); kill( GPOINTER_TO_INT( pid ), SIGKILL ); return FALSE; } gboolean ptk_file_task_kill_cpids( char* cpids ) { vfs_file_task_kill_cpids( cpids, SIGKILL ); g_free( cpids ); return FALSE; } gboolean ptk_file_task_cancel( PtkFileTask* ptask ) { //GThread *self = g_thread_self (); //printf("CANCEL_THREAD = %#x\n", self ); if ( ptask->timeout ) { g_source_remove( ptask->timeout ); ptask->timeout = 0; } ptask->aborted = TRUE; if ( ptask->task->type == VFS_FILE_TASK_EXEC ) { ptask->keep_dlg = TRUE; // resume task for task list responsiveness if ( ptask->task->state_pause != VFS_FILE_TASK_RUNNING ) ptk_file_task_pause( ptask, VFS_FILE_TASK_RUNNING ); vfs_file_task_abort( ptask->task ); if ( ptask->task->exec_pid ) { //printf("SIGTERM %d\n", ptask->task->exec_pid ); char* cpids = vfs_file_task_get_cpids( ptask->task->exec_pid ); kill( ptask->task->exec_pid, SIGTERM ); if ( cpids ) vfs_file_task_kill_cpids( cpids, SIGTERM ); // SIGKILL 2 seconds later in case SIGTERM fails g_timeout_add( 2500, ( GSourceFunc ) ptk_file_task_kill, GINT_TO_POINTER( ptask->task->exec_pid ) ); if ( cpids ) g_timeout_add( 2500, ( GSourceFunc ) ptk_file_task_kill_cpids, cpids ); // other user run - need to kill as other char* gsu; if ( ptask->task->exec_as_user && geteuid() != 0 && ( gsu = get_valid_gsu() ) ) { char* cmd; // remove files char* rm_cmd; if ( ptask->task->exec_script ) rm_cmd = g_strdup_printf( " ; rm -f %s", ptask->task->exec_script ); else rm_cmd = g_strdup( "" ); // kill command if ( cpids ) { // convert linefeeds to spaces char* scpids = g_strdup( cpids ); char* lf; while ( lf = strchr( scpids, '\n' ) ) lf[0] = ' '; cmd = g_strdup_printf( "/bin/kill %d %s ; sleep 3 ; /bin/kill -s KILL %d %s %s", ptask->task->exec_pid, scpids, ptask->task->exec_pid, scpids, rm_cmd ); g_free( scpids ); } else cmd = g_strdup_printf( "/bin/kill %d ; sleep 3 ; /bin/kill -s KILL %d %s", ptask->task->exec_pid, ptask->task->exec_pid, rm_cmd ); g_free( rm_cmd ); PtkFileTask* ptask2 = ptk_file_exec_new( _("Kill As Other"), NULL, GTK_WIDGET( ptask->parent_window ), ptask->task_view ); ptask2->task->exec_command = cmd; ptask2->task->exec_as_user = g_strdup( ptask->task->exec_as_user ); ptask2->task->exec_sync = FALSE; ptask2->task->exec_browser = ptask->task->exec_browser; ptk_file_task_run( ptask2 ); } /* // remove zombie - now done automatically in update if ( ptask->task->exec_pid // may be reset in other thread on watch close && waitpid( ptask->task->exec_pid, NULL, WNOHANG ) ) { // process is no longer running (defunct zombie) // glib should detect this but sometimes process goes defunct // with no watch callback, so remove it from task list g_warning( "Removing zombie pid=%d on cancel", ptask->task->exec_pid ); ptask->task->exec_pid = 0; ptask->complete = TRUE; } */ } else { // no pid (exited) // user pressed Stop on an exited process, remove task // this may be needed because if process is killed, channels may not // receive HUP and may remain open, leaving the task listed ptask->complete = TRUE; } if ( ptask->task->exec_cond ) { // this is used only if exec task run in non-main loop thread g_mutex_lock( ptask->task->mutex ); if ( ptask->task->exec_cond ) g_cond_broadcast( ptask->task->exec_cond ); g_mutex_unlock( ptask->task->mutex ); } } else vfs_file_task_try_abort( ptask->task ); return FALSE; } void set_button_states( PtkFileTask* ptask ) { char* icon; char* iconset; char* label; gboolean sens = !ptask->complete; if ( !ptask->progress_dlg ) return; if ( ptask->task->state_pause == VFS_FILE_TASK_PAUSE ) { label = _("Q_ueue"); iconset = "task_que"; icon = GTK_STOCK_ADD; } else if ( ptask->task->state_pause == VFS_FILE_TASK_QUEUE ) { label = _("Res_ume"); iconset = "task_resume"; icon = GTK_STOCK_MEDIA_PLAY; } else { label = _("Pa_use"); iconset = "task_pause"; icon = GTK_STOCK_MEDIA_PAUSE; } sens = sens && !( ptask->task->type == VFS_FILE_TASK_EXEC && !ptask->task->exec_pid ); XSet* set = xset_get( iconset ); if ( set->icon ) icon = set->icon; gtk_widget_set_sensitive( ptask->progress_btn_pause, sens ); gtk_button_set_image( GTK_BUTTON( ptask->progress_btn_pause ), xset_get_image( icon, GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_label( GTK_BUTTON( ptask->progress_btn_pause ), label ); gtk_widget_set_sensitive( ptask->progress_btn_close, ptask->complete || !!ptask->task_view ); } void ptk_file_task_pause( PtkFileTask* ptask, int state ) { if ( ptask->task->type == VFS_FILE_TASK_EXEC ) { // exec task //ptask->keep_dlg = TRUE; int sig; if ( state == VFS_FILE_TASK_PAUSE || ( ptask->task->state_pause == VFS_FILE_TASK_RUNNING && state == VFS_FILE_TASK_QUEUE ) ) { sig = SIGSTOP; ptask->task->state_pause = state; g_timer_stop( ptask->task->timer ); } else if ( state == VFS_FILE_TASK_QUEUE ) { sig = 0; ptask->task->state_pause = state; } else { sig = SIGCONT; ptask->task->state_pause = VFS_FILE_TASK_RUNNING; g_timer_continue( ptask->task->timer ); } if ( sig && ptask->task->exec_pid ) { // send signal char* cpids = vfs_file_task_get_cpids( ptask->task->exec_pid ); char* gsu; if ( ptask->task->exec_as_user && geteuid() != 0 && ( gsu = get_valid_gsu() ) ) { // other user run - need to signal as other char* cmd; if ( cpids ) { // convert linefeeds to spaces char* scpids = g_strdup( cpids ); char* lf; while ( lf = strchr( scpids, '\n' ) ) lf[0] = ' '; cmd = g_strdup_printf( "/bin/kill -s %d %d %s", sig, ptask->task->exec_pid, scpids ); g_free( scpids ); } else cmd = g_strdup_printf( "/bin/kill -s %d %d", sig, ptask->task->exec_pid ); PtkFileTask* ptask2 = ptk_file_exec_new( sig == SIGSTOP ? _("Stop As Other") : _("Cont As Other"), NULL, GTK_WIDGET( ptask->parent_window ), ptask->task_view ); ptask2->task->exec_command = cmd; ptask2->task->exec_as_user = g_strdup( ptask->task->exec_as_user ); ptask2->task->exec_sync = FALSE; ptask2->task->exec_browser = ptask->task->exec_browser; ptk_file_task_run( ptask2 ); } else { kill( ptask->task->exec_pid, sig ); if ( cpids ) vfs_file_task_kill_cpids( cpids, sig ); } } } else if ( state == VFS_FILE_TASK_PAUSE ) ptask->task->state_pause = VFS_FILE_TASK_PAUSE; else if ( state == VFS_FILE_TASK_QUEUE ) ptask->task->state_pause = VFS_FILE_TASK_QUEUE; else { // Resume if ( ptask->task->pause_cond ) { g_mutex_lock( ptask->task->mutex ); g_cond_broadcast( ptask->task->pause_cond ); g_mutex_unlock( ptask->task->mutex ); } ptask->task->state_pause = VFS_FILE_TASK_RUNNING; } set_button_states( ptask ); ptask->pause_change = ptask->pause_change_view = TRUE; ptask->progress_count = 50; // trigger fast display } gboolean on_progress_dlg_delete_event( GtkWidget *widget, GdkEvent *event, PtkFileTask* ptask ) { save_progress_dialog_size( ptask ); return !( ptask->complete || ptask->task_view ); } void on_progress_dlg_response( GtkDialog* dlg, int response, PtkFileTask* ptask ) { save_progress_dialog_size( ptask ); if ( response != GTK_RESPONSE_HELP && ptask->complete && !ptask->complete_notify ) { ptk_file_task_destroy( ptask ); return; } switch ( response ) { case GTK_RESPONSE_CANCEL: // Stop btn ptask->keep_dlg = FALSE; if ( ptask->overwrite_combo ) gtk_combo_box_popdown( GTK_COMBO_BOX( ptask->overwrite_combo ) ); if ( ptask->error_combo ) gtk_combo_box_popdown( GTK_COMBO_BOX( ptask->error_combo ) ); gtk_widget_destroy( ptask->progress_dlg ); ptask->progress_dlg = NULL; ptk_file_task_cancel( ptask ); break; case GTK_RESPONSE_NO: // Pause btn if ( ptask->task->state_pause == VFS_FILE_TASK_PAUSE ) { ptk_file_task_pause( ptask, VFS_FILE_TASK_QUEUE ); } else if ( ptask->task->state_pause == VFS_FILE_TASK_QUEUE ) { ptk_file_task_pause( ptask, VFS_FILE_TASK_RUNNING ); } else { ptk_file_task_pause( ptask, VFS_FILE_TASK_PAUSE ); } main_task_start_queued( ptask->task_view, NULL ); break; case GTK_RESPONSE_HELP: xset_show_help( GTK_WIDGET( ptask->parent_window ), NULL, "#tasks-dlg" ); break; case GTK_RESPONSE_OK: case GTK_RESPONSE_NONE: ptask->keep_dlg = FALSE; if ( ptask->overwrite_combo ) gtk_combo_box_popdown( GTK_COMBO_BOX( ptask->overwrite_combo ) ); if ( ptask->error_combo ) gtk_combo_box_popdown( GTK_COMBO_BOX( ptask->error_combo ) ); gtk_widget_destroy( ptask->progress_dlg ); ptask->progress_dlg = NULL; break; } } void on_progress_dlg_destroy( GtkDialog* dlg, PtkFileTask* ptask ) { ptask->progress_dlg = NULL; } void on_view_popup( GtkTextView *entry, GtkMenu *menu, gpointer user_data ) { GtkAccelGroup* accel_group = gtk_accel_group_new(); xset_context_new(); XSet* set = xset_get( "sep_v9" ); set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); set = xset_get( "task_pop_font" ); set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); gtk_widget_show_all( GTK_WIDGET( menu ) ); g_signal_connect( menu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); } void set_progress_icon( PtkFileTask* ptask ) { GdkPixbuf* pixbuf; VFSFileTask* task = ptask->task; if ( task->state_pause != VFS_FILE_TASK_RUNNING ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), GTK_STOCK_MEDIA_PAUSE, 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else if ( task->err_count ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), "error", 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else if ( task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_COPY || task->type == VFS_FILE_TASK_LINK ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), "stock_copy", 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else if ( task->type == VFS_FILE_TASK_TRASH || task->type == VFS_FILE_TASK_DELETE ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), "stock_delete", 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else if ( task->type == VFS_FILE_TASK_EXEC && task->exec_icon ) pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), task->exec_icon, 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); else pixbuf = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(), "gtk-execute", 16, GTK_ICON_LOOKUP_USE_BUILTIN, NULL ); gtk_window_set_icon( GTK_WINDOW( ptask->progress_dlg ), pixbuf ); } void on_overwrite_combo_changed( GtkComboBox* box, PtkFileTask* ptask ) { int overwrite_mode = gtk_combo_box_get_active( box ); if ( overwrite_mode < 0 ) overwrite_mode = 0; vfs_file_task_set_overwrite_mode( ptask->task, overwrite_mode ); } void on_error_combo_changed( GtkComboBox* box, PtkFileTask* ptask ) { int error_mode = gtk_combo_box_get_active( box ); if ( error_mode < 0 ) error_mode = 0; ptask->err_mode = error_mode; } void ptk_file_task_progress_open( PtkFileTask* ptask ) { GtkTable* table; GtkLabel* label; int i; const char * actions[] = { N_( "Move: " ), N_( "Copy: " ), N_( "Trash: " ), N_( "Delete: " ), N_( "Link: " ), N_( "Change: " ), N_( "Run: " ) }; const char* titles[] = { N_( "Moving..." ), N_( "Copying..." ), N_( "Trashing..." ), N_( "Deleting..." ), N_( "Linking..." ), N_( "Changing..." ), N_( "Running..." ) }; if ( ptask->progress_dlg ) return; //printf("ptk_file_task_progress_open\n"); VFSFileTask* task = ptask->task; ptask->progress_dlg = gtk_dialog_new_with_buttons( _( titles[ task->type ] ), NULL /*was task->parent_window*/ , 0, NULL, NULL ); // cache this value for speed ptask->pop_detail = xset_get_b( "task_pop_detail" ); // Buttons // Pause XSet* set = xset_get( "task_pause" ); char* pause_icon = set->icon; if ( !pause_icon ) pause_icon = GTK_STOCK_MEDIA_PAUSE; ptask->progress_btn_pause = gtk_button_new_with_mnemonic( _("Pa_use") ); gtk_button_set_image( GTK_BUTTON( ptask->progress_btn_pause ), xset_get_image( pause_icon, GTK_ICON_SIZE_BUTTON ) ); gtk_dialog_add_action_widget( GTK_DIALOG( ptask->progress_dlg ), ptask->progress_btn_pause, GTK_RESPONSE_NO); gtk_button_set_focus_on_click( GTK_BUTTON( ptask->progress_btn_pause ), FALSE ); // Stop ptask->progress_btn_stop = gtk_button_new_from_stock( GTK_STOCK_STOP ); gtk_dialog_add_action_widget( GTK_DIALOG( ptask->progress_dlg ), ptask->progress_btn_stop, GTK_RESPONSE_CANCEL); gtk_button_set_focus_on_click( GTK_BUTTON( ptask->progress_btn_stop ), FALSE ); // Close ptask->progress_btn_close = gtk_button_new_from_stock( GTK_STOCK_CLOSE ); gtk_dialog_add_action_widget( GTK_DIALOG( ptask->progress_dlg ), ptask->progress_btn_close, GTK_RESPONSE_OK); gtk_widget_set_sensitive( ptask->progress_btn_close, !!ptask->task_view ); // Help GtkWidget* help_btn = gtk_button_new_from_stock( GTK_STOCK_HELP ); gtk_dialog_add_action_widget( GTK_DIALOG( ptask->progress_dlg ), help_btn, GTK_RESPONSE_HELP); gtk_button_set_focus_on_click( GTK_BUTTON( help_btn ), FALSE ); set_button_states( ptask ); // table if ( task->type != VFS_FILE_TASK_EXEC ) table = GTK_TABLE(gtk_table_new( 5, 2, FALSE )); else table = GTK_TABLE(gtk_table_new( 3, 2, FALSE )); gtk_container_set_border_width( GTK_CONTAINER ( table ), 5 ); gtk_table_set_row_spacings( table, 6 ); gtk_table_set_col_spacings( table, 4 ); int row = 0; /* Copy/Move/Link: */ label = GTK_LABEL(gtk_label_new( _( actions[ task->type ] ) )); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_table_attach( table, GTK_WIDGET(label), 0, 1, row, row+1, GTK_FILL, 0, 0, 0 ); ptask->from = GTK_LABEL(gtk_label_new( ptask->complete ? "" : task->current_file )); gtk_misc_set_alignment( GTK_MISC ( ptask->from ), 0, 0.5 ); gtk_label_set_ellipsize( ptask->from, PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( ptask->from, TRUE ); gtk_table_attach( table, GTK_WIDGET( ptask->from ), 1, 2, row, row+1, GTK_FILL | GTK_EXPAND, 0, 0, 0 ); if ( task->type != VFS_FILE_TASK_EXEC ) { // From: row++; label = GTK_LABEL(gtk_label_new( _( "From:" ) )); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_table_attach( table, GTK_WIDGET(label), 0, 1, row, row+1, GTK_FILL, 0, 0, 0 ); ptask->src_dir = GTK_LABEL( gtk_label_new( NULL ) ); gtk_misc_set_alignment( GTK_MISC ( ptask->src_dir ), 0, 0.5 ); gtk_label_set_ellipsize( ptask->src_dir, PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( ptask->src_dir, TRUE ); gtk_table_attach( table, GTK_WIDGET( ptask->src_dir ), 1, 2, row, row+1, GTK_FILL, 0, 0, 0 ); if ( task->dest_dir ) { /* To: ex. Copy file to..., Move file to...etc. */ row++; label = GTK_LABEL(gtk_label_new( _( "To:" ) )); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_table_attach( table, GTK_WIDGET(label), 0, 1, row, row+1, GTK_FILL, 0, 0, 0 ); ptask->to = GTK_LABEL( gtk_label_new( task->dest_dir ) ); gtk_misc_set_alignment( GTK_MISC ( ptask->to ), 0, 0.5 ); gtk_label_set_ellipsize( ptask->to, PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( ptask->to, TRUE ); gtk_table_attach( table, GTK_WIDGET( ptask->to ), 1, 2, row, row+1, GTK_FILL, 0, 0, 0 ); } else ptask->to = NULL; // Stats row++; label = GTK_LABEL(gtk_label_new( _( "Progress: " ) )); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_table_attach( table, GTK_WIDGET(label), 0, 1, row, row+1, GTK_FILL, 0, 0, 0 ); ptask->current = GTK_LABEL(gtk_label_new( "" )); gtk_misc_set_alignment( GTK_MISC ( ptask->current ), 0, 0.5 ); gtk_label_set_ellipsize( ptask->current, PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( ptask->current, TRUE ); gtk_table_attach( table, GTK_WIDGET( ptask->current ), 1, 2, row, row+1, GTK_FILL, 0, 0, 0 ); } else { ptask->src_dir = NULL; ptask->to = NULL; } /* Processing: */ /* Processing: */ /* label = GTK_LABEL(gtk_label_new( _( "Processing:" ) )); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_table_attach( table, GTK_WIDGET(label), 0, 1, 2, 3, GTK_FILL, 0, 0, 0 ); */ //MOD /* Preparing to do some file operation (Copy, Move, Delete...) */ /* ptask->current = GTK_LABEL(gtk_label_new( _( "Preparing..." ) )); gtk_label_set_ellipsize( ptask->current, PANGO_ELLIPSIZE_MIDDLE ); gtk_misc_set_alignment( GTK_MISC ( ptask->current ), 0, 0.5 ); gtk_table_attach( table, GTK_WIDGET( ptask->current ), 1, 2, 2, 3, GTK_FILL, 0, 0, 0 ); */ //MOD // Status row++; label = GTK_LABEL(gtk_label_new( _( "Status: " ) )); gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); gtk_table_attach( table, GTK_WIDGET(label), 0, 1, row, row+1, GTK_FILL, 0, 0, 0 ); char* status; if ( task->state_pause == VFS_FILE_TASK_PAUSE ) status = _("Paused"); else if ( task->state_pause == VFS_FILE_TASK_QUEUE ) status = _("Queued"); else status = _("Running..."); ptask->errors = GTK_LABEL( gtk_label_new( status ) ); gtk_misc_set_alignment( GTK_MISC ( ptask->errors ), 0, 0.5 ); gtk_label_set_ellipsize( ptask->errors, PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( ptask->errors, TRUE ); gtk_table_attach( table, GTK_WIDGET( ptask->errors ), 1, 2, row, row+1, GTK_FILL | GTK_EXPAND, 0, 0, 0 ); /* Progress: */ row++; //label = GTK_LABEL(gtk_label_new( _( "Progress:" ) )); //gtk_misc_set_alignment( GTK_MISC ( label ), 0, 0.5 ); //gtk_table_attach( table, // GTK_WIDGET(label), // 0, 1, 3, 4, GTK_FILL, 0, 0, 0 ); ptask->progress_bar = GTK_PROGRESS_BAR(gtk_progress_bar_new()); #if GTK_CHECK_VERSION (3, 0, 0) gtk_progress_bar_set_show_text( GTK_PROGRESS_BAR( ptask->progress_bar ), TRUE ); #endif gtk_progress_bar_set_pulse_step( ptask->progress_bar, 0.08 ); gtk_table_attach( table, GTK_WIDGET( ptask->progress_bar ), 0, 2, row, row+1, GTK_FILL | GTK_EXPAND, 0, 0, 0 ); // Error log ptask->scroll = GTK_SCROLLED_WINDOW( gtk_scrolled_window_new( NULL, NULL ) ); ptask->error_view = gtk_text_view_new_with_buffer( ptask->log_buf ); // ubuntu shows input too small so use mininum height gtk_widget_set_size_request( GTK_WIDGET( ptask->error_view ), -1, 70 ); gtk_widget_set_size_request( GTK_WIDGET( ptask->scroll ), -1, 70 ); gtk_container_add ( GTK_CONTAINER ( ptask->scroll ), ptask->error_view ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( ptask->scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( ptask->error_view ), GTK_WRAP_WORD_CHAR ); gtk_text_view_set_editable( GTK_TEXT_VIEW( ptask->error_view ), FALSE ); char* fontname = xset_get_s( "task_pop_font" ); if ( fontname ) { PangoFontDescription* font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( ptask->error_view, font_desc ); pango_font_description_free( font_desc ); } g_signal_connect( ptask->error_view, "populate-popup", G_CALLBACK(on_view_popup), NULL ); GtkWidget* align = gtk_alignment_new( 1, 1, 1 ,1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 0, 0, 5, 5 ); gtk_container_add ( GTK_CONTAINER ( align ), GTK_WIDGET( ptask->scroll ) ); // Overwrite & Error GtkWidget* overwrite_align; if ( task->type != VFS_FILE_TASK_EXEC ) { static const char* overwrite_options[] = { N_("Ask"), N_("Overwrite All"), N_("Skip All"), N_("Auto Rename") }; static const char* error_options[] = { N_("Stop If Error First"), N_("Stop On Any Error"), N_("Continue") }; gboolean overtask = task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_COPY || task->type == VFS_FILE_TASK_LINK; ptask->overwrite_combo = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ptask->overwrite_combo ), FALSE ); gtk_widget_set_sensitive( ptask->overwrite_combo, overtask ); for ( i = 0; i < G_N_ELEMENTS( overwrite_options ); i++ ) gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ptask->overwrite_combo ), _(overwrite_options[i]) ); if ( overtask ) gtk_combo_box_set_active( GTK_COMBO_BOX( ptask->overwrite_combo ), task->overwrite_mode < G_N_ELEMENTS( overwrite_options ) ? task->overwrite_mode : 0 ); g_signal_connect( G_OBJECT( ptask->overwrite_combo ), "changed", G_CALLBACK( on_overwrite_combo_changed ), ptask ); ptask->error_combo = gtk_combo_box_text_new(); gtk_combo_box_set_focus_on_click( GTK_COMBO_BOX( ptask->error_combo ), FALSE ); for ( i = 0; i < G_N_ELEMENTS( error_options ); i++ ) gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( ptask->error_combo ), _(error_options[i]) ); gtk_combo_box_set_active( GTK_COMBO_BOX( ptask->error_combo ), ptask->err_mode < G_N_ELEMENTS( error_options ) ? ptask->err_mode : 0 ); g_signal_connect( G_OBJECT( ptask->error_combo ), "changed", G_CALLBACK( on_error_combo_changed ), ptask ); GtkWidget* overwrite_box = gtk_hbox_new( FALSE, 20 ); gtk_box_pack_start( GTK_BOX( overwrite_box ), GTK_WIDGET( ptask->overwrite_combo ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( overwrite_box ), GTK_WIDGET( ptask->error_combo ), FALSE, TRUE, 0 ); overwrite_align = gtk_alignment_new( 1, 0, 1 ,0 ); gtk_alignment_set_padding( GTK_ALIGNMENT( overwrite_align ), 0, 0, 5, 5 ); gtk_container_add ( GTK_CONTAINER ( overwrite_align ), GTK_WIDGET( overwrite_box ) ); } else { overwrite_align = NULL; ptask->overwrite_combo = NULL; ptask->error_combo = NULL; } // Pack gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area ( GTK_DIALOG( ptask->progress_dlg ) ) ), GTK_WIDGET( table ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area ( GTK_DIALOG( ptask->progress_dlg ) ) ), GTK_WIDGET( align ), TRUE, TRUE, 0 ); if ( overwrite_align ) gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area ( GTK_DIALOG( ptask->progress_dlg ) ) ), GTK_WIDGET( overwrite_align ), FALSE, TRUE, 5 ); int win_width, win_height; if ( task->type == VFS_FILE_TASK_EXEC ) { win_width = xset_get_int( "task_pop_top", "s" ); win_height = xset_get_int( "task_pop_top", "z" ); } else { win_width = xset_get_int( "task_pop_top", "x" ); win_height = xset_get_int( "task_pop_top", "y" ); } if ( !win_width ) win_width = 750; if ( !win_height ) win_height = -1; gtk_window_set_default_size( GTK_WINDOW( ptask->progress_dlg ), win_width, win_height ); gtk_button_box_set_layout ( GTK_BUTTON_BOX ( gtk_dialog_get_action_area ( GTK_DIALOG( ptask->progress_dlg ) ) ), GTK_BUTTONBOX_END ); if ( xset_get_b( "task_pop_top" ) ) gtk_window_set_type_hint ( GTK_WINDOW ( ptask->progress_dlg ), GDK_WINDOW_TYPE_HINT_DIALOG ); else gtk_window_set_type_hint ( GTK_WINDOW ( ptask->progress_dlg ), GDK_WINDOW_TYPE_HINT_NORMAL ); if ( xset_get_b( "task_pop_above" ) ) gtk_window_set_keep_above( GTK_WINDOW ( ptask->progress_dlg ), TRUE ); if ( xset_get_b( "task_pop_stick" ) ) gtk_window_stick( GTK_WINDOW ( ptask->progress_dlg ) ); gtk_window_set_gravity ( GTK_WINDOW ( ptask->progress_dlg ), GDK_GRAVITY_NORTH_EAST ); gtk_window_set_position( GTK_WINDOW( ptask->progress_dlg ), GTK_WIN_POS_CENTER ); gtk_window_set_role( GTK_WINDOW( ptask->progress_dlg ), "task_dialog" ); // gtk_dialog_set_default_response( ptask->progress_dlg, GTK_RESPONSE_OK ); g_signal_connect( ptask->progress_dlg, "response", G_CALLBACK( on_progress_dlg_response ), ptask ); g_signal_connect( ptask->progress_dlg, "destroy", G_CALLBACK( on_progress_dlg_destroy ), ptask ); g_signal_connect( ptask->progress_dlg, "delete-event", G_CALLBACK( on_progress_dlg_delete_event ), ptask ); //g_signal_connect( ptask->progress_dlg, "configure-event", // G_CALLBACK( on_progress_configure_event ), ptask ); gtk_widget_show_all( ptask->progress_dlg ); if ( ptask->overwrite_combo && !xset_get_b( "task_pop_over" ) ) gtk_widget_hide( ptask->overwrite_combo ); if ( ptask->error_combo && !xset_get_b( "task_pop_err" ) ) gtk_widget_hide( ptask->error_combo ); if ( overwrite_align && !gtk_widget_get_visible( ptask->overwrite_combo ) && !gtk_widget_get_visible( ptask->error_combo ) ) gtk_widget_hide( overwrite_align ); gtk_widget_grab_focus( ptask->progress_btn_close ); // icon set_progress_icon( ptask ); // auto scroll - must be after show_all if ( !task->exec_scroll_lock ) gtk_text_view_scroll_to_mark( GTK_TEXT_VIEW( ptask->error_view ), ptask->log_end, 0.0, FALSE, 0, 0 ); ptask->progress_count = 50; // trigger fast display //printf("ptk_file_task_progress_open DONE\n"); } void ptk_file_task_progress_update( PtkFileTask* ptask ) { char* ufile_path; char* usrc_dir; char* udest; char* window_title; char* str; char* str2; char percent_str[ 16 ]; char* stats; char* errs; GtkTextIter iter, siter; GdkPixbuf* pixbuf; if ( !ptask->progress_dlg ) { if ( ptask->pause_change ) ptask->pause_change = FALSE; // stop elapsed timer return; } //printf("ptk_file_task_progress_update ptask=%p\n", ptask); VFSFileTask* task = ptask->task; // current file usrc_dir = NULL; udest = NULL; if ( ptask->complete ) { gtk_widget_set_sensitive( ptask->progress_btn_stop, FALSE ); gtk_widget_set_sensitive( ptask->progress_btn_pause, FALSE ); gtk_widget_set_sensitive( ptask->progress_btn_close, TRUE ); if ( ptask->overwrite_combo ) gtk_widget_set_sensitive( ptask->overwrite_combo, FALSE ); if ( ptask->error_combo ) gtk_widget_set_sensitive( ptask->error_combo, FALSE ); if ( task->type != VFS_FILE_TASK_EXEC ) ufile_path = NULL; else ufile_path = g_markup_printf_escaped ("%s", task->current_file ); if ( ptask->aborted ) window_title = _("Stopped"); else { if ( task->err_count ) window_title= _("Errors"); else window_title= _("Done"); } gtk_window_set_title( GTK_WINDOW( ptask->progress_dlg ), window_title ); if ( !ufile_path ) ufile_path = g_markup_printf_escaped ("( %s )", window_title ); } else if ( task->current_file ) { if ( task->type != VFS_FILE_TASK_EXEC ) { // Copy: str = g_filename_display_basename( task->current_file ); ufile_path = g_markup_printf_escaped ("%s", str); g_free( str ); // From: str = g_path_get_dirname( task->current_file ); usrc_dir = g_filename_display_name( str ); g_free( str ); if ( !( usrc_dir[0] == '/' && usrc_dir[1] == '\0' ) ) { str = usrc_dir; usrc_dir = g_strdup_printf( "%s/", str ); g_free( str ); } // To: OR if ( task->current_dest ) { str = g_path_get_basename( task->current_file ); str2 = g_path_get_basename( task->current_dest ); if ( strcmp( str, str2 ) ) { // source and dest filenames differ, user renamed - show all g_free( str ); g_free( str2 ); udest = g_filename_display_name( task->current_dest ); } else { // source and dest filenames same - show dest dir only g_free( str ); g_free( str2 ); str = g_path_get_dirname( task->current_dest ); if ( str[0] == '/' && str[1] == '\0' ) udest = g_filename_display_name( str ); else { str2 = g_filename_display_name( str ); udest = g_strdup_printf( "%s/", str2 ); g_free( str2 ); } g_free( str ); } } } else ufile_path = g_markup_printf_escaped ("%s", task->current_file ); } else ufile_path = NULL; if ( !udest && !ptask->complete && task->dest_dir ) { udest = g_filename_display_name( task->dest_dir ); if ( !( udest[0] == '/' && udest[1] == '\0' ) ) { str = udest; udest = g_strdup_printf( "%s/", str ); g_free( str ); } } gtk_label_set_markup( ptask->from, ufile_path ); if ( ptask->src_dir ) gtk_label_set_text( ptask->src_dir, usrc_dir ); if ( ptask->to ) gtk_label_set_text( ptask->to, udest ); g_free( ufile_path ); g_free( usrc_dir ); g_free( udest ); /* // current dest if ( ptask->old_dest_file ) { ufile_path = g_filename_display_name( ptask->old_dest_file ); gtk_label_set_text( ptask->to, ufile_path ); g_free( ufile_path ); } */ // progress bar if ( task->type != VFS_FILE_TASK_EXEC || ptask->task->custom_percent ) { if ( task->percent >= 0 ) { if ( task->percent > 100 ) task->percent = 100; gtk_progress_bar_set_fraction( ptask->progress_bar, ( ( gdouble ) task->percent ) / 100 ); g_snprintf( percent_str, 16, "%d %%", task->percent ); gtk_progress_bar_set_text( ptask->progress_bar, percent_str ); } else gtk_progress_bar_set_fraction( ptask->progress_bar, 0 ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_progress_bar_set_show_text( GTK_PROGRESS_BAR( ptask->progress_bar ), TRUE ); #endif } else if ( ptask->complete ) { if ( !ptask->task->custom_percent ) { if ( task->exec_is_error || ptask->aborted ) gtk_progress_bar_set_fraction( ptask->progress_bar, 0 ); else gtk_progress_bar_set_fraction( ptask->progress_bar, 1 ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_progress_bar_set_show_text( GTK_PROGRESS_BAR( ptask->progress_bar ), TRUE ); #endif } } else if ( task->type == VFS_FILE_TASK_EXEC && task->state_pause == VFS_FILE_TASK_RUNNING ) { #if GTK_CHECK_VERSION (3, 0, 0) gtk_progress_bar_set_show_text( GTK_PROGRESS_BAR( ptask->progress_bar ), FALSE ); #endif gtk_progress_bar_pulse( ptask->progress_bar ); } // progress if ( task->type != VFS_FILE_TASK_EXEC ) { if ( ptask->complete ) { if ( ptask->pop_detail ) stats = g_strdup_printf( "#%s (%s) [%s] @avg %s", ptask->dsp_file_count, ptask->dsp_size_tally, ptask->dsp_elapsed, ptask->dsp_avgspeed ); else stats = g_strdup_printf( "%s (%s)", ptask->dsp_size_tally, ptask->dsp_avgspeed ); } else { if ( ptask->pop_detail ) stats = g_strdup_printf( "#%s (%s) [%s] @cur %s (%s) @avg %s (%s)", ptask->dsp_file_count, ptask->dsp_size_tally, ptask->dsp_elapsed, ptask->dsp_curspeed, ptask->dsp_curest, ptask->dsp_avgspeed, ptask->dsp_avgest ); else stats = g_strdup_printf( _("%s (%s) %s remaining"), ptask->dsp_size_tally, ptask->dsp_avgspeed, ptask->dsp_avgest ); } gtk_label_set_text( ptask->current, stats ); //gtk_progress_bar_set_text( ptask->progress_bar, g_strdup_printf( "%d %% %s", task->percent, stats ) ); g_free( stats ); } // error/output log if ( ptask->log_appended || ptask->force_scroll ) { if ( !task->exec_scroll_lock ) { //scroll to end if scrollbar is mostly down or force_scroll GtkAdjustment* adj = gtk_scrolled_window_get_vadjustment( ptask->scroll ); if ( ptask->force_scroll || gtk_adjustment_get_upper( adj ) - gtk_adjustment_get_value( adj ) < gtk_adjustment_get_page_size( adj ) + 40 ) { //printf(" scroll to end line %d\n", ptask->log_end, gtk_text_buffer_get_line_count( ptask->log_buf )); gtk_text_view_scroll_to_mark( GTK_TEXT_VIEW( ptask->error_view ), ptask->log_end, 0.0, FALSE, 0, 0 ); } } ptask->log_appended = FALSE; } // icon if ( ptask->pause_change || ptask->err_count != task->err_count ) { ptask->pause_change = FALSE; ptask->err_count = task->err_count; set_progress_icon( ptask ); } // status if ( ptask->complete ) { if ( ptask->aborted ) { if ( task->err_count && task->type != VFS_FILE_TASK_EXEC ) { if ( ptask->err_mode == PTASK_ERROR_FIRST ) errs = g_strdup_printf( _("Error ( Stop If First )") ); else if ( ptask->err_mode == PTASK_ERROR_ANY ) errs = g_strdup_printf( _("Error ( Stop On Any )") ); else errs = g_strdup_printf( ngettext( "Stopped with %d error", "Stopped with %d errors", task->err_count ), task->err_count ); } else errs = g_strdup_printf( _("Stopped") ); } else { if ( task->type != VFS_FILE_TASK_EXEC ) { if ( task->err_count ) errs = g_strdup_printf( ngettext( "Finished with %d error", "Finished with %d errors", task->err_count ), task->err_count ); else errs = g_strdup_printf( _("Done") ); } else { if ( task->exec_exit_status ) errs = g_strdup_printf( _("Finished with error ( exit status %d )"), task->exec_exit_status ); else if ( task->exec_is_error ) errs = g_strdup_printf( _("Finished with error") ); else errs = g_strdup_printf( _("Done") ); } } } else if ( task->state_pause == VFS_FILE_TASK_PAUSE ) { if ( task->type != VFS_FILE_TASK_EXEC ) errs = g_strdup_printf( _("Paused") ); else { if ( task->exec_pid ) errs = g_strdup_printf( _("Paused ( pid %d )"), task->exec_pid ); else { errs = g_strdup_printf( _("Paused ( exit status %d )"), task->exec_exit_status ); set_button_states( ptask ); } } } else if ( task->state_pause == VFS_FILE_TASK_QUEUE ) { if ( task->type != VFS_FILE_TASK_EXEC ) errs = g_strdup_printf( _("Queued") ); else { if ( task->exec_pid ) errs = g_strdup_printf( _("Queued ( pid %d )"), task->exec_pid ); else { errs = g_strdup_printf( _("Queued ( exit status %d )"), task->exec_exit_status ); set_button_states( ptask ); } } } else { if ( task->type != VFS_FILE_TASK_EXEC ) { if ( task->err_count ) errs = g_strdup_printf( ngettext( "Running with %d error", "Running with %d errors", task->err_count ), task->err_count ); else errs = g_strdup_printf( _("Running...") ); } else { if ( task->exec_pid ) errs = g_strdup_printf( _("Running... ( pid %d )"), task->exec_pid ); else { errs = g_strdup_printf( _("Running... ( exit status %d )"), task->exec_exit_status ); set_button_states( ptask ); } } } gtk_label_set_text( ptask->errors, errs ); g_free( errs ); //printf("ptk_file_task_progress_update DONE ptask=%#x\n", ptask); } void ptk_file_task_set_chmod( PtkFileTask* ptask, guchar* chmod_actions ) { vfs_file_task_set_chmod( ptask->task, chmod_actions ); } void ptk_file_task_set_chown( PtkFileTask* ptask, uid_t uid, gid_t gid ) { vfs_file_task_set_chown( ptask->task, uid, gid ); } void ptk_file_task_set_recursive( PtkFileTask* ptask, gboolean recursive ) { vfs_file_task_set_recursive( ptask->task, recursive ); } void ptk_file_task_update( PtkFileTask* ptask ) { //printf("ptk_file_task_update ptask=%#x\n", ptask); // calculate updated display data if ( !g_mutex_trylock( ptask->task->mutex ) ) { //printf("UPDATE LOCKED @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"); return; } VFSFileTask* task = ptask->task; off64_t cur_speed; gdouble timer_elapsed = g_timer_elapsed( task->timer, NULL ); if ( task->type == VFS_FILE_TASK_EXEC ) { // test for zombie process gint status = 0; if ( !ptask->complete && task->exec_pid && waitpid( task->exec_pid, &status, WNOHANG ) ) { // process is no longer running (defunct zombie) // glib should detect this but sometimes process goes defunct // with no watch callback, so remove it from task list if ( task->child_watch ) { g_source_remove( task->child_watch ); task->child_watch = 0; } g_spawn_close_pid( task->exec_pid ); if ( task->exec_channel_out ) g_io_channel_shutdown( task->exec_channel_out, TRUE, NULL ); if ( task->exec_channel_err ) g_io_channel_shutdown( task->exec_channel_err, TRUE, NULL ); task->exec_channel_out = task->exec_channel_err = 0; if ( status ) { if ( WIFEXITED( status ) ) task->exec_exit_status = WEXITSTATUS( status ); else task->exec_exit_status = -1; } else task->exec_exit_status = 0; printf( "child ZOMBIED pid=%d exit_status=%d\n", task->exec_pid, task->exec_exit_status ); task->exec_pid = 0; ptask->complete = TRUE; } } else { //cur speed if ( task->state_pause == VFS_FILE_TASK_RUNNING ) { gdouble since_last = timer_elapsed - task->last_elapsed; if ( since_last >= 2.0 ) { cur_speed = ( task->progress - task->last_progress ) / since_last; //printf( "( %lld - %lld ) / %lf = %lld\n", task->progress, // task->last_progress, since_last, cur_speed ); task->last_elapsed = timer_elapsed; task->last_speed = cur_speed; task->last_progress = task->progress; } else if ( since_last > 0.1 ) cur_speed = ( task->progress - task->last_progress ) / since_last; else cur_speed = 0; } // calc percent int ipercent; if ( task->total_size ) { gdouble dpercent = ( ( gdouble ) task->progress ) / task->total_size; ipercent = ( int ) ( dpercent * 100 ); } else ipercent = 50; // total_size calculation timed out if ( ipercent != task->percent ) task->percent = ipercent; } //elapsed guint hours = timer_elapsed / 3600.0; char* elapsed; char* elapsed2; char* elapsed3; if ( hours == 0 ) elapsed = g_strdup( "" ); else elapsed = g_strdup_printf( "%d", hours ); guint mins = ( timer_elapsed - ( hours * 3600 ) ) / 60; if ( hours > 0 ) elapsed2 = g_strdup_printf( "%s:%02d", elapsed, mins ); else if ( mins > 0 ) elapsed2 = g_strdup_printf( "%d", mins ); else elapsed2 = g_strdup( elapsed ); guint secs = ( timer_elapsed - ( hours * 3600 ) - ( mins * 60 ) ); elapsed3 = g_strdup_printf( "%s:%02d", elapsed2, secs ); g_free( elapsed ); g_free( elapsed2 ); g_free( ptask->dsp_elapsed ); ptask->dsp_elapsed = elapsed3; if ( task->type != VFS_FILE_TASK_EXEC ) { char* file_count; char* size_tally; char* speed1; char* speed2; char* remain1; char* remain2; char buf1[ 64 ]; char buf2[ 64 ]; //count file_count = g_strdup_printf( "%d", task->current_item ); //size vfs_file_size_to_string_format( buf1, task->progress, NULL ); if ( task->total_size ) vfs_file_size_to_string_format( buf2, task->total_size, NULL ); else sprintf( buf2, "??" ); // total_size calculation timed out size_tally = g_strdup_printf( "%s / %s", buf1, buf2 ); // cur speed display if ( task->last_speed != 0 ) // use speed of last 2 sec interval if available cur_speed = task->last_speed; if ( cur_speed == 0 || task->state_pause != VFS_FILE_TASK_RUNNING ) { if ( task->state_pause == VFS_FILE_TASK_PAUSE ) speed1 = g_strdup_printf( _("paused") ); else if ( task->state_pause == VFS_FILE_TASK_QUEUE ) speed1 = g_strdup_printf( _("queued") ); else speed1 = g_strdup_printf( _("stalled") ); } else { vfs_file_size_to_string_format( buf1, cur_speed, NULL ); speed1 = g_strdup_printf( "%s/s", buf1 ); } // avg speed time_t avg_speed; if ( timer_elapsed > 0 ) avg_speed = task->progress / timer_elapsed; else avg_speed = 0; vfs_file_size_to_string_format( buf2, avg_speed, NULL ); speed2 = g_strdup_printf( "%s/s", buf2 ); //remain cur off64_t remain; if ( cur_speed > 0 && task->total_size != 0 ) remain = ( task->total_size - task->progress ) / cur_speed; else remain = 0; if ( remain <= 0 ) remain1 = g_strdup( "" ); // n/a else if ( remain > 3599 ) { hours = remain / 3600; if ( remain - ( hours * 3600 ) > 1799 ) hours++; remain1 = g_strdup_printf( "%dh", hours ); } else if ( remain > 59 ) remain1 = g_strdup_printf( "%lu:%02lu", remain / 60, remain - ( (guint)( remain / 60 ) * 60 ) ); else remain1 = g_strdup_printf( ":%02lu", remain ); //remain avg if ( avg_speed > 0 && task->total_size != 0 ) remain = ( task->total_size - task->progress ) / avg_speed; else remain = 0; if ( remain <= 0 ) remain2 = g_strdup( "" ); // n/a else if ( remain > 3599 ) { hours = remain / 3600; if ( remain - ( hours * 3600 ) > 1799 ) hours++; remain2 = g_strdup_printf( "%dh", hours ); } else if ( remain > 59 ) remain2 = g_strdup_printf( "%lu:%02lu", remain / 60, remain - ( (guint)( remain / 60 ) * 60 ) ); else remain2 = g_strdup_printf( ":%02lu", remain ); g_free( ptask->dsp_file_count ); ptask->dsp_file_count = file_count; g_free( ptask->dsp_size_tally ); ptask->dsp_size_tally = size_tally; g_free( ptask->dsp_curspeed ); ptask->dsp_curspeed = speed1; g_free( ptask->dsp_curest ); ptask->dsp_curest = remain1; g_free( ptask->dsp_avgspeed ); ptask->dsp_avgspeed = speed2; g_free( ptask->dsp_avgest ); ptask->dsp_avgest = remain2; } // move log lines from add_log_buf to log_buf if ( gtk_text_buffer_get_char_count( task->add_log_buf ) ) { GtkTextIter iter, siter; char* text; // get add_log text and delete gtk_text_buffer_get_start_iter( task->add_log_buf, &siter ); gtk_text_buffer_get_iter_at_mark( task->add_log_buf, &iter, task->add_log_end ); text = gtk_text_buffer_get_text( task->add_log_buf, &siter, &iter, FALSE ); gtk_text_buffer_delete( task->add_log_buf, &siter, &iter ); // insert into log gtk_text_buffer_get_iter_at_mark( ptask->log_buf, &iter, ptask->log_end ); gtk_text_buffer_insert( ptask->log_buf, &iter, text, -1 ); g_free( text ); ptask->log_appended = TRUE; // trim log ? (less than 64K and 800 lines) if ( gtk_text_buffer_get_char_count( ptask->log_buf ) > 64000 || gtk_text_buffer_get_line_count( ptask->log_buf ) > 800 ) { if ( gtk_text_buffer_get_char_count( ptask->log_buf ) > 64000 ) { // trim to 50000 characters - handles single line flood gtk_text_buffer_get_iter_at_offset( ptask->log_buf, &iter, gtk_text_buffer_get_char_count( ptask->log_buf ) - 50000 ); } else // trim to 700 lines gtk_text_buffer_get_iter_at_line( ptask->log_buf, &iter, gtk_text_buffer_get_line_count( ptask->log_buf ) - 700 ); gtk_text_buffer_get_start_iter( ptask->log_buf, &siter ); gtk_text_buffer_delete( ptask->log_buf, &siter, &iter ); gtk_text_buffer_get_start_iter( ptask->log_buf, &siter ); if ( task->type == VFS_FILE_TASK_EXEC ) gtk_text_buffer_insert( ptask->log_buf, &siter, _("[ SNIP - additional output above has been trimmed from this log ]\n"), -1 ); else gtk_text_buffer_insert( ptask->log_buf, &siter, _("[ SNIP - additional errors above have been trimmed from this log ]\n"), -1 ); } if ( task->type == VFS_FILE_TASK_EXEC && task->exec_show_output ) { if ( !ptask->keep_dlg ) ptask->keep_dlg = TRUE; if ( !ptask->progress_dlg ) { // disable this line to open every time output occurs task->exec_show_output = FALSE; ptk_file_task_progress_open( ptask ); } } } if ( !ptask->progress_dlg ) { if ( task->type != VFS_FILE_TASK_EXEC && ptask->err_count != task->err_count ) { ptask->keep_dlg = TRUE; ptk_file_task_progress_open( ptask ); } else if ( task->type == VFS_FILE_TASK_EXEC && ptask->err_count != task->err_count ) { if ( !ptask->aborted && task->exec_show_error ) { ptask->keep_dlg = TRUE; ptk_file_task_progress_open( ptask ); // If error opens dialog after command finishes, gtk won't // scroll to end on initial attempts, so force_scroll // ensures it will try to scroll again - still sometimes // doesn't work ptask->force_scroll = ptask->complete && !task->exec_scroll_lock; } } } else { if ( task->type != VFS_FILE_TASK_EXEC && ptask->err_count != task->err_count ) { ptask->keep_dlg = TRUE; if ( ptask->complete || ptask->err_mode == PTASK_ERROR_ANY || ( task->error_first && ptask->err_mode == PTASK_ERROR_FIRST ) ) gtk_window_present( GTK_WINDOW( ptask->progress_dlg ) ); } else if ( task->type == VFS_FILE_TASK_EXEC && ptask->err_count != task->err_count ) { if ( !ptask->aborted && task->exec_show_error ) { ptask->keep_dlg = TRUE; gtk_window_present( GTK_WINDOW( ptask->progress_dlg ) ); } } } ptk_file_task_progress_update( ptask ); if ( !ptask->timeout && !ptask->complete ) main_task_view_update_task( ptask ); g_mutex_unlock( task->mutex ); //printf("ptk_file_task_update DONE ptask=%#x\n", ptask); } gboolean on_vfs_file_task_state_cb( VFSFileTask* task, VFSFileTaskState state, gpointer state_data, gpointer user_data ) { PtkFileTask* ptask = ( PtkFileTask* ) user_data; GtkWidget* dlg; int response; gboolean ret = TRUE; char** new_dest; switch ( state ) { case VFS_FILE_TASK_FINISH: //printf("VFS_FILE_TASK_FINISH\n"); ptask->complete = TRUE; g_mutex_lock( task->mutex ); if ( task->type != VFS_FILE_TASK_EXEC ) string_copy_free( &task->current_file, NULL ); ptask->progress_count = 50; // trigger fast display g_mutex_unlock( task->mutex ); //gtk_signal_emit_by_name( G_OBJECT( ptask->signal_widget ), "task-notify", // ptask ); break; case VFS_FILE_TASK_QUERY_OVERWRITE: //0; GThread *self = g_thread_self (); //printf("TASK_THREAD = %#x\n", self ); g_mutex_lock( task->mutex ); ptask->query_new_dest = ( char** ) state_data; *ptask->query_new_dest = NULL; ptask->query_cond = g_cond_new(); g_timer_stop( task->timer ); g_cond_wait( ptask->query_cond, task->mutex ); g_cond_free( ptask->query_cond ); ptask->query_cond = NULL; ret = ptask->query_ret; task->last_elapsed = g_timer_elapsed( task->timer, NULL ); task->last_progress = task->progress; task->last_speed = 0; g_timer_continue( task->timer ); g_mutex_unlock( task->mutex ); break; case VFS_FILE_TASK_ERROR: //printf("VFS_FILE_TASK_ERROR\n"); g_mutex_lock( task->mutex ); task->err_count++; //printf(" ptask->item_count = %d\n", task->current_item ); if ( task->type == VFS_FILE_TASK_EXEC ) { task->exec_is_error = TRUE; ret = FALSE; } else if ( ptask->err_mode == PTASK_ERROR_ANY || ( task->error_first && ptask->err_mode == PTASK_ERROR_FIRST ) ) { ret = FALSE; ptask->aborted = TRUE; } ptask->progress_count = 50; // trigger fast display g_mutex_unlock( task->mutex ); if ( xset_get_b( "task_q_pause" ) ) { // pause all queued gdk_threads_enter(); main_task_pause_all_queued( ptask ); gdk_threads_leave(); } break; } return ret; /* return TRUE to continue */ } enum{ RESPONSE_OVERWRITE = 1 << 0, RESPONSE_OVERWRITEALL = 1 << 1, RESPONSE_RENAME = 1 << 2, RESPONSE_SKIP = 1 << 3, RESPONSE_SKIPALL = 1 << 4, RESPONSE_AUTO_RENAME = 1 << 5, RESPONSE_AUTO_RENAME_ALL = 1 << 6, RESPONSE_PAUSE = 1 << 7 }; static gboolean on_query_input_keypress ( GtkWidget *widget, GdkEventKey *event, PtkFileTask* ptask ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { // User pressed enter in rename/overwrite dialog gboolean can_rename; char* new_name = multi_input_get_text( widget ); const char* old_name = ( const char* ) g_object_get_data( G_OBJECT( widget ), "old_name" ); GtkWidget* dlg = gtk_widget_get_toplevel( widget ); if ( !GTK_IS_DIALOG( dlg ) ) return TRUE; if ( new_name && new_name[0] != '\0' && strcmp( new_name, old_name ) ) gtk_dialog_response( GTK_DIALOG( dlg ), RESPONSE_RENAME ); else gtk_dialog_response( GTK_DIALOG( dlg ), RESPONSE_AUTO_RENAME ); g_free( new_name ); return TRUE; } return FALSE; } static void on_multi_input_changed( GtkWidget* input_buf, GtkWidget* query_input ) { char* new_name = multi_input_get_text( query_input ); const char* old_name = ( const char* ) g_object_get_data( G_OBJECT( query_input ), "old_name" ); gboolean can_rename = new_name && ( 0 != strcmp( new_name, old_name ) ); g_free( new_name ); GtkWidget* dlg = gtk_widget_get_toplevel( query_input ); if ( !GTK_IS_DIALOG( dlg ) ) return; GtkWidget* rename_button = (GtkWidget*)g_object_get_data( G_OBJECT( dlg ), "rename_button" ); if ( GTK_IS_WIDGET( rename_button ) ) gtk_widget_set_sensitive( rename_button, can_rename ); gtk_dialog_set_response_sensitive ( GTK_DIALOG( dlg ), RESPONSE_OVERWRITE, !can_rename ); gtk_dialog_set_response_sensitive ( GTK_DIALOG( dlg ), RESPONSE_OVERWRITEALL, !can_rename ); } void query_overwrite_response( GtkDialog *dlg, gint response, PtkFileTask* ptask ) { char* file_name; char* dir_name; char* str; switch ( response ) { case RESPONSE_OVERWRITEALL: vfs_file_task_set_overwrite_mode( ptask->task, VFS_FILE_TASK_OVERWRITE_ALL ); if ( ptask->progress_dlg ) gtk_combo_box_set_active( GTK_COMBO_BOX( ptask->overwrite_combo ), VFS_FILE_TASK_OVERWRITE_ALL ); break; case RESPONSE_OVERWRITE: vfs_file_task_set_overwrite_mode( ptask->task, VFS_FILE_TASK_OVERWRITE ); break; case RESPONSE_SKIPALL: vfs_file_task_set_overwrite_mode( ptask->task, VFS_FILE_TASK_SKIP_ALL ); if ( ptask->progress_dlg ) gtk_combo_box_set_active( GTK_COMBO_BOX( ptask->overwrite_combo ), VFS_FILE_TASK_SKIP_ALL ); break; case RESPONSE_SKIP: vfs_file_task_set_overwrite_mode( ptask->task, VFS_FILE_TASK_SKIP ); break; case RESPONSE_AUTO_RENAME_ALL: vfs_file_task_set_overwrite_mode( ptask->task, VFS_FILE_TASK_AUTO_RENAME ); if ( ptask->progress_dlg ) gtk_combo_box_set_active( GTK_COMBO_BOX( ptask->overwrite_combo ), VFS_FILE_TASK_AUTO_RENAME ); break; case RESPONSE_AUTO_RENAME: case RESPONSE_RENAME: vfs_file_task_set_overwrite_mode( ptask->task, VFS_FILE_TASK_RENAME ); if ( response == RESPONSE_AUTO_RENAME ) { GtkWidget* auto_button = (GtkWidget*)g_object_get_data( G_OBJECT( dlg ), "auto_button" ); str = gtk_widget_get_tooltip_text( auto_button ); } else { GtkWidget* query_input = (GtkWidget*)g_object_get_data( G_OBJECT( dlg ), "query_input" ); str = multi_input_get_text( query_input ); } file_name = g_filename_from_utf8( str, -1, NULL, NULL, NULL ); if ( str && file_name && ptask->task->current_dest ) { dir_name = g_path_get_dirname( ptask->task->current_dest ); *ptask->query_new_dest = g_build_filename( dir_name, file_name, NULL ); g_free( file_name ); g_free( dir_name ); } g_free( str ); break; case RESPONSE_PAUSE: ptk_file_task_pause( ptask, VFS_FILE_TASK_PAUSE ); main_task_start_queued( ptask->task_view, ptask ); vfs_file_task_set_overwrite_mode( ptask->task, VFS_FILE_TASK_RENAME ); ptask->restart_timeout = FALSE; break; case GTK_RESPONSE_DELETE_EVENT: // escape was pressed or window closed case GTK_RESPONSE_CANCEL: ptask->task->abort = TRUE; break; } // save size GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( dlg ), &allocation ); if ( allocation.width && allocation.height ) { gint has_overwrite_btn = GPOINTER_TO_INT( (gpointer)g_object_get_data( G_OBJECT( dlg ), "has_overwrite_btn" ) ); str = g_strdup_printf( "%d", allocation.width ); xset_set( "task_popups", has_overwrite_btn ? "x" : "s", str ); g_free( str ); str = g_strdup_printf( "%d", allocation.height ); xset_set( "task_popups", has_overwrite_btn ? "y" : "z", str ); g_free( str ); } gtk_widget_destroy( GTK_WIDGET( dlg ) ); if ( ptask->query_cond ) { g_mutex_lock( ptask->task->mutex ); ptask->query_ret = (response != GTK_RESPONSE_DELETE_EVENT) && (response != GTK_RESPONSE_CANCEL); //g_cond_broadcast( ptask->query_cond ); g_cond_signal( ptask->query_cond ); g_mutex_unlock( ptask->task->mutex ); } if ( ptask->restart_timeout ) { ptask->timeout = g_timeout_add( 500, ( GSourceFunc ) ptk_file_task_add_main, ( gpointer ) ptask ); } ptask->progress_count = 50; ptask->progress_timer = g_timeout_add( 50, ( GSourceFunc ) on_progress_timer, ptask ); } void on_query_button_press( GtkWidget* widget, PtkFileTask* ptask ) { GtkWidget* dlg = gtk_widget_get_toplevel( widget ); if ( !GTK_IS_DIALOG( dlg ) ) return; GtkWidget* rename_button = (GtkWidget*)g_object_get_data( G_OBJECT( dlg ), "rename_button" ); GtkWidget* auto_button = (GtkWidget*)g_object_get_data( G_OBJECT( dlg ), "auto_button" ); if ( !rename_button || !auto_button ) return; int response; if ( widget == rename_button ) response = RESPONSE_RENAME; else if ( widget == auto_button ) response = RESPONSE_AUTO_RENAME; else response = RESPONSE_AUTO_RENAME_ALL; query_overwrite_response( GTK_DIALOG( dlg ), response, ptask ); } static void query_overwrite( PtkFileTask* ptask ) { //printf("query_overwrite ptask=%#x\n", ptask); const char* title; GtkWidget* dlg; GtkWidget* parent_win; GtkTextIter iter; int response; gboolean has_overwrite_btn = TRUE; gboolean different_files, is_src_dir, is_dest_dir; struct stat64 src_stat, dest_stat; char* from_size_str = NULL; char* to_size_str = NULL; char* from_disp; char* message; if ( ptask->task->type == VFS_FILE_TASK_MOVE ) from_disp = _("Moving from folder:"); else if ( ptask->task->type == VFS_FILE_TASK_LINK ) from_disp = _("Linking from folder:"); else from_disp = _("Copying from folder:"); different_files = ( 0 != g_strcmp0( ptask->task->current_file, ptask->task->current_dest ) ); lstat64( ptask->task->current_file, &src_stat ); lstat64( ptask->task->current_dest, &dest_stat ); is_src_dir = !!S_ISDIR( dest_stat.st_mode ); is_dest_dir = !!S_ISDIR( src_stat.st_mode ); if ( different_files && is_dest_dir == is_src_dir ) { if ( is_dest_dir ) { /* Ask the user whether to overwrite dir content or not */ title = _("Folder Exists"); message = _("Folder already exists. Please rename or select an action."); } else { /* Ask the user whether to overwrite the file or not */ char buf[ 64 ]; char* dest_size; char* dest_time; char* src_size; char* src_time; char* src_rel; const char* src_rel_size; const char* src_rel_time; const char* src_link; const char* dest_link; const char* link_warn; if ( S_ISLNK( src_stat.st_mode ) ) src_link = _("\t( link )"); else src_link = ""; if ( S_ISLNK( dest_stat.st_mode ) ) dest_link = _("\t( link )"); else dest_link = ""; if ( S_ISLNK( src_stat.st_mode ) && !S_ISLNK( dest_stat.st_mode ) ) link_warn = _("\t! overwrite file with link !"); else link_warn = ""; if ( src_stat.st_size == dest_stat.st_size ) { src_size = g_strdup( _("( same size )") ); src_rel_size = NULL; } else { vfs_file_size_to_string( buf, src_stat.st_size ); src_size = g_strdup_printf( _("%s\t( %lu bytes )"), buf, src_stat.st_size ); if ( src_stat.st_size > dest_stat.st_size ) src_rel_size = _("larger"); else src_rel_size = _("smaller"); } if ( src_stat.st_mtime == dest_stat.st_mtime ) { src_time = g_strdup( _("( same time )\t") ); src_rel_time = NULL; } else { strftime( buf, sizeof( buf ), app_settings.date_format, localtime( &src_stat.st_mtime ) ); src_time = g_strdup( buf ); if ( src_stat.st_mtime > dest_stat.st_mtime ) src_rel_time = _("newer"); else src_rel_time = _("older"); } vfs_file_size_to_string( buf, dest_stat.st_size ); dest_size = g_strdup_printf( _("%s\t( %lu bytes )"), buf, dest_stat.st_size ); strftime( buf, sizeof( buf ), app_settings.date_format, localtime( &dest_stat.st_mtime ) ); dest_time = g_strdup( buf ); src_rel = g_strdup_printf( "%s%s%s%s%s", src_rel_time || src_rel_size ? "( " : "", src_rel_time ? src_rel_time : "", src_rel_time && src_rel_size ? " & " : "", src_rel_size ? src_rel_size : "", src_rel_time || src_rel_size ? " ) " : "" ); from_size_str = g_strdup_printf( "\t%s\t%s%s%s%s", src_time, src_size, src_rel ? "\t" : "", src_rel, src_link ); to_size_str = g_strdup_printf( "\t%s\t%s%s", dest_time, dest_size, dest_link[0] ? dest_link : link_warn ); title = _("Filename Exists"); message = _("Filename already exists. Please rename or select an action."); g_free( dest_size ); g_free( dest_time ); g_free( src_size ); g_free( src_time ); g_free( src_rel ); } } else { /* Rename is required */ has_overwrite_btn = FALSE; title = _("Rename Required"); if ( !different_files ) from_disp = _("In folder:"); message = _("Filename already exists. Please rename or select an action."); } // filenames char* ext; char* base_name = g_path_get_basename( ptask->task->current_dest ); char* base_name_disp = g_filename_display_name( base_name ); // auto free char* src_dir = g_path_get_dirname( ptask->task->current_file ); char* src_dir_disp = g_filename_display_name( src_dir ); char* dest_dir = g_path_get_dirname( ptask->task->current_dest ); char* dest_dir_disp = g_filename_display_name( dest_dir ); char* name = get_name_extension( base_name, S_ISDIR( dest_stat.st_mode ), &ext ); char* ext_disp = ext ? g_filename_display_name( ext ): NULL; char* unique_name = vfs_file_task_get_unique_name( dest_dir, name, ext ); char* new_name_plain = unique_name ? g_path_get_basename( unique_name ) : NULL; char* new_name = new_name_plain ? g_filename_display_name( new_name_plain ) : NULL; int pos = ext_disp ? g_utf8_strlen( base_name_disp, -1 ) - g_utf8_strlen( ext_disp, -1 ) - 1 : -1; g_free( base_name ); g_free( name ); g_free( unique_name ); g_free( ext ); g_free( ext_disp ); g_free( src_dir ); g_free( dest_dir ); g_free( new_name_plain ); // create dialog if ( ptask->progress_dlg ) parent_win = GTK_WIDGET( ptask->progress_dlg ); else parent_win = GTK_WIDGET( ptask->parent_window ); dlg = gtk_dialog_new_with_buttons( title, GTK_WINDOW( parent_win ), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, NULL, NULL ); g_signal_connect( G_OBJECT( dlg ), "response", G_CALLBACK( query_overwrite_response ), ptask ); gtk_window_set_resizable( GTK_WINDOW( dlg ), TRUE ); gtk_window_set_title( GTK_WINDOW( dlg ), title ); gtk_window_set_type_hint ( GTK_WINDOW ( dlg ), GDK_WINDOW_TYPE_HINT_DIALOG ); gtk_window_set_gravity ( GTK_WINDOW ( dlg ), GDK_GRAVITY_NORTH_EAST ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); gtk_window_set_role( GTK_WINDOW( dlg ), "overwrite_dialog" ); int width, height; if ( has_overwrite_btn ) { width = xset_get_int( "task_popups", "x" ); height = xset_get_int( "task_popups", "y" ); } else { width = xset_get_int( "task_popups", "s" ); height = xset_get_int( "task_popups", "z" ); } if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( dlg ), width, height ); else if ( !has_overwrite_btn ) gtk_widget_set_size_request( GTK_WIDGET( dlg ), 600, -1 ); GtkWidget* align = gtk_alignment_new( 1, 0, 1 ,1 ); gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 0, 14, 7, 7 ); GtkWidget* vbox = gtk_vbox_new( FALSE, 0 ); gtk_container_add ( GTK_CONTAINER ( align ), vbox ); gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area( GTK_DIALOG( dlg ) ) ), align, TRUE, TRUE, 0 ); // buttons if ( has_overwrite_btn ) { gtk_dialog_add_buttons ( GTK_DIALOG( dlg ), _( "_Overwrite" ), RESPONSE_OVERWRITE, _( "Overwrite _All" ), RESPONSE_OVERWRITEALL, NULL ); } GtkWidget* btn_pause = gtk_dialog_add_button ( GTK_DIALOG( dlg ), _( "_Pause" ), RESPONSE_PAUSE ); gtk_dialog_add_buttons( GTK_DIALOG( dlg ), _( "_Skip" ), RESPONSE_SKIP, _( "S_kip All" ), RESPONSE_SKIPALL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL ); XSet* set = xset_get( "task_pause" ); char* pause_icon = set->icon; if ( !pause_icon ) pause_icon = GTK_STOCK_MEDIA_PAUSE; gtk_button_set_image( GTK_BUTTON( btn_pause ), xset_get_image( pause_icon, GTK_ICON_SIZE_BUTTON ) ); gtk_widget_set_sensitive( btn_pause, !!ptask->task_view ); // labels gtk_box_pack_start( GTK_BOX( vbox ), gtk_label_new( NULL ), FALSE, TRUE, 0 ); GtkWidget* msg = gtk_label_new( NULL ); gtk_label_set_markup( GTK_LABEL( msg ), message ); gtk_misc_set_alignment( GTK_MISC ( msg ), 0, 0 ); gtk_widget_set_can_focus( msg, FALSE ); gtk_box_pack_start( GTK_BOX( vbox ), msg, FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), gtk_label_new( NULL ), FALSE, TRUE, 0 ); GtkWidget* from_label = gtk_label_new( NULL ); gtk_label_set_markup( GTK_LABEL( from_label ), from_disp ); gtk_misc_set_alignment( GTK_MISC ( from_label ), 0, 0 ); gtk_widget_set_can_focus( from_label, FALSE ); gtk_box_pack_start( GTK_BOX( vbox ), from_label, FALSE, TRUE, 0 ); GtkWidget* from_dir = gtk_label_new( src_dir_disp ); gtk_misc_set_alignment( GTK_MISC ( from_dir ), 0, 0 ); gtk_label_set_ellipsize( GTK_LABEL( from_dir ), PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( GTK_LABEL( from_dir ), TRUE ); gtk_box_pack_start( GTK_BOX( vbox ), from_dir, FALSE, TRUE, 0 ); if ( from_size_str ) { GtkWidget* from_size = gtk_label_new( NULL ); gtk_label_set_markup( GTK_LABEL( from_size ), from_size_str ); gtk_misc_set_alignment( GTK_MISC ( from_size ), 0, 1.0 ); gtk_label_set_selectable( GTK_LABEL( from_size ), TRUE ); gtk_box_pack_start( GTK_BOX( vbox ), from_size, FALSE, TRUE, 0 ); } GtkWidget* to_dir = NULL; if ( has_overwrite_btn || different_files ) { gtk_box_pack_start( GTK_BOX( vbox ), gtk_label_new( NULL ), FALSE, TRUE, 0 ); GtkWidget* to_label = gtk_label_new( NULL ); gtk_label_set_markup( GTK_LABEL( to_label ), _( "To folder:" ) ); gtk_misc_set_alignment( GTK_MISC ( to_label ), 0, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), to_label, FALSE, TRUE, 0 ); GtkWidget* to_dir = gtk_label_new( dest_dir_disp ); gtk_misc_set_alignment( GTK_MISC ( to_dir ), 0, 0 ); gtk_label_set_ellipsize( GTK_LABEL( to_dir ), PANGO_ELLIPSIZE_MIDDLE ); gtk_label_set_selectable( GTK_LABEL( to_dir ), TRUE ); gtk_box_pack_start( GTK_BOX( vbox ), to_dir, FALSE, TRUE, 0 ); if ( to_size_str ) { GtkWidget* to_size = gtk_label_new( NULL ); gtk_label_set_markup( GTK_LABEL( to_size ), to_size_str ); gtk_misc_set_alignment( GTK_MISC ( to_size ), 0, 1.0 ); gtk_label_set_selectable( GTK_LABEL( to_size ), TRUE ); gtk_box_pack_start( GTK_BOX( vbox ), to_size, FALSE, TRUE, 0 ); } } gtk_box_pack_start( GTK_BOX( vbox ), gtk_label_new( NULL ), FALSE, TRUE, 0 ); GtkWidget* name_label = gtk_label_new( NULL ); gtk_label_set_markup( GTK_LABEL( name_label ), is_dest_dir ? _( "Folder Name:" ) : _( "Filename:" ) ); gtk_misc_set_alignment( GTK_MISC ( name_label ), 0, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), name_label, FALSE, TRUE, 0 ); // name input GtkWidget* scroll = gtk_scrolled_window_new( NULL, NULL ); GtkWidget* query_input = GTK_WIDGET( multi_input_new( GTK_SCROLLED_WINDOW( scroll ), base_name_disp, TRUE ) ); g_signal_connect( G_OBJECT( query_input ), "key-press-event", G_CALLBACK( on_query_input_keypress ), ptask ); GtkWidget* input_buf = GTK_WIDGET( gtk_text_view_get_buffer( GTK_TEXT_VIEW( query_input ) ) ); gtk_text_buffer_get_iter_at_offset( GTK_TEXT_BUFFER( input_buf ), &iter, pos ); gtk_text_buffer_place_cursor( GTK_TEXT_BUFFER( input_buf ), &iter ); g_signal_connect( G_OBJECT( input_buf ), "changed", G_CALLBACK( on_multi_input_changed ), query_input ); g_object_set_data_full( G_OBJECT( query_input ), "old_name", base_name_disp, g_free ); gtk_widget_set_size_request( GTK_WIDGET( query_input ), -1, 60 ); gtk_widget_set_size_request( GTK_WIDGET( scroll ), -1, 60 ); GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( query_input ) ); GtkTextMark* mark = gtk_text_buffer_get_insert( buf ); gtk_text_view_scroll_to_mark( GTK_TEXT_VIEW( query_input ), mark, 0, TRUE, 0, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( scroll ), TRUE, TRUE, 4 ); // extra buttons GtkWidget* rename_button = gtk_button_new_with_mnemonic( _(" _Rename ") ); gtk_widget_set_sensitive( rename_button, FALSE ); g_signal_connect( G_OBJECT( rename_button ), "clicked", G_CALLBACK( on_query_button_press ), ptask ); GtkWidget* auto_button = gtk_button_new_with_mnemonic( _(" A_uto Rename ") ); g_signal_connect( G_OBJECT( auto_button ), "clicked", G_CALLBACK( on_query_button_press ), ptask ); gtk_widget_set_tooltip_text( auto_button, new_name ); GtkWidget* auto_all_button = gtk_button_new_with_mnemonic( _(" Auto Re_name All ") ); g_signal_connect( G_OBJECT( auto_all_button ), "clicked", G_CALLBACK( on_query_button_press ), ptask ); GtkWidget* hbox = gtk_hbox_new( FALSE, 30 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( rename_button ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( auto_button ), FALSE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( auto_all_button ), FALSE, TRUE, 0 ); align = gtk_alignment_new( 1, 0, 0 ,0 ); gtk_container_add ( GTK_CONTAINER ( align ), GTK_WIDGET( hbox ) ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( align ), FALSE, TRUE, 0 ); g_free( src_dir_disp ); g_free( dest_dir_disp ); g_free( new_name ); g_free( from_size_str ); g_free( to_size_str ); // update displays (mutex is already locked) g_free( ptask->dsp_curspeed ); ptask->dsp_curspeed = g_strdup_printf( _("stalled") ); ptk_file_task_progress_update( ptask ); if ( ptask->task_view && gtk_widget_get_visible( gtk_widget_get_parent( GTK_WIDGET( ptask->task_view ) ) ) ) main_task_view_update_task( ptask ); // show dialog g_object_set_data( G_OBJECT( dlg ), "rename_button", rename_button ); g_object_set_data( G_OBJECT( dlg ), "auto_button", auto_button ); g_object_set_data( G_OBJECT( dlg ), "query_input", query_input ); g_object_set_data( G_OBJECT( dlg ), "has_overwrite_btn", GINT_TO_POINTER( has_overwrite_btn ) ); gtk_widget_show_all( GTK_WIDGET( dlg ) ); gtk_widget_grab_focus( query_input ); // can't run gtk_dialog_run here because it doesn't unlock a low level // mutex when run from inside the timer handler return; } spacefm-1.0.5/src/ptk/ptk-file-task.h000066400000000000000000000061061264770501700173600ustar00rootroot00000000000000/* * C Interface: ptk-file-task * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "vfs-file-task.h" #include #include "settings.h" #ifndef _PTK_FILE_TASK_ #define _PTK_FILE_TASK_ typedef struct _PtkFileTask PtkFileTask; enum { PTASK_ERROR_FIRST, PTASK_ERROR_ANY, PTASK_ERROR_CONT }; struct _PtkFileTask { VFSFileTask* task; GtkWidget* progress_dlg; GtkWidget* progress_btn_close; GtkWidget* progress_btn_stop; GtkWidget* progress_btn_pause; GtkWindow* parent_window; GtkWidget* task_view; GtkLabel* from; GtkLabel* to; GtkLabel* src_dir; GtkLabel* current; GtkProgressBar* progress_bar; GtkLabel* errors; GtkWidget* error_view; GtkScrolledWindow* scroll; GtkWidget* overwrite_combo; GtkWidget* error_combo; GtkTextBuffer* log_buf; GtkTextMark* log_end; gboolean log_appended; guint err_count; char err_mode; /* int percent; off64_t total_size; // Total size of the files to be processed, in bytes off64_t progress; // Total size of current processed files, in btytes guint item_count; guint old_err_count; */ gboolean complete; gboolean aborted; gboolean pause_change; gboolean pause_change_view; gboolean force_scroll; /* */ guint timeout; gboolean restart_timeout; guint progress_timer; char progress_count; GFunc complete_notify; gpointer user_data; gboolean keep_dlg; gboolean pop_detail; char* pop_handler; GCond* query_cond; GCond* query_cond_last; char** query_new_dest; GtkEntry* query_entry; gboolean query_ret; char* dsp_file_count; char* dsp_size_tally; char* dsp_elapsed; char* dsp_curspeed; char* dsp_curest; char* dsp_avgspeed; char* dsp_avgest; }; PtkFileTask* ptk_file_task_new( VFSFileTaskType type, GList* src_files, const char* dest_dir, GtkWindow* parent_window, GtkWidget* task_view ); PtkFileTask* ptk_file_exec_new( const char* item_name, const char* dir, GtkWidget* parent, GtkWidget* task_view ); void ptk_file_task_destroy( PtkFileTask* ptask ); void ptk_file_task_set_complete_notify( PtkFileTask* ptask, GFunc callback, gpointer user_data ); void ptk_file_task_set_chmod( PtkFileTask* ptask, guchar* chmod_actions ); void ptk_file_task_set_chown( PtkFileTask* ptask, uid_t uid, gid_t gid ); void ptk_file_task_set_recursive( PtkFileTask* ptask, gboolean recursive ); void ptk_file_task_run( PtkFileTask* ptask ); gboolean ptk_file_task_cancel( PtkFileTask* ptask ); void ptk_file_task_pause( PtkFileTask* ptask, int state ); void ptk_file_task_progress_open( PtkFileTask* ptask ); #endif spacefm-1.0.5/src/ptk/ptk-handler.c000066400000000000000000004315051264770501700171160ustar00rootroot00000000000000/* * SpaceFM ptk-handler.c * * Copyright (C) 2014-2015 IgnorantGuru * Copyright (C) 2013-2015 OmegaPhil * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #include #include #include #include #include #include #include // WIFEXITED #include "ptk-handler.h" #include "exo-tree-view.h" #include "gtk2-compat.h" enum { HANDLER_JOB_EXPORT, HANDLER_JOB_IMPORT_FILE, HANDLER_JOB_IMPORT_URL, HANDLER_JOB_RESTORE_ALL, HANDLER_JOB_REMOVE }; // Archive handlers treeview model enum enum { COL_XSET_NAME, COL_HANDLER_NAME }; // Archive creation handlers combobox model enum enum { // COL_XSET_NAME COL_HANDLER_EXTENSIONS = 1 }; // xset name prefixes of default handlers const char* handler_def_prefix[] = { "hand_arc_+", "hand_fs_+", "hand_net_+", "hand_f_+" }; // xset name prefixes of custom handlers const char* handler_cust_prefix[] = { "hand_arc_", "hand_fs_", "hand_net_", "hand_f_" }; const char* handler_conf_xset[] = { "arc_conf2", "dev_fs_cnf", "dev_net_cnf", "open_hand" }; const char* dialog_titles[] = { N_("Archive Handlers"), N_("Device Handlers"), N_("Protocol Handlers"), N_("File Handlers") }; const char* dialog_mnemonics[] = { N_("Archive Hand_lers"), N_("Device Hand_lers"), N_("Protocol Hand_lers"), N_("File Hand_lers") }; const char* modes[] = { "archive", "device", "protocol", "file" }; const char* cmds_arc[] = { "compress", "extract", "list" }; const char* cmds_mnt[] = { "mount", "unmount", "info" }; /* don't change this script header or it will break header detection on * existing scripts! */ const char* script_header = "#!/bin/bash\n"; typedef struct { GtkWidget* dlg; GtkWidget* parent; int mode; gboolean changed; PtkFileBrowser* browser; DesktopWindow* desktop; GtkWidget* view_handlers; GtkListStore* list; GtkWidget* chkbtn_handler_enabled; GtkWidget* entry_handler_name; GtkWidget* entry_handler_mime; GtkWidget* entry_handler_extension; GtkWidget* entry_handler_icon; GtkWidget* view_handler_compress; GtkWidget* view_handler_extract; GtkWidget* view_handler_list; GtkTextBuffer* buf_handler_compress; GtkTextBuffer* buf_handler_extract; GtkTextBuffer* buf_handler_list; gboolean compress_changed; gboolean extract_changed; gboolean list_changed; GtkWidget* chkbtn_handler_compress_term; GtkWidget* chkbtn_handler_extract_term; GtkWidget* chkbtn_handler_list_term; GtkWidget* btn_remove; GtkWidget* btn_add; GtkWidget* btn_apply; GtkWidget* btn_up; GtkWidget* btn_down; GtkWidget* btn_ok; GtkWidget* btn_cancel; GtkWidget* btn_defaults; GtkWidget* btn_defaults0; GtkWidget* icon_choose_btn; } HandlerData; typedef struct _Handler { // enabled set->b const char* xset_name; // set->name const char* handler_name; // set->menu_label const char* type; // or whitelist set->s const char* ext; // or blacklist set->x const char* compress_cmd; // or mount (script) gboolean compress_term; // set->in_terminal const char* extract_cmd; // or unmount (script) gboolean extract_term; // or run task file set->keep_terminal const char* list_cmd; // or info (script) gboolean list_term; // set->scroll_lock /* save as custom item set->lock = FALSE if handler equals default, don't save in session set->disable = TRUE icon (file handlers only) set->icon */ } Handler; /* If you add a new handler, add it to (end of ) existing session file handler * list so existing users see the new handler. */ const Handler handlers_arc[]= { /* In compress commands: * %n: First selected filename/dir to archive * %N: All selected filenames/dirs to archive, or (with %O) a single filename * %o: Resulting single archive file * %O: Resulting archive per source file/directory (use changes %N meaning) * * In extract commands: * %x: Archive file to extract * %g: Unique extraction target filename with optional subfolder * %G: Unique extraction target filename, never with subfolder * * In list commands: * %x: Archive to list * * Plus standard bash variables are accepted. */ { "hand_arc_+7z", "7-Zip", "application/x-7z-compressed", "*.7z", "\"$(which 7za || echo 7zr)\" a %o %N", TRUE, "\"$(which 7za || echo 7zr)\" x %x", TRUE, "\"$(which 7za || echo 7zr)\" l %x", TRUE }, { "hand_arc_+rar", "RAR", "application/x-rar", "*.rar *.RAR", "rar a -r %o %N", TRUE, "unrar -o- x %x", TRUE, "unrar lt %x", TRUE }, { "hand_arc_+tar", "Tar", "application/x-tar", "*.tar", "tar -cvf %o %N", FALSE, "tar -xvf %x", FALSE, "tar -tvf %x", TRUE }, { "hand_arc_+tar_bz2", "Tar bzip2", "application/x-bzip-compressed-tar", "*.tar.bz2", "tar -cvjf %o %N", FALSE, "tar -xvjf %x", FALSE, "tar -tvf %x", TRUE }, { "hand_arc_+tar_gz", "Tar Gzip", "application/x-compressed-tar", "*.tar.gz *.tgz", "tar -cvzf %o %N", FALSE, "tar -xvzf %x", FALSE, "tar -tvf %x", TRUE }, { "hand_arc_+tar_xz", "Tar xz", "application/x-xz-compressed-tar", "*.tar.xz *.txz", "tar -cvJf %o %N", FALSE, "tar -xvJf %x", FALSE, "tar -tvf %x", TRUE }, { "hand_arc_+zip", "Zip", "application/x-zip application/zip", "*.zip *.ZIP", "zip -r %o %N", TRUE, "unzip %x", TRUE, "unzip -l %x", TRUE }, { "hand_arc_+gz", "Gzip", "application/x-gzip application/x-gzpdf application/gzip", "*.gz", "gzip -c %N > %O", FALSE, "gzip -cd %x > %G", FALSE, "gunzip -l %x", FALSE }, { "hand_arc_+xz", "XZ", "application/x-xz", "*.xz", "xz -cz %N > %O", FALSE, "xz -cd %x > %G", FALSE, "xz -tv %x", FALSE } }; const Handler handlers_fs[]= { /* In commands: * %v device * %o volume-specific mount options (use in mount command only) * %a mount point, or create auto mount point * Plus standard substitution variables are accepted. * * Whitelist/Blacklist: (prefix list element with '+' if required) * fstype (eg ext3) * dev=DEVICE (/dev/sdd1) * id=UDI * label=VOLUME_LABEL (includes spaces as underscores) * point=MOUNT_POINT * audiocd=0 or 1 * optical=0 or 1 * removable=0 or 1 * mountable=0 or 1 * * eg: +ext3 dev=/dev/sdb* id=ata-* label=Label_With_Spaces */ { "hand_fs_+fuseiso", "fuseiso unmount", "*fuseiso", "", "# Mounting of iso files is performed by fuseiso in a file handler,\n# not this device handler. Right-click on any file and select\n# Open|File Handlers, and select Mount ISO to see this command.", FALSE, "fusermount -u \"%a\"", FALSE, "grep \"%a\" ~/.mtab.fuseiso", FALSE }, { "hand_fs_+udiso", "udevil iso unmount", "+iso9660 +dev=/dev/loop*", "optical=1 removable=1", "# Mounting of iso files is performed by udevil in a file handler,\n# not this device handler. Right-click on any file and select\n# Open|File Handlers, and select Mount ISO to see this command.", FALSE, "# Note: non-iso9660 types will fall through to Default unmount handler\nudevil umount \"%a\"\n", FALSE, INFO_EXAMPLE, FALSE }, { "hand_fs_+def", "Default", "*", "", MOUNT_EXAMPLE, FALSE, UNMOUNT_EXAMPLE, FALSE, INFO_EXAMPLE, FALSE } }; const Handler handlers_net[]= { /* In commands: * %url% $fm_url * %proto% $fm_url_proto * %host% $fm_url_host * %port% $fm_url_port * %user% $fm_url_user * %pass% $fm_url_pass * %path% $fm_url_path * %a mount point, or create auto mount point * $fm_mtab_fs (mounted mtab fs type) * $fm_mtab_url (mounted mtab url) * * Whitelist/Blacklist: (prefix list element with '+' if required) * protocol (eg ssh) * url=URL (ssh://...) * mtab_fs=TYPE (mounted mtab fs type) * mtab_url=URL (mounted mtab url) * host=HOSTNAME * user=USERNAME * point=MOUNT_POINT * * eg: +ssh url=ssh://* */ { "hand_net_+http", "http & webdav", "http https webdav davfs mtab_fs=davfs*", "", "# This handler opens http:// and webdav://\n\n# Set your web browser in Help|Options|Browser\n\n# set missing_davfs=1 if you always want to open http in web browser\n# set missing_davfs=0 if you always want to mount http with davfs\nmissing_davfs=\n\nif [ -z \"$missing_davfs\" ]; then\n grep -s '^allowed_types *=.*davfs' /etc/udevil/udevil.conf 2>/dev/null\n missing_davfs=$? \nfi\nif [ \"$fm_url_proto\" = \"webdav\" ] || [ \"$fm_url_proto\" = \"davfs\" ] || \\\n [ $missing_davfs -eq 0 ]; then\n fm_url=\"${fm_url/webdav:\\/\\//http://}\"\n fm_url=\"${fm_url/davfs:\\/\\//http://}\"\n # attempt davfs mount in terminal\n spacefm -s run-task cmd --terminal \\\n \"udevil mount '$fm_url' || ( echo; echo 'Press Enter to close:'; read )\"\n exit\nfi\n# open in web browser\nspacefm -s run-task web \"$fm_url\"\n", FALSE, "udevil umount \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+ftp", "ftp", "ftp", "", "options=\"nonempty\"\nif [ -n \"%user%\" ]; then\n user=\",user=%user%\"\n [[ -n \"%pass%\" ]] && user=\"$user:%pass%\"\nfi\n[[ -n \"%port%\" ]] && portcolon=:\necho \">>> curlftpfs -o $options$user ftp://%host%${portcolon}%port%%path% %a\"\necho\ncurlftpfs -o $options$user ftp://%host%${portcolon}%port%%path% \"%a\"\n[[ $? -eq 0 ]] && sleep 1 && ls \"%a\" # set error status or wait until ready\n", TRUE, "fusermount -u \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+ssh", "ssh", "ssh mtab_fs=fuse.sshfs", "", "[[ -n \"$fm_url_user\" ]] && fm_url_user=\"${fm_url_user}@\"\n[[ -z \"$fm_url_port\" ]] && fm_url_port=22\necho \">>> sshfs -p $fm_url_port $fm_url_user$fm_url_host:$fm_url_path %a\"\necho\n# Run sshfs through nohup to prevent disconnect on terminal close\nsshtmp=\"$(mktemp --tmpdir spacefm-ssh-output-XXXXXXXX.tmp)\" || exit 1\nnohup sshfs -p $fm_url_port $fm_url_user$fm_url_host:$fm_url_path %a &> \"$sshtmp\"\nerr=$?\n[[ -e \"$sshtmp\" ]] && cat \"$sshtmp\" ; rm -f \"$sshtmp\"\n[[ $err -eq 0 ]] # set error status\n\n# Alternate Method - if enabled, disable nohup line above and\n# uncheck Run In Terminal\n# # Run sshfs in a terminal without SpaceFM task. sshfs disconnects when the\n# # terminal is closed\n# spacefm -s run-task cmd --terminal \"echo 'Connecting to $fm_url'; echo; sshfs -p $fm_url_port $fm_url_user$fm_url_host:$fm_url_path %a; if [ $? -ne 0 ]; then echo; echo '[ Finished ] Press Enter to close'; else echo; echo 'Press Enter to close (closing this window may unmount sshfs)'; fi; read\" & sleep 1\n", TRUE, "fusermount -u \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+mtp", "mtp", "mtp mtab_fs=fuse.jmtpfs mtab_fs=fuse.simple-mtpfs mtab_fs=fuse.mtpfs mtab_fs=fuse.DeviceFs(*", "", "mtpmount=\"$(which jmtpfs || which simple-mtpfs || which mtpfs || which go-mtpfs)\"\nif [ -z \"$mtpmount\" ]; then\n echo \"To mount mtp:// you must install jmtpfs, simple-mtpfs, mtpfs, or go-mtpfs,\"\n echo \"or add a custom protocol handler.\"\n exit 1\nelif [ \"${mtpmount##*/}\" = \"go-mtpfs\" ]; then\n # Run go-mtpfs in background, as it does not exit after mount\n outputtmp=\"$(mktemp --tmpdir spacefm-go-mtpfs-output-XXXXXXXX.tmp)\" || exit 1\n go-mtpfs \"%a\" &> \"$outputtmp\" &\n sleep 2s\n [[ -e \"$outputtmp\" ]] && cat \"$outputtmp\" ; rm -f \"$outputtmp\"\n # set success status only if positive that mountpoint is mountpoint\n mountpoint \"%a\"\nelse\n $mtpmount \"%a\"\nfi\n", FALSE, "fusermount -u \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+gphoto", "ptp", "ptp gphoto mtab_fs=fuse.gphotofs", "", "gphotofs \"%a\"", FALSE, "fusermount -u \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+ifuse", "ifuse", "ifuse ios mtab_fs=fuse.ifuse", "", "ifuse \"%a\"", FALSE, "fusermount -u \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+udevil", "udevil", "ftp http https nfs ssh mtab_fs=fuse.sshfs mtab_fs=davfs*", "", "udevil mount \"$fm_url\"", TRUE, "udevil umount \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+udevilsmb", "udevil-smb", "smb mtab_fs=cifs", "", "UDEVIL_RESULT=\"$(udevil mount \"$fm_url\" | grep Mounted)\"\n[ -n \"$UDEVIL_RESULT\" ] && spacefm -s set new_tab \"${UDEVIL_RESULT#* at }\"", TRUE, "udevil umount \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+fusesmb", "fusesmb", "smb mtab_fs=fuse.fusesmb", "", "fusesmb \"%a\"", TRUE, "fusermount -u \"%a\"", FALSE, INFO_EXAMPLE, FALSE }, { "hand_net_+fuse", "fuse unmount", "mtab_fs=fuse.*", "", "", FALSE, "fusermount -u \"%a\"", FALSE, INFO_EXAMPLE, FALSE } }; const Handler handlers_file[]= { /* %a custom mount point * Plus standard bash variables are accepted. * For file handlers, extract_term is used for Run As Task. */ { "hand_f_+iso", "Mount ISO", "application/x-iso9660-image application/x-iso-image application/x-cd-image", "*.img *.iso *.mdf *.nrg", "# Note: Unmounting of iso files is performed by the fuseiso or udevil device\n# handler, not this file handler.\n\n# Use fuseiso or udevil ?\nfuse=\"$(which fuseiso)\" # remove this line to use udevil only\nif [[ -z \"$fuse\" ]]; then\n udevil=\"$(which udevil)\"\n if [[ -z \"$udevil\" ]]; then\n echo \"You must install fuseiso or udevil to mount ISOs with this handler.\"\n exit 1\n fi\n # use udevil - attempt mount\n uout=\"$($udevil mount \"$fm_file\" 2>&1)\"\n err=$?; echo \"$uout\"\n if [ $err -eq 2 ]; then\n # is file already mounted? (english only)\n point=\"${uout#* is already mounted at }\"\n if [ \"$point\" != \"$uout\" ]; then\n point=\"${point% (*}\"\n if [ -x \"$point\" ]; then\n spacefm -t \"$point\"\n exit 0\n fi\n fi\n fi\n [[ $err -ne 0 ]] && exit 1\n point=\"${uout#Mounted }\"\n [[ \"$point\" = \"$uout\" ]] && exit 0\n point=\"${point##* at }\"\n [[ -d \"$point\" ]] && spacefm \"$point\" &\n exit 0\nfi\n# use fuseiso - is file already mounted?\ncanon=\"$(readlink -f \"$fm_file\" 2>/dev/null)\"\nif [ -n \"$canon\" ]; then\n canon_enc=\"${canon// /\\\\040}\" # encode spaces for mtab+grep\n if grep -q \"^$canon_enc \" ~/.mtab.fuseiso 2>/dev/null; then\n # file is mounted - get mount point\n point=\"$(grep -m 1 \"^$canon_enc \" ~/.mtab.fuseiso \\\n | sed 's/.* \\(.*\\) fuseiso .*/\\1/' )\"\n if [ -x \"$point\" ]; then\n spacefm \"$point\" &\n exit\n fi\n fi\nfi\n# mount & open\nfuseiso %f %a && spacefm %a &\n", FALSE, "", TRUE, // Run As Task "", FALSE } }; // Function prototypes static void on_configure_handler_enabled_check( GtkToggleButton *togglebutton, HandlerData* hnd ); static void restore_defaults( HandlerData* hnd, gboolean all ); static gboolean validate_archive_handler( HandlerData* hnd ); static void on_options_button_clicked( GtkWidget* btn, HandlerData* hnd ); gboolean ptk_handler_command_is_empty( const char* command ) { // test if command contains only comments and whitespace if ( !command ) return TRUE; gchar** lines = g_strsplit( command, "\n", 0 ); if ( !lines ) return TRUE; int i; gboolean found = FALSE; for ( i = 0; lines[i]; i++ ) { g_strstrip( lines[i] ); if ( lines[i][0] != '\0' && lines[i][0] != '#' ) { found = TRUE; break; } } g_strfreev( lines ); return !found; } void ptk_handler_load_text_view( GtkTextView* view, const char* text ) { if ( view ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( view ) ); gtk_text_buffer_set_text( buf, text ? text : "", -1 ); } } char* ptk_handler_get_text_view( GtkTextView* view ) { if ( !view ) return g_strdup( "" ); GtkTextBuffer* buf = gtk_text_view_get_buffer( view ); GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* text = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); if ( !text ) return g_strdup( "" ); return text; } char* ptk_handler_get_command( int mode, int cmd, XSet* handler_set ) { /* if handler->disable, get const command, else get script path if exists */ if ( !handler_set ) return NULL; if ( handler_set->disable ) { // is default handler - get command from const char const Handler* handler; int i, nelements; const char* command; char* str; if ( mode == HANDLER_MODE_ARC ) nelements = G_N_ELEMENTS( handlers_arc ); else if ( mode == HANDLER_MODE_FS ) nelements = G_N_ELEMENTS( handlers_fs ); else if ( mode == HANDLER_MODE_NET ) nelements = G_N_ELEMENTS( handlers_net ); else if ( mode == HANDLER_MODE_FILE ) nelements = G_N_ELEMENTS( handlers_file ); else return NULL; for ( i = 0; i < nelements; i++ ) { if ( mode == HANDLER_MODE_ARC ) handler = &handlers_arc[i]; else if ( mode == HANDLER_MODE_FS ) handler = &handlers_fs[i]; else if ( mode == HANDLER_MODE_NET ) handler = &handlers_net[i]; else handler = &handlers_file[i]; if ( !strcmp( handler->xset_name, handler_set->name ) ) { // found default handler if ( cmd == HANDLER_COMPRESS ) command = handler->compress_cmd; else if ( cmd == HANDLER_EXTRACT ) command = handler->extract_cmd; else command = handler->list_cmd; return g_strdup( command ); } } return NULL; } // get default script path char* def_script = xset_custom_get_script( handler_set, FALSE ); if ( !def_script ) { g_warning( "ptk_handler_get_command unable to get script for custom %s", handler_set->name ); return NULL; } // name script char* str = g_strdup_printf( "/hand-%s-%s.sh", modes[mode], mode == HANDLER_MODE_ARC ? cmds_arc[cmd] : cmds_mnt[cmd] ); char* script = replace_string( def_script, "/exec.sh", str, FALSE ); g_free( str ); g_free( def_script ); if ( g_file_test( script, G_FILE_TEST_EXISTS ) ) return script; g_warning( "ptk_handler_get_command missing script for custom %s", handler_set->name ); g_free( script ); return NULL; } char* ptk_handler_load_script( int mode, int cmd, XSet* handler_set, GtkTextView* view, char** text ) { /* places command in textview buffer or char** */ GtkTextBuffer* buf = NULL; GString* gstr = NULL; if ( text ) *text = NULL; if ( ( !view && !text ) || !handler_set ) return g_strdup( _("Error: unable to load command (internal error)") ); if ( view ) { buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( view ) ); gtk_text_buffer_set_text( buf, "", -1 ); } if ( handler_set->disable ) { // is default handler - get contents from const char char* command = ptk_handler_get_command( mode, cmd, handler_set ); if ( !command ) return g_strdup( _("Error: unable to load command (internal error)") ); if ( view ) gtk_text_buffer_insert_at_cursor( buf, command, -1 ); else *text = command ; return NULL; // success } // get default script path char* def_script = xset_custom_get_script( handler_set, FALSE ); if ( !def_script ) { g_warning( "get_handler_script unable to get script for custom %s", handler_set->name ); return g_strdup( _("Error: unable to save command (can't get script path?)") ); } // name script char* script; char* str; str = g_strdup_printf( "/hand-%s-%s.sh", modes[mode], mode == HANDLER_MODE_ARC ? cmds_arc[cmd] : cmds_mnt[cmd] ); script = replace_string( def_script, "/exec.sh", str, FALSE ); g_free( str ); g_free( def_script ); // load script //gboolean modified = FALSE; char line[ 4096 ]; FILE* file = 0; gboolean start = TRUE; if ( !view ) gstr = g_string_new( "" ); if ( g_file_test( script, G_FILE_TEST_EXISTS ) ) { if ( file = fopen( script, "r" ) ) { // read file one line at a time to prevent splitting UTF-8 characters while ( fgets( line, sizeof( line ), file ) ) { if ( !g_utf8_validate( line, -1, NULL ) ) { fclose( file ); if ( view ) gtk_text_buffer_set_text( buf, "", -1 ); else g_string_erase( gstr, 0, -1 ); //modified = TRUE; g_warning( _("file '%s' contents are not valid UTF-8"), script ); break; } if ( start ) { if ( !strcmp( line, script_header ) || !strcmp( line, "\n" ) ) // skip script header and initial blank lines continue; start = FALSE; } // add line to buffer if ( view ) gtk_text_buffer_insert_at_cursor( buf, line, -1 ); else g_string_append( gstr, line ); } if ( fclose( file ) != 0 ) goto _read_error; } else goto _read_error; } g_free( script ); if ( !view ) *text = g_string_free( gstr, FALSE ); //gtk_text_view_set_editable( GTK_TEXT_VIEW( view ), !file || // have_rw_access( script ) ); //gtk_text_buffer_set_modified( buf, modified ); //command_script_stat( ); return NULL; // success _read_error: if ( file ) fclose( file ); str = g_strdup_printf( "%s '%s':\n\n%s", _("Error reading file"), script, g_strerror( errno ) ); g_free( script ); if ( !view ) g_string_free( gstr, TRUE ); return str; } char* ptk_handler_save_script( int mode, int cmd, XSet* handler_set, GtkTextView* view, const char* command ) { /* writes command in textview buffer or const command to script */ if ( !( handler_set && handler_set->disable == FALSE ) ) return g_strdup( _("Error: unable to save command (internal error)") ); // get default script path char* def_script = xset_custom_get_script( handler_set, FALSE ); if ( !def_script ) { g_warning( "save_handler_script unable to get script for custom %s", handler_set->name ); return g_strdup( _("Error: unable to save command (can't get script path?)") ); } // create parent dir char* parent_dir = g_path_get_dirname( def_script ); if ( !g_file_test( parent_dir, G_FILE_TEST_IS_DIR ) ) { g_mkdir_with_parents( parent_dir, 0700 ); chmod( parent_dir, 0700 ); } g_free( parent_dir ); // name script char* script; char* str; str = g_strdup_printf( "/hand-%s-%s.sh", modes[mode], mode == HANDLER_MODE_ARC ? cmds_arc[cmd] : cmds_mnt[cmd] ); script = replace_string( def_script, "/exec.sh", str, FALSE ); g_free( str ); g_free( def_script ); // get text char* text; if ( view ) { GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( view ) ); GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); text = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); } else if ( command ) text = (char*)command; else text = ""; //printf("WRITE %s\n", script ); // write script FILE* file = 0; if ( file = fopen( script, "w" ) ) { // add default script header #!/bin/bash\n\n if ( fputs( script_header, file ) < 0 ) goto _write_error; if ( fputs( "\n", file ) < 0 ) goto _write_error; if ( text && fputs( text, file ) < 0 ) goto _write_error; if ( !g_str_has_suffix( text, "\n" ) && fputs( "\n", file ) < 0 ) goto _write_error; if ( fclose( file ) != 0 ) goto _write_error; // This script isn't run directly so no need to make executable //if ( chmod( script, S_IRUSR | S_IWUSR | S_IXUSR ) != 0 ) // goto _write_error; } else goto _write_error; g_free( script ); if ( view ) g_free( text ); return NULL; // success _write_error: if ( file ) fclose( file ); str = g_strdup_printf( "%s '%s':\n\n%s", _("Error writing to file"), script, g_strerror( errno ) ); g_free( script ); if ( view ) g_free( text ); return str; } gboolean ptk_handler_values_in_list( const char* list, GSList* values, char** msg ) { /* test for the presence of values in list, using wildcards. * list is space-separated, plus sign (+) indicates required. */ if ( !( list && list[0] ) || !values ) return FALSE; if ( msg ) *msg = NULL; // get elements of list gchar** elements = g_strsplit( list, " ", -1 ); if ( !elements ) return FALSE; // test each element for match int i; GSList* l; char* element; char* ret_msg = NULL; char* str; gboolean required, match; gboolean ret = FALSE; for ( i = 0; elements[i]; i++ ) { if ( !elements[i][0] ) continue; if ( elements[i][0] == '+' ) { // plus prefix indicates this element is required element = elements[i] + 1; required = TRUE; } else { element = elements[i]; required = FALSE; } match = FALSE; for ( l = values; l; l = l->next ) { if ( fnmatch( element, (char*)l->data, 0 ) == 0 ) { // match ret = match = TRUE; break; } } if ( required && !match ) { // no match of required g_strfreev( elements ); g_free( ret_msg ); return FALSE; } if ( msg ) { str = ret_msg; ret_msg = g_strdup_printf( "%s%s%s%s%s", ret_msg ? ret_msg : "", ret_msg ? " " : "", match ? "[" : "", elements[i], match ? "]" : "" ); g_free( str ); } } g_strfreev( elements ); if ( ret && msg ) *msg = ret_msg; else g_free( ret_msg ); return ret; } static gboolean value_in_list( const char* list, const char* value ) { // this function must be FAST - is run multiple times on menu popup gboolean supported = FALSE; char* ptr; char* delim; char ch; // value in space-separated list with wildcards? if ( value && ( ptr = (char*)list ) && ptr[0] ) { while ( 1 ) { while ( ptr[0] == ' ' ) ptr++; if ( !ptr[0] ) break; delim = ptr; while ( delim[0] != ' ' && delim[0] ) delim++; ch = delim[0]; delim[0] = '\0'; // set temporary end of string if ( fnmatch( ptr, value, 0 ) == 0 ) { delim[0] = ch; // restore return TRUE; } delim[0] = ch; // restore if ( ch == '\0' ) break; // is end of string ptr = delim + 1; } } return FALSE; } GSList* ptk_handler_file_has_handlers( int mode, int cmd, const char* path, VFSMimeType* mime_type, gboolean test_cmd, gboolean multiple, gboolean enabled_only ) { /* this function must be FAST - is run multiple times on menu popup * command must be non-empty if test_cmd */ const char* type; char* delim; char* ptr; char* msg; XSet* handler_set; char* under_path; char* new_path = NULL; GSList* handlers = NULL; if ( !path && !mime_type ) return NULL; // Fetching and validating MIME type if provided if ( mime_type ) type = (char*)vfs_mime_type_get_type( mime_type ); else type = NULL; // replace spaces in path with underscores for matching if ( path && strchr( path, ' ' ) ) under_path = new_path = replace_string( path, " ", "_", FALSE ); else under_path = (char*)path; // parsing handlers space-separated list if ( ptr = xset_get_s( handler_conf_xset[mode] ) ) { while ( ptr[0] ) { while ( ptr[0] == ' ' ) ptr++; if ( !ptr[0] ) break; if ( delim = strchr( ptr, ' ' ) ) delim[0] = '\0'; // set temporary end of string // Fetching handler handler_set = xset_is( ptr ); if ( delim ) delim[0] = ' '; // remove temporary end of string // handler supports type or path ? if ( handler_set && ( !enabled_only || handler_set->b == XSET_B_TRUE ) && ( value_in_list( handler_set->s, type ) || value_in_list( handler_set->x, under_path ) ) ) { // test command if ( test_cmd ) { char* command; char* err_msg = ptk_handler_load_script( mode, cmd, handler_set, NULL, &command ); if ( err_msg ) { g_warning( "%s", err_msg ); g_free( err_msg ); } else if ( !ptk_handler_command_is_empty( command ) ) { handlers = g_slist_prepend( handlers, handler_set ); if ( !multiple ) { g_free( command ); break; } } g_free( command ); } else { handlers = g_slist_prepend( handlers, handler_set ); if ( !multiple ) break; } } if ( !delim ) break; ptr = delim + 1; } } g_free( new_path ); return g_slist_reverse( handlers ); } void ptk_handler_add_new_default( int mode, const char* default_name, gboolean start ) { // This function adds a new default handler to the handlers list // If start, it adds it to the start of the list, otherwise end int i, nelements; char* list; char* str; XSet* set; XSet* set_conf; const Handler* handler; if ( mode == HANDLER_MODE_ARC ) nelements = G_N_ELEMENTS( handlers_arc ); else if ( mode == HANDLER_MODE_FS ) nelements = G_N_ELEMENTS( handlers_fs ); else if ( mode == HANDLER_MODE_NET ) nelements = G_N_ELEMENTS( handlers_net ); else if ( mode == HANDLER_MODE_FILE ) nelements = G_N_ELEMENTS( handlers_file ); else return; set_conf = xset_get( handler_conf_xset[mode] ); list = g_strdup( set_conf->s ); if ( !list ) { // create default list - eg sets arc_conf2 ->s list = g_strdup( "" ); } else if ( strstr( list, default_name ) ) { // already exists in list g_free( list ); return; } for ( i = 0; i < nelements; i++ ) { if ( mode == HANDLER_MODE_ARC ) handler = &handlers_arc[i]; else if ( mode == HANDLER_MODE_FS ) handler = &handlers_fs[i]; else if ( mode == HANDLER_MODE_NET ) handler = &handlers_net[i]; else handler = &handlers_file[i]; if ( !g_strcmp0( handler->xset_name, default_name ) ) { // found handler // add default handler to the list if ( start ) { str = list; list = g_strdup_printf( "%s%s%s", handler->xset_name, list[0] ? " " : "", list ); g_free( str ); } else { str = list; list = g_strconcat( list, list[0] ? " " : "", handler->xset_name, NULL ); g_free( str ); } set = xset_is( handler->xset_name ); // create xset if missing if ( !set ) set = xset_get( handler->xset_name ); // set handler values to defaults string_copy_free( &set->menu_label, handler->handler_name ); string_copy_free( &set->s, handler->type ); string_copy_free( &set->x, handler->ext ); set->in_terminal = handler->compress_term ? XSET_B_TRUE : XSET_B_UNSET; // extract in terminal or (file handler) run as task set->keep_terminal = handler->extract_term ? XSET_B_TRUE : XSET_B_UNSET; if ( mode != HANDLER_MODE_FILE ) set->scroll_lock = handler->list_term ? XSET_B_TRUE : XSET_B_UNSET; set->b = XSET_B_TRUE; set->lock = FALSE; // handler equals default, so don't save in session set->disable = TRUE; } } // update handler list g_free( set_conf->s ); set_conf->s = list; } void ptk_handler_add_defaults( int mode, gboolean overwrite, gboolean add_missing ) { int i, nelements; char* list; char* str; XSet* set; XSet* set_conf; const Handler* handler; if ( mode == HANDLER_MODE_ARC ) nelements = G_N_ELEMENTS( handlers_arc ); else if ( mode == HANDLER_MODE_FS ) nelements = G_N_ELEMENTS( handlers_fs ); else if ( mode == HANDLER_MODE_NET ) nelements = G_N_ELEMENTS( handlers_net ); else if ( mode == HANDLER_MODE_FILE ) nelements = G_N_ELEMENTS( handlers_file ); else return; set_conf = xset_get( handler_conf_xset[mode] ); list = g_strdup( set_conf->s ); if ( !list ) { // create default list - eg sets arc_conf2 ->s list = g_strdup( "" ); overwrite = add_missing = TRUE; } /* disabled to allow loading of non-saved default handlers on start else if ( !overwrite && !add_missing ) { g_free( list ); return; } */ for ( i = 0; i < nelements; i++ ) { if ( mode == HANDLER_MODE_ARC ) handler = &handlers_arc[i]; else if ( mode == HANDLER_MODE_FS ) handler = &handlers_fs[i]; else if ( mode == HANDLER_MODE_NET ) handler = &handlers_net[i]; else handler = &handlers_file[i]; if ( add_missing && !strstr( list, handler->xset_name ) ) { // add a missing default handler to the list str = list; list = g_strconcat( list, list[0] ? " " : "", handler->xset_name, NULL ); g_free( str ); } if ( add_missing || strstr( list, handler->xset_name ) ) { set = xset_is( handler->xset_name ); if ( !set || overwrite ) { // create xset if missing if ( !set ) set = xset_get( handler->xset_name ); // set handler values to defaults string_copy_free( &set->menu_label, handler->handler_name ); string_copy_free( &set->s, handler->type ); string_copy_free( &set->x, handler->ext ); set->in_terminal = handler->compress_term ? XSET_B_TRUE : XSET_B_UNSET; // extract in terminal or (file handler) run as task set->keep_terminal = handler->extract_term ? XSET_B_TRUE : XSET_B_UNSET; if ( mode != HANDLER_MODE_FILE ) set->scroll_lock = handler->list_term ? XSET_B_TRUE : XSET_B_UNSET; set->b = XSET_B_TRUE; set->lock = FALSE; // handler equals default, so don't save in session set->disable = TRUE; } } } // update handler list g_free( set_conf->s ); set_conf->s = list; } XSet* add_new_handler( int mode ) { // creates a new xset for a custom handler type XSet* set; char* rand; char* name = NULL; // get a unique new xset name do { g_free( name ); rand = randhex8(); name = g_strconcat( handler_cust_prefix[mode], rand, NULL ); g_free( rand ); } while ( xset_is( name ) ); // create and return the xset set = xset_get( name ); g_free( name ); set->lock = FALSE; return set; } void ptk_handler_import( int mode, GtkWidget* handler_dlg, XSet* set ) { // Adding new handler as a copy of the imported plugin set XSet* new_handler_xset = add_new_handler( mode ); new_handler_xset->b = set->b; new_handler_xset->disable = FALSE; // not default - save in session new_handler_xset->menu_label = g_strdup( set->menu_label ); new_handler_xset->icon = g_strdup( set->icon ); new_handler_xset->s = g_strdup( set->s ); // Mime Type(s) or whitelist new_handler_xset->x = g_strdup( set->x ); // Extension(s) or blacklist new_handler_xset->in_terminal = set->in_terminal; new_handler_xset->keep_terminal = set->keep_terminal; new_handler_xset->scroll_lock = set->scroll_lock; // build copy scripts command char* path_src = g_build_filename( set->plug_dir, set->plug_name, NULL ); char* path_dest = g_build_filename( xset_get_config_dir(), "scripts", NULL ); g_mkdir_with_parents( path_dest, 0700 ); chmod( path_dest, 0700 ); g_free( path_dest ); path_dest = g_build_filename( xset_get_config_dir(), "scripts", new_handler_xset->name, NULL ); char* command = g_strdup_printf( "cp -a %s %s", path_src, path_dest ); g_free( path_src ); // run command char* stdout = NULL; char* stderr = NULL; char* msg; gboolean ret; gint exit_status; printf( "COMMAND=%s\n", command ); ret = g_spawn_command_line_sync( command, &stdout, &stderr, &exit_status, NULL ); g_free( command ); printf( "%s%s", stdout, stderr ); if ( !ret || ( exit_status && WIFEXITED( exit_status ) ) ) { msg = g_strdup_printf( _("An error occured copying command files\n\n%s"), stderr ? stderr : "" ); GDK_THREADS_ENTER(); // due to dialog run causes low level thread lock xset_msg_dialog( NULL, GTK_MESSAGE_ERROR, _("Copy Command Error"), NULL, 0, msg, NULL, NULL ); GDK_THREADS_LEAVE(); g_free( msg ); } if ( stderr ) g_free( stderr ); if ( stdout ) g_free( stdout ); stderr = stdout = NULL; command = g_strdup_printf( "chmod -R go-rwx %s", path_dest ); printf( "COMMAND=%s\n", command ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( command ); g_free( path_dest ); // add to handler list if ( g_strcmp0( xset_get_s( handler_conf_xset[mode] ), "" ) <= 0 ) { // No handlers present - adding new handler xset_set( handler_conf_xset[mode], "s", new_handler_xset->name ); } else { // Adding new handler to handlers gchar* new_handlers_list = g_strdup_printf( "%s %s", new_handler_xset->name, xset_get_s( handler_conf_xset[mode] ) ); xset_set( handler_conf_xset[mode], "s", new_handlers_list ); g_free( new_handlers_list ); } // have handler dialog open? HandlerData* hnd = handler_dlg && GTK_IS_WIDGET( handler_dlg ) ? (HandlerData*)g_object_get_data( G_OBJECT( handler_dlg ), "hnd" ) : NULL; if ( !( hnd && hnd->dlg == handler_dlg && hnd->mode == mode ) ) { // dialog not shown or invalid const char* mode_name; if ( mode == HANDLER_MODE_ARC ) mode_name = _("Archive"); else if ( mode == HANDLER_MODE_FS ) mode_name = _("Device"); else if ( mode == HANDLER_MODE_NET ) mode_name = _("Protocol"); else if ( mode == HANDLER_MODE_FILE ) mode_name = _("File"); else return; // failsafe msg = g_strdup_printf( _("The selected %s Handler file has been imported to the %s Handlers list."), mode_name, mode_name ); GDK_THREADS_ENTER(); // due to dialog run causes low level thread lock xset_msg_dialog( NULL, GTK_MESSAGE_INFO, _("Handler Imported"), NULL, 0, msg, NULL, NULL ); GDK_THREADS_LEAVE(); g_free( msg ); return; } // Have valid handler data and dialog // Obtaining appending iterator for treeview model GtkTreeIter iter; gtk_list_store_prepend( GTK_LIST_STORE( hnd->list ), &iter ); // Adding handler to model const char* disabled = hnd->mode == HANDLER_MODE_FILE ? _("(optional)") : _("(disabled)"); char* dis_name = g_strdup_printf( "%s %s", new_handler_xset->menu_label, new_handler_xset->b == XSET_B_TRUE ? "" : disabled ); gtk_list_store_set( GTK_LIST_STORE( hnd->list ), &iter, COL_XSET_NAME, new_handler_xset->name, COL_HANDLER_NAME, dis_name, -1 ); g_free( dis_name ); // Activating the new handler - the normal loading code // automatically kicks in GtkTreePath* new_handler_path = gtk_tree_model_get_path( GTK_TREE_MODEL( hnd->list ), &iter ); gtk_tree_view_set_cursor( GTK_TREE_VIEW( hnd->view_handlers ), new_handler_path, NULL, FALSE ); gtk_tree_path_free( new_handler_path ); // Making sure the remove and apply buttons are sensitive gtk_widget_set_sensitive( hnd->btn_remove, TRUE ); gtk_widget_set_sensitive( hnd->btn_apply, FALSE ); hnd->changed = hnd->compress_changed = hnd->extract_changed = hnd->list_changed = FALSE; } static void config_load_handler_settings( XSet* handler_xset, gchar* handler_xset_name, const Handler* handler, HandlerData* hnd ) { // handler_xset_name optional if handler_xset passed // Fetching actual xset if only the name has been passed if ( !handler_xset ) if ( !( handler_xset = xset_is( handler_xset_name ) ) ) return; /* At this point a handler exists, so making remove and apply buttons * sensitive as well as the enabled checkbutton */ gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_remove ), TRUE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_apply ), FALSE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_up ), TRUE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_down ), TRUE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->chkbtn_handler_enabled ), TRUE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_defaults0 ), g_str_has_prefix( handler_xset->name, handler_def_prefix[hnd->mode] ) ); /* Configuring widgets with handler settings. Only name, MIME and * extension warrant a warning * Commands are prefixed with '+' when they are ran in a terminal */ int start; gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_enabled ), handler_xset->b == XSET_B_TRUE ); gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_name ), handler_xset->menu_label ? handler_xset->menu_label : "" ); gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_mime ), handler_xset->s ? handler_xset->s : "" ); gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_extension ), handler_xset->x ? handler_xset->x : "" ); if ( hnd->entry_handler_icon ) gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_icon ), handler_xset->icon ? handler_xset->icon : "" ); if ( handler ) { // load commands from const handler ptk_handler_load_text_view( GTK_TEXT_VIEW( hnd->view_handler_compress ), handler->compress_cmd ); if ( hnd->mode != HANDLER_MODE_FILE ) { ptk_handler_load_text_view( GTK_TEXT_VIEW( hnd->view_handler_extract ), handler->extract_cmd ); ptk_handler_load_text_view( GTK_TEXT_VIEW( hnd->view_handler_list ), handler->list_cmd ); } } else { char* err_msg = ptk_handler_load_script( hnd->mode, HANDLER_COMPRESS, handler_xset, GTK_TEXT_VIEW( hnd->view_handler_compress ), NULL ); if ( hnd->mode != HANDLER_MODE_FILE ) { if ( !err_msg ) err_msg = ptk_handler_load_script( hnd->mode, HANDLER_EXTRACT, handler_xset, GTK_TEXT_VIEW( hnd->view_handler_extract ), NULL ); if ( !err_msg ) err_msg = ptk_handler_load_script( hnd->mode, HANDLER_LIST, handler_xset, GTK_TEXT_VIEW( hnd->view_handler_list ), NULL ); } if ( err_msg ) { xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_ERROR, _("Error Loading Handler"), NULL, 0, err_msg, NULL, NULL ); g_free( err_msg ); } } // Run In Terminal checkboxes gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_compress_term ), handler_xset->in_terminal == XSET_B_TRUE ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_extract_term ), handler_xset->keep_terminal == XSET_B_TRUE ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_list_term ), handler_xset->scroll_lock == XSET_B_TRUE ); } static void config_unload_handler_settings( HandlerData* hnd ) { // Disabling main change buttons gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_remove ), FALSE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_up ), FALSE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_down ), FALSE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_defaults0 ), FALSE ); // Unchecking handler if ( hnd->mode != HANDLER_MODE_FILE ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_enabled ), FALSE); // Resetting all widgets gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_name ), "" ); gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_mime ), "" ); gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_extension ), "" ); if ( hnd->entry_handler_icon ) gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_icon ), "" ); ptk_handler_load_text_view( GTK_TEXT_VIEW( hnd->view_handler_compress ), NULL ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_compress_term ), FALSE); ptk_handler_load_text_view( GTK_TEXT_VIEW( hnd->view_handler_extract ), NULL ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_extract_term ), FALSE); ptk_handler_load_text_view( GTK_TEXT_VIEW( hnd->view_handler_list ), NULL ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_list_term ), FALSE); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_apply ), FALSE ); hnd->changed = hnd->compress_changed = hnd->extract_changed = hnd->list_changed = FALSE; } static void populate_archive_handlers( HandlerData* hnd, XSet* def_handler_set ) { /* Fetching available archive handlers (literally gets member s from * the xset) - user-defined order has already been set */ char* archive_handlers_s = xset_get_s( handler_conf_xset[hnd->mode] ); // Making sure archive handlers are available if ( !archive_handlers_s ) return; gchar** archive_handlers = g_strsplit( archive_handlers_s, " ", -1 ); // Debug code //g_message("archive_handlers_s: %s", archive_handlers_s); // Looping for handlers (NULL-terminated list) GtkTreeIter iter; GtkTreeIter def_handler_iter; def_handler_iter.stamp = 0; int i; for (i = 0; archive_handlers[i] != NULL; ++i) { if ( g_str_has_prefix( archive_handlers[i], handler_cust_prefix[hnd->mode] ) ) { // Fetching handler - ignoring invalid handler xset names XSet* handler_xset = xset_is( archive_handlers[i] ); if ( handler_xset ) { // Obtaining appending iterator for treeview model gtk_list_store_append( GTK_LIST_STORE( hnd->list ), &iter ); // Adding handler to model const char* disabled = hnd->mode == HANDLER_MODE_FILE ? _("(optional)") : _("(disabled)"); char* dis_name = g_strdup_printf( "%s %s", handler_xset->menu_label, handler_xset->b == XSET_B_TRUE ? "" : disabled ); gtk_list_store_set( GTK_LIST_STORE( hnd->list ), &iter, COL_XSET_NAME, archive_handlers[i], COL_HANDLER_NAME, dis_name, -1 ); g_free( dis_name ); if ( def_handler_set == handler_xset ) def_handler_iter = iter; } } } // Clearing up archive_handlers g_strfreev( archive_handlers ); // Fetching selection from treeview GtkTreeSelection* selection; selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ); /* Loading first or default archive handler if there is one and no selection is * present */ if ( i > 0 && !gtk_tree_selection_get_selected( GTK_TREE_SELECTION( selection ), NULL, NULL ) ) { GtkTreePath* tree_path; if ( def_handler_set && def_handler_iter.stamp ) tree_path = gtk_tree_model_get_path( GTK_TREE_MODEL( hnd->list ), &def_handler_iter ); else tree_path = gtk_tree_path_new_first(); gtk_tree_selection_select_path( GTK_TREE_SELECTION( selection ), tree_path ); gtk_tree_path_free( tree_path ); } } static void on_configure_drag_end( GtkWidget* widget, GdkDragContext* drag_context, HandlerData* hnd ) { // Regenerating archive handlers list xset // Obtaining iterator pointing at first handler GtkTreeIter iter; if (!gtk_tree_model_get_iter_first( GTK_TREE_MODEL( hnd->list ), &iter )) { // Failed to get iterator - warning user and exiting g_warning("Drag'n'drop end event detected, but unable to get an" " iterator to the start of the model!"); return; } // Looping for all handlers gchar* xset_name; gchar* archive_handlers = g_strdup( "" ); gchar* archive_handlers_temp; do { gtk_tree_model_get( GTK_TREE_MODEL( hnd->list ), &iter, COL_XSET_NAME, &xset_name, -1 ); archive_handlers_temp = archive_handlers; if (g_strcmp0( archive_handlers, "" ) == 0) { archive_handlers = g_strdup( xset_name ); } else { archive_handlers = g_strdup_printf( "%s %s", archive_handlers, xset_name ); } g_free(archive_handlers_temp); g_free( xset_name ); } while(gtk_tree_model_iter_next( GTK_TREE_MODEL( hnd->list ), &iter )); // Saving the new archive handlers list xset_set( handler_conf_xset[hnd->mode], "s", archive_handlers ); g_free(archive_handlers); // Saving settings xset_autosave( FALSE, FALSE ); #if 0 /* Ensuring first handler is selected (otherwise none are) * It seems the last selected row is re-selected if this code is not used. */ if ( widget ) { GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( widget ) ); GtkTreePath *new_path = gtk_tree_path_new_first(); gtk_tree_selection_select_path( GTK_TREE_SELECTION( selection ), new_path ); gtk_tree_path_free( new_path ); } #endif } static void on_configure_button_press( GtkButton* widget, HandlerData* hnd ) { int i; char* err_msg = NULL; char* str; const gchar* handler_name = gtk_entry_get_text( GTK_ENTRY ( hnd->entry_handler_name ) ); const gchar* handler_mime = gtk_entry_get_text( GTK_ENTRY ( hnd->entry_handler_mime ) ); const gchar* handler_extension = gtk_entry_get_text( GTK_ENTRY ( hnd->entry_handler_extension ) ); const gchar* handler_icon; if ( hnd->entry_handler_icon ) handler_icon = gtk_entry_get_text( GTK_ENTRY ( hnd->entry_handler_icon ) ); else handler_icon = NULL; const gboolean handler_compress_term = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( hnd->chkbtn_handler_compress_term ) ); const gboolean handler_extract_term = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( hnd->chkbtn_handler_extract_term ) ); const gboolean handler_list_term = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( hnd->chkbtn_handler_list_term ) ); // Fetching the model and iter from the selection GtkTreeIter it, iter; GtkTreeModel* model; gchar* handler_name_from_model = NULL; // Used to detect renames gchar* xset_name = NULL; XSet* handler_xset = NULL; // Fetching selection from treeview GtkTreeSelection* selection; selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ); // Getting selection fails if there are no handlers if ( gtk_tree_selection_get_selected( GTK_TREE_SELECTION( selection ), &model, &it ) ) { // Succeeded - handlers present // Fetching data from the model based on the iterator. gtk_tree_model_get( model, &it, COL_XSET_NAME, &xset_name, COL_HANDLER_NAME, &handler_name_from_model, -1 ); // Fetching the xset now I have the xset name handler_xset = xset_is(xset_name); // Making sure it has been fetched if (!handler_xset) { g_warning("Unable to fetch the xset for the archive handler '%s'", handler_name); goto _clean_exit; } } if ( GTK_WIDGET( widget ) == GTK_WIDGET( hnd->btn_add ) ) { // Exiting if there is no handler to add if ( !( handler_name && handler_name[0] ) ) goto _clean_exit; // Adding new handler as a copy of the current active handler XSet* new_handler_xset = add_new_handler( hnd->mode ); new_handler_xset->b = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_enabled ) ) ? XSET_B_TRUE : XSET_B_FALSE; new_handler_xset->disable = FALSE; // not default - save in session xset_set_set( new_handler_xset, "label", handler_name ); xset_set_set( new_handler_xset, "s", handler_mime ); // Mime Type(s) or whitelist xset_set_set( new_handler_xset, "x", handler_extension ); // Extension(s) or blacklist new_handler_xset->in_terminal = handler_compress_term ? XSET_B_TRUE : XSET_B_UNSET; new_handler_xset->keep_terminal = handler_extract_term ? XSET_B_TRUE : XSET_B_UNSET; err_msg = ptk_handler_save_script( hnd->mode, HANDLER_COMPRESS, new_handler_xset, GTK_TEXT_VIEW( hnd->view_handler_compress ), NULL ); if ( hnd->mode == HANDLER_MODE_FILE ) { if ( handler_icon ) xset_set_set( new_handler_xset, "icn", handler_icon ); } else { new_handler_xset->scroll_lock = handler_list_term ? XSET_B_TRUE : XSET_B_UNSET; if ( !err_msg ) err_msg = ptk_handler_save_script( hnd->mode, HANDLER_EXTRACT, new_handler_xset, GTK_TEXT_VIEW( hnd->view_handler_extract ), NULL ); if ( !err_msg ) err_msg = ptk_handler_save_script( hnd->mode, HANDLER_LIST, new_handler_xset, GTK_TEXT_VIEW( hnd->view_handler_list ), NULL ); } // Obtaining appending iterator for treeview model gtk_list_store_prepend( GTK_LIST_STORE( hnd->list ), &iter ); // Adding handler to model const char* disabled = hnd->mode == HANDLER_MODE_FILE ? _("(optional)") : _("(disabled)"); char* dis_name = g_strdup_printf( "%s %s", handler_name, new_handler_xset->b == XSET_B_TRUE ? "" : disabled ); gtk_list_store_set( GTK_LIST_STORE( hnd->list ), &iter, COL_XSET_NAME, new_handler_xset->name, COL_HANDLER_NAME, dis_name, -1 ); g_free( dis_name ); // Updating available archive handlers list if (g_strcmp0( xset_get_s( handler_conf_xset[hnd->mode] ), "" ) <= 0) { // No handlers present - adding new handler xset_set( handler_conf_xset[hnd->mode], "s", new_handler_xset->name ); } else { // Adding new handler to handlers gchar* new_handlers_list = g_strdup_printf( "%s %s", new_handler_xset->name, xset_get_s( handler_conf_xset[hnd->mode] ) ); xset_set( handler_conf_xset[hnd->mode], "s", new_handlers_list ); // Clearing up g_free(new_handlers_list); } // Activating the new handler - the normal loading code // automatically kicks in GtkTreePath* new_handler_path = gtk_tree_model_get_path( GTK_TREE_MODEL( model ), &iter ); gtk_tree_view_set_cursor( GTK_TREE_VIEW( hnd->view_handlers ), new_handler_path, NULL, FALSE ); gtk_tree_path_free( new_handler_path ); // Making sure the remove and apply buttons are sensitive gtk_widget_set_sensitive( hnd->btn_remove, TRUE ); gtk_widget_set_sensitive( hnd->btn_apply, FALSE ); /* Validating - remember that IG wants the handler to be saved * even with invalid commands */ validate_archive_handler( hnd ); hnd->changed = hnd->compress_changed = hnd->extract_changed = hnd->list_changed = FALSE; } else if ( GTK_WIDGET( widget ) == GTK_WIDGET( hnd->btn_apply ) ) { // Exiting if apply has been pressed when no handlers are present if (xset_name == NULL) goto _clean_exit; // Validating - to be saved even with invalid commands validate_archive_handler( hnd ); // Determining current handler enabled state gboolean handler_enabled = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( hnd->chkbtn_handler_enabled ) ); // Checking if the handler has been renamed if (g_strcmp0( handler_name_from_model, handler_name ) != 0) { // It has - updating model const char* disabled = hnd->mode == HANDLER_MODE_FILE ? _("(optional)") : _("(disabled)"); char* dis_name = g_strdup_printf( "%s %s", handler_name, handler_enabled ? "" : disabled ); gtk_list_store_set( GTK_LIST_STORE( model ), &it, COL_XSET_NAME, xset_name, COL_HANDLER_NAME, dis_name, -1 ); g_free( dis_name ); } // Saving archive handler handler_xset->b = handler_enabled ? XSET_B_TRUE : XSET_B_UNSET; gboolean was_default = handler_xset->disable; handler_xset->disable = FALSE; // not default - save in session xset_set_set( handler_xset, "label", handler_name ); xset_set_set( handler_xset, "s", handler_mime ); xset_set_set( handler_xset, "x", handler_extension ); handler_xset->in_terminal = handler_compress_term ? XSET_B_TRUE : XSET_B_UNSET; handler_xset->keep_terminal = handler_extract_term ? XSET_B_TRUE : XSET_B_UNSET; if ( hnd->compress_changed || was_default ) { err_msg = ptk_handler_save_script( hnd->mode, HANDLER_COMPRESS, handler_xset, GTK_TEXT_VIEW( hnd->view_handler_compress ), NULL ); } if ( hnd->mode == HANDLER_MODE_FILE ) { if ( handler_icon ) xset_set_set( handler_xset, "icn", handler_icon ); } else { handler_xset->scroll_lock = handler_list_term ? XSET_B_TRUE : XSET_B_UNSET; if ( hnd->extract_changed || was_default ) { str = ptk_handler_save_script( hnd->mode, HANDLER_EXTRACT, handler_xset, GTK_TEXT_VIEW( hnd->view_handler_extract ), NULL ); if ( str ) { if ( !err_msg ) err_msg = str; else g_free( str ); } } if ( hnd->list_changed || was_default ) { str = ptk_handler_save_script( hnd->mode, HANDLER_LIST, handler_xset, GTK_TEXT_VIEW( hnd->view_handler_list ), NULL ); if ( str ) { if ( !err_msg ) err_msg = str; else g_free( str ); } } } hnd->changed = hnd->compress_changed = hnd->extract_changed = hnd->list_changed = FALSE; gtk_widget_set_sensitive( hnd->btn_apply, FALSE ); } else if ( GTK_WIDGET( widget ) == GTK_WIDGET( hnd->btn_remove ) ) { // Exiting if remove has been pressed when no handlers are present if (xset_name == NULL) goto _clean_exit; if ( xset_msg_dialog( hnd->dlg, GTK_MESSAGE_WARNING, _("Confirm Remove"), NULL, GTK_BUTTONS_YES_NO, _("Permanently remove the selected handler?"), NULL, NULL ) != GTK_RESPONSE_YES ) goto _clean_exit; // Updating available archive handlers list - fetching current // handlers const char* archive_handlers_s = xset_get_s( handler_conf_xset[hnd->mode] ); gchar** archive_handlers = archive_handlers_s ? g_strsplit( archive_handlers_s, " ", -1 ) : NULL; gchar* new_archive_handlers_s = g_strdup( "" ); gchar* new_archive_handlers_s_temp; // Looping for handlers (NULL-terminated list) if ( archive_handlers ) { for (i = 0; archive_handlers[i] != NULL; ++i) { // Appending to new archive handlers list when it isnt the // deleted handler - remember that archive handlers are // referred to by their xset names, not handler names!! if (g_strcmp0( archive_handlers[i], xset_name ) != 0) { // Debug code //g_message("archive_handlers[i]: %s\nxset_name: %s", // archive_handlers[i], xset_name); new_archive_handlers_s_temp = new_archive_handlers_s; if (g_strcmp0( new_archive_handlers_s, "" ) == 0) { new_archive_handlers_s = g_strdup( archive_handlers[i] ); } else { new_archive_handlers_s = g_strdup_printf( "%s %s", new_archive_handlers_s, archive_handlers[i] ); } g_free(new_archive_handlers_s_temp); } } } // Finally updating handlers xset_set( handler_conf_xset[hnd->mode], "s", new_archive_handlers_s ); // Deleting xset xset_custom_delete( handler_xset, FALSE ); handler_xset = NULL; // Removing handler from the list gtk_list_store_remove( GTK_LIST_STORE( model ), &it ); if (g_strcmp0( new_archive_handlers_s, "" ) == 0) { /* Making remove and apply buttons insensitive if the last * handler has been removed */ gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_remove ), FALSE ); gtk_widget_set_sensitive( GTK_WIDGET( hnd->btn_apply ), FALSE ); /* Now that all are removed, the user needs sensitive widgets * to be able to add a further handler */ gtk_widget_set_sensitive( hnd->chkbtn_handler_enabled, TRUE ); gtk_widget_set_sensitive( hnd->entry_handler_name, TRUE ); gtk_widget_set_sensitive( hnd->entry_handler_mime, TRUE ); gtk_widget_set_sensitive( hnd->entry_handler_extension, TRUE ); gtk_widget_set_sensitive( hnd->view_handler_compress, TRUE ); gtk_widget_set_sensitive( hnd->view_handler_extract, TRUE ); gtk_widget_set_sensitive( hnd->view_handler_list, TRUE ); gtk_widget_set_sensitive( hnd->chkbtn_handler_compress_term, TRUE ); gtk_widget_set_sensitive( hnd->chkbtn_handler_extract_term, TRUE ); gtk_widget_set_sensitive( hnd->chkbtn_handler_list_term, TRUE ); } else { /* Still remaining handlers - selecting the first one, * otherwise nothing is now selected */ GtkTreePath *new_path = gtk_tree_path_new_first(); gtk_tree_selection_select_path( GTK_TREE_SELECTION( selection ), new_path ); gtk_tree_path_free( new_path ); } // Clearing up g_strfreev( archive_handlers ); g_free( new_archive_handlers_s ); } else if ( GTK_WIDGET( widget ) == GTK_WIDGET( hnd->btn_up ) || GTK_WIDGET( widget ) == GTK_WIDGET( hnd->btn_down ) ) { if ( !handler_xset ) // no row selected goto _clean_exit; // Note: gtk_tree_model_iter_previous requires GTK3, so not using GtkTreeIter iter_prev; if ( !gtk_tree_model_get_iter_first( GTK_TREE_MODEL( model ), &iter ) ) goto _clean_exit; iter_prev = iter; do { // find my it (stamp is NOT unique - compare whole struct) if ( iter.stamp == it.stamp && iter.user_data == it.user_data && iter.user_data2 == it.user_data2 && iter.user_data3 == it.user_data3 ) { if ( GTK_WIDGET( widget ) == GTK_WIDGET( hnd->btn_up ) ) iter = iter_prev; else if ( !gtk_tree_model_iter_next( GTK_TREE_MODEL( model ), &iter ) ) goto _clean_exit; // was last row break; } iter_prev = iter; } while ( gtk_tree_model_iter_next( GTK_TREE_MODEL( model ), &iter ) ); gtk_list_store_swap( GTK_LIST_STORE( model ), &it, &iter ); // save the new list on_configure_drag_end( NULL, NULL, hnd ); } // Saving settings xset_autosave( FALSE, FALSE ); if ( err_msg ) { xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_ERROR, _("Error Saving Handler"), NULL, 0, err_msg, NULL, NULL ); g_free( err_msg ); } _clean_exit: g_free( xset_name ); g_free( handler_name_from_model ); } static void on_configure_changed( GtkTreeSelection* selection, HandlerData* hnd ) { /* This event is triggered when the selected row is changed or no row is * selected at all */ // Fetching the model and iter from the selection GtkTreeIter it; GtkTreeModel* model; if ( !gtk_tree_selection_get_selected( selection, &model, &it ) ) { // User has unselected all rows - removing loaded handler config_unload_handler_settings( hnd ); return; } // Fetching data from the model based on the iterator. gchar* xset_name; gtk_tree_model_get( model, &it, COL_XSET_NAME, &xset_name, -1 ); // Loading new archive handler values config_load_handler_settings( NULL, xset_name, NULL, hnd ); g_free( xset_name ); hnd->changed = hnd->compress_changed = hnd->extract_changed = hnd->list_changed = FALSE; gtk_widget_set_sensitive( hnd->btn_apply, FALSE ); /* Focussing archive handler name * Selects the text rather than just placing the cursor at the start * of the text... */ /*GtkWidget* entry_handler_name = (GtkWidget*)g_object_get_data( G_OBJECT( dlg ), "entry_handler_name" ); gtk_widget_grab_focus( entry_handler_name );*/ } static void on_configure_handler_enabled_check( GtkToggleButton *togglebutton, HandlerData* hnd ) { /* When no handler is selected (i.e. the user selects outside of the * populated handlers list), the enabled checkbox might be checked * off - however the widgets must not be set insensitive when this * happens */ if ( !hnd->changed ) { hnd->changed = TRUE; gtk_widget_set_sensitive( hnd->btn_apply, gtk_widget_get_sensitive( hnd->btn_remove ) ); } if ( hnd->mode == HANDLER_MODE_FILE ) return; // Fetching selection from treeview GtkTreeSelection* selection; selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ); // Exiting if no handler is selected GtkTreeIter it; GtkTreeModel* model; if ( !gtk_tree_selection_get_selected( selection, &model, &it ) ) return; // Fetching current status gboolean enabled = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( togglebutton ) ); // Setting sensitive/insensitive various widgets as appropriate gtk_widget_set_sensitive( hnd->entry_handler_name, enabled ); gtk_widget_set_sensitive( hnd->entry_handler_mime, enabled ); gtk_widget_set_sensitive( hnd->entry_handler_extension, enabled ); gtk_widget_set_sensitive( hnd->view_handler_compress, enabled ); gtk_widget_set_sensitive( hnd->view_handler_extract, enabled ); gtk_widget_set_sensitive( hnd->view_handler_list, enabled ); gtk_widget_set_sensitive( hnd->chkbtn_handler_compress_term, enabled ); gtk_widget_set_sensitive( hnd->chkbtn_handler_extract_term, enabled ); gtk_widget_set_sensitive( hnd->chkbtn_handler_list_term, enabled ); } static gboolean on_handlers_key_press( GtkWidget* widget, GdkEventKey* evt, HandlerData* hnd ) { // Current handler hasn't been changed? if ( !hnd->changed /* was !gtk_widget_get_sensitive( hnd->btn_apply )*/ ) return FALSE; if ( xset_msg_dialog( hnd->dlg, GTK_MESSAGE_QUESTION, _("Apply Changes ?"), NULL, GTK_BUTTONS_YES_NO, _("Apply changes to the current handler?"), NULL, NULL ) == GTK_RESPONSE_YES ) on_configure_button_press( GTK_BUTTON( hnd->btn_apply ), hnd ); else hnd->changed = FALSE; return TRUE; // FALSE doesn't retain key after dialog shown } static gboolean on_handlers_button_press( GtkWidget* view, GdkEventButton* evt, HandlerData* hnd ) { GtkTreeModel* model; GtkTreePath* tree_path = NULL; GtkTreeIter it; GtkTreeIter it_sel; GtkTreeSelection* selection; gboolean item_clicked = FALSE; gboolean ret = FALSE; // get clicked item if ( gtk_tree_view_get_path_at_pos( GTK_TREE_VIEW( view ), evt->x, evt->y, &tree_path, NULL, NULL, NULL ) ) { model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); if ( gtk_tree_model_get_iter( model, &it, tree_path ) ) item_clicked = TRUE; } // Current handler has been changed? if ( gtk_widget_get_sensitive( hnd->btn_apply ) ) { // Query apply changes if ( xset_msg_dialog( hnd->dlg, GTK_MESSAGE_QUESTION, _("Apply Changes ?"), NULL, GTK_BUTTONS_YES_NO, _("Apply changes to the current handler?"), NULL, NULL ) == GTK_RESPONSE_YES ) on_configure_button_press( GTK_BUTTON( hnd->btn_apply ), hnd ); // Move cursor or unselect if ( item_clicked ) // select clicked item gtk_tree_view_set_cursor(GTK_TREE_VIEW( hnd->view_handlers ), tree_path, NULL, FALSE); else if ( selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ) ) // unselect all gtk_tree_selection_unselect_all( selection ); ret = TRUE; } else if ( evt->button == 3 ) { // right click - Move cursor or unselect if ( item_clicked ) // select clicked item gtk_tree_view_set_cursor(GTK_TREE_VIEW( hnd->view_handlers ), tree_path, NULL, FALSE); else if ( selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ) ) // unselect all gtk_tree_selection_unselect_all( selection ); // show menu on_options_button_clicked( NULL, hnd ); ret = TRUE; } if ( tree_path ) gtk_tree_path_free( tree_path ); return ret; } #if 0 /*igcr some duplication here with on_configure_changed() - can you call * on_configure_changed(), or can a single event be used for selection * changed? row-activated is when a row is activated by clicking * or double-clicking, or via keypress space/enter, not merely selected. */ static void on_configure_row_activated( GtkTreeView* view, GtkTreePath* tree_path, GtkTreeViewColumn* col, HandlerData* hnd ) { // This event is triggered when the selected row is changed by the // mouse // Fetching the model from the view GtkTreeModel* model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); // Obtaining an iterator based on the view position GtkTreeIter it; if ( !gtk_tree_model_get_iter( model, &it, tree_path ) ) return; // Fetching data from the model based on the iterator. gchar* xset_name; gtk_tree_model_get( model, &it, COL_XSET_NAME, &xset_name, -1 ); // Loading new archive handler values config_load_handler_settings( NULL, xset_name, NULL, hnd ); g_free( xset_name ); // Focussing archive handler name // Selects the text rather than just placing the cursor at the start // of the text... /*GtkWidget* entry_handler_name = (GtkWidget*)g_object_get_data( G_OBJECT( dlg ), "entry_handler_name" ); gtk_widget_grab_focus( entry_handler_name );*/ } #endif static void restore_defaults( HandlerData* hnd, gboolean all ) { if ( all ) { int response = xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_WARNING, _("Restore Default Handlers"), NULL, GTK_BUTTONS_YES_NO, _("Missing default handlers will be restored.\n\nAlso OVERWRITE ALL EXISTING default handlers?"), NULL, NULL); if ( response != GTK_RESPONSE_YES && response != GTK_RESPONSE_NO ) // dialog was closed with no button pressed - cancel return; ptk_handler_add_defaults( hnd->mode, response == GTK_RESPONSE_YES, TRUE ); /* Reset archive handlers list (this also selects * the first handler and therefore populates the handler widgets) */ gtk_list_store_clear( GTK_LIST_STORE( hnd->list ) ); populate_archive_handlers( hnd, NULL ); } else { // Fetching selection from treeview GtkTreeSelection* selection; selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ); // Exiting if no handler is selected GtkTreeIter it; GtkTreeModel* model; if ( !gtk_tree_selection_get_selected( selection, &model, &it ) ) return; gchar* xset_name; gtk_tree_model_get( model, &it, COL_XSET_NAME, &xset_name, -1 ); // a default handler is selected? if ( !( xset_name && g_str_has_prefix( xset_name, handler_def_prefix[hnd->mode] ) ) ) { g_free( xset_name ); return; } // get default handler int i, nelements; const Handler* handler = NULL; if ( hnd->mode == HANDLER_MODE_ARC ) nelements = G_N_ELEMENTS( handlers_arc ); else if ( hnd->mode == HANDLER_MODE_FS ) nelements = G_N_ELEMENTS( handlers_fs ); else if ( hnd->mode == HANDLER_MODE_NET ) nelements = G_N_ELEMENTS( handlers_net ); else if ( hnd->mode == HANDLER_MODE_FILE ) nelements = G_N_ELEMENTS( handlers_file ); else return; gboolean found_handler = FALSE; for ( i = 0; i < nelements; i++ ) { if ( hnd->mode == HANDLER_MODE_ARC ) handler = &handlers_arc[i]; else if ( hnd->mode == HANDLER_MODE_FS ) handler = &handlers_fs[i]; else if ( hnd->mode == HANDLER_MODE_NET ) handler = &handlers_net[i]; else handler = &handlers_file[i]; if ( !g_strcmp0( handler->xset_name, xset_name ) ) { found_handler = TRUE; break; } } g_free( xset_name ); if ( !found_handler ) return; // create fake xset XSet* set = g_slice_new( XSet ); set->name = (char*)handler->xset_name; set->menu_label = (char*)handler->handler_name; set->s = (char*)handler->type; set->x = (char*)handler->ext; set->in_terminal = handler->compress_term ? XSET_B_TRUE : XSET_B_UNSET; set->keep_terminal = handler->extract_term ? XSET_B_TRUE : XSET_B_UNSET; if ( hnd->mode != HANDLER_MODE_FILE ) set->scroll_lock = handler->list_term ? XSET_B_TRUE : XSET_B_UNSET; set->b = XSET_B_TRUE; set->icon = NULL; // show fake xset values config_load_handler_settings( set, NULL, handler, hnd ); g_slice_free( XSet, set ); } } static gboolean validate_archive_handler( HandlerData* hnd ) { if ( hnd->mode != HANDLER_MODE_ARC ) // only archive handlers currently have validity checks return TRUE; const gchar* handler_name = gtk_entry_get_text( GTK_ENTRY ( hnd->entry_handler_name ) ); const gchar* handler_mime = gtk_entry_get_text( GTK_ENTRY ( hnd->entry_handler_mime ) ); const gchar* handler_extension = gtk_entry_get_text( GTK_ENTRY ( hnd->entry_handler_extension ) ); /* Validating data. Note that data straight from widgets shouldnt * be modified or stored * Note that archive creation also allows for a command to be * saved */ if (g_strcmp0( handler_name, "" ) <= 0) { /* Handler name not set - warning user and exiting. Note * that the created dialog does not have an icon set */ xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_WARNING, _(dialog_titles[hnd->mode]), NULL, FALSE, _("Please enter a valid handler name."), NULL, NULL ); gtk_widget_grab_focus( hnd->entry_handler_name ); return FALSE; } // MIME and Pathname can't both be empty if ( g_strcmp0( handler_mime, "" ) <= 0 && g_strcmp0( handler_extension, "" ) <= 0 ) { xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_WARNING, _(dialog_titles[hnd->mode]), NULL, FALSE, _("Please enter a valid MIME Type or Pathname " "pattern."), NULL, NULL ); gtk_widget_grab_focus( hnd->entry_handler_mime ); return FALSE; } gchar* handler_compress, *handler_extract, *handler_list; handler_compress = ptk_handler_get_text_view( GTK_TEXT_VIEW ( hnd->view_handler_compress ) ); handler_extract = ptk_handler_get_text_view( GTK_TEXT_VIEW ( hnd->view_handler_extract ) ); handler_list = ptk_handler_get_text_view( GTK_TEXT_VIEW ( hnd->view_handler_list ) ); gboolean ret = TRUE; /* Other settings are commands to run in different situations - * since different handlers may or may not need different * commands, empty commands are allowed but if something is given, * relevant substitution characters should be in place */ /* Compression handler validation - remember to maintain this code * in ptk_file_archiver_create too * Checking if a compression command has been entered */ if (g_strcmp0( handler_compress, "" ) != 0 ) { /* It has - making sure all substitution characters are in * place - not mandatory to only have one of the particular * type */ if ( ( !g_strstr_len( handler_compress, -1, "%o" ) && !g_strstr_len( handler_compress, -1, "%O" ) ) || ( !g_strstr_len( handler_compress, -1, "%n" ) && !g_strstr_len( handler_compress, -1, "%N" ) ) ) { xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_WARNING, _(dialog_titles[hnd->mode]), NULL, FALSE, _("The following " "substitution variables should probably be in the " "compression command:\n\n" "One of the following:\n\n" "%%n: First selected file/directory to" " archive\n" "%%N: All selected files/directories to" " archive\n\n" "and one of the following:\n\n" "%%o: Resulting single archive\n" "%%O: Resulting archive per source " "file/directory"), NULL, NULL ); gtk_widget_grab_focus( hnd->view_handler_compress ); ret = FALSE; goto _cleanup; } } if (g_strcmp0( handler_extract, "" ) != 0 && ( !g_strstr_len( handler_extract, -1, "%x" ) )) { /* Not all substitution characters are in place - warning * user and exiting. Note that the created dialog does not * have an icon set */ xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_WARNING, _(dialog_titles[hnd->mode]), NULL, FALSE, _("The following " "variables should probably be in the extraction " "command:\n\n%%x: " "Archive to extract"), NULL, NULL ); gtk_widget_grab_focus( hnd->view_handler_extract ); ret = FALSE; goto _cleanup; } if (g_strcmp0( handler_list, "" ) != 0 && ( !g_strstr_len( handler_list, -1, "%x" ) )) { /* Not all substitution characters are in place - warning * user and exiting. Note that the created dialog does not * have an icon set */ xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_WARNING, _(dialog_titles[hnd->mode]), NULL, FALSE, _("The following " "variables should probably be in the list " "command:\n\n%%x: " "Archive to list"), NULL, NULL ); gtk_widget_grab_focus( hnd->view_handler_list ); ret = FALSE; goto _cleanup; } _cleanup: g_free( handler_compress ); g_free( handler_extract ); g_free( handler_list ); // Validation passed return ret; } void on_textview_font_change( GtkMenuItem* item, HandlerData* hnd ) { char* fontname = xset_get_s( "context_dlg" ); PangoFontDescription* font_desc = fontname ? pango_font_description_from_string( fontname ) : NULL; gtk_widget_modify_font( GTK_WIDGET( hnd->view_handler_compress ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( hnd->view_handler_extract ), font_desc ); gtk_widget_modify_font( GTK_WIDGET( hnd->view_handler_list ), font_desc ); if ( font_desc ) pango_font_description_free( font_desc ); } void on_textview_popup( GtkTextView *input, GtkMenu *menu, HandlerData* hnd ) { // uses same xsets as item-prop.c:on_script_popup() GtkAccelGroup* accel_group = gtk_accel_group_new(); XSet* set = xset_get( "sep_ctxt" ); set->menu_style = XSET_MENU_SEP; set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); set = xset_set_cb( "context_dlg", on_textview_font_change, hnd ); set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); gtk_widget_show_all( GTK_WIDGET( menu ) ); } gboolean on_activate_link( GtkLabel* label, gchar* uri, HandlerData* hnd ) { // click apply to save handler on_configure_button_press( GTK_BUTTON( hnd->btn_apply ), hnd ); // open in editor int action = atoi( uri ); if ( action > HANDLER_LIST || action < 0 ) return TRUE; // Fetching selection from treeview GtkTreeSelection* selection; selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ); // Exiting if no handler is selected GtkTreeIter it; GtkTreeModel* model; if ( !gtk_tree_selection_get_selected( selection, &model, &it ) ) return TRUE; gchar* xset_name = NULL; gtk_tree_model_get( model, &it, COL_XSET_NAME, &xset_name, -1 ); XSet* set = xset_is( xset_name ); g_free( xset_name ); if ( !( set && set->disable == FALSE && set->b == XSET_B_TRUE ) ) return TRUE; char* script = ptk_handler_get_command( hnd->mode, action, set ); if ( !script ) return TRUE; xset_edit( hnd->dlg, script, FALSE, FALSE ); g_free( script ); return TRUE; } static gboolean on_textview_keypress ( GtkWidget *widget, GdkEventKey *event, HandlerData* hnd ) { // also used on dlg keypress if ( ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) ) { int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( keymod == GDK_MOD1_MASK ) { // Alt+Enter == Open Handler Command In Editor if ( widget == hnd->view_handler_compress ) keymod = 0; else if ( widget == hnd->view_handler_extract ) keymod = 1; else if ( widget == hnd->view_handler_list ) keymod = 2; else return FALSE; char* uri = g_strdup_printf( "%d", keymod ); on_activate_link( NULL, uri, hnd ); g_free( uri ); return TRUE; } } else if ( event->keyval == GDK_KEY_F1 ) { // F1 show help int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( keymod == 0 ) { const char* help; if ( hnd->mode == HANDLER_MODE_ARC ) help = "#handlers-arc"; else if ( hnd->mode == HANDLER_MODE_FS ) help = "#handlers-dev"; else if ( hnd->mode == HANDLER_MODE_NET ) help = "#handlers-pro"; else if ( hnd->mode == HANDLER_MODE_FILE ) help = "#handlers-fil"; else help = NULL; xset_show_help( hnd->dlg, NULL, help ); return TRUE; } } return FALSE; } void on_textview_buffer_changed( GtkTextBuffer* buf, HandlerData* hnd ) { if ( buf == hnd->buf_handler_compress && !hnd->compress_changed ) hnd->compress_changed = TRUE; else if ( buf == hnd->buf_handler_extract && !hnd->extract_changed ) hnd->extract_changed = TRUE; if ( buf == hnd->buf_handler_list && !hnd->list_changed ) hnd->list_changed = TRUE; if ( !hnd->changed ) { hnd->changed = TRUE; gtk_widget_set_sensitive( hnd->btn_apply, gtk_widget_get_sensitive( hnd->btn_remove ) ); } } void on_entry_text_insert( GtkEntryBuffer* buffer, guint position, gchar* chars, guint n_chars, HandlerData* hnd ) { if ( !hnd->changed ) { hnd->changed = TRUE; gtk_widget_set_sensitive( hnd->btn_apply, gtk_widget_get_sensitive( hnd->btn_remove ) ); } if ( hnd->entry_handler_icon && gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_icon ) ) == buffer ) { // update icon of icon choose button const char* icon = gtk_entry_get_text( GTK_ENTRY( hnd->entry_handler_icon ) ); gtk_button_set_image( GTK_BUTTON( hnd->icon_choose_btn ), xset_get_image( icon && icon[0] ? icon : GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); } } void on_entry_text_delete( GtkEntryBuffer* buffer, guint position, guint n_chars, HandlerData* hnd ) { on_entry_text_insert( buffer, position, NULL, n_chars, hnd ); } void on_terminal_toggled( GtkToggleButton* togglebutton, HandlerData* hnd ) { if ( !hnd->changed ) { hnd->changed = TRUE; gtk_widget_set_sensitive( hnd->btn_apply, gtk_widget_get_sensitive( hnd->btn_remove ) ); } } static void on_icon_choose_button_clicked( GtkWidget* widget, HandlerData* hnd ) { // get current icon char* new_icon; const char* icon = gtk_entry_get_text( GTK_ENTRY( hnd->entry_handler_icon ) ); new_icon = xset_icon_chooser_dialog( GTK_WINDOW( hnd->dlg ), icon ); if ( new_icon ) { gtk_entry_set_text( GTK_ENTRY( hnd->entry_handler_icon ), new_icon ); g_free( new_icon ); } } void on_option_cb( GtkMenuItem* item, HandlerData* hnd ) { if ( hnd->changed ) on_configure_button_press( GTK_BUTTON( hnd->btn_apply ), hnd ); int job = GPOINTER_TO_INT( g_object_get_data( G_OBJECT( item ), "job" ) ); // Determine handler selected XSet* set_sel = NULL; gchar* xset_name; GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ); GtkTreeIter it; GtkTreeModel* model; if ( gtk_tree_selection_get_selected( selection, &model, &it ) ) { gtk_tree_model_get( model, &it, COL_XSET_NAME, &xset_name, -1 ); set_sel = xset_is( xset_name ); g_free( xset_name ); } // determine job if ( job == HANDLER_JOB_IMPORT_FILE ) {} else if ( job == HANDLER_JOB_IMPORT_URL ) {} else if ( job == HANDLER_JOB_RESTORE_ALL ) { restore_defaults( hnd, TRUE ); return; } else if ( job == HANDLER_JOB_REMOVE ) { on_configure_button_press( GTK_BUTTON( hnd->btn_remove ), hnd ); return; } else if ( job == HANDLER_JOB_EXPORT ) { // export if ( !set_sel ) return; // nothing selected - failsafe if ( g_str_has_prefix( set_sel->name, handler_def_prefix[hnd->mode] ) && set_sel->disable ) { // is an unsaved default handler, click Defaults then Apply to save restore_defaults( hnd, FALSE ); on_configure_button_press( GTK_BUTTON( hnd->btn_apply ), hnd ); if ( set_sel->disable ) return; // failsafe } xset_custom_export( hnd->dlg, NULL, set_sel ); return; } else return; // Import file or URL - get import spec from user char* folder; char* file; if ( job == HANDLER_JOB_IMPORT_FILE ) { // get file path XSet* save = xset_get( "plug_ifile" ); if ( save->s ) //&& g_file_test( save->s, G_FILE_TEST_IS_DIR ) folder = save->s; else { if ( !( folder = xset_get_s( "go_set_default" ) ) ) folder = "/"; } file = xset_file_dialog( GTK_WIDGET( hnd->dlg ), GTK_FILE_CHOOSER_ACTION_OPEN, _("Choose Handler Plugin File"), folder, NULL ); if ( !file ) return; if ( save->s ) g_free( save->s ); save->s = g_path_get_dirname( file ); } else { // Get URL file = NULL; if ( !xset_text_dialog( GTK_WIDGET( hnd->dlg ), _("Enter Handler Plugin URL"), NULL, FALSE, _("Enter SpaceFM Handler Plugin URL:\n\n(wget will be used to download the handler plugin file)"), NULL, NULL, &file, NULL, FALSE, "#handlers-opt-impu" ) || !file || file[0] == '\0' ) return; } // Make Plugin Dir const char* user_tmp = xset_get_user_tmp_dir(); if ( !user_tmp ) { xset_msg_dialog( GTK_WIDGET( hnd->dlg ), GTK_MESSAGE_ERROR, _("Error Creating Temp Directory"), NULL, 0, _("Unable to create temporary directory"), NULL, NULL ); g_free( file ); return; } char* hex8; folder = NULL; while ( !folder || ( folder && g_file_test( folder, G_FILE_TEST_EXISTS ) ) ) { hex8 = randhex8(); if ( folder ) g_free( folder ); folder = g_build_filename( user_tmp, hex8, NULL ); g_free( hex8 ); } // Install plugin install_plugin_file( NULL, hnd->dlg, file, folder, job == HANDLER_JOB_IMPORT_FILE ? 0 : 1, PLUGIN_JOB_COPY, NULL ); g_free( file ); g_free( folder ); } static void on_archive_default( GtkMenuItem *menuitem, XSet* set ) { const char* arcname[] = { "arc_def_open", "arc_def_ex", "arc_def_exto", "arc_def_list" }; int i; for ( i = 0; i < G_N_ELEMENTS( arcname ); i++ ) { if ( !strcmp( set->name, arcname[i] ) ) set->b = XSET_B_TRUE; else xset_set_b( arcname[i], FALSE ); } } static GtkWidget* add_popup_menuitem( GtkWidget* popup, GtkAccelGroup* accel_group, const char* label, const char* image, int job, HandlerData* hnd ) { GtkWidget* item = gtk_image_menu_item_new_with_mnemonic( label ); if ( image ) gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM( item ), xset_get_image( image, GTK_ICON_SIZE_MENU ) ); gtk_container_add ( GTK_CONTAINER ( popup ), item ); g_signal_connect( G_OBJECT( item ), "activate", G_CALLBACK( on_option_cb ), ( gpointer ) hnd ); g_object_set_data( G_OBJECT( item ), "job", GINT_TO_POINTER( job ) ); return item; } static void on_options_button_clicked( GtkWidget* btn, HandlerData* hnd ) { GtkWidget* item; XSet* set; // Determine if a handler is selected GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ); gboolean handler_selected = gtk_tree_selection_get_selected( selection, NULL, NULL ); // build menu GtkWidget* popup = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); if ( !btn ) { // menu is shown from right-click on list item = add_popup_menuitem( popup, accel_group, _("_Remove"), GTK_STOCK_REMOVE, HANDLER_JOB_REMOVE, hnd ); gtk_widget_set_sensitive( item, handler_selected ); } item = add_popup_menuitem( popup, accel_group, _("_Export"), GTK_STOCK_SAVE, HANDLER_JOB_EXPORT, hnd ); gtk_widget_set_sensitive( item, handler_selected ); add_popup_menuitem( popup, accel_group, _("Import _File"), GTK_STOCK_ADD, HANDLER_JOB_IMPORT_FILE, hnd ); add_popup_menuitem( popup, accel_group, _("Import _URL"), GTK_STOCK_NETWORK, HANDLER_JOB_IMPORT_URL, hnd ); add_popup_menuitem( popup, accel_group, _("Restore _Default Handlers"), GTK_STOCK_REVERT_TO_SAVED, HANDLER_JOB_RESTORE_ALL, hnd ); if ( btn ) { // menu is shown from Options button if ( hnd->mode == HANDLER_MODE_ARC ) { // Archive options xset_context_new(); gtk_container_add ( GTK_CONTAINER ( popup ), gtk_separator_menu_item_new() ); set = xset_get( "arc_def_open" ); // do NOT use set = xset_set_cb here or wrong set is passed xset_set_cb( "arc_def_open", on_archive_default, set ); xset_set_ob2( set, NULL, NULL ); XSet* set_radio = set; set = xset_get( "arc_def_ex" ); xset_set_cb( "arc_def_ex", on_archive_default, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "arc_def_exto" ); xset_set_cb( "arc_def_exto", on_archive_default, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "arc_def_list" ); xset_set_cb( "arc_def_list", on_archive_default, set ); xset_set_ob2( set, NULL, set_radio ); set = xset_get( "arc_def_write" ); set->disable = geteuid() == 0 || !xset_get_b( "arc_def_parent" ); // temp remove unwanted items from Archive Defaults submenu set = xset_get( "arc_default" ); char* old_desc = set->desc; set->desc = g_strdup( "arc_def_open arc_def_ex arc_def_exto arc_def_list sep_arc1 arc_def_parent arc_def_write" ); xset_add_menuitem( NULL, hnd->browser, popup, accel_group, set ); g_free( set->desc ); set->desc = old_desc; } else if ( hnd->mode == HANDLER_MODE_FS ) { // Device handler options xset_context_new(); gtk_container_add ( GTK_CONTAINER ( popup ), gtk_separator_menu_item_new() ); xset_add_menuitem( hnd->desktop, hnd->browser, popup, accel_group, xset_get( "dev_mount_options" ) ); } } // show menu gtk_widget_show_all( GTK_WIDGET( popup ) ); g_signal_connect( popup, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time() ); } void ptk_handler_show_config( int mode, DesktopWindow* desktop, PtkFileBrowser* file_browser, XSet* def_handler_set ) { HandlerData* hnd = g_slice_new0( HandlerData ); hnd->mode = mode; /* Create handlers dialog * Extra NULL on the NULL-terminated list to placate an irrelevant * compilation warning */ if ( desktop ) hnd->parent = gtk_widget_get_toplevel( GTK_WIDGET( desktop ) ); else if ( file_browser ) hnd->parent = gtk_widget_get_toplevel( GTK_WIDGET( file_browser->main_window ) ); else hnd->parent = NULL; hnd->browser = file_browser; hnd->desktop = desktop; hnd->dlg = gtk_dialog_new_with_buttons( _(dialog_titles[mode]), hnd->parent ? GTK_WINDOW( hnd->parent ) : NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, NULL, NULL ); gtk_container_set_border_width( GTK_CONTAINER ( hnd->dlg ), 5 ); g_signal_connect( G_OBJECT( hnd->dlg ), "key-press-event", G_CALLBACK( on_textview_keypress ), hnd ); g_object_set_data( G_OBJECT( hnd->dlg ), "hnd", hnd ); // Debug code //g_message( "Parent window title: %s", gtk_window_get_title( GTK_WINDOW( hnd->parent ) ) ); // Forcing dialog icon xset_set_window_icon( GTK_WINDOW( hnd->dlg ) ); // Setting saved dialog size int width = xset_get_int( handler_conf_xset[HANDLER_MODE_ARC], "x" ); int height = xset_get_int( handler_conf_xset[HANDLER_MODE_ARC], "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( hnd->dlg ), width, height ); // Adding the help button but preventing it from taking the focus on click gtk_button_set_focus_on_click( GTK_BUTTON( gtk_dialog_add_button( GTK_DIALOG( hnd->dlg ), GTK_STOCK_HELP, GTK_RESPONSE_HELP ) ), FALSE ); // Adding standard buttons and saving references in the dialog // 'Restore defaults' button has custom text but a stock image hnd->btn_defaults = gtk_dialog_add_button( GTK_DIALOG( hnd->dlg ), _("Opt_ions"), GTK_RESPONSE_NONE ); GtkWidget* btn_defaults_image = xset_get_image( "GTK_STOCK_PROPERTIES", GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( GTK_BUTTON( hnd->btn_defaults ), GTK_WIDGET ( btn_defaults_image ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->btn_defaults ), FALSE ); // use clicked event because menu only shown once from dialog run??? g_signal_connect( G_OBJECT( hnd->btn_defaults ), "clicked", G_CALLBACK( on_options_button_clicked ), hnd ); hnd->btn_defaults0 = gtk_dialog_add_button( GTK_DIALOG( hnd->dlg ), _("Defa_ults"), GTK_RESPONSE_NO ); GtkWidget* btn_defaults_image0 = xset_get_image( "GTK_STOCK_REVERT_TO_SAVED", GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( GTK_BUTTON( hnd->btn_defaults0 ), GTK_WIDGET ( btn_defaults_image0 ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->btn_defaults0 ), FALSE ); hnd->btn_cancel = gtk_dialog_add_button( GTK_DIALOG( hnd->dlg ), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL ); hnd->btn_ok = gtk_dialog_add_button( GTK_DIALOG( hnd->dlg ), GTK_STOCK_OK, GTK_RESPONSE_OK ); // Generating left-hand side of dialog GtkWidget* lbl_handlers = gtk_label_new( NULL ); char* str = g_strdup_printf("%s", _(dialog_mnemonics[mode]) ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handlers ), str ); g_free( str ); gtk_misc_set_alignment( GTK_MISC( lbl_handlers ), 0, 0 ); // Generating the main manager list // Creating model - xset name then handler name hnd->list = gtk_list_store_new( 2, G_TYPE_STRING, G_TYPE_STRING ); // Creating treeview - setting single-click mode (normally this // widget is used for file lists, where double-clicking is the norm // for doing an action) hnd->view_handlers = exo_tree_view_new(); gtk_tree_view_set_model( GTK_TREE_VIEW( hnd->view_handlers ), GTK_TREE_MODEL( hnd->list ) ); // gtk_tree_view_set_model adds a ref g_object_unref( hnd->list ); /*igcr probably doesn't need to be single click, as you're not using row * activation, only selection changed? */ exo_tree_view_set_single_click( ((ExoTreeView*)hnd->view_handlers), TRUE ); gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( hnd->view_handlers ), FALSE ); // Turning the treeview into a scrollable widget GtkWidget* view_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( view_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_container_add( GTK_CONTAINER( view_scroll ), hnd->view_handlers ); // Enabling item reordering (GTK-handled drag'n'drop) gtk_tree_view_set_reorderable( GTK_TREE_VIEW( hnd->view_handlers ), TRUE ); // Connecting treeview callbacks g_signal_connect( G_OBJECT( hnd->view_handlers ), "drag-end", G_CALLBACK( on_configure_drag_end ), hnd ); // g_signal_connect( G_OBJECT( hnd->view_handlers ), "row-activated", // G_CALLBACK( on_configure_row_activated ), // hnd ); g_signal_connect( G_OBJECT( gtk_tree_view_get_selection( GTK_TREE_VIEW( hnd->view_handlers ) ) ), "changed", G_CALLBACK( on_configure_changed ), hnd ); g_signal_connect ( hnd->view_handlers, "button-press-event", G_CALLBACK ( on_handlers_button_press ), hnd ); g_signal_connect ( hnd->view_handlers, "key-press-event", G_CALLBACK ( on_handlers_key_press ), hnd ); // Adding column to the treeview GtkTreeViewColumn* col = gtk_tree_view_column_new(); // Change columns to optimal size whenever the model changes gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_AUTOSIZE ); GtkCellRenderer* renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start( col, renderer, TRUE ); // Tie model data to the column gtk_tree_view_column_add_attribute( col, renderer, "text", COL_HANDLER_NAME); gtk_tree_view_append_column ( GTK_TREE_VIEW( hnd->view_handlers ), col ); // Set column to take all available space - false by default gtk_tree_view_column_set_expand ( col, TRUE ); // Mnemonically attaching treeview to main label gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_handlers ), GTK_WIDGET( hnd->view_handlers ) ); // Treeview widgets hnd->btn_remove = gtk_button_new_with_mnemonic( _("_Remove") ); gtk_button_set_image( GTK_BUTTON( hnd->btn_remove ), xset_get_image( "GTK_STOCK_REMOVE", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->btn_remove ), FALSE ); gtk_widget_set_sensitive( hnd->btn_remove, FALSE ); g_signal_connect( G_OBJECT( hnd->btn_remove ), "clicked", G_CALLBACK( on_configure_button_press ), hnd ); hnd->btn_add = gtk_button_new_with_mnemonic( _("A_dd") ); gtk_button_set_image( GTK_BUTTON( hnd->btn_add ), xset_get_image( "GTK_STOCK_ADD", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->btn_add ), FALSE ); g_signal_connect( G_OBJECT( hnd->btn_add ), "clicked", G_CALLBACK( on_configure_button_press ), hnd ); hnd->btn_apply = gtk_button_new_with_mnemonic( _("Appl_y") ); gtk_button_set_image( GTK_BUTTON( hnd->btn_apply ), xset_get_image( "GTK_STOCK_APPLY", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->btn_apply ), FALSE ); gtk_widget_set_sensitive( hnd->btn_apply, FALSE ); g_signal_connect( G_OBJECT( hnd->btn_apply ), "clicked", G_CALLBACK( on_configure_button_press ), hnd ); hnd->btn_up = gtk_button_new_with_mnemonic( _("U_p") ); gtk_button_set_image( GTK_BUTTON( hnd->btn_up ), xset_get_image( "GTK_STOCK_GO_UP", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->btn_up ), FALSE ); gtk_widget_set_sensitive( hnd->btn_up, FALSE ); g_signal_connect( G_OBJECT( hnd->btn_up ), "clicked", G_CALLBACK( on_configure_button_press ), hnd ); hnd->btn_down = gtk_button_new_with_mnemonic( _("Do_wn") ); gtk_button_set_image( GTK_BUTTON( hnd->btn_down ), xset_get_image( "GTK_STOCK_GO_DOWN", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->btn_down ), FALSE ); gtk_widget_set_sensitive( hnd->btn_down, FALSE ); g_signal_connect( G_OBJECT( hnd->btn_down ), "clicked", G_CALLBACK( on_configure_button_press ), hnd ); // Generating right-hand side of dialog hnd->chkbtn_handler_enabled = gtk_check_button_new_with_mnemonic( mode == HANDLER_MODE_FILE ? _("Ena_ble as a default opener") : _("Ena_ble Handler") ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->chkbtn_handler_enabled ), FALSE ); g_signal_connect( G_OBJECT( hnd->chkbtn_handler_enabled ), "toggled", G_CALLBACK ( on_configure_handler_enabled_check ), hnd ); GtkWidget* lbl_handler_name = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handler_name ), _("_Name:") ), gtk_misc_set_alignment( GTK_MISC( lbl_handler_name ), 0, 0.8 ); GtkWidget* lbl_handler_mime = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handler_mime ), mode == HANDLER_MODE_ARC || mode == HANDLER_MODE_FILE ? _("MIM_E Type:") : _("Whit_elist:") ); gtk_misc_set_alignment( GTK_MISC( lbl_handler_mime ), 0, 0.8 ); GtkWidget* lbl_handler_extension = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handler_extension ), mode == HANDLER_MODE_ARC || mode == HANDLER_MODE_FILE ? _("P_athname:") : _("Bl_acklist:") ); gtk_misc_set_alignment( GTK_MISC( lbl_handler_extension ), 0, 1.0 ); GtkWidget* lbl_handler_icon; if ( mode == HANDLER_MODE_FILE ) { lbl_handler_icon = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handler_icon ), _("_Icon:") ); gtk_misc_set_alignment( GTK_MISC( lbl_handler_icon ), 0, 1.0 ); } else lbl_handler_icon = NULL; GtkWidget* lbl_handler_compress = gtk_label_new( NULL ); if ( mode == HANDLER_MODE_ARC ) str = _("Co_mpress:"); else if ( mode == HANDLER_MODE_FILE ) str = _("Open Co_mmand:"); else str = _("_Mount:"); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handler_compress ), str ); gtk_misc_set_alignment( GTK_MISC( lbl_handler_compress ), 0, 1.0 ); GtkWidget* lbl_handler_extract = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handler_extract ), mode == HANDLER_MODE_ARC ? _("Ex_tract:") : _("Unmoun_t:") ); gtk_misc_set_alignment( GTK_MISC( lbl_handler_extract ), 0, 1.0 ); GtkWidget* lbl_handler_list = gtk_label_new( NULL ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_handler_list ), mode == HANDLER_MODE_ARC ? _("Li_st:") : _("Propertie_s:") ); gtk_misc_set_alignment( GTK_MISC( lbl_handler_list ), 0, 1.0 ); hnd->entry_handler_name = gtk_entry_new(); hnd->entry_handler_mime = gtk_entry_new(); hnd->entry_handler_extension = gtk_entry_new(); if ( mode == HANDLER_MODE_FILE ) { hnd->entry_handler_icon = gtk_entry_new(); hnd->icon_choose_btn = gtk_button_new_with_mnemonic( _("C_hoose") ); gtk_button_set_image( GTK_BUTTON( hnd->icon_choose_btn ), xset_get_image( GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->icon_choose_btn ), FALSE ); #if GTK_CHECK_VERSION (3, 6, 0) // keep this gtk_button_set_always_show_image( GTK_BUTTON( hnd->icon_choose_btn ), TRUE ); #endif } else hnd->entry_handler_icon = hnd->icon_choose_btn = NULL; g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_name ) ) ), "inserted-text", G_CALLBACK( on_entry_text_insert ), hnd ); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_name ) ) ), "deleted-text", G_CALLBACK( on_entry_text_delete ), hnd ); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_mime ) ) ), "inserted-text", G_CALLBACK( on_entry_text_insert ), hnd ); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_mime ) ) ), "deleted-text", G_CALLBACK( on_entry_text_delete ), hnd ); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_extension ) ) ), "inserted-text", G_CALLBACK( on_entry_text_insert ), hnd ); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_extension ) ) ), "deleted-text", G_CALLBACK( on_entry_text_delete ), hnd ); if ( hnd->entry_handler_icon ) { g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_icon ) ) ), "inserted-text", G_CALLBACK( on_entry_text_insert ), hnd ); g_signal_connect( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( hnd->entry_handler_icon ) ) ), "deleted-text", G_CALLBACK( on_entry_text_delete ), hnd ); g_signal_connect( G_OBJECT( hnd->icon_choose_btn ), "clicked", G_CALLBACK( on_icon_choose_button_clicked ), hnd ); } /* Creating new textviews in scrolled windows */ hnd->view_handler_compress = gtk_text_view_new(); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( hnd->view_handler_compress ), GTK_WRAP_WORD_CHAR ); GtkWidget* view_handler_compress_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( view_handler_compress_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_container_add( GTK_CONTAINER( view_handler_compress_scroll ), hnd->view_handler_compress ); g_signal_connect( G_OBJECT( hnd->view_handler_compress ), "key-press-event", G_CALLBACK( on_textview_keypress ), hnd ); hnd->buf_handler_compress = gtk_text_view_get_buffer( GTK_TEXT_VIEW( hnd->view_handler_compress ) ); g_signal_connect( G_OBJECT( hnd->buf_handler_compress ), "changed", G_CALLBACK( on_textview_buffer_changed ), hnd ); hnd->view_handler_extract = gtk_text_view_new(); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( hnd->view_handler_extract ), GTK_WRAP_WORD_CHAR ); GtkWidget* view_handler_extract_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( view_handler_extract_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_container_add( GTK_CONTAINER( view_handler_extract_scroll ), hnd->view_handler_extract ); g_signal_connect( G_OBJECT( hnd->view_handler_extract ), "key-press-event", G_CALLBACK( on_textview_keypress ), hnd ); hnd->buf_handler_extract = gtk_text_view_get_buffer( GTK_TEXT_VIEW( hnd->view_handler_extract ) ); g_signal_connect( G_OBJECT( hnd->buf_handler_extract ), "changed", G_CALLBACK( on_textview_buffer_changed ), hnd ); hnd->view_handler_list = gtk_text_view_new(); gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( hnd->view_handler_list ), GTK_WRAP_WORD_CHAR ); GtkWidget* view_handler_list_scroll = gtk_scrolled_window_new( NULL, NULL ); gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( view_handler_list_scroll ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_container_add( GTK_CONTAINER( view_handler_list_scroll ), hnd->view_handler_list ); g_signal_connect( G_OBJECT( hnd->view_handler_list ), "key-press-event", G_CALLBACK( on_textview_keypress ), hnd ); hnd->buf_handler_list = gtk_text_view_get_buffer( GTK_TEXT_VIEW( hnd->view_handler_list ) ); g_signal_connect( G_OBJECT( hnd->buf_handler_list ), "changed", G_CALLBACK( on_textview_buffer_changed ), hnd ); // set fonts on_textview_font_change( NULL, hnd ); // set textview popup menu event handlers g_signal_connect_after( G_OBJECT( hnd->view_handler_compress ), "populate-popup", G_CALLBACK( on_textview_popup ), hnd ); g_signal_connect_after( G_OBJECT( hnd->view_handler_extract ), "populate-popup", G_CALLBACK( on_textview_popup ), hnd ); g_signal_connect_after( G_OBJECT( hnd->view_handler_list ), "populate-popup", G_CALLBACK( on_textview_popup ), hnd ); // Setting widgets to be activated associated with label mnemonics gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_handler_name ), hnd->entry_handler_name ); gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_handler_mime ), hnd->entry_handler_mime ); gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_handler_extension ), hnd->entry_handler_extension ); gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_handler_compress ), hnd->view_handler_compress ); gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_handler_extract ), hnd->view_handler_extract ); gtk_label_set_mnemonic_widget( GTK_LABEL( lbl_handler_list ), hnd->view_handler_list ); hnd->chkbtn_handler_compress_term = gtk_check_button_new_with_label( _("Run In Terminal") ); hnd->chkbtn_handler_extract_term = gtk_check_button_new_with_label( mode == HANDLER_MODE_FILE ? _("Run As Task") : _("Run In Terminal") ); hnd->chkbtn_handler_list_term = gtk_check_button_new_with_label( _("Run In Terminal") ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->chkbtn_handler_compress_term ), FALSE ); g_signal_connect( G_OBJECT( hnd->chkbtn_handler_compress_term ), "toggled", G_CALLBACK( on_terminal_toggled ), hnd ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->chkbtn_handler_extract_term ), FALSE ); g_signal_connect( G_OBJECT( hnd->chkbtn_handler_extract_term ), "toggled", G_CALLBACK( on_terminal_toggled ), hnd ); gtk_button_set_focus_on_click( GTK_BUTTON( hnd->chkbtn_handler_list_term ), FALSE ); g_signal_connect( G_OBJECT( hnd->chkbtn_handler_list_term ), "toggled", G_CALLBACK( on_terminal_toggled ), hnd ); GtkWidget* lbl_edit0 = gtk_label_new( NULL ); str = g_strdup_printf( "%s", 0, _("Edit") ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_edit0 ), str ); g_free( str ); g_signal_connect( G_OBJECT( lbl_edit0 ), "activate-link", G_CALLBACK( on_activate_link ), hnd ); GtkWidget* lbl_edit1 = gtk_label_new( NULL ); str = g_strdup_printf( "%s", 1, _("Edit") ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_edit1 ), str ); g_free( str ); g_signal_connect( G_OBJECT( lbl_edit1 ), "activate-link", G_CALLBACK( on_activate_link ), hnd ); GtkWidget* lbl_edit2 = gtk_label_new( NULL ); str = g_strdup_printf( "%s", 2, _("Edit") ); gtk_label_set_markup_with_mnemonic( GTK_LABEL( lbl_edit2 ), str ); g_free( str ); g_signal_connect( G_OBJECT( lbl_edit2 ), "activate-link", G_CALLBACK( on_activate_link ), hnd ); /* Creating container boxes - at this point the dialog already comes * with one GtkVBox then inside that a GtkHButtonBox * For the right side of the dialog, standard GtkBox approach fails * to allow precise padding of labels to allow all entries to line up * - so reimplementing with GtkTable. Would many GtkAlignments have * worked? */ GtkWidget* hbox_main = gtk_hbox_new( FALSE, 4 ); GtkWidget* vbox_handlers = gtk_vbox_new( FALSE, 4 ); GtkWidget* hbox_view_buttons = gtk_hbox_new( FALSE, 4 ); GtkWidget* hbox_move_buttons = gtk_hbox_new( FALSE, 4 ); GtkWidget* vbox_settings = gtk_vbox_new( FALSE, 0 ); GtkWidget* tbl_settings = gtk_table_new( 3, mode == HANDLER_MODE_FILE ? 4 : 3, FALSE ); GtkWidget* hbox_compress_header = gtk_hbox_new( FALSE, 4 ); GtkWidget* hbox_extract_header = gtk_hbox_new( FALSE, 4 ); GtkWidget* hbox_list_header = gtk_hbox_new( FALSE, 4 ); /* Packing widgets into boxes * Remember, start and end-ness is broken * vbox_handlers packing must not expand so that the right side can * take the space */ gtk_box_pack_start( GTK_BOX( hbox_main ), GTK_WIDGET( vbox_handlers ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_handlers ), GTK_WIDGET( lbl_handlers ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_main ), GTK_WIDGET( vbox_settings ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_settings ), hnd->chkbtn_handler_enabled, FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_settings ), GTK_WIDGET( tbl_settings ), FALSE, FALSE, 4 ); /* view_handlers isn't added but view_scroll is - view_handlers is * inside view_scroll. No padding added to get it to align with the * enabled widget on the right side */ gtk_box_pack_start( GTK_BOX( vbox_handlers ), GTK_WIDGET( view_scroll ), TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( vbox_handlers ), GTK_WIDGET( hbox_view_buttons ), FALSE, FALSE, 0 ); gtk_box_pack_start( GTK_BOX( vbox_handlers ), GTK_WIDGET( hbox_move_buttons ), FALSE, FALSE, 0 ); gtk_box_pack_start( GTK_BOX( hbox_view_buttons ), GTK_WIDGET( hnd->btn_remove ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_view_buttons ), GTK_WIDGET( gtk_vseparator_new() ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_view_buttons ), GTK_WIDGET( hnd->btn_add ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_view_buttons ), GTK_WIDGET( hnd->btn_apply ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_move_buttons ), GTK_WIDGET( hnd->btn_up ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_move_buttons ), GTK_WIDGET( hnd->btn_down ), TRUE, TRUE, 4 ); gtk_table_set_row_spacing( GTK_TABLE( tbl_settings ), 1, 5 ); gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( lbl_handler_name ), 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( hnd->entry_handler_name ), 1, 4, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( lbl_handler_mime ), 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( hnd->entry_handler_mime ), 1, 4, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( lbl_handler_extension ), 0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( hnd->entry_handler_extension ), 1, 4, 2, 3, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0 ); if ( mode == HANDLER_MODE_FILE ) { gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( lbl_handler_icon ), 0, 1, 3, 4, GTK_FILL, GTK_FILL, 0, 0 ); GtkWidget* hbox_icon = gtk_hbox_new( FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_icon ), GTK_WIDGET( hnd->entry_handler_icon ), TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( hbox_icon ), GTK_WIDGET( hnd->icon_choose_btn ), FALSE, TRUE, 0 ); gtk_table_attach( GTK_TABLE( tbl_settings ), GTK_WIDGET( hbox_icon ), 1, 4, 3, 4, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0 ); } // Make sure widgets do not separate too much vertically gtk_box_set_spacing( GTK_BOX( vbox_settings ), 1 ); // pack_end widgets must not expand to be flush up against the side gtk_box_pack_start( GTK_BOX( vbox_settings ), GTK_WIDGET( hbox_compress_header ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_compress_header ), GTK_WIDGET( lbl_handler_compress ), TRUE, TRUE, 4 ); if ( mode == HANDLER_MODE_FILE ) // for file handlers, extract_term is used for Run As Task gtk_box_pack_start( GTK_BOX( hbox_compress_header ), hnd->chkbtn_handler_extract_term, FALSE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_compress_header ), hnd->chkbtn_handler_compress_term, FALSE, TRUE, 4 ); gtk_box_pack_end( GTK_BOX( hbox_compress_header ), GTK_WIDGET( lbl_edit0 ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_settings ), GTK_WIDGET( view_handler_compress_scroll ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_settings ), GTK_WIDGET( hbox_extract_header ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_extract_header ), GTK_WIDGET( lbl_handler_extract ), TRUE, TRUE, 4 ); if ( mode != HANDLER_MODE_FILE ) gtk_box_pack_start( GTK_BOX( hbox_extract_header ), hnd->chkbtn_handler_extract_term, FALSE, TRUE, 4 ); gtk_box_pack_end( GTK_BOX( hbox_extract_header ), GTK_WIDGET( lbl_edit1 ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_settings ), GTK_WIDGET( view_handler_extract_scroll ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_settings ), GTK_WIDGET( hbox_list_header ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_list_header ), GTK_WIDGET( lbl_handler_list ), TRUE, TRUE, 4 ); gtk_box_pack_start( GTK_BOX( hbox_list_header ), hnd->chkbtn_handler_list_term, FALSE, TRUE, 4 ); gtk_box_pack_end( GTK_BOX( hbox_list_header ), GTK_WIDGET( lbl_edit2 ), FALSE, FALSE, 4 ); gtk_box_pack_start( GTK_BOX( vbox_settings ), GTK_WIDGET( view_handler_list_scroll ), TRUE, TRUE, 4 ); /* Packing boxes into dialog with padding to separate from dialog's * standard buttons at the bottom */ gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area( GTK_DIALOG( hnd->dlg ) ) ), GTK_WIDGET( hbox_main ), TRUE, TRUE, 4 ); // Adding archive handlers to list populate_archive_handlers( hnd, def_handler_set ); // Show All gtk_widget_show_all( GTK_WIDGET( hnd->dlg ) ); if ( mode == HANDLER_MODE_FILE ) { gtk_widget_hide( hbox_extract_header ); gtk_widget_hide( hbox_list_header ); gtk_widget_hide( view_handler_extract_scroll ); gtk_widget_hide( view_handler_list_scroll ); } /* Rendering dialog - while loop is used to deal with standard * buttons that should not cause the dialog to exit */ /*igcr need to handle dialog delete event? */ int response; while ( response = gtk_dialog_run( GTK_DIALOG( hnd->dlg ) ) ) { if ( response == GTK_RESPONSE_OK ) { if ( hnd->changed ) on_configure_button_press( GTK_BUTTON( hnd->btn_apply ), hnd ); break; } if ( response == GTK_RESPONSE_CANCEL ) { break; } else if ( response == GTK_RESPONSE_HELP ) { const char* help; if ( mode == HANDLER_MODE_ARC ) help = "#handlers-arc-archand"; else if ( mode == HANDLER_MODE_FS ) help = "#handlers-dev"; else if ( mode == HANDLER_MODE_NET ) help = "#handlers-pro"; else if ( mode == HANDLER_MODE_FILE ) help = "#handlers-fil"; else help = NULL; xset_show_help( hnd->dlg, NULL, help ); } else if ( response == GTK_RESPONSE_NONE ) { // Options menu requested } else if ( response == GTK_RESPONSE_NO ) { // Restore defaults requested restore_defaults( hnd, FALSE ); } else break; } // Fetching dialog dimensions GtkAllocation allocation; gtk_widget_get_allocation ( GTK_WIDGET( hnd->dlg ), &allocation ); width = allocation.width; height = allocation.height; // Checking if they are valid if ( width && height ) { // They are - saving char* str = g_strdup_printf( "%d", width ); xset_set( handler_conf_xset[HANDLER_MODE_ARC], "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( handler_conf_xset[HANDLER_MODE_ARC], "y", str ); g_free( str ); } // Clearing up dialog gtk_widget_destroy( hnd->dlg ); g_slice_free( HandlerData, hnd ); } spacefm-1.0.5/src/ptk/ptk-handler.h000066400000000000000000000066221264770501700171210ustar00rootroot00000000000000/* * SpaceFM ptk-handler.h * * Copyright (C) 2015 IgnorantGuru * Copyright (C) 2013-2014 OmegaPhil * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #ifndef _PTK_HANDLER_H_ #define _PTK_HANDLER_H_ #include #include #include "settings.h" #include "ptk-file-browser.h" G_BEGIN_DECLS #define MOUNT_EXAMPLE "# Enter mount command or leave blank for auto:\n\n\n# # Examples: (remove # to enable a mount command)\n#\n# # udevil:\n# udevil mount -o '%o' %v\n#\n# # pmount: (does not accept mount options)\n# pmount %v\n#\n# # udisks v2:\n# udisksctl mount -b %v -o '%o'\n#\n# # udisks v1: (enable all three lines!)\n# fm_udisks=`udisks --mount %v --mount-options '%o' 2>&1`\n# echo \"$fm_udisks\"\n# [[ \"$fm_udisks\" = \"${fm_udisks/ount failed:/}\" ]]\n\n" #define UNMOUNT_EXAMPLE "# Enter unmount command or leave blank for auto:\n\n\n# # Examples: (remove # to enable an unmount command)\n#\n# # udevil:\n# udevil umount %v\n#\n# # pmount:\n# pumount %v\n#\n# # udisks v2:\n# udisksctl unmount -b %v\n#\n# # udisks v1: (enable all three lines!)\n# fm_udisks=`udisks --unmount %v 2>&1`\n# echo \"$fm_udisks\"\n# [[ \"$fm_udisks\" = \"${fm_udisks/ount failed:/}\" ]]\n\n" #define INFO_EXAMPLE "# Enter command to show properties or leave blank for auto:\n\n\n# # Example:\n\n# echo MOUNT\n# mount | grep \" on %a \"\n# echo\n# echo PROCESSES\n# /usr/bin/lsof -w \"%a\" | head -n 500\n" enum { HANDLER_COMPRESS, HANDLER_EXTRACT, HANDLER_LIST }; enum { HANDLER_MOUNT, HANDLER_UNMOUNT, HANDLER_PROP }; enum { HANDLER_MODE_ARC, HANDLER_MODE_FS, HANDLER_MODE_NET, HANDLER_MODE_FILE }; void ptk_handler_add_new_default( int mode, const char* default_name, gboolean start ); void ptk_handler_add_defaults( int mode, gboolean overwrite, gboolean add_missing ); void ptk_handler_import( int mode, GtkWidget* handler_dlg, XSet* set ); gboolean ptk_handler_equals_default( XSet* set ); void ptk_handler_show_config( int mode, DesktopWindow* desktop, PtkFileBrowser* file_browser, XSet* def_handler_set ); gboolean ptk_handler_values_in_list( const char* list, GSList* values, char** msg ); XSet* add_new_handler( int mode ); // for settings.c upgrade char* ptk_handler_load_script( int mode, int cmd, XSet* handler_set, GtkTextView* view, char** text ); char* ptk_handler_save_script( int mode, int cmd, XSet* handler_set, GtkTextView* view, const char* command ); char* ptk_handler_get_command( int mode, int cmd, XSet* handler_set ); gboolean ptk_handler_command_is_empty( const char* command ); void ptk_handler_load_text_view( GtkTextView* view, const char* text ); GSList* ptk_handler_file_has_handlers( int mode, int cmd, const char* path, VFSMimeType* mime_type, gboolean test_cmd, gboolean multiple, gboolean enabled_only ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-input-dialog.c000066400000000000000000000053621264770501700200730ustar00rootroot00000000000000/* * C Implementation: ptk-input-dialog * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2005 * * Copyright: See COPYING file that comes with this distribution * */ #include "ptk-input-dialog.h" #include /* * Create a dialog used to prompt the user to input a string. * title: the title of dialog. * prompt: prompt showed to the user */ GtkWidget* ptk_input_dialog_new( const char* title, const char* prompt, const char* default_text, GtkWindow* parent ) { GtkWidget * dlg; GtkWidget* box; GtkWidget* label; GtkWidget* entry; dlg = gtk_dialog_new_with_buttons( title, parent, 0, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL ); gtk_dialog_set_alternative_button_order( GTK_DIALOG(dlg), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1 ); box = gtk_dialog_get_content_area ( GTK_DIALOG(dlg) ); label = gtk_label_new( prompt ); gtk_box_pack_start( GTK_BOX( box ), label, FALSE, FALSE, 4 ); entry = gtk_entry_new(); gtk_entry_set_text( GTK_ENTRY( entry ), default_text ? default_text : "" ); gtk_box_pack_start( GTK_BOX( box ), entry, FALSE, FALSE, 4 ); g_object_set_data( G_OBJECT( dlg ), "prompt", label ); g_object_set_data( G_OBJECT( dlg ), "entry", entry ); gtk_dialog_set_default_response( ( GtkDialog* ) dlg, GTK_RESPONSE_OK ); gtk_entry_set_activates_default ( GTK_ENTRY( entry ), TRUE ); gtk_widget_show_all( box ); return dlg; } /* * Get user input from the text entry of the input dialog. * The returned string should be freed when no longer needed. * input_dialog: the input dialog */ gchar* ptk_input_dialog_get_text( GtkWidget* input_dialog ) { GtkWidget * entry = ptk_input_dialog_get_entry( input_dialog ); return g_strdup( gtk_entry_get_text( GTK_ENTRY( entry ) ) ); } /* * Get the prompt label of the input dialog. * input_dialog: the input dialog */ GtkWidget* ptk_input_dialog_get_label( GtkWidget* input_dialog ) { return GTK_WIDGET( g_object_get_data( G_OBJECT( input_dialog ), "prompt" ) ); } /* * Get the text entry widget of the input dialog. * input_dialog: the input dialog */ GtkWidget* ptk_input_dialog_get_entry( GtkWidget* input_dialog ) { return GTK_WIDGET( g_object_get_data( G_OBJECT( input_dialog ), "entry" ) ); } spacefm-1.0.5/src/ptk/ptk-input-dialog.h000066400000000000000000000025601264770501700200750ustar00rootroot00000000000000/* * C Interface: ptk-input-dialog * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2005 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_INPUT_DIALOG_H_ #define _PTK_INPUT_DIALOG_H_ #include /* * Create a dialog used to prompt the user to input a string. * title: the title of dialog. * prompt: prompt showed to the user */ GtkWidget* ptk_input_dialog_new( const char* title, const char* prompt, const char* default_text, GtkWindow* parent ); /* * Get user input from the text entry of the input dialog. * The returned string should be freed when no longer needed. * widget: the input dialog */ gchar* ptk_input_dialog_get_text( GtkWidget* input_dialog ); /* * Get the prompt label of the input dialog. * input_dialog: the input dialog */ GtkWidget* ptk_input_dialog_get_label( GtkWidget* input_dialog ); /* * Get the text entry widget of the input dialog. * input_dialog: the input dialog */ GtkWidget* ptk_input_dialog_get_entry( GtkWidget* input_dialog ); /* * Used to prompt the user to input a string. * The returned string should be freed when no longer needed. */ /* char* ptk_input_dialog_get_user_input( const char* title, const char* prompt ); */ #endif spacefm-1.0.5/src/ptk/ptk-location-view.c000066400000000000000000006255501264770501700202660ustar00rootroot00000000000000/* * SpaceFM ptk-location-view.c * * Copyright (C) 2015 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * * In SpaceFM, this file was changed extensively, separating bookmarks list * and adding non-HAL device manager features */ #include #include #include #include #include #include #include #include #include /* for realpath */ #include #include "glib-utils.h" /* for g_mkdir_with_parents */ #include "ptk-location-view.h" #include "ptk-utils.h" #include "ptk-file-browser.h" #include "ptk-handler.h" #include "ptk-file-task.h" #include "settings.h" #include "main-window.h" #include "vfs-volume.h" #include "vfs-dir.h" #include "vfs-utils.h" /* for vfs_load_icon */ #include "vfs-app-desktop.h" #include "gtk2-compat.h" static GtkTreeModel* model = NULL; static GtkTreeModel* bookmodel = NULL; static int n_vols = 0; static guint theme_changed = 0; /* GtkIconTheme::"changed" handler */ static gboolean has_desktop_dir = TRUE; static gboolean show_trash_can = FALSE; GdkPixbuf* global_icon_bookmark = NULL; GdkPixbuf* global_icon_submenu = NULL; static void ptk_location_view_init_model( GtkListStore* list ); static void on_volume_event ( VFSVolume* vol, VFSVolumeState state, gpointer user_data ); static void add_volume( VFSVolume* vol, gboolean set_icon ); static void remove_volume( VFSVolume* vol ); static void update_volume( VFSVolume* vol ); static gboolean on_button_press_event( GtkTreeView* view, GdkEventButton* evt, gpointer user_data ); gboolean on_key_press_event( GtkWidget* w, GdkEventKey* event, PtkFileBrowser* file_browser ); static void on_bookmark_model_destroy( gpointer data, GObject* object ); static void on_bookmark_device( GtkMenuItem* item, VFSVolume* vol ); static void on_bookmark_row_inserted( GtkTreeModel* list, GtkTreePath* tree_path, GtkTreeIter* iter, PtkFileBrowser* file_browser ); /* static gboolean update_drag_dest_row( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, gpointer user_data ); static gboolean on_drag_motion( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, gpointer user_data ); static gboolean on_drag_drop( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, gpointer user_data ); static void on_drag_data_received( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data); */ static gboolean try_mount( GtkTreeView* view, VFSVolume* vol ); #ifdef HAVE_HAL static void on_mount( GtkMenuItem* item, VFSVolume* vol ); #else static void on_open_tab( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ); static void on_open( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ); #endif enum { COL_ICON = 0, COL_NAME, COL_PATH, COL_DATA, N_COLS }; typedef struct _AutoOpen { PtkFileBrowser* file_browser; char* device_file; dev_t devnum; char* mount_point; gboolean keep_point; int job; }AutoOpen; gboolean volume_is_visible( VFSVolume* vol ); gboolean run_command( char* command, char** output ); void update_all(); // do not translate - bash security const char* data_loss_overwrite = "DATA LOSS WARNING - overwriting"; const char* type_yes_to_proceed = "Type yes and press Enter to proceed, or no to cancel"; const char* press_enter_to_close = "[ Finished ] Press Enter to close"; /* Drag & Drop/Clipboard targets */ static GtkTargetEntry drag_targets[] = { {"text/uri-list", 0 , 0 } }; static void show_busy( GtkWidget* view ) { GtkWidget* toplevel; GdkCursor* cursor; toplevel = gtk_widget_get_toplevel( GTK_WIDGET(view) ); cursor = gdk_cursor_new_for_display( gtk_widget_get_display(GTK_WIDGET( view )), GDK_WATCH ); gdk_window_set_cursor( gtk_widget_get_window ( toplevel ), cursor ); gdk_cursor_unref( cursor ); /* update the GUI */ while (gtk_events_pending ()) gtk_main_iteration (); } static void show_ready( GtkWidget* view ) { GtkWidget* toplevel; toplevel = gtk_widget_get_toplevel( GTK_WIDGET(view) ); gdk_window_set_cursor( gtk_widget_get_window ( toplevel ), NULL ); } static void on_model_destroy( gpointer data, GObject* object ) { GtkIconTheme* icon_theme; vfs_volume_remove_callback( on_volume_event, (gpointer)object ); model = NULL; n_vols = 0; icon_theme = gtk_icon_theme_get_default(); g_signal_handler_disconnect( icon_theme, theme_changed ); } void update_volume_icons() { GtkIconTheme* icon_theme; GtkTreeIter it; GdkPixbuf* icon; VFSVolume* vol; int i; if ( !model ) return; //GtkListStore* list = GTK_LIST_STORE( model ); icon_theme = gtk_icon_theme_get_default(); int icon_size = app_settings.small_icon_size; if ( icon_size > PANE_MAX_ICON_SIZE ) icon_size = PANE_MAX_ICON_SIZE; if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_DATA, &vol, -1 ); if ( vol ) { if ( vfs_volume_get_icon( vol ) ) icon = vfs_load_icon ( icon_theme, vfs_volume_get_icon( vol ), icon_size ); else icon = NULL; gtk_list_store_set( GTK_LIST_STORE( model ), &it, COL_ICON, icon, -1 ); if ( icon ) g_object_unref( icon ); } } while ( gtk_tree_model_iter_next( model, &it ) ); } } void update_all_icons() { update_volume_icons(); // dev_icon_network is used by bookmark view main_window_update_all_bookmark_views(); } #ifndef HAVE_HAL void update_change_detection() { const GList* l; int p, n, i; PtkFileBrowser* file_browser; GtkNotebook* notebook; FMMainWindow* a_window; const char* pwd; // update all windows/all panels/all browsers for ( l = fm_main_window_get_all(); l; l = l->next ) { a_window = FM_MAIN_WINDOW( l->data ); for ( p = 1; p < 5; p++ ) { notebook = GTK_NOTEBOOK( a_window->panel[p-1] ); n = gtk_notebook_get_n_pages( notebook ); for ( i = 0; i < n; ++i ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( notebook, i ) ); if ( file_browser && ( pwd = ptk_file_browser_get_cwd( file_browser ) ) ) { // update current dir change detection file_browser->dir->avoid_changes = vfs_volume_dir_avoid_changes( pwd ); // update thumbnail visibility ptk_file_browser_show_thumbnails( file_browser, app_settings.show_thumbnail ? app_settings.max_thumb_size : 0 ); } } } } } void update_all() { const GList* l; VFSVolume* vol; GtkTreeIter it; VFSVolume* v = NULL; gboolean havevol; if ( !model ) return; const GList* volumes = vfs_volume_get_all_volumes(); for ( l = volumes; l; l = l->next ) { vol = (VFSVolume*)l->data; if ( vol ) { // search model for volume vol if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_DATA, &v, -1 ); } while ( v != vol && gtk_tree_model_iter_next( model, &it ) ); havevol = ( v == vol ); } else havevol = FALSE; if ( volume_is_visible( vol ) ) { if ( havevol ) { update_volume( vol ); // attempt automount in case settings changed vol->automount_time = 0; vol->ever_mounted = FALSE; vfs_volume_automount( vol ); } else add_volume( vol, TRUE ); } else if ( havevol ) remove_volume( vol ); } } } static void update_names() { GtkTreeIter it; VFSVolume* v; VFSVolume* vol; const GList* l; const GList* volumes = vfs_volume_get_all_volumes(); for ( l = volumes; l; l = l->next ) { if ( l->data ) { vol = l->data; vfs_volume_set_info( vol ); // search model for volume vol if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_DATA, &v, -1 ); } while ( v != vol && gtk_tree_model_iter_next( model, &it ) ); if ( v == vol ) update_volume( vol ); } } } } #endif gboolean ptk_location_view_chdir( GtkTreeView* location_view, const char* cur_dir ) { GtkTreeIter it; GtkTreeSelection* tree_sel; VFSVolume* vol; const char* mount_point; if ( !cur_dir || !GTK_IS_TREE_VIEW( location_view ) ) return FALSE; tree_sel = gtk_tree_view_get_selection( location_view ); if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_DATA, &vol, -1 ); mount_point = vfs_volume_get_mount_point( vol ); if ( mount_point && !strcmp( cur_dir, mount_point ) ) { gtk_tree_selection_select_iter( tree_sel, &it ); GtkTreePath* path = gtk_tree_model_get_path( model, &it ); if ( path ) { gtk_tree_view_scroll_to_cell( location_view, path, NULL, TRUE, .25, 0 ); gtk_tree_path_free( path ); } return TRUE; } } while ( gtk_tree_model_iter_next ( model, &it ) ); } gtk_tree_selection_unselect_all ( tree_sel ); return FALSE; } VFSVolume* ptk_location_view_get_selected_vol( GtkTreeView* location_view ) { //printf("ptk_location_view_get_selected_vol view = %d\n", location_view ); GtkTreeIter it; GtkTreeSelection* tree_sel; GtkTreePath* tree_path; char* real_path = NULL; VFSVolume* vol; tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( location_view ) ); if ( gtk_tree_selection_get_selected( tree_sel, NULL, &it ) ) { gtk_tree_model_get( model, &it, COL_DATA, &vol, -1 ); return vol; } return NULL; } char* ptk_location_view_get_selected_dir( GtkTreeView* location_view ) { GtkTreeIter it; GtkTreeSelection* tree_sel; char* real_path = NULL; VFSVolume* vol; tree_sel = gtk_tree_view_get_selection( location_view ); if ( gtk_tree_selection_get_selected( tree_sel, NULL, &it ) ) { gtk_tree_model_get( model, &it, COL_PATH, &real_path, -1 ); if( ! real_path || real_path[0] == '\0' || ! g_file_test( real_path, G_FILE_TEST_EXISTS ) ) { gtk_tree_model_get( model, &it, COL_DATA, &vol, -1 ); //if( ! vfs_volume_is_mounted( vol ) ) // try_mount( location_view, vol ); if ( !vfs_volume_is_mounted( vol ) ) return NULL; real_path = (char*)vfs_volume_get_mount_point( vol ); if( real_path ) { gtk_list_store_set( GTK_LIST_STORE(model), &it, COL_PATH, real_path, -1 ); return g_strdup(real_path); } else return NULL; } } return real_path; } void on_row_activated( GtkTreeView* view, GtkTreePath* tree_path, GtkTreeViewColumn *col, PtkFileBrowser* file_browser ) { VFSVolume* vol; GtkTreeIter it; const char* mount_point; //printf("on_row_activated view = %d\n", view ); if ( !file_browser ) return; if ( !gtk_tree_model_get_iter( model, &it, tree_path ) ) return; gtk_tree_model_get( model, &it, COL_DATA, &vol, -1 ); if ( !vol ) return; if ( xset_opener( NULL, file_browser, 2 ) ) return; #ifndef HAVE_HAL if ( !vfs_volume_is_mounted( vol ) && vol->device_type == DEVICE_TYPE_BLOCK ) #else if ( !vfs_volume_is_mounted( vol ) ) #endif { try_mount( view, vol ); if ( vfs_volume_is_mounted( vol ) ) { mount_point = vfs_volume_get_mount_point( vol ); if ( mount_point && mount_point[0] != '\0' ) { gtk_list_store_set( GTK_LIST_STORE( model ), &it, COL_PATH, mount_point, -1 ); } } } #ifndef HAVE_HAL if ( vfs_volume_is_mounted( vol ) && vol->mount_point ) { if ( xset_get_b( "dev_newtab" ) ) { ptk_file_browser_emit_open( file_browser, vol->mount_point, PTK_OPEN_NEW_TAB ); ptk_location_view_chdir( view, ptk_file_browser_get_cwd( file_browser ) ); } else { if ( strcmp( vol->mount_point, ptk_file_browser_get_cwd( file_browser ) ) ) ptk_file_browser_chdir( file_browser, vol->mount_point, PTK_FB_CHDIR_ADD_HISTORY ); } } #else if ( vfs_volume_is_mounted( vol ) && vfs_volume_get_mount_point( vol ) ) { ptk_file_browser_emit_open( file_browser, vfs_volume_get_mount_point( vol ), PTK_OPEN_NEW_TAB ); } #endif } gboolean ptk_location_view_open_block( const char* block, gboolean new_tab ) { // open block device file if in volumes list // may be link so get real path char buf[ PATH_MAX + 1 ]; char* canon = realpath( block, buf ); const GList* l = vfs_volume_get_all_volumes(); for ( ; l; l = l->next ) { if ( !g_strcmp0( vfs_volume_get_device( (VFSVolume*)l->data ), canon ) ) { VFSVolume* vol = (VFSVolume*)l->data; #ifdef HAVE_HAL if ( !vfs_volume_is_mounted( vol ) ) on_mount( NULL, vol ); #else if ( new_tab ) on_open_tab( NULL, vol, NULL ); else on_open( NULL, vol, NULL ); #endif return TRUE; } } return FALSE; } void ptk_location_view_init_model( GtkListStore* list ) { GtkTreeIter it; gchar* name; gchar* real_path; const GList* l; n_vols = 0; l = vfs_volume_get_all_volumes(); vfs_volume_add_callback( on_volume_event, model ); for ( ; l; l = l->next ) { add_volume( (VFSVolume*)l->data, FALSE ); } update_volume_icons(); } GtkWidget* ptk_location_view_new( PtkFileBrowser* file_browser ) { GtkWidget* view; GtkTreeViewColumn* col; GtkCellRenderer* renderer; GtkListStore* list; GtkIconTheme* icon_theme; if ( ! model ) { list = gtk_list_store_new( N_COLS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER ); g_object_weak_ref( G_OBJECT( list ), on_model_destroy, NULL ); model = ( GtkTreeModel* ) list; ptk_location_view_init_model( list ); icon_theme = gtk_icon_theme_get_default(); theme_changed = g_signal_connect( icon_theme, "changed", G_CALLBACK( update_volume_icons ), NULL ); } else { g_object_ref( G_OBJECT( model ) ); } view = gtk_tree_view_new_with_model( model ); g_object_unref( G_OBJECT( model ) ); //printf("ptk_location_view_new view = %d\n", view ); GtkTreeSelection* tree_sel = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) ); gtk_tree_selection_set_mode( tree_sel, GTK_SELECTION_SINGLE ); /*gtk_tree_view_enable_model_drag_dest ( GTK_TREE_VIEW( view ), drag_targets, G_N_ELEMENTS( drag_targets ), GDK_ACTION_LINK ); */ //MOD gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), FALSE ); //g_signal_connect( view, "drag-motion", G_CALLBACK( on_drag_motion ), NULL ); //MOD //g_signal_connect( view, "drag-drop", G_CALLBACK( on_drag_drop ), NULL ); //MOD //g_signal_connect( view, "drag-data-received", G_CALLBACK( on_drag_data_received ), NULL ); //MOD col = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start( col, renderer, FALSE ); gtk_tree_view_column_set_attributes( col, renderer, "pixbuf", COL_ICON, NULL ); renderer = gtk_cell_renderer_text_new(); //g_signal_connect( renderer, "edited", G_CALLBACK(on_bookmark_edited), view ); //MOD gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", COL_NAME, NULL ); gtk_tree_view_column_set_min_width( col, 10 ); if ( GTK_IS_TREE_SORTABLE( model ) ) // why is this needed to stop error on new tab? gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE( model ), COL_NAME, GTK_SORT_ASCENDING ); //MOD //gtk_tree_view_column_set_sort_indicator( col, TRUE ); //MOD //gtk_tree_view_column_set_sort_column_id( col, COL_NAME ); //MOD //gtk_tree_view_column_set_sort_order( col, GTK_SORT_ASCENDING ); //MOD gtk_tree_view_append_column ( GTK_TREE_VIEW( view ), col ); gtk_tree_view_column_set_sizing( col, GTK_TREE_VIEW_COLUMN_AUTOSIZE ); g_object_set_data( G_OBJECT( view ), "file_browser", file_browser ); g_signal_connect( view, "row-activated", G_CALLBACK( on_row_activated ), file_browser ); g_signal_connect( view, "button-press-event", G_CALLBACK( on_button_press_event ), NULL ); g_signal_connect( view, "key-press-event", G_CALLBACK( on_key_press_event ), file_browser ); // set font if ( xset_get_s_panel( file_browser->mypanel, "font_dev" ) ) { PangoFontDescription* font_desc = pango_font_description_from_string( xset_get_s_panel( file_browser->mypanel, "font_dev" ) ); gtk_widget_modify_font( view, font_desc ); pango_font_description_free( font_desc ); } return view; } void on_volume_event ( VFSVolume* vol, VFSVolumeState state, gpointer user_data ) { switch ( state ) { case VFS_VOLUME_ADDED: add_volume( vol, TRUE ); break; case VFS_VOLUME_REMOVED: remove_volume( vol ); break; case VFS_VOLUME_CHANGED: // CHANGED may occur before ADDED ! if ( !volume_is_visible( vol ) ) remove_volume( vol ); else update_volume( vol ); break; default: break; } } void add_volume( VFSVolume* vol, gboolean set_icon ) { GtkIconTheme * icon_theme; GdkPixbuf* icon; GtkTreeIter it; const char* mnt; if ( !volume_is_visible( vol ) ) return; //sfm - vol already exists? VFSVolume* v = NULL; if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_DATA, &v, -1 ); } while ( v != vol && gtk_tree_model_iter_next( model, &it ) ); } if ( v == vol ) return; // get mount point mnt = vfs_volume_get_mount_point( vol ); if( mnt && !*mnt ) mnt = NULL; // add to model gtk_list_store_insert_with_values( GTK_LIST_STORE( model ), &it, 0, COL_NAME, vfs_volume_get_disp_name( vol ), COL_PATH, mnt, COL_DATA, vol, -1 ); if( set_icon ) { icon_theme = gtk_icon_theme_get_default(); int icon_size = app_settings.small_icon_size; if ( icon_size > PANE_MAX_ICON_SIZE ) icon_size = PANE_MAX_ICON_SIZE; icon = vfs_load_icon ( icon_theme, vfs_volume_get_icon( vol ), icon_size ); gtk_list_store_set( GTK_LIST_STORE( model ), &it, COL_ICON, icon, -1 ); if ( icon ) g_object_unref( icon ); } ++n_vols; } void remove_volume( VFSVolume* vol ) { GtkTreeIter it; VFSVolume* v = NULL; if ( !vol ) return; if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_DATA, &v, -1 ); } while ( v != vol && gtk_tree_model_iter_next( model, &it ) ); } if ( v != vol ) return ; gtk_list_store_remove( GTK_LIST_STORE( model ), &it ); --n_vols; } void update_volume( VFSVolume* vol ) { GtkIconTheme * icon_theme; GdkPixbuf* icon; GtkTreeIter it; VFSVolume* v = NULL; if ( !vol ) return; if ( gtk_tree_model_get_iter_first( model, &it ) ) { do { gtk_tree_model_get( model, &it, COL_DATA, &v, -1 ); } while ( v != vol && gtk_tree_model_iter_next( model, &it ) ); } if ( v != vol ) { add_volume( vol, TRUE ); return; } icon_theme = gtk_icon_theme_get_default(); int icon_size = app_settings.small_icon_size; if ( icon_size > PANE_MAX_ICON_SIZE ) icon_size = PANE_MAX_ICON_SIZE; icon = vfs_load_icon ( icon_theme, vfs_volume_get_icon( vol ), icon_size ); gtk_list_store_set( GTK_LIST_STORE( model ), &it, COL_ICON, icon, COL_NAME, vfs_volume_get_disp_name( vol ), COL_PATH, vfs_volume_get_mount_point( vol ), -1 ); if ( icon ) g_object_unref( icon ); } char* ptk_location_view_get_mount_point_dir( const char* name ) { char* parent = NULL; char* str; char* value; // clean mount points if ( name ) ptk_location_view_clean_mount_points(); XSet* set = xset_get( "dev_automount_dirs" ); if ( set->s ) { if ( g_str_has_prefix( set->s, "~/" ) ) parent = g_build_filename( g_get_home_dir(), set->s + 2, NULL ); else parent = g_strdup( set->s ); if ( parent ) { const char* varname[] = { "$USER", "$UID", "$HOME", "$XDG_RUNTIME_DIR", "$XDG_CACHE_HOME" }; int i; for ( i = 0; i < G_N_ELEMENTS( varname ); i++ ) { if ( !strstr( parent, varname[i] ) ) continue; switch ( i ) { case 0: // $USER value = g_strdup( g_get_user_name() ); break; case 1: // $UID value = g_strdup_printf( "%d", geteuid() ); break; case 2: // $HOME value = g_strdup( g_get_home_dir() ); break; case 3: // $XDG_RUNTIME_DIR #if GLIB_CHECK_VERSION(2, 28, 0) value = g_strdup( g_get_user_runtime_dir() ); #else value = g_strdup( g_getenv( "XDG_RUNTIME_DIR" ) ); #endif break; case 4: // $XDG_CACHE_HOME value = g_strdup( g_get_user_cache_dir() ); break; default: value = g_strdup( "" ); } str = parent; parent = replace_string( parent, varname[i], value, FALSE ); g_free( str ); g_free( value ); } g_mkdir_with_parents( parent, 0700 ); chmod( parent, 0700 ); } if ( !have_rw_access( parent ) ) { g_free( parent ); parent = NULL; } } if ( !parent ) return g_build_filename( g_get_user_cache_dir(), "spacefm", name, NULL ); char* path = g_build_filename( parent, name, NULL ); g_free( parent ); return path; } void ptk_location_view_clean_mount_points() { /* This function was moved from vfs-volume-nohal.c because HAL * build also requires it. */ GDir *dir; const gchar *name; char* del_path; char* path; int i; // clean cache and Auto-Mount|Mount Dirs (eg for fuse mounts) for ( i = 0; i < 2; i++ ) { if ( i == 0 ) path = g_build_filename( g_get_user_cache_dir(), "spacefm", NULL ); else // i == 1 { del_path = ptk_location_view_get_mount_point_dir( NULL ); if ( !g_strcmp0( del_path, path ) ) { // Auto-Mount|Mount Dirs is not set or valid g_free( del_path ); break; } g_free( path ); path = del_path; } if ( ( dir = g_dir_open( path, 0, NULL ) ) != NULL ) { while ( ( name = g_dir_read_name( dir ) ) != NULL ) { del_path = g_build_filename( path, name, NULL ); rmdir( del_path ); // removes empty, non-mounted directories g_free( del_path ); } g_dir_close( dir ); } } g_free( path ); // clean udevil mount points char* udevil = g_find_program_in_path( "udevil" ); if ( udevil ) { char* line = g_strdup_printf( "bash -c \"sleep 1 ; %s clean\"", udevil ); //printf("Clean: %s\n", line ); g_free( udevil ); g_spawn_command_line_async( line, NULL ); g_free( line ); } } char* ptk_location_view_create_mount_point( int mode, VFSVolume* vol, netmount_t* netmount, const char* path ) { char* mname = NULL; char* str; if ( mode == HANDLER_MODE_FS && vol ) { #ifndef HAVE_HAL char* bdev = g_path_get_basename( vol->device_file ); if ( vol->label && vol->label[0] != '\0' && vol->label[0] != ' ' && g_utf8_validate( vol->label, -1, NULL ) && !strchr( vol->label, '/' ) ) mname = g_strdup_printf( "%.20s", vol->label ); else if ( vol->udi && vol->udi[0] != '\0' && g_utf8_validate( vol->udi, -1, NULL ) ) { str = g_path_get_basename( vol->udi ); mname = g_strdup_printf( "%s-%.20s", bdev, str ); g_free( str ); } //else if ( device->id_uuid && device->id_uuid[0] != '\0' ) // mname = g_strdup_printf( "%s-%s", bdev, device->id_uuid ); else mname = g_strdup( bdev ); g_free( bdev ); } else if ( mode == HANDLER_MODE_NET ) { if ( netmount->host && g_utf8_validate( netmount->host, -1, NULL ) ) { char* parent_dir = NULL; if ( netmount->path ) { parent_dir = replace_string( netmount->path, "/", "-", FALSE ); g_strstrip( parent_dir ); while ( g_str_has_suffix( parent_dir, "-" ) ) parent_dir[ strlen( parent_dir ) - 1] = '\0'; while ( g_str_has_prefix( parent_dir, "-" ) ) { str = parent_dir; parent_dir = g_strdup( str + 1 ); g_free( str ); } if ( parent_dir[0] == '\0' || !g_utf8_validate( parent_dir, -1, NULL ) || strlen( parent_dir ) > 30 ) { g_free( parent_dir ); parent_dir = NULL; } } if ( parent_dir ) mname = g_strdup_printf( "%s-%s-%s", netmount->fstype, netmount->host, parent_dir ); else if ( netmount->host && netmount->host[0] ) mname = g_strdup_printf( "%s-%s", netmount->fstype, netmount->host ); else mname = g_strdup_printf( "%s", netmount->fstype ); g_free( parent_dir ); } else mname = g_strdup( netmount->fstype ); #endif } else if ( mode == HANDLER_MODE_FILE && path ) mname = g_path_get_basename( path ); // remove spaces if ( mname && strchr( mname, ' ' ) ) { g_strstrip( mname ); str = mname; mname = replace_string( mname, " ", "", FALSE ); g_free( str ); } if ( mname && !mname[0] ) { g_free( mname ); mname = NULL; } if ( !mname ) mname = g_strdup( "mount" ); // complete mount point char* point1 = ptk_location_view_get_mount_point_dir( mname ); g_free( mname ); int r = 2; char* point = g_strdup( point1 ); // attempt to remove existing dir - succeeds only if empty and unmounted rmdir( point ); while ( g_file_test( point, G_FILE_TEST_EXISTS ) ) { g_free( point ); point = g_strdup_printf( "%s-%d", point1, r++ ); rmdir( point ); } g_free( point1 ); if ( g_mkdir_with_parents( point, 0700 ) == -1 ) g_warning( "Error creating mount point directory '%s': %s", point, g_strerror( errno ) ); return point; } #ifdef HAVE_HAL static void on_mount( GtkMenuItem* item, VFSVolume* vol ) { GError* err = NULL; GtkWidget* view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); if ( view ) show_busy( view ); if( ! vfs_volume_mount( vol, &err ) ) { char* msg = g_markup_escape_text(err->message, -1); if ( view ) show_ready( view ); ptk_show_error( NULL, _("Unable to mount device"), msg ); g_free(msg); g_error_free( err ); } else if ( view ) show_ready( view ); } static void on_umount( GtkMenuItem* item, VFSVolume* vol ) { GError* err = NULL; GtkWidget* view = item ? (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ) : NULL; if ( view ) show_busy( view ); if( ! vfs_volume_umount( vol, &err ) ) { char* msg = g_markup_escape_text(err->message, -1); if ( view ) show_ready( view ); ptk_show_error( NULL, _("Unable to unmount device"), msg ); g_free(msg); g_error_free( err ); } else if ( view ) show_ready( view ); } static void on_eject( GtkMenuItem* item, VFSVolume* vol ) { GError* err = NULL; GtkWidget* view = item ? (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ) : NULL; if( vfs_volume_is_mounted( vol ) ) { if ( view ) show_busy( view ); if( ! vfs_volume_umount( vol, &err ) || ! vfs_volume_eject( vol, &err ) ) { char* msg = g_markup_escape_text(err->message, -1); if ( view ) show_ready( view ); ptk_show_error( NULL, _("Unable to eject device"), msg ); g_free(msg); g_error_free( err ); } else if ( view ) show_ready( view ); } else { if( ! vfs_volume_eject( vol, &err ) ) { char* msg = g_markup_escape_text(err->message, -1); if ( view ) show_ready( view ); ptk_show_error( NULL, _("Unable to eject device"), msg ); g_free(msg); g_error_free( err ); } else if ( view ) show_ready( view ); } } static gboolean try_mount( GtkTreeView* view, VFSVolume* vol ) { GError* err = NULL; GtkWindow* toplevel = view ? GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET(view) ) ) : NULL; gboolean ret = TRUE; if ( view ) show_busy( GTK_WIDGET( view ) ); if ( ! vfs_volume_mount( vol, &err ) ) { char* msg = g_markup_escape_text(err->message, -1); ptk_show_error( toplevel, _( "Unable to mount device" ), msg); g_free(msg); g_error_free( err ); ret = FALSE; } /* Run main loop to process HAL events or volume info won't get updated correctly. */ while(gtk_events_pending () ) gtk_main_iteration (); if ( view ) show_ready( GTK_WIDGET( view ) ); return ret; } void ptk_location_view_mount_network( PtkFileBrowser* file_browser, const char* url, gboolean new_tab, gboolean force_new_mount ) { xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("udev Not Configured"), NULL, 0, _("Mounting a network share requires a udev (--disable-hal) build of SpaceFM."), NULL, NULL ); } #else void on_autoopen_net_cb( VFSFileTask* task, AutoOpen* ao ) { const GList* l; VFSVolume* vol; if ( !( ao && ao->device_file ) ) return; // try to find device of mounted url. url in mtab may differ from // user-entered url VFSVolume* device_file_vol = NULL; VFSVolume* mount_point_vol = NULL; const GList* volumes = vfs_volume_get_all_volumes(); for ( l = volumes; l; l = l->next ) { vol = (VFSVolume*)l->data; if ( vol->is_mounted ) { if ( !strcmp( vol->device_file, ao->device_file ) ) { device_file_vol = vol; break; } else if ( !mount_point_vol && ao->mount_point && !vol->should_autounmount && !g_strcmp0( vol->mount_point, ao->mount_point ) ) // found an unspecial mount point that matches the ao mount point - // save for later use if no device file match found mount_point_vol = vol; } } if ( !device_file_vol ) { if ( mount_point_vol ) { //printf("on_autoopen_net_cb used mount point:\n mount_point = %s\n device_file = %s\n ao->device_file = %s\n", ao->mount_point, mount_point_vol->device_file, ao->device_file ); device_file_vol = mount_point_vol; } } if ( device_file_vol ) { // copy the user-entered url to udi g_free( device_file_vol->udi ); device_file_vol->udi = g_strdup( ao->device_file ); // mark as special mount device_file_vol->should_autounmount = TRUE; // open in browser // if fuse fails, device may be in mtab even though mount point doesn't // exist, so test for mount point exists if ( GTK_IS_WIDGET( ao->file_browser ) && g_file_test( device_file_vol->mount_point, G_FILE_TEST_IS_DIR ) ) { GDK_THREADS_ENTER(); ptk_file_browser_emit_open( ao->file_browser, device_file_vol->mount_point, ao->job ); GDK_THREADS_LEAVE(); if ( ao->job == PTK_OPEN_NEW_TAB && GTK_IS_WIDGET( ao->file_browser ) ) { if ( ao->file_browser->side_dev ) ptk_location_view_chdir( GTK_TREE_VIEW( ao->file_browser->side_dev ), ptk_file_browser_get_cwd( ao->file_browser ) ); if ( ao->file_browser->side_book ) ptk_bookmark_view_chdir( GTK_TREE_VIEW( ao->file_browser->side_book ), ao->file_browser, TRUE ); } } } if ( !ao->keep_point ) ptk_location_view_clean_mount_points(); g_free( ao->device_file ); g_free( ao->mount_point ); g_slice_free( AutoOpen, ao ); } void ptk_location_view_mount_network( PtkFileBrowser* file_browser, const char* url, gboolean new_tab, gboolean force_new_mount ) { char* str; char* line; char* mount_point = NULL; netmount_t *netmount = NULL; // split url if ( split_network_url( url, &netmount ) != 1 ) { // not a valid url xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("Invalid URL"), NULL, 0, _("The entered URL is not valid."), NULL, NULL ); return; } /* printf( "\nurl=%s\n", netmount->url ); printf( " fstype=%s\n", netmount->fstype ); printf( " host=%s\n", netmount->host ); printf( " port=%s\n", netmount->port ); printf( " user=%s\n", netmount->user ); printf( " pass=%s\n", netmount->pass ); printf( " path=%s\n\n", netmount->path ); */ // already mounted? if ( !force_new_mount ) { const GList* l; VFSVolume* vol; const GList* volumes = vfs_volume_get_all_volumes(); for ( l = volumes; l; l = l->next ) { vol = (VFSVolume*)l->data; // test against mtab url and copy of user-entered url (udi) if ( strstr( vol->device_file, netmount->url ) || strstr( vol->udi, netmount->url ) ) { if ( vol->is_mounted && vol->mount_point && have_x_access( vol->mount_point ) ) { if ( new_tab ) { ptk_file_browser_emit_open( file_browser, vol->mount_point, PTK_OPEN_NEW_TAB ); } else { if ( strcmp( vol->mount_point, ptk_file_browser_get_cwd( file_browser ) ) ) ptk_file_browser_chdir( file_browser, vol->mount_point, PTK_FB_CHDIR_ADD_HISTORY ); } goto _net_free; } } } } // get mount command gboolean run_in_terminal; gboolean ssh_udevil = FALSE; char* cmd = vfs_volume_handler_cmd( HANDLER_MODE_NET, HANDLER_MOUNT, NULL, NULL, netmount, &run_in_terminal, &mount_point ); if ( !cmd ) { xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("Handler Not Found"), NULL, 0, _("No network handler is configured for this URL, or no mount command is set. Add a handler in Devices|Settings|Protocol Handlers."), NULL, NULL ); goto _net_free; /* // use udevil as default mount command str = g_find_program_in_path( "udevil" ); if ( !str ) { xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("Handler Not Found"), NULL, 0, _("No network handler is configured for this URL. Add a handler in Settings|Protocol Handlers."), NULL, NULL ); goto _net_free; } g_free( str ); run_in_terminal = ( !g_strcmp0( netmount->fstype, "smb" ) || !g_strcmp0( netmount->fstype, "cifs" ) || !g_strcmp0( netmount->fstype, "ftp" ) || !g_strcmp0( netmount->fstype, "ssh" ) || !g_strcmp0( netmount->fstype, "http" ) || !g_strcmp0( netmount->fstype, "https" ) ); ssh_udevil = !g_strcmp0( netmount->fstype, "ssh" ); // add bash variables char* urlq = bash_quote( netmount->url ); char* protoq = bash_quote( netmount->fstype ); char* hostq = bash_quote( netmount->host ); char* userq = bash_quote( netmount->user ); char* passq = bash_quote( netmount->pass ); char* pathq = bash_quote( netmount->path ); char* keepterm; cmd = g_strdup_printf( "fm_url=%s; fm_url_proto=%s; fm_url_host=%s; fm_url_user=%s; fm_url_pass=%s; fm_url_path=%s\nudevil mount \"$fm_url\"", urlq, protoq, hostq, userq, passq, pathq ); g_free( urlq ); g_free( protoq ); g_free( hostq ); g_free( userq ); g_free( passq ); g_free( pathq ); */ } // task char* keepterm; if ( ssh_udevil ) keepterm = g_strdup_printf( "if [ $? -ne 0 ]; then\n echo \"%s\"\n read\nelse\n echo; echo \"Press Enter to close (closing this window may unmount sshfs)\"\n read\nfi\n", press_enter_to_close ); else if ( run_in_terminal ) keepterm = g_strdup_printf( "[[ $? -eq 0 ]] || ( echo -n '%s: ' ; read )\n", press_enter_to_close ); else keepterm = g_strdup( "" ); line = g_strdup_printf( "%s%s\n%s", ssh_udevil ? "echo Connecting...\n\n" : "", cmd, keepterm ); g_free( keepterm ); g_free( cmd ); char* task_name = g_strdup_printf( _("Open URL %s"), netmount->url ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, GTK_WIDGET( file_browser ), file_browser->task_view ); g_free( task_name ); task->task->exec_command = line; task->task->exec_sync = !ssh_udevil; task->task->exec_export = TRUE; task->task->exec_browser = file_browser; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_keep_terminal = FALSE; XSet* set = xset_get( "dev_icon_network" ); task->task->exec_icon = g_strdup( set->icon ); // autoopen if ( !ssh_udevil ) // !sync { const char* terminal; AutoOpen* ao; ao = g_slice_new0( AutoOpen ); ao->device_file = g_strdup( netmount->url ); ao->devnum = 0; ao->file_browser = file_browser; ao->mount_point = mount_point; mount_point = NULL; if ( new_tab ) ao->job = PTK_OPEN_NEW_TAB; else ao->job = PTK_OPEN_DIR; /* These terminals provide no option to start a new instance; child * exit occurs immediately so can't delete mount point dir on exit. */ /* when changing this list adjust also * vfs-file-task.c Line ~1655 * pref-dialog.c Line ~777 */ ao->keep_point = ( run_in_terminal && ( terminal = xset_get_s( "main_terminal" ) ) && ( strstr( terminal, "lxterminal" ) || strstr( terminal, "urxvtc" ) || strstr( terminal, "konsole" ) || strstr( terminal, "gnome-terminal" ) ) ); task->complete_notify = (GFunc)on_autoopen_net_cb; task->user_data = ao; } ptk_file_task_run( task ); _net_free: g_free( mount_point ); g_free( netmount->url ); g_free( netmount->fstype ); g_free( netmount->host ); g_free( netmount->ip ); g_free( netmount->port ); g_free( netmount->user ); g_free( netmount->pass ); g_free( netmount->path ); g_slice_free( netmount_t, netmount ); } static void popup_missing_mount( GtkWidget* view, int job ) { const char *cmd; if ( job == 0 ) cmd = _("mount"); else cmd = _("unmount"); char* msg = g_strdup_printf( _("No handler is configured for this device type, or no %s command is set. Add a handler in Settings|Device Handlers or Protocol Handlers."), cmd ); xset_msg_dialog( view, GTK_MESSAGE_ERROR, _("Handler Not Found"), NULL, 0, msg, NULL, NULL ); g_free( msg ); } static void on_mount( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); if ( !view || !vol ) return; if ( !vol->device_file ) return; PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); // Note: file_browser may be NULL if ( !GTK_IS_WIDGET( file_browser ) ) file_browser = NULL; // task gboolean run_in_terminal; char* line = vfs_volume_get_mount_command( vol, xset_get_s( "dev_mount_options" ), &run_in_terminal ); if ( !line ) { popup_missing_mount( view, 0 ); return; } char* task_name = g_strdup_printf( _("Mount %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; char* keep_term; if ( run_in_terminal ) keep_term = g_strdup_printf( "\n[[ $? -eq 0 ]] || ( echo -n '%s: ' ; read )\n", press_enter_to_close ); else keep_term = g_strdup( "" ); task->task->exec_command = g_strdup_printf( "%s%s", line, keep_term ); g_free( line ); g_free( keep_term ); task->task->exec_sync = !run_in_terminal; task->task->exec_export = !!file_browser; task->task->exec_browser = file_browser; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); vol->inhibit_auto = TRUE; ptk_file_task_run( task ); } static void on_check_root( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; char* msg; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); if ( vol->is_mounted ) { msg = g_strdup_printf( _("%s is currently mounted. You must unmount it before you can check it."), vol->device_file ); xset_msg_dialog( view, 0, _("Device Is Mounted"), NULL, 0, msg, NULL, "#devices-root-check" ); g_free( msg ); return; } XSet* set = xset_get( "dev_root_check" ); msg = g_strdup_printf( _("Enter filesystem check command:\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\nEDIT WITH CARE This command is run as root"), vol->device_file ); if ( !set->s ) set->s = g_strdup( set->desc ); char* old_set_s = g_strdup( set->s ); if ( xset_text_dialog( view, _("Check As Root"), xset_get_image( "GTK_STOCK_DIALOG_WARNING", GTK_ICON_SIZE_DIALOG ), TRUE, _("CHECK AS ROOT"), msg, set->s, &set->s, set->desc, TRUE, set->line ) && set->s ) { gboolean change_root = ( !old_set_s || strcmp( old_set_s, set->s ) ); char* cmd = replace_string( set->s, "%v", vol->device_file, FALSE ); // task PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); char* task_name = g_strdup_printf( _("Check As Root %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); char* scmd = g_strdup_printf( "echo \">>> %s\"; echo; %s; echo; echo -n \"%s: \"; read s", cmd, cmd, press_enter_to_close ); g_free( cmd ); task->task->exec_command = scmd; task->task->exec_write_root = change_root; task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = FALSE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = FALSE; task->task->exec_export = FALSE; task->task->exec_terminal = TRUE; task->task->exec_browser = file_browser; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } g_free( msg ); } static void on_mount_root( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); XSet* set = xset_get( "dev_root_mount" ); char* options = vfs_volume_get_mount_options( vol, xset_get_s( "dev_mount_options" ) ); if ( !options ) options = g_strdup( "" ); char* msg = g_strdup_printf( _("Enter mount command:\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\t%%%%o\tvolume-specific mount options\n\t\t( %s )\n\nNote: fstab overrides some options\n\nEDIT WITH CARE This command is run as root"), vol->device_file, options ); if ( !set->s ) set->s = g_strdup( set->z ); char* old_set_s = g_strdup( set->s ); if ( xset_text_dialog( view, _("Mount As Root"), xset_get_image( "GTK_STOCK_DIALOG_WARNING", GTK_ICON_SIZE_DIALOG ), TRUE, _("MOUNT AS ROOT"), msg, set->s, &set->s, set->z, TRUE, set->line ) && set->s ) { gboolean change_root = ( !old_set_s || strcmp( old_set_s, set->s ) ); char* s1 = replace_string( set->s, "%v", vol->device_file, FALSE ); char* cmd = replace_string( s1, "%o", options, FALSE ); g_free( s1 ); s1 = cmd; cmd = g_strdup_printf( "echo %s; echo; %s", s1, s1 ); g_free( s1 ); // task PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); char* task_name = g_strdup_printf( _("Mount As Root %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); task->task->exec_command = cmd; task->task->exec_write_root = change_root; if ( strstr( cmd, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_browser = file_browser; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } g_free( msg ); g_free( options ); } static void on_umount_root( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); XSet* set = xset_get( "dev_root_unmount" ); char* msg = g_strdup_printf( _("Enter unmount command:\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\nEDIT WITH CARE This command is run as root"), vol->device_file ); if ( !set->s ) set->s = g_strdup( set->z ); char* old_set_s = g_strdup( set->s ); if ( xset_text_dialog( view, _("Unmount As Root"), xset_get_image( "GTK_STOCK_DIALOG_WARNING", GTK_ICON_SIZE_DIALOG ), TRUE, _("UNMOUNT AS ROOT"), msg, set->s, &set->s, set->z, TRUE, set->line ) && set->s ) { gboolean change_root = ( !old_set_s || strcmp( old_set_s, set->s ) ); // task char* s1 = replace_string( set->s, "%v", vol->device_file, FALSE ); char* cmd = g_strdup_printf( "echo %s; echo; %s", s1, s1 ); g_free( s1 ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); char* task_name = g_strdup_printf( _("Unmount As Root %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); if ( strstr( cmd, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; task->task->exec_command = cmd; task->task->exec_write_root = change_root; task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_browser = file_browser; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } g_free( msg ); } static void on_change_label( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); char* fstype; if ( vol->fs_type && g_ascii_isalnum( vol->fs_type[0] ) ) { if ( !strcmp( vol->fs_type, "ext2" ) || !strcmp( vol->fs_type, "ext3" ) || !strcmp( vol->fs_type, "ext4" ) ) fstype = g_strdup_printf( "label_cmd_ext" ); else fstype = g_strdup_printf( "label_cmd_%s", vol->fs_type ); } else fstype = g_strdup_printf( "label_cmd_unknown" ); XSet* set = xset_get( fstype ); g_free( fstype ); // set->y contains current remove label command // set->z contains current set label command // set->desc contains default remove label command // set->title contains default set label command if ( !set->y && set->desc ) set->y = g_strdup( set->desc ); if ( !set->x && set->title ) set->x = g_strdup( set->title ); char* mount_warn; if ( vol->is_mounted ) { mount_warn = g_strdup_printf( _("\n\nWARNING: %s is mounted. You may want or need to unmount it before changing the label."), vol->device_file ); } else mount_warn = g_strdup( "" ); char* msg = g_strdup_printf( _("Enter volume label for %s:%s"), vol->device_file, mount_warn ); char* new_label = NULL; if ( !xset_text_dialog( view, _("Change Volume Label"), NULL, FALSE, msg, NULL, vol->label, &new_label, NULL, FALSE, set->line ) ) { g_free( msg ); return; } g_free( msg ); char* label_cmd; char* def_cmd; char* new_label_cmd = NULL; if ( !vol->is_mounted ) { g_free( mount_warn ); mount_warn = g_strdup( "" ); } if ( !new_label ) { new_label = g_strdup( "" ); label_cmd = set->y; def_cmd = set->desc; msg = g_strdup_printf( _("Enter remove label command for fstype '%s':\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\t%%%%l\tnew label ( \"%s\" )\n\nEDIT WITH CARE This command is run as root%s"), vol->fs_type, vol->device_file, new_label, mount_warn ); } else { label_cmd = set->x; def_cmd = set->title; msg = g_strdup_printf( _("Enter change label command for fstype '%s':\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\t%%%%l\tnew label ( \"%s\" )\n\nEDIT WITH CARE This command is run as root%s"), vol->fs_type ? vol->fs_type : "none", vol->device_file, new_label, mount_warn ); } g_free( mount_warn ); if ( xset_text_dialog( view, _("Change Label As Root"), xset_get_image( "GTK_STOCK_DIALOG_WARNING", GTK_ICON_SIZE_DIALOG ), TRUE, _("LABEL AS ROOT"), msg, label_cmd, &new_label_cmd, def_cmd, TRUE, set->line ) && new_label_cmd ) { gboolean change_root = ( !label_cmd || !new_label_cmd || strcmp( label_cmd, new_label_cmd ) ); if ( new_label[0] == '\0' ) xset_set_set( set, "y", new_label_cmd ); else xset_set_set( set, "x", new_label_cmd ); // task PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); char* task_name = g_strdup_printf( _("Label As Root %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); task->task->exec_write_root = change_root; char* s1 = new_label; new_label = g_strdup_printf( "\"%s\"", s1 ); g_free( s1 ); s1 = replace_string( new_label_cmd, "%v", vol->device_file, FALSE ); task->task->exec_command = replace_string( s1, "%l", new_label, FALSE ); g_free( s1 ); g_free( new_label_cmd ); task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_keep_tmp = FALSE; task->task->exec_export = FALSE; task->task->exec_browser = file_browser; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } g_free( msg ); g_free( new_label ); } static void on_umount( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); // Note: file_browser may be NULL if ( !GTK_IS_WIDGET( file_browser ) ) file_browser = NULL; /* if ( vol->device_type != DEVICE_TYPE_BLOCK ) { char* str = g_find_program_in_path( "udevil" ); if ( !str ) { g_free( str ); xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("udevil Not Installed"), NULL, 0, _("Unmounting a network share requires udevil to be installed."), NULL, NULL ); return; } g_free( str ); } */ // task gboolean run_in_terminal; char* line = vfs_volume_device_unmount_cmd( vol, &run_in_terminal ); if ( !line ) { popup_missing_mount( view, 1 ); return; } char* task_name = g_strdup_printf( _("Unmount %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; char* keep_term; if ( run_in_terminal ) keep_term = g_strdup_printf( "\n[[ $? -eq 0 ]] || ( echo -n '%s: ' ; read )\n", press_enter_to_close ); else keep_term = g_strdup( "" ); task->task->exec_command = g_strdup_printf( "%s%s", line, keep_term ); g_free( line ); g_free( keep_term ); task->task->exec_sync = !run_in_terminal; task->task->exec_export = !!file_browser; task->task->exec_browser = file_browser; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } static void on_eject( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { PtkFileTask* task; char* line; GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); // Note: file_browser may be NULL if ( !GTK_IS_WIDGET( file_browser ) ) file_browser = NULL; /* if ( vol->device_type != DEVICE_TYPE_BLOCK ) { char* str = g_find_program_in_path( "udevil" ); if ( !str ) { g_free( str ); xset_msg_dialog( GTK_WIDGET( file_browser ), GTK_MESSAGE_ERROR, _("udevil Not Installed"), NULL, 0, _("Unmounting a network share requires udevil to be installed."), NULL, NULL ); return; } g_free( str ); } */ if ( vfs_volume_is_mounted( vol ) ) { // task char* wait; char* wait_done; char* eject; gboolean run_in_terminal; char* unmount = vfs_volume_device_unmount_cmd( vol, &run_in_terminal ); if ( !unmount ) { popup_missing_mount( view, 1 ); return; } if ( vol->device_type == DEVICE_TYPE_BLOCK && ( vol->is_optical || vol->requires_eject ) ) eject = g_strdup_printf( "\neject %s", vol->device_file ); else eject = g_strdup( "\nexit 0" ); if ( !file_browser && !run_in_terminal && vol->device_type == DEVICE_TYPE_BLOCK ) { char* prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); // run from desktop window - show a pending dialog wait = g_strdup_printf( "%s -g --title 'Remove %s' --label '\\nPlease wait while device %s is synced and unmounted...' >/dev/null &\nwaitp=$!\n", prog, vol->device_file, vol->device_file ); // sleep .2 here to ensure spacefm -g isn't killed too quickly causing hang wait_done = g_strdup( "\n( sleep .2; kill $waitp 2>/dev/null ) &" ); g_free( prog ); } else { wait = g_strdup( "" ); wait_done = g_strdup( "" ); } if ( run_in_terminal ) line = g_strdup_printf( "echo 'Unmounting %s...'\n%s%s\nif [ $? -ne 0 ]; then\n echo -n '%s: '\n read\n exit 1\nelse\n %s\nfi", vol->device_file, vol->device_type == DEVICE_TYPE_BLOCK ? "sync\n" : "", unmount, press_enter_to_close, eject ); else line = g_strdup_printf( "%s%s%s\nuerr=$?%s\nif [ $uerr -ne 0 ]; then\n exit 1\nfi%s", wait, vol->device_type == DEVICE_TYPE_BLOCK ? "sync\n" : "", unmount, wait_done, eject ); g_free( eject ); g_free( wait ); g_free( wait_done ); char* task_name = g_strdup_printf( "Remove %s", vol->device_file ); task = ptk_file_exec_new( task_name, NULL, view, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; task->task->exec_command = line; task->task->exec_sync = !run_in_terminal; task->task->exec_export = !!file_browser; task->task->exec_browser = file_browser; task->task->exec_show_error = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); } else if ( vol->device_type == DEVICE_TYPE_BLOCK && ( vol->is_optical || vol->requires_eject ) ) { // task line = g_strdup_printf( "eject %s", vol->device_file ); char* task_name = g_strdup_printf( _("Remove %s"), vol->device_file ); task = ptk_file_exec_new( task_name, NULL, view, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); task->task->exec_command = line; task->task->exec_sync = FALSE; task->task->exec_show_error = FALSE; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); } else { // task line = g_strdup_printf( "sync" ); char* task_name = g_strdup_printf( _("Remove %s"), vol->device_file ); task = ptk_file_exec_new( task_name, NULL, view, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); task->task->exec_command = line; task->task->exec_sync = FALSE; task->task->exec_show_error = FALSE; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); } ptk_file_task_run( task ); } gboolean on_autoopen_cb( VFSFileTask* task, AutoOpen* ao ) { const GList* l; VFSVolume* vol; //printf("on_autoopen_cb\n"); const GList* volumes = vfs_volume_get_all_volumes(); for ( l = volumes; l; l = l->next ) { if ( ((VFSVolume*)l->data)->devnum == ao->devnum ) { vol = (VFSVolume*)l->data; vol->inhibit_auto = FALSE; if ( vol->is_mounted ) { if ( GTK_IS_WIDGET( ao->file_browser ) ) { GDK_THREADS_ENTER(); // hangs on dvd mount without this - why? ptk_file_browser_emit_open( ao->file_browser, vol->mount_point, ao->job ); GDK_THREADS_LEAVE(); } else open_in_prog( vol->mount_point ); } break; } } if ( GTK_IS_WIDGET( ao->file_browser ) && ao->job == PTK_OPEN_NEW_TAB && ao->file_browser->side_dev ) ptk_location_view_chdir( GTK_TREE_VIEW( ao->file_browser->side_dev ), ptk_file_browser_get_cwd( ao->file_browser ) ); g_free( ao->device_file ); g_slice_free( AutoOpen, ao ); return FALSE; } static gboolean try_mount( GtkTreeView* view, VFSVolume* vol ) { if ( !view || !vol ) return FALSE; PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); if ( !file_browser ) return FALSE; // task gboolean run_in_terminal; char* line = vfs_volume_get_mount_command( vol, xset_get_s( "dev_mount_options" ), &run_in_terminal ); if ( !line ) { popup_missing_mount( GTK_WIDGET( view ), 0 ); return FALSE; } char* task_name = g_strdup_printf( _("Mount %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, GTK_WIDGET( view ), file_browser->task_view ); g_free( task_name ); if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; char* keep_term; if ( run_in_terminal ) keep_term = g_strdup_printf( "\n[[ $? -eq 0 ]] || ( echo -n '%s: ' ; read )\n", press_enter_to_close ); else keep_term = g_strdup( "" ); task->task->exec_command = g_strdup_printf( "%s%s", line, keep_term ); g_free( line ); g_free( keep_term ); task->task->exec_sync = TRUE; task->task->exec_export = TRUE; task->task->exec_browser = file_browser; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; // set to true for error on click task->task->exec_terminal = run_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); // autoopen AutoOpen* ao = g_slice_new0( AutoOpen ); ao->devnum = vol->devnum; ao->device_file = NULL; ao->file_browser = file_browser; if ( xset_get_b( "dev_newtab" ) ) ao->job = PTK_OPEN_NEW_TAB; else ao->job = PTK_OPEN_DIR; ao->mount_point = NULL; task->complete_notify = (GFunc)on_autoopen_cb; task->user_data = ao; vol->inhibit_auto = TRUE; ptk_file_task_run( task ); return vfs_volume_is_mounted( vol ); } static void on_open_tab( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { PtkFileBrowser* file_browser; GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); if ( view ) file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); else file_browser = (PtkFileBrowser*)fm_main_window_get_current_file_browser( NULL ); if ( !file_browser || !vol ) return; if ( !vol->is_mounted ) { // get mount command gboolean run_in_terminal; char* line = vfs_volume_get_mount_command( vol, xset_get_s( "dev_mount_options" ), &run_in_terminal ); if ( !line ) { popup_missing_mount( view, 0 ); return; } // task char* task_name = g_strdup_printf( _("Mount %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; char* keep_term; if ( run_in_terminal ) keep_term = g_strdup_printf( "\n[[ $? -eq 0 ]] || ( echo -n '%s: ' ; read )\n", press_enter_to_close ); else keep_term = g_strdup( "" ); task->task->exec_command = g_strdup_printf( "%s%s", line, keep_term ); g_free( line ); g_free( keep_term ); task->task->exec_sync = TRUE; task->task->exec_export = TRUE; task->task->exec_browser = file_browser; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); // autoopen AutoOpen* ao = g_slice_new0( AutoOpen ); ao->devnum = vol->devnum; ao->device_file = NULL; ao->file_browser = file_browser; ao->job = PTK_OPEN_NEW_TAB; ao->mount_point = NULL; task->complete_notify = (GFunc)on_autoopen_cb; task->user_data = ao; vol->inhibit_auto = TRUE; ptk_file_task_run( task ); } else ptk_file_browser_emit_open( file_browser, vol->mount_point, PTK_OPEN_NEW_TAB ); } static void on_open( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { PtkFileBrowser* file_browser; GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); if ( view ) file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); else file_browser = (PtkFileBrowser*)fm_main_window_get_current_file_browser( NULL ); if ( !vol ) return; // Note: file_browser may be NULL if ( !GTK_IS_WIDGET( file_browser ) ) file_browser = NULL; if ( !vol->is_mounted ) { // get mount command gboolean run_in_terminal; char* line = vfs_volume_get_mount_command( vol, xset_get_s( "dev_mount_options" ), &run_in_terminal ); if ( !line ) { popup_missing_mount( view, 0 ); return; } // task char* task_name = g_strdup_printf( _("Mount %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; char* keep_term; if ( run_in_terminal ) keep_term = g_strdup_printf( "\n[[ $? -eq 0 ]] || ( echo -n '%s: ' ; read )\n", press_enter_to_close ); else keep_term = g_strdup( "" ); task->task->exec_command = g_strdup_printf( "%s%s", line, keep_term ); g_free( line ); g_free( keep_term ); task->task->exec_sync = TRUE; task->task->exec_export = !!file_browser; task->task->exec_browser = file_browser; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); // autoopen AutoOpen* ao = g_slice_new0( AutoOpen ); ao->devnum = vol->devnum; ao->device_file = NULL; ao->file_browser = file_browser; ao->job = PTK_OPEN_DIR; ao->mount_point = NULL; task->complete_notify = (GFunc)on_autoopen_cb; task->user_data = ao; vol->inhibit_auto = TRUE; ptk_file_task_run( task ); } else if ( file_browser ) ptk_file_browser_emit_open( file_browser, vol->mount_point, PTK_OPEN_DIR ); else open_in_prog( vol->mount_point ); } static void on_remount( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { char* line; GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); // get user options XSet* set = xset_get( "dev_remount_options" ); if ( !xset_text_dialog( view, set->title, NULL, TRUE, set->desc, NULL, set->s, &set->s, set->z, FALSE, set->line ) ) return; gboolean mount_in_terminal; gboolean unmount_in_terminal = FALSE; char* mount_command = vfs_volume_get_mount_command( vol, set->s, &mount_in_terminal ); if ( !mount_command ) { popup_missing_mount( view, 0 ); return; } // task char* task_name = g_strdup_printf( _("Remount %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); if ( vfs_volume_is_mounted( vol ) ) { // udisks can't remount, so unmount and mount char* unmount_command = vfs_volume_device_unmount_cmd( vol, &unmount_in_terminal ); if ( !unmount_command ) { g_free( mount_command ); popup_missing_mount( view, 1 ); return; } if ( mount_in_terminal || unmount_in_terminal ) line = g_strdup_printf( "%s\nif [ $? -ne 0 ]; then\n echo -n '%s: '\n read\n exit 1\nelse\n %s\n [[ $? -eq 0 ]] || ( echo -n '%s: ' ; read )\nfi", unmount_command, press_enter_to_close, mount_command, press_enter_to_close ); else line = g_strdup_printf( "%s\nif [ $? -ne 0 ]; then\n exit 1\nelse\n %s\nfi", unmount_command, mount_command ); g_free( mount_command ); g_free( unmount_command ); } else line = mount_command; if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; task->task->exec_command = line; task->task->exec_sync = !mount_in_terminal && !unmount_in_terminal; task->task->exec_export = TRUE; task->task->exec_browser = file_browser; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_terminal = mount_in_terminal || unmount_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); vol->inhibit_auto = TRUE; ptk_file_task_run( task ); } static void on_reload( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { char* line; PtkFileTask* task; GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); if ( vfs_volume_is_mounted( vol ) ) { // task char* eject; gboolean run_in_terminal; char* unmount = vfs_volume_device_unmount_cmd( vol, &run_in_terminal ); if ( !unmount ) { popup_missing_mount( view, 1 ); return; } if ( vol->is_optical || vol->requires_eject ) eject = g_strdup_printf( "\nelse\n eject %s\n sleep 0.3\n eject -t %s", vol->device_file, vol->device_file ); else eject = g_strdup( "" ); if ( run_in_terminal ) line = g_strdup_printf( "echo 'Unmounting %s...'\nsync\n%s\nif [ $? -ne 0 ]; then\n echo -n '%s: '\n read\n exit 1%s\nfi", vol->device_file, unmount, press_enter_to_close, eject ); else line = g_strdup_printf( "sync\n%s\nif [ $? -ne 0 ]; then\n exit 1%s\nfi", unmount, eject ); g_free( eject ); g_free( unmount ); char* task_name = g_strdup_printf( "Reload %s", vol->device_file ); task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); if ( strstr( line, "udisks " ) ) // udisks v1 task->task->exec_type = VFS_EXEC_UDISKS; task->task->exec_command = line; task->task->exec_sync = !run_in_terminal; task->task->exec_export = TRUE; task->task->exec_browser = file_browser; task->task->exec_show_error = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); } else if ( vol->is_optical || vol->requires_eject ) { // task line = g_strdup_printf( "eject %s; sleep 0.3; eject -t %s", vol->device_file, vol->device_file ); char* task_name = g_strdup_printf( _("Reload %s"), vol->device_file ); task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); task->task->exec_command = line; task->task->exec_sync = FALSE; task->task->exec_show_error = FALSE; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); } else return; ptk_file_task_run( task ); // vol->ever_mounted = FALSE; } static void on_sync( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; if ( !item ) view = view2; else { g_signal_stop_emission_by_name( item, "activate" ); view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); } PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); PtkFileTask* task = ptk_file_exec_new( _("Sync"), NULL, view, file_browser->task_view ); task->task->exec_browser = NULL; task->task->exec_action = g_strdup_printf( "sync" ); task->task->exec_command = g_strdup_printf( "sync" ); task->task->exec_as_user = NULL; task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_terminal = FALSE; task->task->exec_export = FALSE; //task->task->exec_icon = g_strdup_printf( "start-here" ); ptk_file_task_run( task ); } static void on_format( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2, XSet* set2 ) { GtkWidget* view; XSet* set; char* msg; if ( !item ) { view = view2; set = set2; } else { view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); set = (XSet*)g_object_get_data( G_OBJECT(item), "set" ); } if ( vol->is_mounted ) { msg = g_strdup_printf( _("%s is currently mounted. You must unmount it before you can format it."), vol->device_file ); xset_msg_dialog( view, 0, _("Device Is Mounted"), NULL, 0, msg, NULL, "#devices-root-format" ); g_free( msg ); return; } if ( !set->s ) set->s = g_strdup( set->title ); char* old_set_s = g_strdup( set->s ); char* entire; if ( strlen( vol->device_file ) < 9 ) entire = g_strdup_printf( _(" ( AN ENTIRE DEVICE ) ") ); else entire = g_strdup( "" ); if ( !strcmp( set->desc, "zero" ) || !strcmp( set->desc, "urandom" ) ) { msg = g_strdup_printf( _("You are about to erase %s %s- ALL DATA WILL BE LOST. Be patient - this can take awhile and dd gives no feedback.\n\nEnter command to overwrite entire volume with /dev/%s:\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\nEDIT WITH CARE This command is run as root"), vol->device_file, entire, set->desc, vol->device_file ); } else msg = g_strdup_printf( _("You are about to format %s %s- ALL DATA WILL BE LOST.\n\nEnter %s format command:\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\nEDIT WITH CARE This command is run as root"), vol->device_file, entire, set->desc, vol->device_file ); if ( xset_text_dialog( view, _("Format"), xset_get_image( "GTK_STOCK_DIALOG_WARNING", GTK_ICON_SIZE_DIALOG ), TRUE, _("DATA LOSS WARNING"), msg, set->s, &set->s, set->title, TRUE, set->line ) && set->s ) { gboolean change_root = ( !old_set_s || strcmp( old_set_s, set->s ) ); // task char* cmd = replace_string( set->s, "%v", vol->device_file, FALSE ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); char* task_name = g_strdup_printf( _("Format %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); char* scmd = g_strdup_printf( "echo \">>> %s\"; echo; echo \"%s %s\"; echo; echo -n \"%s: \"; read s; if [ \"$s\" != \"yes\" ]; then exit; fi; %s; echo; echo -n \"%s: \"; read s", cmd, data_loss_overwrite, vol->device_file, type_yes_to_proceed, cmd, press_enter_to_close ); g_free( cmd ); task->task->exec_command = scmd; task->task->exec_write_root = change_root; task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = FALSE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = FALSE; task->task->exec_export = FALSE; task->task->exec_terminal = TRUE; task->task->exec_browser = file_browser; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } g_free( msg ); if ( old_set_s ) g_free( old_set_s ); g_free( entire ); } static void on_restore( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2, XSet* set2 ) { GtkWidget* view; XSet* set; char* msg; gboolean change_root = FALSE; if ( !item ) { view = view2; set = set2; } else { view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); set = (XSet*)g_object_get_data( G_OBJECT(item), "set" ); } if ( vol->is_mounted ) { msg = g_strdup_printf( _("%s is currently mounted. You must unmount it before you can restore it."), vol->device_file ); xset_msg_dialog( view, GTK_MESSAGE_ERROR, _("Device Is Mounted"), NULL, 0, msg, NULL, "#devices-root-resfile" ); g_free( msg ); return; } char* bfile = xset_file_dialog( view, GTK_FILE_CHOOSER_ACTION_OPEN, _("Choose Backup For Restore"), set->z, set->s ); if ( !bfile ) return; char* bname = g_path_get_basename( bfile ); if ( set->z ) g_free( set->z ); set->z = g_path_get_dirname( bfile ); if ( set->s ) g_free( set->s ); set->s = g_path_get_basename( bfile ); int job; char* type; char* vfile; if ( g_str_has_suffix( bfile, ".fsa" ) || strstr( bfile, "fsarchiver" ) ) { job = 0; type = "FSArchiver"; } else if ( g_str_has_suffix( bfile, ".000" ) || strstr( bfile, "partimage" ) ) { job = 1; type = "Partimage"; } else if ( g_str_has_suffix( bfile, ".mbr.bin" ) || g_str_has_suffix( bfile, ".mbr" ) || g_str_has_suffix( bfile, "-MBR-back" ) ) { job = 2; type = "MBR"; vfile = g_strndup( vol->device_file, 8 ); msg = g_strdup_printf( _("You are about to overwrite the MBR boot code of %s using %s.\n\nThis change may prevent your computer from booting properly. All important data on the entire device should be backed up first.\n\nProceed? (If you press Yes, you still have one more opportunity to abort before the disk is modified.)"), vfile, bname ); if ( xset_msg_dialog( view, GTK_MESSAGE_WARNING, _("Restore MBR"), NULL, GTK_BUTTONS_YES_NO, _("DATA LOSS WARNING"), msg, "#devices-root-resfile" ) != GTK_RESPONSE_YES ) { g_free( vfile ); g_free( bfile ); g_free( bname ); g_free( msg ); return; } g_free( msg ); } else { xset_msg_dialog( view, GTK_MESSAGE_ERROR, _("Unknown Type"), NULL, 0, _("The selected file is not a recognized backup file.\n\nFSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error."), NULL, "#devices-root-resinfo" ); g_free( bfile ); g_free( bname ); return; } // get command char* sfile = bash_quote( bfile ); char* cmd; if ( job == 2 ) { // restore only first 448 bytes of MBR to leave partition table untouched cmd = g_strdup_printf( "dd if=%s of=%s bs=448 count=1", sfile, vfile ); } else { char* set_cmd; char* def_cmd; char* new_cmd = NULL; vfile = g_strdup( vol->device_file ); if ( job == 0 ) { //fsa if ( !set->x ) set->x = g_strdup( set->desc ); set_cmd = set->x; def_cmd = set->desc; } else { //partimage if ( !set->y ) set->y = g_strdup( set->title ); set_cmd = set->y; def_cmd = set->title; } char* entire; if ( strlen( vol->device_file ) < 9 ) entire = _(" ( AN ENTIRE DEVICE ) "); else entire = ""; msg = g_strdup_printf( _("You are about to restore %s %susing %s - ALL DATA WILL BE LOST.\n\nEnter %s restore command:\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\t%%%%s\tbackup file ( %s )\n\nEDIT WITH CARE This command is run as root"), vol->device_file, entire, bname, type, vol->device_file, bname ); if ( xset_text_dialog( view, _("Restore"), xset_get_image( "GTK_STOCK_DIALOG_WARNING", GTK_ICON_SIZE_DIALOG ), TRUE, _("DATA LOSS WARNING"), msg, set_cmd, &new_cmd, def_cmd, TRUE, set->line ) && new_cmd ) { change_root = ( !set_cmd || !new_cmd || strcmp( set_cmd, new_cmd ) ); if ( job == 0 ) { //fsa if ( set->x ) g_free( set->x ); set->x = new_cmd; } else { //partimage if ( set->y ) g_free( set->y ); set->y = new_cmd; } char* s1 = replace_string( new_cmd, "%v", vol->device_file, FALSE ); cmd = replace_string( s1, "%s", sfile, FALSE ); g_free( s1 ); g_free( msg ); } else { g_free( msg ); g_free( bfile ); return; } } g_free( bfile ); g_free( bname ); // task PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); char* task_name = g_strdup_printf( _("%s Restore %s"), type, vfile ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); char* scmd; if ( job == 2 ) scmd = g_strdup_printf( "echo \">>> %s\"; echo; echo \"%s %s\"; echo; echo -n \"%s: \"; read s; if [ \"$s\" != \"yes\" ]; then exit; fi; %s; echo; echo -n \"%s \"; read s", cmd, "DATA LOSS WARNING - overwriting MBR boot code of", vfile, type_yes_to_proceed, cmd, press_enter_to_close ); else if ( job == 1 ) scmd = g_strdup_printf( "echo \">>> %s\"; echo; echo \"%s %s\"; echo; echo -n \"%s: \"; read s; if [ \"$s\" != \"yes\" ]; then exit; fi; %s; echo; echo -n \"%s: \"; read s", cmd, data_loss_overwrite, vfile, type_yes_to_proceed, cmd, press_enter_to_close ); else { // sudo has trouble finding fsarchiver because it's not in user path char* fsarc_bin = g_strdup( "/usr/sbin/fsarchiver" ); if ( !g_file_test( fsarc_bin, G_FILE_TEST_EXISTS ) ) { g_free( fsarc_bin ); fsarc_bin = g_strdup( "/sbin/fsarchiver" ); if ( !g_file_test( fsarc_bin, G_FILE_TEST_EXISTS ) ) { g_free( fsarc_bin ); fsarc_bin = g_strdup( "fsarchiver" ); } } scmd = g_strdup_printf( "echo \">>> %s archinfo %s\"; echo; %s archinfo %s; echo; echo \">>> %s\"; echo; echo \"%s %s\"; echo; echo -n \"%s: \"; read s; if [ \"$s\" != \"yes\" ]; then exit; fi; %s; echo; echo -n \"%s: \"; read s", fsarc_bin, sfile, fsarc_bin, sfile, cmd, data_loss_overwrite, vfile, type_yes_to_proceed, cmd, press_enter_to_close ); g_free( fsarc_bin ); } g_free( cmd ); g_free( vfile ); g_free( sfile ); task->task->exec_command = scmd; task->task->exec_write_root = change_root; task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = FALSE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = FALSE; task->task->exec_export = FALSE; task->task->exec_terminal = TRUE; task->task->exec_browser = file_browser; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } static void on_root_fstab( GtkMenuItem* item, GtkWidget* view ) { char* fstab_path = g_build_filename( SYSCONFDIR, "fstab", NULL ); xset_edit( view, fstab_path, TRUE, FALSE ); g_free( fstab_path ); } static void on_root_udevil( GtkMenuItem* item, GtkWidget* view ) { char* udevil_path = g_build_filename( SYSCONFDIR, "udevil", NULL ); char* udevil_conf = g_build_filename( SYSCONFDIR, "udevil", "udevil.conf", NULL ); char* msg = g_strdup_printf( _("The %s directory was not found. Is udevil installed?"), udevil_path ); if ( g_file_test( udevil_path, G_FILE_TEST_IS_DIR ) ) xset_edit( view, udevil_conf, TRUE, FALSE ); else xset_msg_dialog( view, GTK_MESSAGE_ERROR, _("Directory Missing"), NULL, 0, msg, NULL, NULL ); g_free( udevil_path ); g_free( udevil_conf ); g_free( msg ); } static void on_restore_info( GtkMenuItem* item, GtkWidget* view, XSet* set2 ) { XSet* set; if ( !item ) set = set2; else set = (XSet*)g_object_get_data( G_OBJECT(item), "set" ); char* bfile = xset_file_dialog( view, GTK_FILE_CHOOSER_ACTION_OPEN, _("Choose Backup For Info"), set->z, set->s ); if ( !bfile ) return; if ( set->z ) g_free( set->z ); set->z = g_path_get_dirname( bfile ); if ( set->s ) g_free( set->s ); set->s = g_path_get_basename( bfile ); char* sfile = bash_quote( bfile ); char* cmd; if ( g_str_has_suffix( bfile, ".fsa" ) || strstr( bfile, "fsarchiver" ) ) { // sudo has trouble finding fsarchiver because it's not in user path char* fsarc_bin = g_strdup( "/usr/sbin/fsarchiver" ); if ( !g_file_test( fsarc_bin, G_FILE_TEST_EXISTS ) ) { g_free( fsarc_bin ); fsarc_bin = g_strdup( "/sbin/fsarchiver" ); if ( !g_file_test( fsarc_bin, G_FILE_TEST_EXISTS ) ) { g_free( fsarc_bin ); fsarc_bin = g_strdup( "fsarchiver" ); } } cmd = g_strdup_printf( "%s archinfo %s", fsarc_bin, sfile ); g_free( fsarc_bin ); } else if ( g_str_has_suffix( bfile, ".000" ) || strstr( bfile, "partimage" ) ) { // sudo has trouble finding partimage because it's not in user path char* pi_bin = g_strdup( "/usr/sbin/partimage" ); if ( !g_file_test( pi_bin, G_FILE_TEST_EXISTS ) ) { g_free( pi_bin ); pi_bin = g_strdup( "/sbin/partimage" ); if ( !g_file_test( pi_bin, G_FILE_TEST_EXISTS ) ) { g_free( pi_bin ); pi_bin = g_strdup( "partimage" ); } } cmd = g_strdup_printf( "%s imginfo %s", pi_bin, sfile ); g_free( pi_bin ); } else if ( g_str_has_suffix( bfile, ".mbr.bin" ) || g_str_has_suffix( bfile, ".mbr" ) || g_str_has_suffix( bfile, "-MBR-back" ) ) { xset_msg_dialog( view, 0, _("MBR File"), NULL, 0, _("Based on its name, the selected file appears to be an MBR backup file. No other information is available for this type of backup."), NULL, "#devices-root-resinfo" ); g_free( bfile ); return; } else { xset_msg_dialog( view, GTK_MESSAGE_ERROR, _("Unknown Type"), NULL, 0, _("The selected file is not a recognized backup file.\n\nFSArchiver filenames contain 'fsarchiver' or end in '.fsa'. Partimage filenames contain 'partimage' or end in '.000'. MBR filenames end in '.mbr', '.mbr.bin', or '-MBR-back' and are 512 bytes in size. If you are SURE this file is a valid backup, you can rename it to avoid this error."), NULL, "#devices-root-resinfo" ); g_free( bfile ); return; } g_free( bfile ); g_free( sfile ); // task PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); PtkFileTask* task = ptk_file_exec_new( _("Restore Info"), NULL, view, file_browser->task_view ); task->task->exec_command = g_strdup_printf( "echo \">>> %s\"; echo; %s; echo; echo -n \"%s: \"; read s", cmd, cmd, press_enter_to_close ); g_free( cmd ); task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = FALSE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = FALSE; task->task->exec_export = FALSE; task->task->exec_terminal = TRUE; task->task->exec_browser = file_browser; ptk_file_task_run( task ); } static void on_backup( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2, XSet* set2 ) { GtkWidget* view; XSet* set; char* msg; char* msg2; if ( !item ) { view = view2; set = set2; } else { view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); set = (XSet*)g_object_get_data( G_OBJECT(item), "set" ); } char* vfile; char* bfile; char* vshort; char* cmd; char* hostname; char buf[256]; gboolean change_root = FALSE; if ( gethostname( buf, 256 ) == 0 ) { hostname = g_strdup_printf( "%s-", buf ); } else hostname = g_strdup( "" ); if ( !strcmp( set->name, "dev_back_mbr" ) ) { vfile = g_strndup( vol->device_file, 8 ); vshort = g_path_get_basename( vfile ); bfile = g_strdup_printf( "backup-%s%s.mbr.bin", hostname, vshort ); } else if ( !strcmp( set->name, "dev_back_fsarc" ) ) { vfile = g_strdup( vol->device_file ); vshort = g_path_get_basename( vfile ); bfile = g_strdup_printf( "backup-%s%s.fsarchiver.fsa", hostname, vshort ); if ( vol->is_mounted ) msg2 = g_strdup_printf( _("\n\nWARNING: %s is mounted. By default, FSArchiver will only backup volumes mounted read-only. To backup a read-write volume, you need to add --allow-rw-mounted to the command. See 'man fsarchiver' for details."), vol->device_file ); else msg2 = g_strdup( "" ); } else if ( !strcmp( set->name, "dev_back_part" ) ) { if ( vol->is_mounted ) { msg = g_strdup_printf( _("%s is currently mounted. You must unmount it before you can create a backup using Partimage."), vol->device_file ); xset_msg_dialog( view, GTK_MESSAGE_ERROR, _("Device Is Mounted"), NULL, 0, msg, NULL, "#devices-root-parti" ); g_free( msg ); g_free( hostname ); return; } vfile = g_strdup( vol->device_file ); vshort = g_path_get_basename( vfile ); bfile = g_strdup_printf( "backup-%s%s.partimage", hostname, vshort ); msg2 = g_strdup( "" ); } else return; // failsafe g_free( vshort ); g_free( hostname ); char* title = g_strdup_printf( _("Save %s Backup"), set->desc ); char* sfile = xset_file_dialog( view, GTK_FILE_CHOOSER_ACTION_SAVE, title, set->z, bfile ); g_free( title ); if ( !sfile ) { g_free( vfile ); g_free( bfile ); return; } // test if partimage sfile already exists if ( !strcmp( set->name, "dev_back_part" ) ) { char* volb = g_strdup_printf( "%s.000", sfile ); if ( g_file_test( volb, G_FILE_TEST_EXISTS ) ) { if ( xset_msg_dialog( view, GTK_MESSAGE_QUESTION, _("Overwrite?"), NULL, GTK_BUTTONS_YES_NO, _("The selected backup already exists. Overwrite?"), NULL, "#devices-root-parti" ) != GTK_RESPONSE_YES ) { g_free( vfile ); g_free( bfile ); g_free( volb ); return; } } g_free( volb ); } if ( set->z ) g_free( set->z ); set->z = g_path_get_dirname( sfile ); g_free( bfile ); bfile = bash_quote( sfile ); char* bshort = g_path_get_basename( sfile ); g_free( sfile ); if ( !strcmp( set->name, "dev_back_mbr" ) ) { cmd = g_strdup_printf( "dd if=%s of=%s bs=512 count=1", vfile, bfile ); } else { if ( !set->s ) set->s = g_strdup( set->title ); char* old_set_s = g_strdup( set->s ); msg = g_strdup_printf( _("Enter %s backup command:\n\nUse:\n\t%%%%v\tdevice file ( %s )\n\t%%%%s\tbackup file ( %s )%s\n\nEDIT WITH CARE This command is run as root"), set->desc, vol->device_file, bshort, msg2 ); g_free( msg2 ); if ( xset_text_dialog( view, _("Backup"), NULL, TRUE, msg, NULL, set->s, &set->s, set->title, TRUE, set->line ) && set->s ) { change_root = ( !old_set_s || strcmp( old_set_s, set->s ) ); char* s1 = replace_string( set->s, "%v", vol->device_file, FALSE ); cmd = replace_string( s1, "%s", bfile, FALSE ); g_free( s1 ); g_free( old_set_s ); g_free( msg ); } else { g_free( bshort ); g_free( msg ); g_free( vfile ); g_free( bfile ); g_free( old_set_s ); return; } } g_free( bfile ); g_free( bshort ); // task PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); char* task_name = g_strdup_printf( _("%s Backup %s"), set->desc, vfile ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, view, file_browser->task_view ); g_free( task_name ); g_free( vfile ); char* scmd = g_strdup_printf( "echo \">>> %s\"; echo; %s; echo; echo -n \"%s: \"; read s", cmd, cmd, press_enter_to_close ); g_free( cmd ); task->task->exec_command = scmd; task->task->exec_write_root = change_root; task->task->exec_as_user = g_strdup_printf( "root" ); task->task->exec_sync = FALSE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = FALSE; task->task->exec_export = FALSE; task->task->exec_terminal = TRUE; task->task->exec_browser = file_browser; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); ptk_file_task_run( task ); } static void on_prop( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { GtkWidget* view; char* cmd; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); if ( !vol || !view ) return; if ( !vol->device_file ) return; PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); // use handler command if available gboolean run_in_terminal; if ( vol->device_type == DEVICE_TYPE_NETWORK ) { // is a network - try to get prop command netmount_t *netmount = NULL; if ( split_network_url( vol->udi, &netmount ) == 1 ) { cmd = vfs_volume_handler_cmd( HANDLER_MODE_NET, HANDLER_PROP, vol, NULL, netmount, &run_in_terminal, NULL ); g_free( netmount->url ); g_free( netmount->fstype ); g_free( netmount->host ); g_free( netmount->ip ); g_free( netmount->port ); g_free( netmount->user ); g_free( netmount->pass ); g_free( netmount->path ); g_slice_free( netmount_t, netmount ); if ( !cmd ) { cmd = g_strdup_printf( "echo MOUNT\nmount | grep \" on %s \"\necho\necho PROCESSES\n/usr/bin/lsof -w \"%s\" | head -n 500\n", vol->mount_point, vol->mount_point ); run_in_terminal = FALSE; } else if ( strstr( cmd, "%a" ) ) { char* pointq = bash_quote( vol->mount_point ); char* str = cmd; cmd = replace_string( cmd, "%a", pointq, FALSE ); g_free( str ); g_free( pointq ); } } else return; } else if ( vol->device_type == DEVICE_TYPE_OTHER && mtab_fstype_is_handled_by_protocol( vol->fs_type ) ) { cmd = vfs_volume_handler_cmd( HANDLER_MODE_NET, HANDLER_PROP, vol, NULL, NULL, &run_in_terminal, NULL ); if ( !cmd ) { cmd = g_strdup_printf( "echo MOUNT\nmount | grep \" on %s \"\necho\necho PROCESSES\n/usr/bin/lsof -w \"%s\" | head -n 500\n", vol->mount_point, vol->mount_point ); run_in_terminal = FALSE; } else if ( strstr( cmd, "%a" ) ) { char* pointq = bash_quote( vol->mount_point ); char* str = cmd; cmd = replace_string( cmd, "%a", pointq, FALSE ); g_free( str ); g_free( pointq ); } } else cmd = vfs_volume_handler_cmd( HANDLER_MODE_FS, HANDLER_PROP, vol, NULL, NULL, &run_in_terminal, NULL ); // create task // Note: file_browser may be NULL if ( !GTK_IS_WIDGET( file_browser ) ) file_browser = NULL; char* task_name = g_strdup_printf( _("Properties %s"), vol->device_file ); PtkFileTask* task = ptk_file_exec_new( task_name, NULL, file_browser ? GTK_WIDGET( file_browser ) : view, file_browser ? file_browser->task_view : NULL ); g_free( task_name ); task->task->exec_browser = file_browser; if ( cmd ) { task->task->exec_command = cmd; task->task->exec_sync = !run_in_terminal; task->task->exec_export = !!file_browser; task->task->exec_browser = file_browser; task->task->exec_popup = TRUE; task->task->exec_show_output = TRUE; task->task->exec_terminal = run_in_terminal; task->task->exec_keep_terminal = run_in_terminal; task->task->exec_scroll_lock = TRUE; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); //task->task->exec_keep_tmp = TRUE; ptk_file_task_run( task ); return; } // no handler command - show default properties char size_str[ 64 ]; char* df; char* udisks; char* lsof; char* infobash; char* path; char* flags; char* old_flags; char* uuid = NULL; char* fstab = NULL; char* info; char* esc_path; char* fstab_path = g_build_filename( SYSCONFDIR, "fstab", NULL ); char* base = g_path_get_basename( vol->device_file ); if ( base ) { // /bin/ls -l /dev/disk/by-uuid | grep ../sdc2 | sed 's/.* \([a-fA-F0-9\-]*\) -> .*/\1/' cmd = g_strdup_printf( "bash -c \"/bin/ls -l /dev/disk/by-uuid | grep '\\.\\./%s$' | sed 's/.* \\([a-fA-F0-9-]*\\) -> .*/\\1/'\"", base ); g_spawn_command_line_sync( cmd, &uuid, NULL, NULL, NULL ); g_free( cmd ); if ( uuid && strlen( uuid ) < 9 ) { g_free( uuid ); uuid = NULL; } if ( uuid ) { if ( old_flags = strchr( uuid, '\n' ) ) old_flags[0] = '\0'; } if ( uuid ) { cmd = g_strdup_printf( "bash -c \"cat %s | grep -e '%s' -e '%s'\"", fstab_path, uuid, vol->device_file ); //cmd = g_strdup_printf( "bash -c \"cat /etc/fstab | grep -e ^[#\\ ]*UUID=$(/bin/ls -l /dev/disk/by-uuid | grep \\.\\./%s | sed 's/.* \\([a-fA-F0-9\-]*\\) -> \.*/\\1/')\\ */ -e '^[# ]*%s '\"", base, vol->device_file ); g_spawn_command_line_sync( cmd, &fstab, NULL, NULL, NULL ); g_free( cmd ); } if ( !fstab ) { cmd = g_strdup_printf( "bash -c \"cat %s | grep '%s'\"", fstab_path, vol->device_file ); //cmd = g_strdup_printf( "bash -c \"cat /etc/fstab | grep '^[# ]*%s '\"", vol->device_file ); g_spawn_command_line_sync( cmd, &fstab, NULL, NULL, NULL ); g_free( cmd ); } if ( fstab && strlen( fstab ) < 9 ) { g_free( fstab ); fstab = NULL; } if ( fstab ) { ///if ( old_flags = strchr( fstab, '\n' ) ) /// old_flags[0] = '\0'; while ( strstr( fstab, " " ) ) { old_flags = fstab; fstab = replace_string( fstab, " ", " ", FALSE ); g_free( old_flags ); } } } g_free( fstab_path ); //printf("dev=%s\nuuid=%s\nfstab=%s\n", vol->device_file, uuid, fstab ); if ( uuid && fstab ) { info = g_strdup_printf( "echo FSTAB ; echo '%s'; echo INFO ; echo 'UUID=%s' ; ", fstab, uuid ); g_free( uuid ); g_free( fstab ); } else if ( uuid && !fstab ) { info = g_strdup_printf( "echo FSTAB ; echo '( not found )' ; echo ; echo INFO ; echo 'UUID=%s' ; ", uuid ); g_free( uuid ); } else if ( !uuid && fstab ) { info = g_strdup_printf( "echo FSTAB ; echo '%s' ; echo INFO ; ", fstab ); g_free( fstab ); } else info = g_strdup_printf( "echo FSTAB ; echo '( not found )' ; echo ; echo INFO ; " ); flags = g_strdup_printf( "echo %s ; echo '%s' ", "DEVICE", vol->device_file ); if ( vol->is_removable ) { old_flags = flags; flags = g_strdup_printf( "%s removable", flags ); g_free( old_flags ); } else { old_flags = flags; flags = g_strdup_printf( "%s internal", flags ); g_free( old_flags ); } if ( vol->requires_eject ) { old_flags = flags; flags = g_strdup_printf( "%s ejectable", flags ); g_free( old_flags ); } if ( vol->is_optical ) { old_flags = flags; flags = g_strdup_printf( "%s optical", flags ); g_free( old_flags ); } if ( vol->is_table ) { old_flags = flags; flags = g_strdup_printf( "%s table", flags ); g_free( old_flags ); } if ( vol->is_floppy ) { old_flags = flags; flags = g_strdup_printf( "%s floppy", flags ); g_free( old_flags ); } if ( !vol->is_user_visible ) { old_flags = flags; flags = g_strdup_printf( "%s policy_hide", flags ); g_free( old_flags ); } if ( vol->nopolicy ) { old_flags = flags; flags = g_strdup_printf( "%s policy_noauto", flags ); g_free( old_flags ); } if ( vol->is_mounted ) { old_flags = flags; flags = g_strdup_printf( "%s mounted", flags ); g_free( old_flags ); } else if ( vol->is_mountable && !vol->is_table ) { old_flags = flags; flags = g_strdup_printf( "%s mountable", flags ); g_free( old_flags ); } else { old_flags = flags; flags = g_strdup_printf( "%s no_media", flags ); g_free( old_flags ); } if ( vol->is_blank ) { old_flags = flags; flags = g_strdup_printf( "%s blank", flags ); g_free( old_flags ); } if ( vol->is_audiocd ) { old_flags = flags; flags = g_strdup_printf( "%s audiocd", flags ); g_free( old_flags ); } if ( vol->is_dvd ) { old_flags = flags; flags = g_strdup_printf( "%s dvd", flags ); g_free( old_flags ); } if ( vol->is_mounted ) { old_flags = flags; flags = g_strdup_printf( "%s ; mount | grep \"%s \" | sed 's/\\/dev.*\\( on .*\\)/\\1/' ; echo ; ", flags, vol->device_file ); g_free( old_flags ); } else { old_flags = flags; flags = g_strdup_printf( "%s ; echo ; ", flags ); g_free( old_flags ); } if ( vol->is_mounted ) { path = g_find_program_in_path( "df" ); if ( !path ) df = g_strdup_printf( "echo %s ; echo \"( please install df )\" ; echo ; ", "USAGE" ); else { esc_path = bash_quote( vol->mount_point ); df = g_strdup_printf( "echo %s ; %s -hT %s ; echo ; ", "USAGE", path, esc_path ); g_free( path ); g_free( esc_path ); } } else { if ( vol->is_mountable ) { vfs_file_size_to_string_format( size_str, vol->size, "%.1f %s" ); df = g_strdup_printf( "echo %s ; echo \"%s %s %s ( not mounted )\" ; echo ; ", "USAGE", vol->device_file, vol->fs_type ? vol->fs_type : "", size_str ); } else df = g_strdup_printf( "echo %s ; echo \"%s ( no media )\" ; echo ; ", "USAGE", vol->device_file ); } char* udisks_info = vfs_volume_device_info( vol ); udisks = g_strdup_printf( "%s\ncat << EOF\n%s\nEOF\necho ; ", info, udisks_info ); g_free( udisks_info ); if ( vol->is_mounted ) { path = g_find_program_in_path( "lsof" ); if ( !path ) lsof = g_strdup_printf( "echo %s ; echo \"( %s lsof )\" ; echo ; ", "PROCESSES", "please install" ); else { if ( !strcmp( vol->mount_point, "/" ) ) lsof = g_strdup_printf( "echo %s ; %s -w | grep /$ | head -n 500 ; echo ; ", "PROCESSES", path ); else { esc_path = bash_quote( vol->mount_point ); lsof = g_strdup_printf( "echo %s ; %s -w %s | head -n 500 ; echo ; ", "PROCESSES", path, esc_path ); g_free( esc_path ); } g_free( path ); } } else lsof = g_strdup( "" ); /* not desirable ? if ( path = g_find_program_in_path( "infobash" ) ) { infobash = g_strdup_printf( "echo SYSTEM ; %s -v3 0 ; echo ; ", path ); g_free( path ); } else */ infobash = g_strdup( "" ); task->task->exec_command = g_strdup_printf( "%s%s%s%s%s", flags, df, udisks, lsof, infobash ); task->task->exec_sync = TRUE; task->task->exec_popup = TRUE; task->task->exec_show_output = TRUE; task->task->exec_export = FALSE; task->task->exec_scroll_lock = TRUE; task->task->exec_icon = g_strdup( vfs_volume_get_icon( vol ) ); //task->task->exec_keep_tmp = TRUE; ptk_file_task_run( task ); g_free( df ); g_free( udisks ); g_free( lsof ); g_free( infobash ); } static void on_showhide( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { char* msg; GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); XSet* set = xset_get( "dev_show_hide_volumes" ); if ( vol ) { char* devid = vol->udi; devid = strrchr( devid, '/' ); if ( devid ) devid++; msg = g_strdup_printf( _("%sCurrently Selected Device: %s\nVolume Label: %s\nDevice ID: %s"), set->desc, vol->device_file, vol->label, devid ); } else msg = g_strdup( set->desc ); if ( xset_text_dialog( view, set->title, NULL, TRUE, msg, NULL, set->s, &set->s, NULL, FALSE, set->line ) ) update_all(); g_free( msg ); } static void on_automountlist( GtkMenuItem* item, VFSVolume* vol, GtkWidget* view2 ) { char* msg; GtkWidget* view; if ( !item ) view = view2; else view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); XSet* set = xset_get( "dev_automount_volumes" ); if ( vol ) { char* devid = vol->udi; devid = strrchr( devid, '/' ); if ( devid ) devid++; msg = g_strdup_printf( _("%sCurrently Selected Device: %s\nVolume Label: %s\nDevice ID: %s"), set->desc, vol->device_file, vol->label, devid ); } else msg = g_strdup( set->desc ); if ( xset_text_dialog( view, set->title, NULL, TRUE, msg, NULL, set->s, &set->s, NULL, FALSE, set->line ) ) { // update view / automount all? } g_free( msg ); } static void on_handler_show_config( GtkMenuItem* item, GtkWidget* view, XSet* set2 ) { XSet* set; int mode; if ( !item ) set = set2; else set = (XSet*)g_object_get_data( G_OBJECT(item), "set" ); if ( !g_strcmp0( set->name, "dev_fs_cnf" ) ) mode = HANDLER_MODE_FS; else if ( !g_strcmp0( set->name, "dev_net_cnf" ) ) mode = HANDLER_MODE_NET; else return; PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); ptk_handler_show_config( mode, NULL, file_browser, NULL ); } #endif void open_external_tab( const char* path ) { char* prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); char* quote_path = bash_quote( path ); char* line = g_strdup_printf( "%s -t %s", prog, quote_path ); g_spawn_command_line_async( line, NULL ); g_free( prog ); g_free( quote_path ); g_free( line ); } gboolean volume_is_visible( VFSVolume* vol ) { #ifndef HAVE_HAL // check show/hide int i, j; char* test; char* value; char* showhidelist = g_strdup_printf( " %s ", xset_get_s( "dev_show_hide_volumes" ) ); for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 2; j++ ) { if ( i == 0 ) value = vol->device_file; else if ( i == 1 ) value = vol->label; else { if ( value = vol->udi ) { value = strrchr( value, '/' ); if ( value ) value++; } } if ( value && value[0] != '\0' ) { if ( j == 0 ) test = g_strdup_printf( " +%s ", value ); else test = g_strdup_printf( " -%s ", value ); if ( strstr( showhidelist, test ) ) { g_free( test ); g_free( showhidelist ); return ( j == 0 ); } g_free( test ); } } } g_free( showhidelist ); // network if ( vol->device_type == DEVICE_TYPE_NETWORK ) return xset_get_b( "dev_show_net" ); // other - eg fuseiso mounted file if ( vol->device_type == DEVICE_TYPE_OTHER ) return xset_get_b( "dev_show_file" ); // loop if ( g_str_has_prefix( vol->device_file, "/dev/loop" ) ) { if ( vol->is_mounted && xset_get_b( "dev_show_file" ) ) return TRUE; if ( !vol->is_mountable && !vol->is_mounted ) return FALSE; // fall through } // ramfs CONFIG_BLK_DEV_RAM causes multiple entries of /dev/ram* if ( !vol->is_mounted && g_str_has_prefix( vol->device_file, "/dev/ram" ) && vol->device_file[8] && g_ascii_isdigit( vol->device_file[8] ) ) return FALSE; // internal? if ( !vol->is_removable && !xset_get_b( "dev_show_internal_drives" ) ) return FALSE; // table? if ( vol->is_table && !xset_get_b( "dev_show_partition_tables" ) ) return FALSE; // udisks hide? if ( !vol->is_user_visible && !xset_get_b( "dev_ignore_udisks_hide" ) ) return FALSE; // has media? if ( !vol->is_mountable && !vol->is_mounted && !xset_get_b( "dev_show_empty" ) ) return FALSE; #endif return TRUE; } #ifndef HAVE_HAL void ptk_location_view_on_action( GtkWidget* view, XSet* set ) { char* xname; //printf("ptk_location_view_on_action\n"); if ( !view ) return; VFSVolume* vol = ptk_location_view_get_selected_vol( GTK_TREE_VIEW( view ) ); if ( !strcmp( set->name, "dev_show_internal_drives" ) || !strcmp( set->name, "dev_show_empty" ) || !strcmp( set->name, "dev_show_partition_tables" ) || !strcmp( set->name, "dev_show_net" ) || !strcmp( set->name, "dev_show_file" ) || !strcmp( set->name, "dev_ignore_udisks_hide" ) || !strcmp( set->name, "dev_show_hide_volumes" ) || !strcmp( set->name, "dev_automount_optical" ) || !strcmp( set->name, "dev_automount_removable" ) || !strcmp( set->name, "dev_ignore_udisks_nopolicy" ) ) update_all(); else if ( !strcmp( set->name, "dev_automount_volumes" ) ) on_automountlist( NULL, vol, view ); else if ( !strcmp( set->name, "dev_root_fstab" ) ) on_root_fstab( NULL, view ); else if ( !strcmp( set->name, "dev_root_udevil" ) ) on_root_udevil( NULL, view ); else if ( !strcmp( set->name, "dev_rest_info" ) ) on_restore_info( NULL, view, set ); else if ( g_str_has_prefix( set->name, "dev_icon_" ) ) update_volume_icons(); else if ( !strcmp( set->name, "dev_dispname" ) ) update_names(); else if ( !strcmp( set->name, "dev_menu_sync" ) ) on_sync( NULL, vol, view ); else if ( !strcmp( set->name, "dev_fs_cnf" ) ) on_handler_show_config( NULL, view, set ); else if ( !strcmp( set->name, "dev_net_cnf" ) ) on_handler_show_config( NULL, view, set ); else if ( !strcmp( set->name, "dev_change" ) ) update_change_detection(); else if ( !vol ) return; else { // require vol != NULL if ( g_str_has_prefix( set->name, "dev_menu_" ) ) { xname = set->name + 9; if ( !strcmp( xname, "remove" ) ) on_eject( NULL, vol, view ); else if ( !strcmp( xname, "unmount" ) ) on_umount( NULL, vol, view ); else if ( !strcmp( xname, "reload" ) ) on_reload( NULL, vol, view ); else if ( !strcmp( xname, "open" ) ) on_open( NULL, vol, view ); else if ( !strcmp( xname, "tab" ) ) on_open_tab( NULL, vol, view ); else if ( !strcmp( xname, "mount" ) ) on_mount( NULL, vol, view ); else if ( !strcmp( xname, "remount" ) ) on_remount( NULL, vol, view ); } else if ( g_str_has_prefix( set->name, "dev_root_" ) ) { xname = set->name + 9; if ( !strcmp( xname, "mount" ) ) on_mount_root( NULL, vol, view ); else if ( !strcmp( xname, "unmount" ) ) on_umount_root( NULL, vol, view ); else if ( !strcmp( xname, "label" ) ) on_change_label( NULL, vol, view ); else if ( !strcmp( xname, "check" ) ) on_check_root( NULL, vol, view ); } else if ( g_str_has_prefix( set->name, "dev_fmt_" ) ) on_format( NULL, vol, view, set ); else if ( g_str_has_prefix( set->name, "dev_back_" ) ) on_backup( NULL, vol, view, set ); else if ( !strcmp( set->name, "dev_rest_info" ) ) on_restore( NULL, vol, view, set ); else if ( !strcmp( set->name, "dev_prop" ) ) on_prop( NULL, vol, view ); } } #endif static void show_devices_menu( GtkTreeView* view, VFSVolume* vol, PtkFileBrowser* file_browser, guint button, guint32 time ) { GtkWidget* item; XSet* set; char* str; GtkWidget* popup = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new (); XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); #ifndef HAVE_HAL set = xset_set_cb( "dev_menu_remove", on_eject, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; set = xset_set_cb( "dev_menu_unmount", on_umount, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; //!( vol && vol->is_mounted ); set = xset_set_cb( "dev_menu_reload", on_reload, vol ); xset_set_ob1( set, "view", view ); set->disable = !( vol && vol->device_type == DEVICE_TYPE_BLOCK ); set = xset_set_cb( "dev_menu_sync", on_sync, vol ); xset_set_ob1( set, "view", view ); set = xset_set_cb( "dev_menu_open", on_open, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; set = xset_set_cb( "dev_menu_tab", on_open_tab, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; set = xset_set_cb( "dev_menu_mount", on_mount, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; // || ( vol && vol->is_mounted ); set = xset_set_cb( "dev_menu_remount", on_remount, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; set = xset_set_cb( "dev_root_mount", on_mount_root, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; set = xset_set_cb( "dev_root_unmount", on_umount_root, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; set = xset_set_cb( "dev_root_label", on_change_label, vol ); xset_set_ob1( set, "view", view ); set->disable = !( vol && vol->device_type == DEVICE_TYPE_BLOCK ); xset_set_cb( "dev_root_fstab", on_root_fstab, view ); xset_set_cb( "dev_root_udevil", on_root_udevil, view ); set = xset_set_cb( "dev_menu_mark", on_bookmark_device, vol ); xset_set_ob1( set, "view", view ); xset_set_cb( "dev_show_internal_drives", update_all, NULL ); xset_set_cb( "dev_show_empty", update_all, NULL ); xset_set_cb( "dev_show_partition_tables", update_all, NULL ); xset_set_cb( "dev_show_net", update_all, NULL ); set = xset_set_cb( "dev_show_file", update_all, NULL ); // set->disable = xset_get_b( "dev_show_internal_drives" ); xset_set_cb( "dev_ignore_udisks_hide", update_all, NULL ); xset_set_cb( "dev_show_hide_volumes", on_showhide, vol ); set = xset_set_cb( "dev_automount_optical", update_all, NULL ); gboolean auto_optical = set->b == XSET_B_TRUE; set = xset_set_cb( "dev_automount_removable", update_all, NULL ); gboolean auto_removable = set->b == XSET_B_TRUE; xset_set_cb( "dev_ignore_udisks_nopolicy", update_all, NULL ); set = xset_set_cb( "dev_automount_volumes", on_automountlist, vol ); xset_set_ob1( set, "view", view ); if ( vol && vol->device_type == DEVICE_TYPE_NETWORK && ( g_str_has_prefix( vol->device_file, "//" ) || strstr( vol->device_file, ":/" ) ) ) str = " dev_menu_mark"; else str = ""; char* menu_elements = g_strdup_printf( "dev_menu_remove dev_menu_reload dev_menu_unmount dev_menu_sync sep_dm1 dev_menu_open dev_menu_tab dev_menu_mount dev_menu_remount%s", str ); xset_add_menu( NULL, file_browser, popup, accel_group, menu_elements ); g_free( menu_elements ); #else item = gtk_menu_item_new_with_mnemonic( _( "_Mount" ) ); g_object_set_data( G_OBJECT(item), "view", view ); g_signal_connect( item, "activate", G_CALLBACK(on_mount), vol ); if( vfs_volume_is_mounted( vol ) ) gtk_widget_set_sensitive( item, FALSE ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); item = gtk_menu_item_new_with_mnemonic( _( "_Unmount" ) ); g_object_set_data( G_OBJECT(item), "view", view ); g_signal_connect( item, "activate", G_CALLBACK(on_umount), vol ); if( !vfs_volume_is_mounted( vol ) ) gtk_widget_set_sensitive( item, FALSE ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); if( vfs_volume_requires_eject( vol ) ) { item = gtk_menu_item_new_with_mnemonic( _( "_Eject" ) ); g_object_set_data( G_OBJECT(item), "view", view ); g_signal_connect( item, "activate", G_CALLBACK(on_eject), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); } #endif #ifndef HAVE_HAL if ( vol ) { set = xset_set_cb( "dev_fmt_vfat", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_ntfs", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_ext2", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_ext3", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_ext4", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_btrfs", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_reis", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_reis4", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_swap", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_zero", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_fmt_urand", on_format, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_back_fsarc", on_backup, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set->disable = !vol; set = xset_set_cb( "dev_back_part", on_backup, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set->disable = ( !vol || ( vol && vol->is_mounted ) ); set = xset_set_cb( "dev_back_mbr", on_backup, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set->disable = ( !vol || ( vol && vol->is_optical ) ); set = xset_set_cb( "dev_rest_file", on_restore, vol ); xset_set_ob1( set, "view", view ); xset_set_ob2( set, "set", set ); set = xset_set_cb( "dev_rest_info", on_restore_info, view ); xset_set_ob1( set, "set", set ); } set = xset_set_cb( "dev_prop", on_prop, vol ); xset_set_ob1( set, "view", view ); set->disable = !vol; set = xset_get( "dev_menu_root" ); //set->disable = !vol; set = xset_get( "dev_menu_format" ); set->disable = !( vol && !vol->is_mounted && vol->device_type == DEVICE_TYPE_BLOCK ); set = xset_set_cb( "dev_root_check", on_check_root, vol ); set->disable = !( vol && !vol->is_mounted && vol->device_type == DEVICE_TYPE_BLOCK ); xset_set_ob1( set, "view", view ); set = xset_get( "dev_menu_restore" ); set->disable = !( vol && !vol->is_mounted && vol->device_type == DEVICE_TYPE_BLOCK ); set = xset_get( "dev_menu_backup" ); set->disable = !( vol && vol->device_type == DEVICE_TYPE_BLOCK ); xset_set_cb_panel( file_browser->mypanel, "font_dev", main_update_fonts, file_browser ); xset_set_cb( "dev_icon_audiocd", update_volume_icons, NULL ); xset_set_cb( "dev_icon_optical_mounted", update_volume_icons, NULL ); xset_set_cb( "dev_icon_optical_media", update_volume_icons, NULL ); xset_set_cb( "dev_icon_optical_nomedia", update_volume_icons, NULL ); xset_set_cb( "dev_icon_floppy_mounted", update_volume_icons, NULL ); xset_set_cb( "dev_icon_floppy_unmounted", update_volume_icons, NULL ); xset_set_cb( "dev_icon_remove_mounted", update_volume_icons, NULL ); xset_set_cb( "dev_icon_remove_unmounted", update_volume_icons, NULL ); xset_set_cb( "dev_icon_internal_mounted", update_volume_icons, NULL ); xset_set_cb( "dev_icon_internal_unmounted", update_volume_icons, NULL ); xset_set_cb( "dev_icon_network", update_all_icons, NULL ); xset_set_cb( "dev_dispname", update_names, NULL ); xset_set_cb( "dev_change", update_change_detection, NULL ); set = xset_get( "dev_exec_fs" ); set->disable = !auto_optical && !auto_removable; set = xset_get( "dev_exec_audio" ); set->disable = !auto_optical; set = xset_get( "dev_exec_video" ); set->disable = !auto_optical; set = xset_set_cb( "dev_fs_cnf", on_handler_show_config, view ); xset_set_ob1( set, "set", set ); set = xset_set_cb( "dev_net_cnf", on_handler_show_config, view ); xset_set_ob1( set, "set", set ); set = xset_get( "dev_menu_settings" ); menu_elements = g_strdup_printf( "dev_show sep_dm4 dev_menu_auto dev_exec dev_fs_cnf dev_net_cnf dev_mount_options dev_change sep_dm5 dev_single dev_newtab dev_icon panel%d_font_dev", file_browser->mypanel ); xset_set_set( set, "desc", menu_elements ); g_free( menu_elements ); menu_elements = g_strdup_printf( "sep_dm2 dev_menu_root sep_dm3 dev_prop dev_menu_settings" ); xset_add_menu( NULL, file_browser, popup, accel_group, menu_elements ); g_free( menu_elements ); #endif gtk_widget_show_all( GTK_WIDGET(popup) ); g_signal_connect( popup, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); g_signal_connect( popup, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); gtk_menu_popup( GTK_MENU( popup ), NULL, NULL, NULL, NULL, button, time ); } gboolean on_button_press_event( GtkTreeView* view, GdkEventButton* evt, gpointer user_data ) { GtkTreeIter it; GtkTreeSelection* tree_sel = NULL; GtkTreePath* tree_path = NULL; int pos; VFSVolume* vol = NULL; gboolean ret = FALSE; if( evt->type != GDK_BUTTON_PRESS ) return FALSE; //printf("on_button_press_event view = %d\n", view ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); ptk_file_browser_focus_me( file_browser ); if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( file_browser->main_window, evt_win_click, "evt_win_click", 0, 0, "devices", 0, evt->button, evt->state, TRUE ) ) return FALSE; // get selected vol if ( gtk_tree_view_get_path_at_pos( view, evt->x, evt->y, &tree_path, NULL, NULL, NULL ) ) { tree_sel = gtk_tree_view_get_selection( view ); if ( gtk_tree_model_get_iter( model, &it, tree_path ) ) { gtk_tree_selection_select_iter( tree_sel, &it ); gtk_tree_model_get( model, &it, COL_DATA, &vol, -1 ); } } if ( evt->button == 1 ) /* left button */ { if ( vol ) { if ( xset_get_b( "dev_single" ) ) { gtk_tree_view_row_activated( view, tree_path, NULL ); ret = TRUE; } } else { gtk_tree_selection_unselect_all( gtk_tree_view_get_selection( view ) ); ret = TRUE; } } #ifndef HAVE_HAL else if ( vol && evt->button == 2 ) /* middle button */ { on_eject( NULL, vol, GTK_WIDGET( view ) ); ret = TRUE; } #endif else if ( evt->button == 3 ) /* right button */ { show_devices_menu( view, vol, file_browser, evt->button, evt->time ); ret = TRUE; } if ( tree_path ) gtk_tree_path_free( tree_path ); return ret; } gboolean on_key_press_event( GtkWidget* w, GdkEventKey* event, PtkFileBrowser* file_browser ) { int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( event->keyval == GDK_KEY_Menu || ( event->keyval == GDK_KEY_F10 && keymod == GDK_SHIFT_MASK ) ) { // simulate right-click (menu) show_devices_menu( GTK_TREE_VIEW( file_browser->side_dev ), ptk_location_view_get_selected_vol( GTK_TREE_VIEW( file_browser->side_dev ) ), file_browser, 3, event->time ); return TRUE; } return FALSE; } void on_dev_menu_hide( GtkWidget *widget, GtkWidget* dev_menu ) { gtk_widget_set_sensitive( widget, TRUE ); gtk_menu_shell_deactivate( GTK_MENU_SHELL( dev_menu ) ); } static void show_dev_design_menu( GtkWidget* menu, GtkWidget* dev_item, VFSVolume* vol, guint button, guint32 time ) { PtkFileBrowser* file_browser; // validate vol const GList* l; const GList* volumes = vfs_volume_get_all_volumes(); for ( l = volumes; l; l = l->next ) { if ( (VFSVolume*)l->data == vol ) break; } if ( !l ) /////// destroy menu? return; GtkWidget* view = (GtkWidget*)g_object_get_data( G_OBJECT(menu), "parent" ); #ifndef HAVE_HAL if ( xset_get_b( "dev_newtab" ) ) file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); else file_browser = NULL; #else file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); #endif // NOTE: file_browser may be NULL if ( button == 1 ) { // left-click - mount & open #ifndef HAVE_HAL // device opener? note that context may be based on devices list sel // won't work for desktop because no DesktopWindow currently available if ( file_browser && xset_opener( NULL, file_browser, 2 ) ) return; if ( file_browser ) on_open_tab( NULL, vol, view ); else on_open( NULL, vol, view ); #else if ( !vfs_volume_is_mounted( vol ) && !try_mount( NULL, vol ) ) return; if ( vfs_volume_get_mount_point( vol ) ) { if ( file_browser ) ptk_file_browser_emit_open( file_browser, vfs_volume_get_mount_point( vol ), PTK_OPEN_NEW_TAB ); else open_in_prog( vfs_volume_get_mount_point( vol ) ); } #endif return; } else if ( button == 2 ) { // middle-click - Remove / Eject #ifndef HAVE_HAL on_eject( NULL, vol, view ); #else if ( vfs_volume_requires_eject( vol ) ) on_eject( NULL, vol ); else if ( vfs_volume_is_mounted( vol ) ) on_umount( NULL, vol ); #endif return; } // create menu XSet* set; GtkWidget* item; GtkWidget* popup = gtk_menu_new(); #ifndef HAVE_HAL GtkWidget* image; set = xset_get( "dev_menu_remove" ); item = gtk_image_menu_item_new_with_mnemonic( set->menu_label ); if ( set->icon ) { image = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( item ), image ); } g_object_set_data( G_OBJECT( item ), "view", view ); g_signal_connect( item, "activate", G_CALLBACK( on_eject ), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); set = xset_get( "dev_menu_unmount" ); item = gtk_image_menu_item_new_with_mnemonic( set->menu_label ); if ( set->icon ) { image = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( item ), image ); } g_object_set_data( G_OBJECT( item ), "view", view ); g_signal_connect( item, "activate", G_CALLBACK( on_umount ), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); gtk_widget_set_sensitive( item, !!vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), gtk_separator_menu_item_new() ); set = xset_get( "dev_menu_open" ); item = gtk_image_menu_item_new_with_mnemonic( set->menu_label ); if ( set->icon ) { image = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( item ), image ); } g_object_set_data( G_OBJECT( item ), "view", view ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); if ( file_browser ) g_signal_connect( item, "activate", G_CALLBACK( on_open_tab ), vol ); else g_signal_connect( item, "activate", G_CALLBACK( on_open ), vol ); set = xset_get( "dev_menu_mount" ); item = gtk_image_menu_item_new_with_mnemonic( set->menu_label ); if ( set->icon ) { image = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( item ), image ); } g_object_set_data( G_OBJECT( item ), "view", view ); g_signal_connect( item, "activate", G_CALLBACK( on_mount ), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); gtk_widget_set_sensitive( item, !!vol ); // Bookmark Device if ( vol && vol->device_type == DEVICE_TYPE_NETWORK && ( g_str_has_prefix( vol->device_file, "//" ) || strstr( vol->device_file, ":/" ) ) ) { set = xset_get( "dev_menu_mark" ); item = gtk_image_menu_item_new_with_mnemonic( set->menu_label ); if ( set->icon ) { image = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( item ), image ); } g_object_set_data( G_OBJECT( item ), "view", view ); g_signal_connect( item, "activate", G_CALLBACK( on_bookmark_device ), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); } // Separator gtk_menu_shell_append( GTK_MENU_SHELL( popup ), gtk_separator_menu_item_new() ); set = xset_get( "dev_prop" ); item = gtk_image_menu_item_new_with_mnemonic( set->menu_label ); if ( set->icon ) { image = xset_get_image( set->icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( item ), image ); } g_object_set_data( G_OBJECT( item ), "view", view ); g_signal_connect( item, "activate", G_CALLBACK( on_prop ), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); if ( !vol ) gtk_widget_set_sensitive( item, FALSE ); #else item = gtk_menu_item_new_with_mnemonic( _( "_Mount" ) ); g_signal_connect( item, "activate", G_CALLBACK(on_mount), vol ); if( vfs_volume_is_mounted( vol ) ) gtk_widget_set_sensitive( item, FALSE ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); item = gtk_menu_item_new_with_mnemonic( _( "_Unmount" ) ); g_signal_connect( item, "activate", G_CALLBACK(on_umount), vol ); if( ! vfs_volume_is_mounted( vol ) ) gtk_widget_set_sensitive( item, FALSE ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); if ( vfs_volume_requires_eject( vol ) ) { item = gtk_menu_item_new_with_mnemonic( _( "_Eject" ) ); g_signal_connect( item, "activate", G_CALLBACK(on_eject), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( popup ), item ); } #endif // show menu gtk_widget_show_all( GTK_WIDGET( popup ) ); gtk_menu_popup( GTK_MENU( popup ), GTK_WIDGET( menu ), dev_item, NULL, NULL, button, time ); gtk_widget_set_sensitive( GTK_WIDGET( menu ), FALSE ); g_signal_connect( menu, "hide", G_CALLBACK( on_dev_menu_hide ), popup ); g_signal_connect( popup, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); gtk_menu_shell_set_take_focus( GTK_MENU_SHELL( popup ), TRUE ); // this is required when showing the menu via F2 or Menu key for focus gtk_menu_shell_select_first( GTK_MENU_SHELL( popup ), TRUE ); } gboolean on_dev_menu_keypress( GtkWidget* menu, GdkEventKey* event, gpointer user_data ) { GtkWidget* item = gtk_menu_shell_get_selected_item( GTK_MENU_SHELL( menu ) ); if ( item ) { VFSVolume* vol = (VFSVolume*)g_object_get_data( G_OBJECT(item), "vol" ); if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter || event->keyval == GDK_KEY_space ) { // simulate left-click (mount) show_dev_design_menu( menu, item, vol, 1, event->time ); return TRUE; } else if ( event->keyval == GDK_KEY_Menu || event->keyval == GDK_KEY_F2 ) { // simulate right-click (menu) show_dev_design_menu( menu, item, vol, 3, event->time ); } } return FALSE; } gboolean on_dev_menu_button_press( GtkWidget* item, GdkEventButton* event, VFSVolume* vol ) { GtkWidget* menu = (GtkWidget*)g_object_get_data( G_OBJECT(item), "menu" ); int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( event->type == GDK_BUTTON_RELEASE ) { if ( event->button == 1 && keymod == 0 ) { // user released left button - due to an apparent gtk bug, activate // doesn't always fire on this event so handle it ourselves // see also settings.c xset_design_cb() // test: gtk2 Crux theme with touchpad on Edit|Copy To|Location // https://github.com/IgnorantGuru/spacefm/issues/31 // https://github.com/IgnorantGuru/spacefm/issues/228 if ( menu ) gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); /* GtkWidget* view = (GtkWidget*)g_object_get_data( G_OBJECT(menu), "parent" ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); printf("xxxxxxxxxxxxxxxxxxxx %p\n", file_browser); if ( file_browser && xset_opener( NULL, file_browser, 2 ) ) { printf(" TRUE\n"); return TRUE; } */ gtk_menu_item_activate( GTK_MENU_ITEM( item ) ); return TRUE; } return FALSE; } else if ( event->type != GDK_BUTTON_PRESS ) return FALSE; show_dev_design_menu( menu, item, vol, event->button, event->time ); return TRUE; } gint cmp_dev_name( VFSVolume* a, VFSVolume* b ) { return g_strcmp0( vfs_volume_get_disp_name( a ), vfs_volume_get_disp_name( b ) ); } void ptk_location_view_dev_menu( GtkWidget* parent, PtkFileBrowser* file_browser, GtkWidget* menu ) { // add currently visible devices to menu with dev design mode callback const GList* v; VFSVolume* vol; GtkTreeIter it; GtkWidget* item; XSet* set; GList* names = NULL; GList* l; g_object_set_data( G_OBJECT( menu ), "parent", parent ); // file_browser may be NULL g_object_set_data( G_OBJECT( parent ), "file_browser", file_browser ); const GList* volumes = vfs_volume_get_all_volumes(); for ( v = volumes; v; v = v->next ) { vol = (VFSVolume*)v->data; if ( vol && volume_is_visible( vol ) ) names = g_list_prepend( names, vol ); } names = g_list_sort( names, (GCompareFunc)cmp_dev_name ); for ( l = names; l; l = l->next ) { vol = (VFSVolume*)l->data; item = gtk_image_menu_item_new_with_label( vfs_volume_get_disp_name( vol ) ); if ( vfs_volume_get_icon( vol ) ) { GtkWidget* image = xset_get_image( vfs_volume_get_icon( vol ), GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), image ); } g_object_set_data( G_OBJECT( item ), "menu", menu ); g_object_set_data( G_OBJECT( item ), "vol", vol ); g_signal_connect( item, "button-press-event", G_CALLBACK( on_dev_menu_button_press ), vol ); g_signal_connect( item, "button-release-event", G_CALLBACK( on_dev_menu_button_press ), vol ); gtk_menu_shell_append( GTK_MENU_SHELL( menu ), item ); } g_list_free( names ); g_signal_connect( menu, "key_press_event", G_CALLBACK( on_dev_menu_keypress ), NULL ); #ifndef HAVE_HAL xset_set_cb( "dev_show_internal_drives", update_all, NULL ); xset_set_cb( "dev_show_empty", update_all, NULL ); xset_set_cb( "dev_show_partition_tables", update_all, NULL ); xset_set_cb( "dev_show_net", update_all, NULL ); set = xset_set_cb( "dev_show_file", update_all, NULL ); // set->disable = xset_get_b( "dev_show_internal_drives" ); xset_set_cb( "dev_ignore_udisks_hide", update_all, NULL ); xset_set_cb( "dev_show_hide_volumes", on_showhide, vol ); set = xset_set_cb( "dev_automount_optical", update_all, NULL ); gboolean auto_optical = set->b == XSET_B_TRUE; set = xset_set_cb( "dev_automount_removable", update_all, NULL ); gboolean auto_removable = set->b == XSET_B_TRUE; xset_set_cb( "dev_ignore_udisks_nopolicy", update_all, NULL ); xset_set_cb( "dev_automount_volumes", on_automountlist, vol ); xset_set_cb( "dev_change", update_change_detection, NULL ); set = xset_set_cb( "dev_fs_cnf", on_handler_show_config, parent ); xset_set_ob1( set, "set", set ); set = xset_set_cb( "dev_net_cnf", on_handler_show_config, parent ); xset_set_ob1( set, "set", set ); set = xset_get( "dev_menu_settings" ); char* desc = g_strdup_printf( "dev_show sep_dm4 dev_menu_auto dev_exec dev_fs_cnf dev_net_cnf dev_mount_options dev_change%s", file_browser ? " dev_newtab" : "" ); xset_set_set( set, "desc", desc ); g_free( desc ); #endif } VFSVolume* ptk_location_view_get_volume( GtkTreeView* location_view, GtkTreeIter* it ) { VFSVolume* vol = NULL; gtk_tree_model_get( model, it, COL_DATA, &vol, -1 ); return vol; } //=============================================================================== // BOOKMARK LIST /* gboolean update_drag_dest_row( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, gpointer user_data ) { GtkTreeView* view = (GtkTreeView*)widget; GtkTreePath* tree_path; GtkTreeViewDropPosition pos; gboolean ret = TRUE; if( gtk_tree_view_get_dest_row_at_pos(view, x, y, &tree_path, &pos ) ) { int row = gtk_tree_path_get_indices(tree_path)[0]; if( row <= sep_idx ) { gtk_tree_path_get_indices(tree_path)[0] = sep_idx; gtk_tree_view_set_drag_dest_row( view, tree_path, GTK_TREE_VIEW_DROP_AFTER ); } else { if( pos == GTK_TREE_VIEW_DROP_BEFORE || pos == GTK_TREE_VIEW_DROP_AFTER ) gtk_tree_view_set_drag_dest_row( view, tree_path, pos ); else ret = FALSE; } } else { int n = gtk_tree_model_iter_n_children( model, NULL ); tree_path = gtk_tree_path_new_from_indices( n - 1, -1 ); gtk_tree_view_set_drag_dest_row( view, tree_path, GTK_TREE_VIEW_DROP_AFTER ); } gtk_tree_path_free( tree_path ); if( ret ) gdk_drag_status( drag_context, GDK_ACTION_LINK, time ); return ret; } */ /* gboolean on_drag_motion( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, gpointer user_data ) { // stop the default handler of GtkTreeView g_signal_stop_emission_by_name( widget, "drag-motion" ); return update_drag_dest_row( widget, drag_context, x, y, time, user_data ); } gboolean on_drag_drop( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, guint time, gpointer user_data ) { GdkAtom target = gdk_atom_intern( "text/uri-list", FALSE ); update_drag_dest_row( widget, drag_context, x, y, time, user_data ); gtk_drag_get_data( widget, drag_context, target, time ); gtk_tree_view_set_drag_dest_row( (GtkTreeView*)widget, NULL, 0 ); return TRUE; } void on_drag_data_received( GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data) { char** uris, **uri, *file, *name; GtkTreeView* view; GtkTreePath* tree_path; GtkTreeViewDropPosition pos; int idx; if ((data->length >= 0) && (data->format == 8)) { if( uris = gtk_selection_data_get_uris(data) ) { view = (GtkTreeView*)widget; gtk_tree_view_get_drag_dest_row( view, &tree_path, &pos ); if( tree_path ) { idx = gtk_tree_path_get_indices(tree_path)[0]; idx -= sep_idx; if( pos == GTK_TREE_VIEW_DROP_BEFORE ) --idx; for( uri = uris; *uri; ++uri, ++idx ) { file = g_filename_from_uri( *uri, NULL, NULL ); if( g_file_test( file, G_FILE_TEST_IS_DIR ) ) { name = g_filename_display_basename( file ); ptk_bookmarks_insert( name, file, idx ); g_free( name ); } g_free( file ); } } g_strfreev( uris ); } } gtk_drag_finish (drag_context, FALSE, FALSE, time); } */ void ptk_bookmark_view_import_gtk( const char* path, XSet* book_set ) { // import bookmarks file from spacefm < 1.0 or gtk bookmarks file char line[ 2048 ]; gsize name_len, upath_len; XSet* set; XSet* newset; XSet* set_prev = NULL; XSet* set_first = NULL; char *sep, *name, *upath, *tpath; char* upath_name = NULL; //int count = 0; if ( !path ) return; FILE* file = fopen( path, "r" ); if ( file ) { while ( fgets( line, sizeof( line ), file ) ) { /* Every line is an URI containing no space charactetrs with its name appended (optional) */ if ( sep = strchr( line, ' ' ) ) { sep[0] = '\0'; name = sep + 1; } else if ( line[0] ) name = NULL; else continue; tpath = g_filename_from_uri( line, NULL, NULL ); if ( tpath ) { upath = g_filename_to_utf8( tpath, -1, NULL, &upath_len, NULL ); g_free( tpath ); } else if ( g_str_has_prefix( line, "file://~/" ) ) { upath = g_strdup( line + 7 ); if ( !name ) name = _( "Home" ); } else if ( g_str_has_prefix( line, "//" ) || strstr( line, ":/" ) ) upath = g_strdup( line ); else continue; if ( !name ) name = upath_name = g_path_get_basename( upath ); if ( name ) { sep = strchr( name, '\r' ); if ( sep ) sep[0] = '\0'; sep = strchr( name, '\n' ); if ( sep ) sep[0] = '\0'; } // add new bookmark newset = xset_custom_new(); newset->z = upath; newset->menu_label = g_strdup( name ); newset->x = g_strdup( "3" ); // XSET_CMD_BOOKMARK // unset these to save session space newset->task = newset->task_err = newset->task_out = newset->keep_terminal = XSET_B_UNSET; if ( set_prev ) { newset->prev = g_strdup( set_prev->name ); set_prev->next = g_strdup( newset->name ); } else set_first = newset; set_prev = newset; //if ( count++ > 500 ) // break; g_free( upath_name ); upath_name = NULL; } fclose( file ); // add new xsets to bookmarks list if ( set_first ) { if ( book_set && !book_set->child ) { // a book_set was passed which is not the submenu - nav up while ( book_set && book_set->prev ) book_set = xset_is( book_set->prev ); if ( book_set ) book_set = xset_is( book_set->parent ); if ( !book_set ) { g_warning( "ptk_bookmark_view_import_gtk invalid book_set" ); xset_custom_delete( set_first, TRUE ); return; } } set = book_set ? book_set : xset_get( "main_book" ); if ( !set->child ) { // make set_first the child set->child = g_strdup( set_first->name ); set_first->parent = g_strdup( set->name ); } else { // add set_first after the last item in submenu set = xset_get( set->child ); while ( set && set->next ) set = xset_get( set->next ); if ( set_first && set ) { set->next = g_strdup( set_first->name ); set_first->prev = g_strdup( set->name ); } } } } if ( book_set ) main_window_bookmark_changed( book_set->name ); } static XSet* get_selected_bookmark_set( GtkTreeView* view ) { GtkTreeIter it; GtkTreeSelection* tree_sel; char* name = NULL; GtkListStore* list = GTK_LIST_STORE( gtk_tree_view_get_model( view ) ); if ( !list ) return NULL; tree_sel = gtk_tree_view_get_selection( view ); if ( gtk_tree_selection_get_selected( tree_sel, NULL, &it ) ) gtk_tree_model_get( GTK_TREE_MODEL( list ), &it, COL_PATH, &name, -1 ); XSet* set = xset_is( name ); g_free( name ); return set; } static void select_bookmark( GtkTreeView *view, XSet* set ) { GtkListStore* list = GTK_LIST_STORE( gtk_tree_view_get_model( view ) ); GtkTreeSelection* tree_sel = gtk_tree_view_get_selection( view ); if ( !set || !list ) { if ( tree_sel ) gtk_tree_selection_unselect_all( tree_sel ); return; } // Scan list for changed GtkTreeIter it; char* set_name; if ( gtk_tree_model_get_iter_first( GTK_TREE_MODEL( list ), &it ) ) { do { gtk_tree_model_get( GTK_TREE_MODEL( list ), &it, COL_PATH, &set_name, -1 ); if ( set_name && !strcmp( set->name, set_name ) ) { // found in list gtk_tree_selection_select_iter( tree_sel, &it ); GtkTreePath* tree_path = gtk_tree_model_get_path( GTK_TREE_MODEL( list ), &it ); if ( tree_path ) { gtk_tree_view_scroll_to_cell( view, tree_path, NULL, TRUE, .25, 0 ); gtk_tree_path_free( tree_path ); } g_free( set_name ); return; } g_free( set_name ); } while( gtk_tree_model_iter_next( GTK_TREE_MODEL( list ), &it) ); } gtk_tree_selection_unselect_all( tree_sel ); } static void update_bookmark_list_item( GtkListStore* list, GtkTreeIter* it, XSet* set ) { char* name; const char* icon1 = NULL; const char* icon2 = NULL; const char* icon3 = NULL; const char* icon_name = NULL; char* icon_file = NULL; int cmd_type; char* menu_label = NULL; VFSAppDesktop* app = NULL; GdkPixbuf* icon = NULL; gboolean is_submenu = FALSE; gboolean is_sep = FALSE; XSet* set2; int icon_size = app_settings.small_icon_size; if ( icon_size > PANE_MAX_ICON_SIZE ) icon_size = PANE_MAX_ICON_SIZE; icon_name = set->icon; if ( !icon_name && !set->lock ) { // custom 'icon' file? icon_file = g_build_filename( xset_get_config_dir(), "scripts", set->name, "icon", NULL ); if ( !g_file_test( icon_file, G_FILE_TEST_EXISTS ) ) { g_free( icon_file ); icon_file = NULL; } else icon_name = icon_file; } // get icon name if ( set->menu_style == XSET_MENU_SUBMENU ) { icon1 = icon_name; if ( !icon1 ) { if ( global_icon_submenu ) icon = global_icon_submenu; else if ( ( set2 = xset_get( "book_menu_icon" ) ) && set2->icon ) { icon1 = set2->icon; icon2 = "gnome-fs-directory"; icon3 = "gtk-directory"; is_submenu = TRUE; } else { icon1 = "gnome-fs-directory"; icon2 = "gtk-directory"; icon3 = "folder"; is_submenu = TRUE; } } } else if ( set->menu_style == XSET_MENU_SEP ) is_sep = TRUE; else { if ( set->menu_style != XSET_MENU_CHECK ) icon1 = icon_name; cmd_type = set->x ? atoi( set->x ) : -1; if ( !set->lock && cmd_type == XSET_CMD_BOOKMARK ) { // Bookmark if ( !( set->menu_label && set->menu_label[0] ) ) menu_label = g_strdup( set->z ); if ( !icon_name && !( set->z && ( strstr( set->z, ":/" ) || g_str_has_prefix( set->z, "//" ) ) ) ) { // is non-network bookmark with no custom icon if ( global_icon_bookmark ) icon = global_icon_bookmark; else icon = global_icon_bookmark = xset_custom_get_bookmark_icon( set, icon_size ); } else icon = xset_custom_get_bookmark_icon( set, icon_size ); } else if ( !set->lock && cmd_type == XSET_CMD_APP ) { // Application menu_label = xset_custom_get_app_name_icon( set, &icon, icon_size ); } else if ( !icon1 && ( cmd_type == XSET_CMD_APP || cmd_type == XSET_CMD_LINE || cmd_type == XSET_CMD_SCRIPT ) ) { if ( set->menu_style != XSET_MENU_CHECK || set->b == XSET_B_TRUE ) { if ( set->menu_style == XSET_MENU_CHECK && icon_name && set->b == XSET_B_TRUE ) { icon1 = icon_name; icon2 = "gtk-execute"; } else icon1 = "gtk-execute"; } } } // add label and xset name name = clean_label( menu_label ? menu_label : set->menu_label, FALSE, FALSE ); gtk_list_store_set( list, it, COL_NAME, name, -1 ); gtk_list_store_set( list, it, COL_PATH, set->name, -1 ); gtk_list_store_set( list, it, COL_DATA, is_sep, -1 ); g_free( name ); g_free( menu_label ); // add icon if ( icon ) gtk_list_store_set( list, it, COL_ICON, icon, -1 ); else if ( icon1 ) { GtkIconTheme* icon_theme = gtk_icon_theme_get_default(); icon = vfs_load_icon ( icon_theme, icon1, icon_size ); if ( !icon && icon2 ) icon = vfs_load_icon ( icon_theme, icon2, icon_size ); if ( !icon && icon3 ) icon = vfs_load_icon ( icon_theme, icon3, icon_size ); gtk_list_store_set( list, it, COL_ICON, icon, -1 ); if ( icon ) { if ( is_submenu ) global_icon_submenu = icon; else g_object_unref( icon ); } } else gtk_list_store_set( list, it, COL_ICON, NULL, -1 ); g_free( icon_file ); } static void ptk_bookmark_view_reload_list( GtkTreeView* view, XSet* book_set ) { GtkTreeIter it; int pos = 0; XSet* set; if ( !view ) return; GtkListStore* list = GTK_LIST_STORE( gtk_tree_view_get_model( view ) ); if ( !list ) return; gtk_list_store_clear( list ); if ( !book_set || !book_set->child ) return; g_signal_handlers_block_matched( list, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_bookmark_row_inserted, NULL ); // Add top item gtk_list_store_insert( list, &it, ++pos ); char* name = clean_label( book_set->menu_label, FALSE, FALSE ); //char* name = g_strdup_printf( "[ %s ]", str ); gtk_list_store_set( list, &it, COL_NAME, name, -1 ); gtk_list_store_set( list, &it, COL_PATH, book_set->name, -1 ); g_free( name ); // icon GtkIconTheme* icon_theme; GdkPixbuf* icon = NULL; icon_theme = gtk_icon_theme_get_default(); int icon_size = app_settings.small_icon_size; if ( icon_size > PANE_MAX_ICON_SIZE ) icon_size = PANE_MAX_ICON_SIZE; if ( book_set->icon /*&& !strcmp( book_set->name, "main_book" )*/ ) icon = vfs_load_icon ( icon_theme, book_set->icon, icon_size ); if ( !icon ) icon = vfs_load_icon ( icon_theme, "gtk-go-up", icon_size ); if ( icon ) { gtk_list_store_set( list, &it, COL_ICON, icon, -1 ); g_object_unref( icon ); } // Add items set = xset_get( book_set->child ); while ( set ) { // add new list row gtk_list_store_insert( list, &it, ++pos ); update_bookmark_list_item( list, &it, set ); // next if ( set->next ) set = xset_is( set->next ); else break; } g_signal_handlers_unblock_matched( list, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_bookmark_row_inserted, NULL ); } static void on_bookmark_device( GtkMenuItem* item, VFSVolume* vol ) { const char* url; XSet* set; XSet* newset; XSet* sel_set; GtkWidget* view = (GtkWidget*)g_object_get_data( G_OBJECT(item), "view" ); PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT(view), "file_browser" ); if ( !file_browser ) return; #ifndef HAVE_HAL // udi is the original user-entered URL, if available, else mtab url url = vol->udi; #else url = vfs_volume_get_device( vol ); #endif if ( g_str_has_prefix( url, "curlftpfs#" ) ) url += 10; if ( file_browser->side_book ) { // bookmark pane is shown - add after selected or to end of list sel_set = get_selected_bookmark_set( GTK_TREE_VIEW( file_browser->side_book ) ); if ( !sel_set && file_browser->book_set_name ) { // none selected - get last set in list set = xset_get( file_browser->book_set_name ); sel_set = xset_get( set->child ); while ( sel_set ) { if ( !sel_set->next ) break; sel_set = xset_get( sel_set->next ); } } } else { // bookmark pane is not shown for current browser - add to main_book set = xset_get( "main_book" ); sel_set = xset_get( set->child ); while ( sel_set ) { if ( !sel_set->next ) break; sel_set = xset_get( sel_set->next ); } } if ( !sel_set || !url ) return; // failsafe // create new bookmark newset = xset_custom_new(); newset->menu_label = g_strdup( url ); newset->z = g_strdup( url ); newset->x = g_strdup_printf( "%d", XSET_CMD_BOOKMARK ); newset->prev = g_strdup( sel_set->name ); newset->next = sel_set->next; // steal string newset->task = newset->task_err = newset->task_out = newset->keep_terminal = XSET_B_UNSET; if ( sel_set->next ) { XSet* sel_set_next = xset_get( sel_set->next ); g_free( sel_set_next->prev ); sel_set_next->prev = g_strdup( newset->name ); } sel_set->next = g_strdup( newset->name ); main_window_bookmark_changed( newset->name ); } void ptk_bookmark_view_update_icons( GtkIconTheme* icon_theme, PtkFileBrowser* file_browser ) { if ( !( GTK_IS_WIDGET( file_browser ) && file_browser->side_book ) ) return; GtkTreeView* view = GTK_TREE_VIEW( file_browser->side_book ); if ( !view ) return; if ( global_icon_bookmark ) { g_object_unref( global_icon_bookmark ); global_icon_bookmark = NULL; } if ( global_icon_submenu ) { g_object_unref( global_icon_submenu ); global_icon_submenu = NULL; } XSet* book_set = xset_is( file_browser->book_set_name ); if ( book_set ) ptk_bookmark_view_reload_list( view, book_set ); } XSet* ptk_bookmark_view_get_first_bookmark( XSet* book_set ) { XSet* child_set; if ( !book_set ) book_set = xset_get( "main_book" ); if ( !book_set->child ) { child_set = xset_custom_new(); child_set->menu_label = g_strdup_printf( _("Home") ); child_set->z = g_strdup( g_get_home_dir() ); child_set->x = g_strdup_printf( "%d", XSET_CMD_BOOKMARK ); child_set->parent = g_strdup_printf( "main_book" ); book_set->child = g_strdup( child_set->name ); child_set->task = child_set->task_err = child_set->task_out = child_set->keep_terminal = XSET_B_UNSET; } else child_set = xset_get( book_set->child ); return child_set; } static XSet* find_cwd_match_bookmark( XSet* parent_set, const char* cwd, gboolean recurse, XSet* skip_set, XSet** found_parent_set ) { // This function must be as FAST as possible XSet* set; XSet* found_set; char* sep; char* url; *found_parent_set = NULL; // if !no_skip, items in this parent are considered already examined, but // submenus are recursed if recurse gboolean no_skip = skip_set != parent_set; if ( !no_skip && !recurse ) return NULL; //printf( " scan %s %s %s\n", parent_set->menu_label, no_skip ? "" : "skip", recurse ? "recurse" : "" ); set = xset_is( parent_set->child ); while ( set ) { if ( no_skip && set->z && set->x && !set->lock && set->x[0] == '3' /* XSET_CMD_BOOKMARK */ && set->menu_style < XSET_MENU_SUBMENU && g_str_has_prefix( set->z, cwd ) ) { // found a possible match - confirm sep = strchr( set->z, ';' ); if ( sep ) sep[0] = '\0'; url = g_strstrip( g_strdup( set->z ) ); if ( sep ) sep[0] = ';'; if ( !g_strcmp0( cwd, url ) ) { // found a bookmark matching cwd g_free( url ); *found_parent_set = parent_set; return set; } g_free( url ); } else if ( set->menu_style == XSET_MENU_SUBMENU && recurse && set->child ) { // set is a parent - recurse contents if ( found_set = find_cwd_match_bookmark( set, cwd, TRUE, skip_set, found_parent_set ) ) return found_set; } set = xset_is( set->next ); } return NULL; } gboolean ptk_bookmark_view_chdir( GtkTreeView* view, PtkFileBrowser* file_browser, gboolean recurse ) { // select bookmark of cur dir if recurse and option 'Follow Dir' // select bookmark of cur dir if !recurse, ignoring option 'Follow Dir' XSet* parent_set = NULL; XSet* set; if ( !file_browser || !view || ( recurse && !xset_get_b_panel( file_browser->mypanel, "book_fol" ) ) ) return FALSE; const char* cwd = ptk_file_browser_get_cwd( file_browser ); //printf("\n\n\nchdir %s\n", cwd); // cur dir is already selected? set = get_selected_bookmark_set( view ); if ( set && !set->lock && set->z && set->menu_style < XSET_MENU_SUBMENU && set->x && atoi( set->x ) == XSET_CMD_BOOKMARK && g_str_has_prefix ( set->z, cwd ) ) { char* sep = strchr( set->z, ';' ); if ( sep ) sep[0] = '\0'; char* url = g_strstrip( g_strdup( set->z ) ); if ( sep ) sep[0] = ';'; if ( !strcmp( url, cwd ) ) { g_free( url ); return TRUE; } g_free( url ); } // look in current bookmark list XSet* start_set = xset_is( file_browser->book_set_name ); set = start_set ? find_cwd_match_bookmark( start_set, cwd, FALSE, NULL, &parent_set ) : NULL; if ( !set && recurse ) { // look thru all of main_book, skipping start_set set = find_cwd_match_bookmark( xset_get( "main_book" ), cwd, TRUE, start_set, &parent_set ); } if ( set && parent_set && ( !start_set || g_strcmp0( parent_set->name, start_set->name ) ) ) { g_free( file_browser->book_set_name ); file_browser->book_set_name = g_strdup( parent_set->name ); ptk_bookmark_view_reload_list( view, parent_set ); } select_bookmark( view, set ); return !!set; } char* ptk_bookmark_view_get_selected_dir( GtkTreeView* view ) { XSet* set = get_selected_bookmark_set( view ); if ( set ) { int cmd_type = set->x ? atoi( set->x ) : -1; if ( !set->lock && cmd_type == XSET_CMD_BOOKMARK && set->z ) { char* sep = strchr( set->z, ';' ); if ( sep ) sep[0] = '\0'; char* url = g_strstrip( g_strdup( set->z ) ); if ( sep ) sep[0] = ';'; if ( !url[0] ) g_free( url ); else return url; } } return NULL; } void ptk_bookmark_view_add_bookmark( GtkMenuItem *menuitem, PtkFileBrowser* file_browser, const char* url ) { // adding from file browser - bookmarks may not be shown XSet* set; XSet* newset; XSet* sel_set; if ( !file_browser ) return; if ( file_browser->side_book && !url ) { // already bookmarked if ( ptk_bookmark_view_chdir( GTK_TREE_VIEW( file_browser->side_book ), file_browser, FALSE ) ) return; } if ( menuitem || !url ) url = ptk_file_browser_get_cwd( PTK_FILE_BROWSER( file_browser ) ); if ( file_browser->side_book ) { // bookmark pane is shown - add after selected or to end of list sel_set = get_selected_bookmark_set( GTK_TREE_VIEW( file_browser->side_book ) ); if ( !sel_set && file_browser->book_set_name ) { // none selected - get last set in list set = xset_get( file_browser->book_set_name ); sel_set = xset_get( set->child ); while ( sel_set ) { if ( !sel_set->next ) break; sel_set = xset_get( sel_set->next ); } } } else { // bookmark pane is not shown for current browser - add to main_book set = xset_get( "main_book" ); sel_set = xset_get( set->child ); while ( sel_set ) { if ( !sel_set->next ) break; sel_set = xset_get( sel_set->next ); } } if ( !sel_set ) return; // failsafe // create new bookmark newset = xset_custom_new(); newset->menu_label = g_path_get_basename( url ); newset->z = g_strdup( url ); newset->x = g_strdup_printf( "%d", XSET_CMD_BOOKMARK ); newset->prev = g_strdup( sel_set->name ); newset->next = sel_set->next; // steal string newset->task = newset->task_err = newset->task_out = newset->keep_terminal = XSET_B_UNSET; if ( sel_set->next ) { XSet* sel_set_next = xset_get( sel_set->next ); g_free( sel_set_next->prev ); sel_set_next->prev = g_strdup( newset->name ); } sel_set->next = g_strdup( newset->name ); main_window_bookmark_changed( newset->name ); if ( file_browser->side_book ) select_bookmark( GTK_TREE_VIEW( file_browser->side_book ), newset ); } void ptk_bookmark_view_xset_changed( GtkTreeView* view, PtkFileBrowser* file_browser, const char* changed_name ) { // a custom xset has changed - need to update view? XSet* changed_set; XSet* set; //printf( "ptk_bookmark_view_xset_changed\n"); GtkListStore* list = GTK_LIST_STORE( gtk_tree_view_get_model( view ) ); if ( !( list && file_browser && file_browser->book_set_name && changed_name ) ) return; changed_set = xset_is( changed_name ); if ( !strcmp( file_browser->book_set_name, changed_name ) ) { // The loaded book set itself has changed - reload list if ( changed_set ) ptk_bookmark_view_reload_list( view, changed_set ); else { // The loaded book set has been deleted g_free( file_browser->book_set_name ); file_browser->book_set_name = g_strdup( "main_book" ); ptk_bookmark_view_reload_list( view, xset_get( "main_book" ) ); } return; } // is changed_set currently a child of book set ? gboolean is_child = FALSE; if ( changed_set ) { set = changed_set; while ( set->prev ) set = xset_get( set->prev ); if ( set->parent && !strcmp( file_browser->book_set_name, set->parent ) ) is_child = TRUE; } //printf( " %s %s %s\n", changed_name, changed_set ? changed_set->menu_label : "missing", is_child ? "is_child" : "NOT" ); // Scan list for changed GtkTreeIter it; char* set_name; if ( gtk_tree_model_get_iter_first( GTK_TREE_MODEL( list ), &it ) ) { do { gtk_tree_model_get( GTK_TREE_MODEL( list ), &it, COL_PATH, &set_name, -1 ); if ( set_name && !strcmp( changed_name, set_name ) ) { // found in list if ( changed_set ) { if ( is_child ) update_bookmark_list_item( list, &it, changed_set ); else { // found in list but no longer a child - remove from list gtk_list_store_remove( list, &it ); } } else // found in list but xset removed - remove from list gtk_list_store_remove( list, &it ); g_free( set_name ); return; } g_free( set_name ); } while( gtk_tree_model_iter_next( GTK_TREE_MODEL( list ), &it) ); } if ( is_child ) { // is a child but was not found in list - reload list ptk_bookmark_view_reload_list( view, xset_get( file_browser->book_set_name ) ); } } static void activate_bookmark_item( XSet* sel_set, GtkTreeView *view, PtkFileBrowser* file_browser, gboolean reverse ) { XSet* set; if ( !sel_set || !view || !file_browser ) return; if ( file_browser->book_set_name && !strcmp( file_browser->book_set_name, sel_set->name ) ) { // top item - go up if ( !strcmp( sel_set->name, "main_book" ) ) return; // already is top set = sel_set; while ( set->prev ) set = xset_get( set->prev ); if ( set = xset_is( set->parent ) ) { g_free( file_browser->book_set_name ); file_browser->book_set_name = g_strdup( set->name ); ptk_bookmark_view_reload_list( view, set ); if ( xset_get_b_panel( file_browser->mypanel, "book_fol" ) ) ptk_bookmark_view_chdir( view, file_browser, FALSE ); } } else if ( sel_set->menu_style == XSET_MENU_SUBMENU ) { // enter submenu g_free( file_browser->book_set_name ); file_browser->book_set_name = g_strdup( sel_set->name ); ptk_bookmark_view_reload_list( view, sel_set ); } else { // activate bookmark sel_set->browser = file_browser; sel_set->desktop = NULL; if ( reverse ) { // temporarily reverse the New Tab setting set = xset_get( "book_newtab" ); set->b = set->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; } xset_menu_cb( NULL, sel_set ); // activate if ( reverse ) { // restore the New Tab setting set->b = set->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; } if ( sel_set->menu_style == XSET_MENU_CHECK ) main_window_bookmark_changed( sel_set->name ); } } void ptk_bookmark_view_on_open_reverse( GtkMenuItem* item, PtkFileBrowser* file_browser ) { if ( !( file_browser && file_browser->side_book ) ) return; XSet* sel_set = get_selected_bookmark_set( GTK_TREE_VIEW( file_browser->side_book ) ); activate_bookmark_item( sel_set, GTK_TREE_VIEW( file_browser->side_book ), file_browser, TRUE ); } static void on_bookmark_model_destroy( gpointer data, GObject* object ) { g_signal_handlers_disconnect_matched( gtk_icon_theme_get_default(), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, data /* file_browser */ ); } static void on_bookmark_row_deleted( GtkTreeModel* list, GtkTreePath* tree_path, PtkFileBrowser* file_browser ) { GtkTreeIter it; GtkTreeIter it_prev; char* set_name; char* prev_name; char* inserted_name = NULL; // DND has moved a bookmark // This signal also fires many times on other events, so ignore if !stamp if ( !( file_browser && file_browser->book_set_name && file_browser->book_iter_inserted.stamp ) ) return; //printf("on_bookmark_row_deleted\n"); // get inserted xset name gtk_tree_model_get( GTK_TREE_MODEL( list ), &file_browser->book_iter_inserted, COL_PATH, &inserted_name, -1 ); file_browser->book_iter_inserted.stamp = 0; file_browser->book_iter_inserted.user_data = NULL; file_browser->book_iter_inserted.user_data2 = NULL; file_browser->book_iter_inserted.user_data3 = NULL; GtkTreeView* view = GTK_TREE_VIEW( file_browser->side_book ); if ( !view || !inserted_name ) return; // Did user drag first item? if ( !strcmp( file_browser->book_set_name, inserted_name ) ) { ptk_bookmark_view_reload_list( view, xset_get( file_browser->book_set_name ) ); g_free( inserted_name ); return; } // Get previous iter int pos = 0; gboolean found = FALSE; if ( gtk_tree_model_get_iter_first( GTK_TREE_MODEL( list ), &it ) ) { do { gtk_tree_model_get( GTK_TREE_MODEL( list ), &it, COL_PATH, &set_name, -1 ); if ( set_name && !strcmp( inserted_name, set_name ) ) { // found in list g_free( set_name ); found = TRUE; break; } g_free( set_name ); it_prev = it; pos++; } while( gtk_tree_model_iter_next( GTK_TREE_MODEL( list ), &it) ); } // get previous iter xset name if ( !found || pos == 0 ) { // pos == 0 user dropped item in first location - reload list ptk_bookmark_view_reload_list( view, xset_get( file_browser->book_set_name ) ); return; } else if ( pos == 1 ) prev_name = NULL; else { gtk_tree_model_get( GTK_TREE_MODEL( list ), &it_prev, COL_PATH, &prev_name, -1 ); if ( !prev_name ) { ptk_bookmark_view_reload_list( view, xset_get( file_browser->book_set_name ) ); return; } } // Move xset - this is like a cut paste except may be inserted in top of menu XSet* set_next; XSet* set_clipboard1 = xset_get( inserted_name ); XSet* set = xset_is( prev_name ); // pasted here, will be NULL if top if ( set_clipboard1->lock || ( set && set->lock ) ) return; // failsafe xset_custom_remove( set_clipboard1 ); if ( set ) { // is NOT at top g_free( set_clipboard1->prev ); g_free( set_clipboard1->next ); set_clipboard1->prev = g_strdup( set->name ); set_clipboard1->next = set->next; //swap string if ( set->next ) { set_next = xset_get( set->next ); if ( set_next->prev ) g_free( set_next->prev ); set_next->prev = g_strdup( set_clipboard1->name ); } set->next = g_strdup( set_clipboard1->name ); } else { // has been moved to top - no previous, need to change parent/child XSet* book_set = xset_get( file_browser->book_set_name ); g_free( set_clipboard1->prev ); g_free( set_clipboard1->next ); g_free( set_clipboard1->parent ); set_clipboard1->parent = g_strdup( book_set->name ); set_clipboard1->prev = NULL; set_clipboard1->next = book_set->child; //swap string book_set->child = g_strdup( set_clipboard1->name ); if ( set_clipboard1->next ) { set_next = xset_get( set_clipboard1->next ); g_free( set_next->parent ); set_next->parent = NULL; g_free( set_next->prev ); set_next->prev = g_strdup( set_clipboard1->name ); } } main_window_bookmark_changed( file_browser->book_set_name ); select_bookmark( view, set_clipboard1 ); g_free( prev_name ); g_free( inserted_name ); } static void on_bookmark_row_inserted( GtkTreeModel* list, GtkTreePath* tree_path, GtkTreeIter* iter, PtkFileBrowser* file_browser ) { //printf("on_bookmark_row_inserted\n"); if ( !file_browser ) return; // For DND - The list row is not yet filled with data so just store the // iter for use in on_bookmark_row_deleted file_browser->book_iter_inserted = *iter; return; } static void on_bookmark_row_activated ( GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column, PtkFileBrowser* file_browser ) { activate_bookmark_item( get_selected_bookmark_set( view ), view, file_browser, FALSE ); } static void show_bookmarks_menu( GtkTreeView* view, PtkFileBrowser* file_browser, guint button, guint32 time ) { GtkWidget* popup; XSet* set; XSet* insert_set = NULL; gboolean bookmark_selected = TRUE; set = get_selected_bookmark_set( view ); if ( !set ) { // No bookmark selected so use menu set if ( !( set = xset_is( file_browser->book_set_name ) ) ) set = xset_get( "main_book" ); insert_set = xset_is( set->child ); bookmark_selected = FALSE; } else if ( file_browser->book_set_name && !strcmp( set->name, file_browser->book_set_name ) ) // user right-click on top item insert_set = xset_is( set->child ); // for inserts, get last child while ( insert_set && insert_set->next ) insert_set = xset_is( insert_set->next ); set->browser = file_browser; if ( insert_set ) insert_set->browser = file_browser; // build menu XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); xset_set_cb_panel( file_browser->mypanel, "font_book", main_update_fonts, file_browser ); xset_set_cb( "book_icon", main_window_update_all_bookmark_views, NULL ); xset_set_cb( "book_menu_icon", main_window_update_all_bookmark_views, NULL ); popup = xset_design_show_menu( NULL, set, insert_set ? insert_set : set, button, time ); // Add Settings submenu gtk_menu_shell_append( GTK_MENU_SHELL( popup ), gtk_separator_menu_item_new() ); set = xset_get( "book_settings" ); if ( set->desc ) g_free( set->desc ); set->desc = g_strdup_printf( "book_single book_newtab panel%d_book_fol book_icon book_menu_icon panel%d_font_book", file_browser->mypanel, file_browser->mypanel ); GtkAccelGroup* accel_group = gtk_accel_group_new(); xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); gtk_menu_shell_prepend( GTK_MENU_SHELL( popup ), gtk_separator_menu_item_new() ); set = xset_set_cb( "book_open", ptk_bookmark_view_on_open_reverse, file_browser ); set->disable = !bookmark_selected; GtkWidget* item = xset_add_menuitem( NULL, file_browser, popup, accel_group, set ); gtk_menu_reorder_child( GTK_MENU( popup ), item, 0 ); gtk_widget_show_all( popup ); gtk_menu_shell_set_take_focus( GTK_MENU_SHELL( popup ), TRUE ); // this is required when showing the menu via F2 or Menu key for focus gtk_menu_shell_select_first( GTK_MENU_SHELL( popup ), TRUE ); } static gboolean on_bookmark_button_press_event( GtkTreeView* view, GdkEventButton* evt, PtkFileBrowser* file_browser ) { if ( evt->type != GDK_BUTTON_PRESS ) return FALSE; ptk_file_browser_focus_me( file_browser ); if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( file_browser->main_window, evt_win_click, "evt_win_click", 0, 0, "bookmarks", 0, evt->button, evt->state, TRUE ) ) return FALSE; if ( evt->button == 1 ) // left { file_browser->bookmark_button_press = TRUE; return FALSE; } GtkTreeSelection* tree_sel; GtkTreePath* tree_path; tree_sel = gtk_tree_view_get_selection( view ); gtk_tree_view_get_path_at_pos( view, evt->x, evt->y, &tree_path, NULL, NULL, NULL ); if ( tree_path ) { if ( !gtk_tree_selection_path_is_selected( tree_sel, tree_path ) ) gtk_tree_selection_select_path( tree_sel, tree_path ); gtk_tree_path_free( tree_path ); } else gtk_tree_selection_unselect_all( tree_sel ); if ( evt->button == 2 ) //middle { activate_bookmark_item( get_selected_bookmark_set( view ), view, file_browser, TRUE ); return TRUE; } else if ( evt->button == 3 ) //right { show_bookmarks_menu( view, file_browser, evt->button, evt->time ); return TRUE; } return FALSE; } static gboolean on_bookmark_button_release_event( GtkTreeView* view, GdkEventButton* evt, PtkFileBrowser* file_browser ) { GtkTreeIter it; GtkTreeSelection* tree_sel; GtkTreePath* tree_path; int pos; GtkMenu* popup; GtkWidget* item; VFSVolume* vol; // don't activate row if drag was begun if( evt->type != GDK_BUTTON_RELEASE || !file_browser->bookmark_button_press ) return FALSE; file_browser->bookmark_button_press = FALSE; if ( evt->button == 1 ) //left { gtk_tree_view_get_path_at_pos( view, evt->x, evt->y, &tree_path, NULL, NULL, NULL ); if ( !tree_path ) { gtk_tree_selection_unselect_all( gtk_tree_view_get_selection( view ) ); return TRUE; } if ( !xset_get_b( "book_single" ) ) return FALSE; tree_sel = gtk_tree_view_get_selection( view ); gtk_tree_model_get_iter( gtk_tree_view_get_model( view ), &it, tree_path ); pos = gtk_tree_path_get_indices( tree_path ) [ 0 ]; gtk_tree_selection_select_iter( tree_sel, &it ); gtk_tree_view_row_activated( view, tree_path, NULL ); gtk_tree_path_free( tree_path ); } return FALSE; } static void on_bookmark_drag_begin ( GtkWidget *widget, GdkDragContext *drag_context, PtkFileBrowser* file_browser ) { // don't activate row if drag was begun file_browser->bookmark_button_press = FALSE; } gboolean on_bookmark_key_press_event( GtkWidget* w, GdkEventKey* event, PtkFileBrowser* file_browser ) { int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( event->keyval == GDK_KEY_Menu || ( event->keyval == GDK_KEY_F10 && keymod == GDK_SHIFT_MASK ) ) { // simulate right-click (menu) show_bookmarks_menu( GTK_TREE_VIEW( file_browser->side_book ), file_browser, 3, event->time ); return TRUE; } return FALSE; } static gboolean is_row_separator( GtkTreeModel* model, GtkTreeIter *it, PtkFileBrowser* file_browser ) { gboolean is_sep = FALSE; gtk_tree_model_get( model, it, COL_DATA, &is_sep, -1 ); return is_sep; } GtkWidget* ptk_bookmark_view_new( PtkFileBrowser* file_browser ) { GtkWidget* view; GtkTreeViewColumn* col; GtkCellRenderer* renderer; GtkListStore* list; GtkIconTheme* icon_theme; list = gtk_list_store_new( N_COLS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN ); g_object_weak_ref( G_OBJECT( list ), on_bookmark_model_destroy, file_browser ); view = gtk_tree_view_new_with_model( GTK_TREE_MODEL( list ) ); /* gtk_tree_view_new_with_model adds a ref so we don't need original ref * Otherwise on_bookmark_model_destroy was not running - list model * wasn't being freed? */ g_object_unref( list ); icon_theme = gtk_icon_theme_get_default(); if ( icon_theme ) g_signal_connect( icon_theme, "changed", G_CALLBACK( ptk_bookmark_view_update_icons ), file_browser ); // no dnd if using auto-reorderable unless you code reorder dnd manually // gtk_tree_view_enable_model_drag_dest ( // GTK_TREE_VIEW( view ), // drag_targets, G_N_ELEMENTS( drag_targets ), GDK_ACTION_LINK ); // g_signal_connect( view, "drag-motion", G_CALLBACK( on_bookmark_drag_motion ), NULL ); // g_signal_connect( view, "drag-drop", G_CALLBACK( on_bookmark_drag_drop ), NULL ); // g_signal_connect( view, "drag-data-received", G_CALLBACK( on_bookmark_drag_data_received ), NULL ); gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), FALSE ); col = gtk_tree_view_column_new(); gtk_tree_view_column_set_sort_indicator( col, FALSE ); renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start( col, renderer, FALSE ); gtk_tree_view_column_set_attributes( col, renderer, "pixbuf", COL_ICON, NULL ); gtk_tree_view_append_column ( GTK_TREE_VIEW( view ), col ); col = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_text_new(); //g_signal_connect( renderer, "edited", G_CALLBACK(on_bookmark_edited), view ); gtk_tree_view_column_pack_start( col, renderer, TRUE ); gtk_tree_view_column_set_attributes( col, renderer, "text", COL_NAME, NULL ); gtk_tree_view_append_column ( GTK_TREE_VIEW( view ), col ); gtk_tree_view_set_row_separator_func( GTK_TREE_VIEW( view ), (GtkTreeViewRowSeparatorFunc)is_row_separator, file_browser, NULL ); gtk_tree_view_set_reorderable ( GTK_TREE_VIEW( view ), TRUE ); g_object_set_data( G_OBJECT( view ), "file_browser", file_browser ); //g_signal_connect( view, "row-activated", G_CALLBACK( on_bookmark_row_activated ), NULL ); g_signal_connect( GTK_TREE_MODEL( list ), "row-deleted", G_CALLBACK( on_bookmark_row_deleted ), file_browser ); g_signal_connect( GTK_TREE_MODEL( list ), "row-inserted", G_CALLBACK( on_bookmark_row_inserted ), file_browser ); // handle single-clicks in addition to auto-reorderable dnd g_signal_connect( view, "drag-begin", G_CALLBACK( on_bookmark_drag_begin ), file_browser ); g_signal_connect( view, "button-press-event", G_CALLBACK( on_bookmark_button_press_event ), file_browser ); g_signal_connect( view, "button-release-event", G_CALLBACK( on_bookmark_button_release_event ), file_browser ); g_signal_connect( view, "key-press-event", G_CALLBACK( on_bookmark_key_press_event ), file_browser ); g_signal_connect ( view, "row-activated", G_CALLBACK ( on_bookmark_row_activated ), file_browser ); file_browser->bookmark_button_press = FALSE; file_browser->book_iter_inserted.stamp = 0; // set font if ( xset_get_s_panel( file_browser->mypanel, "font_book" ) ) { PangoFontDescription* font_desc = pango_font_description_from_string( xset_get_s_panel( file_browser->mypanel, "font_book" ) ); gtk_widget_modify_font( view, font_desc ); pango_font_description_free( font_desc ); } // fill list if ( !file_browser->book_set_name ) file_browser->book_set_name = g_strdup( "main_book" ); XSet* set = xset_is( file_browser->book_set_name ); if ( !set ) { set = xset_get( "main_book" ); g_free( file_browser->book_set_name ); file_browser->book_set_name = g_strdup( "main_book" ); } ptk_bookmark_view_reload_list( GTK_TREE_VIEW( view ), set ); return view; } spacefm-1.0.5/src/ptk/ptk-location-view.h000066400000000000000000000054531264770501700202650ustar00rootroot00000000000000/* * SpaceFM ptk-location-view.h * * Copyright (C) 2015 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #ifndef _PTK_LOCATION_VIEW_H_ #define _PTK_LOCATION_VIEW_H_ #include #include #include "vfs-volume.h" G_BEGIN_DECLS // Location View GtkWidget* ptk_location_view_new( PtkFileBrowser* file_browser ); gboolean ptk_location_view_chdir( GtkTreeView* location_view, const char* path ); char* ptk_location_view_get_selected_dir( GtkTreeView* location_view ); gboolean ptk_location_view_is_item_volume( GtkTreeView* location_view, GtkTreeIter* it ); VFSVolume* ptk_location_view_get_volume( GtkTreeView* location_view, GtkTreeIter* it ); void ptk_location_view_show_trash_can( gboolean show ); void ptk_location_view_on_action( GtkWidget* view, XSet* set ); VFSVolume* ptk_location_view_get_selected_vol( GtkTreeView* location_view ); void update_volume_icons(); void ptk_location_view_mount_network( PtkFileBrowser* file_browser, const char* url, gboolean new_tab, gboolean force_new_mount ); void mount_iso( PtkFileBrowser* file_browser, const char* path ); void ptk_location_view_dev_menu( GtkWidget* parent, PtkFileBrowser* file_browser, GtkWidget* menu ); char* ptk_location_view_create_mount_point( int mode, VFSVolume* vol, netmount_t* netmount, const char* path ); char* ptk_location_view_get_mount_point_dir( const char* name ); void ptk_location_view_clean_mount_points(); gboolean ptk_location_view_open_block( const char* block, gboolean new_tab ); // Bookmark View GtkWidget* ptk_bookmark_view_new( PtkFileBrowser* file_browser ); gboolean ptk_bookmark_view_chdir( GtkTreeView* view, PtkFileBrowser* file_browser, gboolean recurse ); void ptk_bookmark_view_add_bookmark( GtkMenuItem *menuitem, PtkFileBrowser* file_browser, const char* url ); char* ptk_bookmark_view_get_selected_dir( GtkTreeView* view ); void ptk_bookmark_view_update_icons( GtkIconTheme* icon_theme, PtkFileBrowser* file_browser ); void ptk_bookmark_view_xset_changed( GtkTreeView* view, PtkFileBrowser* file_browser, const char* changed_name ); XSet* ptk_bookmark_view_get_first_bookmark( XSet* book_set ); void ptk_bookmark_view_import_gtk( const char* path, XSet* book_set ); void ptk_bookmark_view_on_open_reverse( GtkMenuItem* item, PtkFileBrowser* file_browser ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-path-entry.c000066400000000000000000000725321264770501700175750ustar00rootroot00000000000000/* * C Implementation: ptk-path-entry * * Description: A custom entry widget with auto-completion * * * Copyright: See COPYING file that comes with this distribution * */ #include "ptk-path-entry.h" #include #include "vfs-file-info.h" /* for vfs_file_resolve_path */ #include #include "settings.h" #include "main-window.h" #include #include "gtk2-compat.h" #include "ptk-handler.h" #include "ptk-location-view.h" static void on_changed( GtkEntry* entry, gpointer user_data ); enum { COL_NAME, COL_PATH, N_COLS }; /* static GQuark use_hand_cursor = (GQuark)"hand_cursor"; #define is_hand_cursor_used( entry ) (g_object_get_qdata(entry, use_hand_cursor)) */ static char* get_cwd( GtkEntry* entry ) { const char* path = gtk_entry_get_text( entry ); if ( path[0] == '/' ) return g_path_get_dirname( path ); else if ( path[0] != '$' && path[0] != '+' && path[0] != '&' && path[0] != '!' && path[0] != '\0' && path[0] != ' ' ) { EntryData* edata = (EntryData*)g_object_get_data( G_OBJECT( entry ), "edata" ); if ( edata && edata->browser ) { char* real_path = vfs_file_resolve_path( ptk_file_browser_get_cwd( edata->browser ), path ); char* ret = g_path_get_dirname( real_path ); g_free( real_path ); return ret; } } return NULL; } gboolean seek_path( GtkEntry* entry ) { if ( !GTK_IS_ENTRY( entry ) ) return FALSE; EntryData* edata = (EntryData*)g_object_get_data( G_OBJECT( entry ), "edata" ); if ( !( edata && edata->browser ) ) return FALSE; if ( edata->seek_timer ) { g_source_remove( edata->seek_timer ); edata->seek_timer = 0; } if ( !xset_get_b( "path_seek" ) ) return FALSE; char* str; char* seek_dir; char* seek_name = NULL; char* full_path; const char* path = gtk_entry_get_text( entry ); if ( !path || path[0] == '$' || path[0] == '+' || path[0] == '&' || path[0] == '!' || path[0] == '\0' || path[0] == ' ' || path[0] == '%' ) return FALSE; // get dir and name prefix seek_dir = get_cwd( entry ); if ( !( seek_dir && g_file_test( seek_dir, G_FILE_TEST_IS_DIR ) ) ) { // entry does not contain a valid dir g_free( seek_dir ); return FALSE; } if ( !g_str_has_suffix( path, "/" ) ) { // get name prefix seek_name = g_path_get_basename( path ); char* test_path = g_build_filename( seek_dir, seek_name, NULL ); if ( g_file_test( test_path, G_FILE_TEST_IS_DIR ) ) { // complete dir path is in entry - is it unique? GDir* dir; const char* name; int count = 0; if ( ( dir = g_dir_open( seek_dir, 0, NULL ) ) ) { while ( count < 2 && ( name = g_dir_read_name( dir ) ) ) { if ( g_str_has_prefix( name, seek_name ) ) { full_path = g_build_filename( seek_dir, name, NULL ); if ( g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) count++; g_free( full_path ); } } g_dir_close( dir ); } if ( count == 1 ) { // is unique - use as seek dir g_free( seek_dir ); seek_dir = test_path; g_free( seek_name ); seek_name = NULL; } } else g_free( test_path ); } /* this interferes with entering URLs in path bar char* actual_path = g_build_filename( seek_dir, seek_name, NULL ); if ( strcmp( actual_path, "/" ) && g_str_has_suffix( path, "/" ) ) { str = actual_path; actual_path = g_strdup_printf( "%s/", str ); g_free( str ); } if ( strcmp( path, actual_path ) ) { // actual dir differs from entry - update g_signal_handlers_block_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); gtk_entry_set_text( GTK_ENTRY( entry ), actual_path ); gtk_editable_set_position( (GtkEditable*)entry, -1 ); g_signal_handlers_unblock_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); } g_free( actual_path ); */ if ( strcmp( seek_dir, "/" ) && g_str_has_suffix( seek_dir, "/" ) ) { // strip trialing slash seek_dir[strlen( seek_dir ) - 1] = '\0'; } ptk_file_browser_seek_path( edata->browser, seek_dir, seek_name ); g_free( seek_dir ); g_free( seek_name ); return FALSE; } void seek_path_delayed( GtkEntry* entry, guint delay ) { EntryData* edata = (EntryData*)g_object_get_data( G_OBJECT( entry ), "edata" ); if ( !( edata && edata->browser ) ) return; // user is still typing - restart timer if ( edata->seek_timer ) g_source_remove( edata->seek_timer ); edata->seek_timer = g_timeout_add( delay ? delay : 250, ( GSourceFunc )seek_path, entry ); } static gboolean match_func_cmd( GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *it, gpointer user_data) { char* name = NULL; GtkTreeModel* model = gtk_entry_completion_get_model(completion); gtk_tree_model_get( model, it, COL_NAME, &name, -1 ); if ( name && key && g_str_has_prefix( name, key ) ) { g_free( name ); return TRUE; } g_free( name ); return FALSE; } static gboolean match_func( GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *it, gpointer user_data) { char* name = NULL; GtkTreeModel* model = gtk_entry_completion_get_model(completion); key = (const char*)g_object_get_data( G_OBJECT(completion), "fn" ); gtk_tree_model_get( model, it, COL_NAME, &name, -1 ); if( G_LIKELY(name) ) { if( *key == 0 || 0 == g_ascii_strncasecmp( name, key, strlen(key) ) ) { g_free( name ); return TRUE; } g_free( name ); } return FALSE; } static void update_completion( GtkEntry* entry, GtkEntryCompletion* completion ) { GtkListStore* list; GtkTreeIter it; const char* text = gtk_entry_get_text( entry ); if ( text && ( text[0] == '$' || text[0] == '+' || text[0] == '&' || text[0] == '!' || text[0] == '%' || ( text[0] != '/' && strstr( text, ":/" ) ) || g_str_has_prefix( text, "//" ) ) ) { // command history GList* l; list = (GtkListStore*)gtk_entry_completion_get_model( completion ); gtk_list_store_clear( list ); for ( l = xset_cmd_history; l; l = l->next ) { gtk_list_store_append( list, &it ); gtk_list_store_set( list, &it, COL_NAME, (char*)l->data, COL_PATH, (char*)l->data, -1 ); } gtk_entry_completion_set_match_func( completion, match_func_cmd, NULL, NULL ); } else { // dir completion char* new_dir, *fn; const char* old_dir; const char *sep; sep = strrchr( text, '/' ); if( sep ) fn = (char*)sep + 1; else fn = (char*)text; g_object_set_data_full( G_OBJECT(completion), "fn", g_strdup(fn), (GDestroyNotify)g_free ); new_dir = get_cwd( entry ); old_dir = (const char*)g_object_get_data( (GObject*)completion, "cwd" ); if ( old_dir && new_dir && 0 == g_ascii_strcasecmp( old_dir, new_dir ) ) { g_free( new_dir ); return; } g_object_set_data_full( (GObject*)completion, "cwd", new_dir, g_free ); list = (GtkListStore*)gtk_entry_completion_get_model( completion ); gtk_list_store_clear( list ); if ( new_dir ) { GDir* dir; if( (dir = g_dir_open( new_dir, 0, NULL )) ) { // build list of dir names const char* name; GSList* name_list = NULL; while( (name = g_dir_read_name( dir )) ) { char* full_path = g_build_filename( new_dir, name, NULL ); if( g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) name_list = g_slist_prepend( name_list, full_path ); } g_dir_close( dir ); // add sorted list to liststore GSList* l; char* disp_name; name_list = g_slist_sort( name_list, (GCompareFunc)g_strcmp0 ); for ( l = name_list; l; l = l->next ) { disp_name = g_filename_display_basename( (char*)l->data ); gtk_list_store_append( list, &it ); gtk_list_store_set( list, &it, COL_NAME, disp_name, COL_PATH, (char*)l->data, -1 ); g_free( disp_name ); g_free( (char*)l->data ); } g_slist_free( name_list ); gtk_entry_completion_set_match_func( completion, match_func, NULL, NULL ); } else gtk_entry_completion_set_match_func( completion, NULL, NULL, NULL ); } } } static void on_changed( GtkEntry* entry, gpointer user_data ) { GtkEntryCompletion* completion; completion = gtk_entry_get_completion( entry ); update_completion( entry, completion ); gtk_entry_completion_complete( gtk_entry_get_completion(GTK_ENTRY(entry)) ); seek_path_delayed( GTK_ENTRY( entry ), 0 ); } void insert_complete( GtkEntry* entry ) { // find a real completion const char* prefix = gtk_entry_get_text( GTK_ENTRY( entry ) ); if ( !prefix ) return; char* dir_path = get_cwd( entry ); if ( !( dir_path && g_file_test( dir_path, G_FILE_TEST_IS_DIR ) ) ) { g_free( dir_path ); return; } // find longest common prefix GDir* dir; if ( !( dir = g_dir_open( dir_path, 0, NULL ) ) ) { g_free( dir_path ); return; } int count = 0; int len; int long_len = 0; int i; const char* name; char* last_path = NULL; char* prefix_name; char* full_path; char* str; char* long_prefix = NULL; if ( g_str_has_suffix( prefix, "/" ) ) prefix_name = NULL; else prefix_name = g_path_get_basename( prefix ); while ( name = g_dir_read_name( dir ) ) { full_path = g_build_filename( dir_path, name, NULL ); if ( g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) { if ( !prefix_name ) { // full match g_free( last_path ); last_path = full_path; full_path = NULL; if ( ++count > 1 ) break; } else if ( g_str_has_prefix( name, prefix_name ) ) { // prefix matches count++; if ( !long_prefix ) long_prefix = g_strdup( name ); else { i = 0; while ( name[i] && name[i] == long_prefix[i] ) i++; if ( i && long_prefix[i] ) { // shorter prefix found g_free( long_prefix ); long_prefix = g_strndup( name, i ); } } } } g_free( full_path ); } char* new_prefix = NULL; if ( !prefix_name && count == 1 ) new_prefix = g_strdup_printf( "%s/", last_path ); else if ( long_prefix ) { full_path = g_build_filename( dir_path, long_prefix, NULL ); if ( count == 1 && g_file_test( full_path, G_FILE_TEST_IS_DIR ) ) { new_prefix = g_strdup_printf( "%s/", full_path ); g_free( full_path ); } else new_prefix = full_path; g_free( long_prefix ); } if ( new_prefix ) { g_signal_handlers_block_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); gtk_entry_set_text( GTK_ENTRY( entry ), new_prefix ); gtk_editable_set_position( (GtkEditable*)entry, -1 ); g_signal_handlers_unblock_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); g_free( new_prefix ); } g_dir_close( dir ); g_free( last_path ); g_free( prefix_name ); g_free( dir_path ); } static gboolean on_key_press( GtkWidget *entry, GdkEventKey* evt, EntryData* edata ) { int keymod = ( evt->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if( evt->keyval == GDK_KEY_Tab && !keymod ) { //gtk_entry_completion_insert_prefix( gtk_entry_get_completion(GTK_ENTRY(entry)) ); //gtk_editable_set_position( (GtkEditable*)entry, -1 ); /* g_signal_handlers_block_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); gtk_entry_completion_insert_prefix( gtk_entry_get_completion(GTK_ENTRY(entry)) ); const char* path = gtk_entry_get_text( GTK_ENTRY( entry ) ); if ( path && path[0] && !g_str_has_suffix( path, "/" ) && g_file_test( path, G_FILE_TEST_IS_DIR ) ) { char* new_path = g_strdup_printf( "%s/", path ); gtk_entry_set_text( GTK_ENTRY( entry ), new_path ); g_free( new_path ); } gtk_editable_set_position( (GtkEditable*)entry, -1 ); g_signal_handlers_unblock_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); on_changed( GTK_ENTRY( entry ), NULL ); */ insert_complete( GTK_ENTRY( entry ) ); on_changed( GTK_ENTRY( entry ), NULL ); seek_path_delayed( GTK_ENTRY( entry ), 10 ); return TRUE; } else if ( evt->keyval == GDK_KEY_BackSpace && keymod == 1 ) // shift { gtk_entry_set_text( GTK_ENTRY( entry ), "" ); return TRUE; } return FALSE; } gboolean on_insert_prefix( GtkEntryCompletion *completion, gchar *prefix, GtkWidget *entry ) { // don't use the default handler because it inserts partial names return TRUE; } gboolean on_match_selected( GtkEntryCompletion *completion, GtkTreeModel *model, GtkTreeIter *iter, GtkWidget *entry ) { char* path = NULL; gtk_tree_model_get( model, iter, COL_PATH, &path, -1 ); if ( path && path[0] ) { g_signal_handlers_block_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); gtk_entry_set_text( GTK_ENTRY( entry ), path ); g_free( path ); gtk_editable_set_position( (GtkEditable*)entry, -1 ); g_signal_handlers_unblock_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); on_changed( GTK_ENTRY( entry ), NULL ); seek_path_delayed( GTK_ENTRY( entry ), 10 ); } return TRUE; } #if 0 gboolean on_match_selected( GtkEntryCompletion *completion, GtkTreeModel *model, GtkTreeIter *iter, GtkWidget *entry ) { char* path = NULL; gtk_tree_model_get( model, iter, COL_PATH, &path, -1 ); if ( path && path[0] && !g_str_has_suffix( path, "/" ) ) { g_signal_handlers_block_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); char* new_path = g_strdup_printf( "%s/", path ); gtk_entry_set_text( GTK_ENTRY( entry ), new_path ); g_free( new_path ); g_free( path ); gtk_editable_set_position( (GtkEditable*)entry, -1 ); g_signal_handlers_unblock_matched( G_OBJECT( entry ), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_changed, NULL ); on_changed( GTK_ENTRY( entry ), NULL ); return TRUE; } return FALSE; } #endif static gboolean on_focus_in( GtkWidget *entry, GdkEventFocus* evt, gpointer user_data ) { GtkEntryCompletion* completion = gtk_entry_completion_new(); GtkListStore* list = gtk_list_store_new( N_COLS, G_TYPE_STRING, G_TYPE_STRING ); GtkCellRenderer* render; gtk_entry_completion_set_minimum_key_length( completion, 1 ); gtk_entry_completion_set_model( completion, GTK_TREE_MODEL(list) ); g_object_unref( list ); /* gtk_entry_completion_set_text_column( completion, COL_PATH ); */ // Following line causes GTK3 to show both columns, so skip this and use // custom match-selected handler to insert COL_PATH //g_object_set( completion, "text-column", COL_PATH, NULL ); render = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start( (GtkCellLayout*)completion, render, TRUE ); gtk_cell_layout_add_attribute( (GtkCellLayout*)completion, render, "text", COL_NAME ); //gtk_entry_completion_set_inline_completion( completion, TRUE ); gtk_entry_completion_set_popup_set_width( completion, TRUE ); gtk_entry_set_completion( GTK_ENTRY(entry), completion ); g_signal_connect( G_OBJECT(entry), "changed", G_CALLBACK(on_changed), NULL ); g_signal_connect( G_OBJECT( completion ), "match-selected", G_CALLBACK( on_match_selected ), entry ); g_signal_connect( G_OBJECT( completion ), "insert-prefix", G_CALLBACK( on_insert_prefix ), entry ); g_object_unref( completion ); return FALSE; } static gboolean on_focus_out( GtkWidget *entry, GdkEventFocus* evt, gpointer user_data ) { g_signal_handlers_disconnect_by_func( entry, on_changed, NULL ); gtk_entry_set_completion( GTK_ENTRY(entry), NULL ); return FALSE; } #if 0 /* Weird! We cannot change the cursor of GtkEntry... */ static gboolean on_mouse_move(GtkWidget *entry, GdkEventMotion *evt, gpointer user_data) { if( evt->state == GDK_CONTROL_MASK ) { if( ! is_hand_cursor_used( entry ) ) { GdkCursor* hand = gdk_cursor_new_for_display( gtk_widget_get_display(entry), GDK_HAND2 ); gdk_window_set_cursor( entry->window, hand ); gdk_cursor_unref( hand ); g_object_set_qdata( entry, use_hand_cursor, (gpointer)TRUE ); g_debug( "SET" ); } return TRUE; } else { if( is_hand_cursor_used( entry ) ) { gdk_window_set_cursor( entry->window, NULL ); g_object_set_qdata( entry, use_hand_cursor, (gpointer)FALSE ); g_debug( "UNSET" ); } } return FALSE; } #endif void ptk_path_entry_man( GtkWidget* widget, GtkWidget* parent ) { xset_show_help( parent, NULL, "#gui-pathbar" ); } void on_protocol_handlers( GtkWidget* widget, PtkFileBrowser* file_browser ) { ptk_handler_show_config( HANDLER_MODE_NET, NULL, file_browser, NULL ); } void on_add_bookmark( GtkWidget* widget, PtkFileBrowser* file_browser ) { if ( !( file_browser && file_browser->path_bar ) ) return; const char* text = gtk_entry_get_text( GTK_ENTRY( file_browser->path_bar ) ); if ( text && text[0] ) ptk_bookmark_view_add_bookmark( NULL, file_browser, text ); } void ptk_path_entry_help( GtkWidget* widget, GtkWidget* parent ) { GtkWidget* parent_win = gtk_widget_get_toplevel( GTK_WIDGET( parent ) ); GtkWidget* dlg = gtk_message_dialog_new( GTK_WINDOW( parent_win ), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, _("In addition to a folder or file path, commands can be entered in the Path Bar. Prefixes:\n\t$\trun as task\n\t&\trun and forget\n\t+\trun in terminal\n\t!\trun as root\nUse:\n\t%%F\tselected files or %%f first selected file\n\t%%N\tselected filenames or %%n first selected filename\n\t%%d\tcurrent directory\n\t%%v\tselected device (eg /dev/sda1)\n\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n\t%%b\tselected bookmark\n\t%%t\tselected task directory; %%p task pid\n\t%%a\tmenu item value\n\t$fm_panel, $fm_tab, $fm_command, etc\n\nExample: $ echo \"Current Directory: %%d\"\nExample: +! umount %%v") ); gtk_window_set_title( GTK_WINDOW( dlg ), "Path Bar Help" ); gtk_dialog_run( GTK_DIALOG( dlg ) ); gtk_widget_destroy( dlg ); } static gboolean on_button_press( GtkWidget* entry, GdkEventButton *evt, gpointer user_data ) { if ( ( evt_win_click->s || evt_win_click->ob2_data ) && main_window_event( NULL, evt_win_click, "evt_win_click", 0, 0, "pathbar", 0, evt->button, evt->state, TRUE ) ) return TRUE; return FALSE; } static gboolean on_button_release( GtkEntry *entry, GdkEventButton *evt, gpointer user_data ) { if ( GDK_BUTTON_RELEASE != evt->type ) return FALSE; int keymod = ( evt->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( 1 == evt->button && keymod == GDK_CONTROL_MASK ) { int pos; const char *text, *sep; char *path; text = gtk_entry_get_text( entry ); if ( !( text[0] == '$' || text[0] == '+' || text[0] == '&' || text[0] == '!' || text[0] == '%' || text[0] == '\0' ) ) { pos = gtk_editable_get_position( GTK_EDITABLE( entry ) ); if( G_LIKELY( text && *text ) ) { sep = g_utf8_offset_to_pointer( text, pos ); if( G_LIKELY( sep ) ) { while( *sep && *sep != '/' ) sep = g_utf8_next_char(sep); if( G_UNLIKELY( sep == text ) ) { if( '/' == *sep ) ++sep; else return FALSE; } path = g_strndup( text, (sep - text) ); gtk_entry_set_text( entry, path ); gtk_editable_set_position( (GtkEditable*)entry, -1 ); g_free( path ); gtk_widget_activate( (GtkWidget*)entry ); } } } } else if ( 2 == evt->button && keymod == 0 ) { /* Middle-click - replace path bar contents with primary clipboard * contents and activate */ GtkClipboard * clip = gtk_clipboard_get( GDK_SELECTION_PRIMARY ); char* clip_text = gtk_clipboard_wait_for_text( clip ); if ( clip_text && clip_text[0] ) { char* str = replace_string( clip_text, "\n", "", FALSE ); gtk_entry_set_text( entry, str ); g_free( str ); gtk_widget_activate( (GtkWidget*)entry ); } g_free( clip_text ); return TRUE; } return FALSE; } void on_populate_popup( GtkEntry *entry, GtkMenu *menu, PtkFileBrowser* file_browser ) { if ( !file_browser ) return; XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); GtkAccelGroup* accel_group = gtk_accel_group_new(); XSet* set = xset_get( "sep_entry" ); xset_add_menuitem( NULL, file_browser, GTK_WIDGET( menu ), accel_group, set ); // New Bookmark set = xset_set_cb( "book_add", on_add_bookmark, file_browser ); const char* text = gtk_entry_get_text( GTK_ENTRY( entry ) ); set->disable = !( text && ( g_file_test( text, G_FILE_TEST_EXISTS ) || strstr( text, ":/" ) || g_str_has_prefix( text, "//" ) ) ); xset_add_menuitem( NULL, file_browser, GTK_WIDGET( menu ), accel_group, set ); set = xset_get( "path_seek" ); xset_add_menuitem( NULL, file_browser, GTK_WIDGET( menu ), accel_group, set ); set = xset_set_cb( "path_hand", on_protocol_handlers, file_browser ); xset_add_menuitem( NULL, file_browser, GTK_WIDGET( menu ), accel_group, set ); set = xset_set_cb_panel( file_browser->mypanel, "font_path", main_update_fonts, file_browser ); xset_add_menuitem( NULL, file_browser, GTK_WIDGET( menu ), accel_group, set ); set = xset_set_cb( "path_help", ptk_path_entry_man, file_browser ); xset_add_menuitem( NULL, file_browser, GTK_WIDGET( menu ), accel_group, set ); gtk_widget_show_all( GTK_WIDGET( menu ) ); g_signal_connect( menu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); } void on_entry_insert( GtkEntryBuffer *buf, guint position, gchar *chars, guint n_chars, gpointer user_data ) { char* new_text = NULL; const char* text = gtk_entry_buffer_get_text( buf ); if ( !text ) return; if ( strchr( text, '\n' ) ) { // remove linefeeds from pasted text text = new_text = replace_string( text, "\n", "", FALSE ); } // remove leading spaces for test while ( text[0] == ' ' ) text++; if ( text[0] == '\'' && g_str_has_suffix( text, "'" ) && text[1] != '\0' ) { // path is quoted - assume bash quote char* unquote = g_strdup( text + 1 ); unquote[strlen( unquote ) - 1] = '\0'; g_free( new_text ); new_text = replace_string( unquote, "'\\''", "'", FALSE ); g_free( unquote ); } if ( new_text ) { gtk_entry_buffer_set_text( buf, new_text, -1 ); g_free( new_text ); } } void entry_data_free( EntryData* edata ) { g_slice_free( EntryData, edata ); } GtkWidget* ptk_path_entry_new( PtkFileBrowser* file_browser ) { GtkWidget* entry = gtk_entry_new(); gtk_entry_set_has_frame( GTK_ENTRY( entry ), TRUE ); gtk_widget_set_size_request( entry, 50, -1 ); // set font if ( file_browser->mypanel > 0 && file_browser->mypanel < 5 && xset_get_s_panel( file_browser->mypanel, "font_path" ) ) { PangoFontDescription* font_desc = pango_font_description_from_string( xset_get_s_panel( file_browser->mypanel, "font_path" ) ); gtk_widget_modify_font( entry, font_desc ); pango_font_description_free( font_desc ); } EntryData* edata = g_slice_new0( EntryData ); edata->browser = file_browser; edata->seek_timer = 0; g_signal_connect( entry, "focus-in-event", G_CALLBACK(on_focus_in), NULL ); g_signal_connect( entry, "focus-out-event", G_CALLBACK(on_focus_out), NULL ); /* used to eat the tab key */ g_signal_connect( entry, "key-press-event", G_CALLBACK(on_key_press), edata ); /* g_signal_connect( entry, "motion-notify-event", G_CALLBACK(on_mouse_move), NULL ); */ g_signal_connect( entry, "button-press-event", G_CALLBACK(on_button_press), NULL ); g_signal_connect( entry, "button-release-event", G_CALLBACK(on_button_release), NULL ); g_signal_connect( entry, "populate-popup", G_CALLBACK(on_populate_popup), file_browser ); g_signal_connect_after( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( entry ) ) ), "inserted-text", G_CALLBACK( on_entry_insert ), NULL ); g_object_weak_ref( G_OBJECT( entry ), (GWeakNotify) entry_data_free, edata ); g_object_set_data( G_OBJECT( entry ), "edata", edata ); return entry; } spacefm-1.0.5/src/ptk/ptk-path-entry.h000066400000000000000000000011131264770501700175650ustar00rootroot00000000000000/* * C Interface: ptk-path-entry * * Description: A custom entry widget with auto-completion * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _PTK_PATH_ENTRY_ #define _PTK_PATH_ENTRY_ #include #include "ptk-file-browser.h" G_BEGIN_DECLS typedef struct { PtkFileBrowser* browser; guint seek_timer; } EntryData; GtkWidget* ptk_path_entry_new( PtkFileBrowser* file_browser ); void ptk_path_entry_help( GtkWidget* widget, GtkWidget* parent ); G_END_DECLS #endif spacefm-1.0.5/src/ptk/ptk-text-renderer.c000066400000000000000000001077411264770501700202730ustar00rootroot00000000000000/* ptk-text-renderer.c * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* This file is originally copied from gtkcellrenderertext.c of gtk+ library. 2006.07.16 modified by Hong Jen Yee to produce a simplified text renderer which supports center alignment of text to be used in PCMan File Manager. */ #include #include #include #include "ptk-text-renderer.h" static void ptk_text_renderer_init ( PtkTextRenderer *celltext ); static void ptk_text_renderer_class_init ( PtkTextRendererClass *class ); static void ptk_text_renderer_finalize ( GObject *object ); static void ptk_text_renderer_get_property ( GObject *object, guint param_id, GValue *value, GParamSpec *pspec ); static void ptk_text_renderer_set_property ( GObject *object, guint param_id, const GValue *value, GParamSpec *pspec ); static void ptk_text_renderer_get_size ( GtkCellRenderer *cell, GtkWidget *widget, #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height ); #if GTK_CHECK_VERSION (3, 0, 0) static void ptk_text_renderer_render ( GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags ); #else static void ptk_text_renderer_render ( GtkCellRenderer *cell, GdkWindow *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags ); #endif enum { PROP_0, PROP_TEXT, PROP_WRAP_WIDTH, /* Style args */ PROP_BACKGROUND, PROP_FOREGROUND, PROP_BACKGROUND_GDK, PROP_FOREGROUND_GDK, PROP_FONT, PROP_FONT_DESC, PROP_UNDERLINE, PROP_ELLIPSIZE, PROP_WRAP_MODE, /* Whether-a-style-arg-is-set args */ PROP_BACKGROUND_SET, PROP_FOREGROUND_SET, PROP_UNDERLINE_SET, PROP_ELLIPSIZE_SET }; static gpointer parent_class; #define PTK_TEXT_RENDERER_PATH "ptk-cell-renderer-text-path" GType ptk_text_renderer_get_type ( void ) { static GType cell_text_type = 0; if ( !cell_text_type ) { static const GTypeInfo cell_text_info = { sizeof ( PtkTextRendererClass ), NULL, /* base_init */ NULL, /* base_finalize */ ( GClassInitFunc ) ptk_text_renderer_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof ( PtkTextRenderer ), 0, /* n_preallocs */ ( GInstanceInitFunc ) ptk_text_renderer_init, }; cell_text_type = g_type_register_static ( GTK_TYPE_CELL_RENDERER, "PtkTextRenderer", &cell_text_info, 0 ); } return cell_text_type; } static void ptk_text_renderer_init ( PtkTextRenderer *celltext ) { gtk_cell_renderer_set_alignment ( GTK_CELL_RENDERER ( celltext ), 0.0, 0.5 ); gtk_cell_renderer_set_padding ( GTK_CELL_RENDERER ( celltext ), 2, 2 ); celltext->font = pango_font_description_new (); celltext->wrap_width = -1; } static void ptk_text_renderer_class_init ( PtkTextRendererClass *class ) { GObjectClass *object_class = G_OBJECT_CLASS ( class ); GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS ( class ); parent_class = g_type_class_peek_parent ( class ); object_class->finalize = ptk_text_renderer_finalize; object_class->get_property = ptk_text_renderer_get_property; object_class->set_property = ptk_text_renderer_set_property; cell_class->get_size = ptk_text_renderer_get_size; cell_class->render = ptk_text_renderer_render; g_object_class_install_property ( object_class, PROP_TEXT, g_param_spec_string ( "text", _( "Text" ), _( "Text to render" ), NULL, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); g_object_class_install_property ( object_class, PROP_BACKGROUND, g_param_spec_string ( "background", _( "Background color name" ), _( "Background color as a string" ), NULL, G_PARAM_WRITABLE ) ); g_object_class_install_property ( object_class, PROP_BACKGROUND_GDK, g_param_spec_boxed ( "background-gdk", _( "Background color" ), _( "Background color as a GdkColor" ), GDK_TYPE_COLOR, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); g_object_class_install_property ( object_class, PROP_FOREGROUND, g_param_spec_string ( "foreground", _( "Foreground color name" ), _( "Foreground color as a string" ), NULL, G_PARAM_WRITABLE ) ); g_object_class_install_property ( object_class, PROP_FOREGROUND_GDK, g_param_spec_boxed ( "foreground-gdk", _( "Foreground color" ), _( "Foreground color as a GdkColor" ), GDK_TYPE_COLOR, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); g_object_class_install_property ( object_class, PROP_FONT, g_param_spec_string ( "font", _( "Font" ), _( "Font description as a string" ), NULL, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); g_object_class_install_property ( object_class, PROP_FONT_DESC, g_param_spec_boxed ( "font-desc", _( "Font" ), _( "Font description as a PangoFontDescription struct" ), PANGO_TYPE_FONT_DESCRIPTION, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); g_object_class_install_property ( object_class, PROP_UNDERLINE, g_param_spec_enum ( "underline", _( "Underline" ), _( "Style of underline for this text" ), PANGO_TYPE_UNDERLINE, PANGO_UNDERLINE_NONE, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); /** * PtkTextRenderer:ellipsize: * * Specifies the preferred place to ellipsize the string, if the cell renderer * does not have enough room to display the entire string. Setting it to * %PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property * for another way of making the text fit into a given width. * * Since: 2.6 */ g_object_class_install_property ( object_class, PROP_ELLIPSIZE, g_param_spec_enum ( "ellipsize", _( "Ellipsize" ), _( "The preferred place to ellipsize the string, " "if the cell renderer does not have enough room " "to display the entire string, if at all" ), PANGO_TYPE_ELLIPSIZE_MODE, PANGO_ELLIPSIZE_NONE, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); /** * PtkTextRenderer:wrap-mode: * * Specifies how to break the string into multiple lines, if the cell * renderer does not have enough room to display the entire string. * This property has no effect unless the wrap-width property is set. * * Since: 2.8 */ g_object_class_install_property ( object_class, PROP_WRAP_MODE, g_param_spec_enum ( "wrap-mode", _( "Wrap mode" ), _( "How to break the string into multiple lines, " "if the cell renderer does not have enough room " "to display the entire string" ), PANGO_TYPE_WRAP_MODE, PANGO_WRAP_CHAR, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); /** * PtkTextRenderer:wrap-width: * * Specifies the width at which the text is wrapped. The wrap-mode property can * be used to influence at what character positions the line breaks can be placed. * Setting wrap-width to -1 turns wrapping off. * * Since: 2.8 */ g_object_class_install_property ( object_class, PROP_WRAP_WIDTH, g_param_spec_int ( "wrap-width", _( "Wrap width" ), _( "The width at which the text is wrapped" ), -1, G_MAXINT, -1, G_PARAM_READABLE | G_PARAM_WRITABLE ) ); /* Style props are set or not */ #define ADD_SET_PROP(propname, propval, nick, blurb) g_object_class_install_property (object_class, propval, g_param_spec_boolean (propname, nick, blurb, FALSE, G_PARAM_READABLE|G_PARAM_WRITABLE)) ADD_SET_PROP ( "background-set", PROP_BACKGROUND_SET, _( "Background set" ), _( "Whether this tag affects the background color" ) ); ADD_SET_PROP ( "foreground-set", PROP_FOREGROUND_SET, _( "Foreground set" ), _( "Whether this tag affects the foreground color" ) ); ADD_SET_PROP ( "underline-set", PROP_UNDERLINE_SET, _( "Underline set" ), _( "Whether this tag affects underlining" ) ); ADD_SET_PROP ( "ellipsize-set", PROP_ELLIPSIZE_SET, _( "Ellipsize set" ), _( "Whether this tag affects the ellipsize mode" ) ); } static void ptk_text_renderer_finalize ( GObject *object ) { PtkTextRenderer * celltext = PTK_TEXT_RENDERER ( object ); pango_font_description_free ( celltext->font ); g_free ( celltext->text ); ( * G_OBJECT_CLASS ( parent_class ) ->finalize ) ( object ); } static void ptk_text_renderer_get_property ( GObject *object, guint param_id, GValue *value, GParamSpec *pspec ) { PtkTextRenderer * celltext = PTK_TEXT_RENDERER ( object ); switch ( param_id ) { case PROP_TEXT: g_value_set_string ( value, celltext->text ); break; case PROP_BACKGROUND_GDK: { GdkColor color; color.red = celltext->background.red; color.green = celltext->background.green; color.blue = celltext->background.blue; g_value_set_boxed ( value, &color ); } break; case PROP_FOREGROUND_GDK: { GdkColor color; color.red = celltext->foreground.red; color.green = celltext->foreground.green; color.blue = celltext->foreground.blue; g_value_set_boxed ( value, &color ); } break; case PROP_FONT: { /* FIXME GValue imposes a totally gratuitous string copy * here, we could just hand off string ownership */ gchar *str = pango_font_description_to_string ( celltext->font ); g_value_set_string ( value, str ); g_free ( str ); } break; case PROP_FONT_DESC: g_value_set_boxed ( value, celltext->font ); break; case PROP_UNDERLINE: g_value_set_enum ( value, celltext->underline_style ); break; case PROP_ELLIPSIZE: g_value_set_enum ( value, celltext->ellipsize ); break; case PROP_WRAP_MODE: g_value_set_enum ( value, celltext->wrap_mode ); break; case PROP_WRAP_WIDTH: g_value_set_int ( value, celltext->wrap_width ); break; case PROP_BACKGROUND_SET: g_value_set_boolean ( value, celltext->background_set ); break; case PROP_FOREGROUND_SET: g_value_set_boolean ( value, celltext->foreground_set ); break; case PROP_UNDERLINE_SET: g_value_set_boolean ( value, celltext->underline_set ); break; case PROP_ELLIPSIZE_SET: g_value_set_boolean ( value, celltext->ellipsize_set ); break; case PROP_BACKGROUND: case PROP_FOREGROUND: default: G_OBJECT_WARN_INVALID_PROPERTY_ID ( object, param_id, pspec ); break; } } static void set_bg_color ( PtkTextRenderer *celltext, GdkColor *color ) { if ( color ) { if ( !celltext->background_set ) { celltext->background_set = TRUE; g_object_notify ( G_OBJECT ( celltext ), "background-set" ); } celltext->background.red = color->red; celltext->background.green = color->green; celltext->background.blue = color->blue; } else { if ( celltext->background_set ) { celltext->background_set = FALSE; g_object_notify ( G_OBJECT ( celltext ), "background-set" ); } } } static void set_fg_color ( PtkTextRenderer *celltext, GdkColor *color ) { if ( color ) { if ( !celltext->foreground_set ) { celltext->foreground_set = TRUE; g_object_notify ( G_OBJECT ( celltext ), "foreground-set" ); } celltext->foreground.red = color->red; celltext->foreground.green = color->green; celltext->foreground.blue = color->blue; } else { if ( celltext->foreground_set ) { celltext->foreground_set = FALSE; g_object_notify ( G_OBJECT ( celltext ), "foreground-set" ); } } } #if 0 static PangoFontMask set_font_desc_fields ( PangoFontDescription *desc, PangoFontMask to_set ) { PangoFontMask changed_mask = 0; if ( to_set & PANGO_FONT_MASK_FAMILY ) { const char * family = pango_font_description_get_family ( desc ); if ( !family ) { family = "sans"; changed_mask |= PANGO_FONT_MASK_FAMILY; } pango_font_description_set_family ( desc, family ); } if ( to_set & PANGO_FONT_MASK_STYLE ) pango_font_description_set_style ( desc, pango_font_description_get_style ( desc ) ); if ( to_set & PANGO_FONT_MASK_VARIANT ) pango_font_description_set_variant ( desc, pango_font_description_get_variant ( desc ) ); if ( to_set & PANGO_FONT_MASK_WEIGHT ) pango_font_description_set_weight ( desc, pango_font_description_get_weight ( desc ) ); if ( to_set & PANGO_FONT_MASK_STRETCH ) pango_font_description_set_stretch ( desc, pango_font_description_get_stretch ( desc ) ); if ( to_set & PANGO_FONT_MASK_SIZE ) { gint size = pango_font_description_get_size ( desc ); if ( size <= 0 ) { size = 10 * PANGO_SCALE; changed_mask |= PANGO_FONT_MASK_SIZE; } pango_font_description_set_size ( desc, size ); } return changed_mask; } #endif static void notify_set_changed ( GObject *object, PangoFontMask changed_mask ) { if ( changed_mask & PANGO_FONT_MASK_FAMILY ) g_object_notify ( object, "family-set" ); if ( changed_mask & PANGO_FONT_MASK_STYLE ) g_object_notify ( object, "style-set" ); if ( changed_mask & PANGO_FONT_MASK_VARIANT ) g_object_notify ( object, "variant-set" ); if ( changed_mask & PANGO_FONT_MASK_WEIGHT ) g_object_notify ( object, "weight-set" ); if ( changed_mask & PANGO_FONT_MASK_STRETCH ) g_object_notify ( object, "stretch-set" ); if ( changed_mask & PANGO_FONT_MASK_SIZE ) g_object_notify ( object, "size-set" ); } #if 0 static void notify_fields_changed ( GObject *object, PangoFontMask changed_mask ) { if ( changed_mask & PANGO_FONT_MASK_FAMILY ) g_object_notify ( object, "family" ); if ( changed_mask & PANGO_FONT_MASK_STYLE ) g_object_notify ( object, "style" ); if ( changed_mask & PANGO_FONT_MASK_VARIANT ) g_object_notify ( object, "variant" ); if ( changed_mask & PANGO_FONT_MASK_WEIGHT ) g_object_notify ( object, "weight" ); if ( changed_mask & PANGO_FONT_MASK_STRETCH ) g_object_notify ( object, "stretch" ); if ( changed_mask & PANGO_FONT_MASK_SIZE ) g_object_notify ( object, "size" ); } #endif static void set_font_description ( PtkTextRenderer *celltext, PangoFontDescription *font_desc ) { GObject * object = G_OBJECT ( celltext ); PangoFontDescription *new_font_desc; PangoFontMask old_mask, new_mask, changed_mask, set_changed_mask; if ( font_desc ) new_font_desc = pango_font_description_copy ( font_desc ); else new_font_desc = pango_font_description_new (); old_mask = pango_font_description_get_set_fields ( celltext->font ); new_mask = pango_font_description_get_set_fields ( new_font_desc ); changed_mask = old_mask | new_mask; set_changed_mask = old_mask ^ new_mask; pango_font_description_free ( celltext->font ); celltext->font = new_font_desc; g_object_freeze_notify ( object ); g_object_notify ( object, "font-desc" ); g_object_notify ( object, "font" ); if ( changed_mask & PANGO_FONT_MASK_FAMILY ) g_object_notify ( object, "family" ); if ( changed_mask & PANGO_FONT_MASK_STYLE ) g_object_notify ( object, "style" ); if ( changed_mask & PANGO_FONT_MASK_VARIANT ) g_object_notify ( object, "variant" ); if ( changed_mask & PANGO_FONT_MASK_WEIGHT ) g_object_notify ( object, "weight" ); if ( changed_mask & PANGO_FONT_MASK_STRETCH ) g_object_notify ( object, "stretch" ); if ( changed_mask & PANGO_FONT_MASK_SIZE ) { g_object_notify ( object, "size" ); g_object_notify ( object, "size-points" ); } notify_set_changed ( object, set_changed_mask ); g_object_thaw_notify ( object ); } static void ptk_text_renderer_set_property ( GObject *object, guint param_id, const GValue *value, GParamSpec *pspec ) { PtkTextRenderer * celltext = PTK_TEXT_RENDERER ( object ); switch ( param_id ) { case PROP_TEXT: g_free ( celltext->text ); celltext->text = g_strdup ( g_value_get_string ( value ) ); g_object_notify ( object, "text" ); break; case PROP_BACKGROUND: { GdkColor color; if ( !g_value_get_string ( value ) ) set_bg_color ( celltext, NULL ); /* reset to backgrounmd_set to FALSE */ else if ( gdk_color_parse ( g_value_get_string ( value ), &color ) ) set_bg_color ( celltext, &color ); else g_warning ( "Don't know color `%s'", g_value_get_string ( value ) ); g_object_notify ( object, "background-gdk" ); } break; case PROP_FOREGROUND: { GdkColor color; if ( !g_value_get_string ( value ) ) set_fg_color ( celltext, NULL ); /* reset to foreground_set to FALSE */ else if ( gdk_color_parse ( g_value_get_string ( value ), &color ) ) set_fg_color ( celltext, &color ); else g_warning ( "Don't know color `%s'", g_value_get_string ( value ) ); g_object_notify ( object, "foreground-gdk" ); } break; case PROP_BACKGROUND_GDK: /* This notifies the GObject itself. */ set_bg_color ( celltext, g_value_get_boxed ( value ) ); break; case PROP_FOREGROUND_GDK: /* This notifies the GObject itself. */ set_fg_color ( celltext, g_value_get_boxed ( value ) ); break; case PROP_FONT: { PangoFontDescription *font_desc = NULL; const gchar *name; name = g_value_get_string ( value ); if ( name ) font_desc = pango_font_description_from_string ( name ); set_font_description ( celltext, font_desc ); pango_font_description_free ( font_desc ); } break; case PROP_FONT_DESC: set_font_description ( celltext, g_value_get_boxed ( value ) ); break; case PROP_UNDERLINE: celltext->underline_style = g_value_get_enum ( value ); celltext->underline_set = TRUE; g_object_notify ( object, "underline-set" ); break; case PROP_ELLIPSIZE: celltext->ellipsize = g_value_get_enum ( value ); celltext->ellipsize_set = TRUE; g_object_notify ( object, "ellipsize-set" ); break; case PROP_WRAP_MODE: celltext->wrap_mode = g_value_get_enum ( value ); break; case PROP_WRAP_WIDTH: celltext->wrap_width = g_value_get_int ( value ); break; case PROP_BACKGROUND_SET: celltext->background_set = g_value_get_boolean ( value ); break; case PROP_FOREGROUND_SET: celltext->foreground_set = g_value_get_boolean ( value ); break; case PROP_UNDERLINE_SET: celltext->underline_set = g_value_get_boolean ( value ); break; case PROP_ELLIPSIZE_SET: celltext->ellipsize_set = g_value_get_boolean ( value ); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID ( object, param_id, pspec ); break; } } /** * ptk_text_renderer_new: * * Creates a new #PtkTextRenderer. Adjust how text is drawn using * object properties. Object properties can be * set globally (with g_object_set()). Also, with #GtkTreeViewColumn, * you can bind a property to a value in a #GtkTreeModel. For example, * you can bind the "text" property on the cell renderer to a string * value in the model, thus rendering a different string in each row * of the #GtkTreeView * * Return value: the new cell renderer **/ GtkCellRenderer * ptk_text_renderer_new ( void ) { return g_object_new ( PTK_TYPE_TEXT_RENDERER, NULL ); } static void add_attr ( PangoAttrList *attr_list, PangoAttribute *attr ) { attr->start_index = 0; attr->end_index = G_MAXINT; pango_attr_list_insert ( attr_list, attr ); } static PangoLayout* get_layout ( PtkTextRenderer *celltext, GtkWidget *widget, gboolean will_render, GtkCellRendererState flags ) { PangoAttrList * attr_list; PangoLayout *layout; PangoUnderline uline; layout = gtk_widget_create_pango_layout ( widget, celltext->text ); pango_layout_set_alignment( layout, PANGO_ALIGN_CENTER ); attr_list = pango_attr_list_new (); if ( will_render ) { /* Add options that affect appearance but not size */ /* note that background doesn't go here, since it affects * background_area not the PangoLayout area */ if ( celltext->foreground_set && ( flags & GTK_CELL_RENDERER_SELECTED ) == 0 ) { PangoColor color; color = celltext->foreground; add_attr ( attr_list, pango_attr_foreground_new ( color.red, color.green, color.blue ) ); } } add_attr ( attr_list, pango_attr_font_desc_new ( celltext->font ) ); if ( celltext->underline_set ) uline = celltext->underline_style; else uline = PANGO_UNDERLINE_NONE; if ( ( flags & GTK_CELL_RENDERER_PRELIT ) == GTK_CELL_RENDERER_PRELIT ) { switch ( uline ) { case PANGO_UNDERLINE_NONE: uline = PANGO_UNDERLINE_SINGLE; break; case PANGO_UNDERLINE_SINGLE: uline = PANGO_UNDERLINE_DOUBLE; break; default: break; } } if ( uline != PANGO_UNDERLINE_NONE ) add_attr ( attr_list, pango_attr_underline_new ( celltext->underline_style ) ); if ( celltext->ellipsize_set ) pango_layout_set_ellipsize ( layout, celltext->ellipsize ); else pango_layout_set_ellipsize ( layout, PANGO_ELLIPSIZE_NONE ); if ( celltext->wrap_width != -1 ) { pango_layout_set_width ( layout, celltext->wrap_width * PANGO_SCALE ); pango_layout_set_wrap ( layout, celltext->wrap_mode ); if ( pango_layout_get_line_count ( layout ) == 1 ) { pango_layout_set_width ( layout, -1 ); pango_layout_set_wrap ( layout, PANGO_WRAP_CHAR ); } } else { pango_layout_set_width ( layout, -1 ); pango_layout_set_wrap ( layout, PANGO_WRAP_CHAR ); } pango_layout_set_attributes ( layout, attr_list ); pango_attr_list_unref ( attr_list ); return layout; } static void get_size ( GtkCellRenderer *cell, GtkWidget *widget, #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif PangoLayout *layout, gint *x_offset, gint *y_offset, gint *width, gint *height ) { PtkTextRenderer * celltext = ( PtkTextRenderer * ) cell; PangoRectangle rect; gint xpad, ypad; gfloat xalign, yalign; gtk_cell_renderer_get_padding ( cell, &xpad, &ypad ); gtk_cell_renderer_get_alignment ( cell, &xalign, &yalign ); if ( layout ) { g_object_ref ( layout ); pango_layout_set_alignment( layout, PANGO_ALIGN_CENTER ); } else layout = get_layout ( celltext, widget, FALSE, 0 ); pango_layout_get_pixel_extents ( layout, NULL, &rect ); if ( height ) * height = ypad * 2 + rect.height; /* The minimum size for ellipsized labels is ~ 3 chars */ if ( width ) { if ( celltext->ellipsize ) { PangoContext * context; PangoFontMetrics *metrics; gint char_width; context = pango_layout_get_context ( layout ); metrics = pango_context_get_metrics ( context, gtk_widget_get_style ( widget ) ->font_desc, pango_context_get_language ( context ) ); char_width = pango_font_metrics_get_approximate_char_width ( metrics ); pango_font_metrics_unref ( metrics ); *width = xpad * 2 + ( PANGO_PIXELS ( char_width ) * 3 ); } else { *width = xpad * 2 + rect.x + rect.width; } } if ( cell_area ) { if ( x_offset ) { if ( gtk_widget_get_direction ( widget ) == GTK_TEXT_DIR_RTL ) * x_offset = ( 1.0 - xalign ) * ( cell_area->width - ( rect.x + rect.width + ( 2 * xpad ) ) ); else *x_offset = xalign * ( cell_area->width - ( rect.x + rect.width + ( 2 * xpad ) ) ); if ( celltext->ellipsize_set || celltext->wrap_width != -1 ) * x_offset = MAX( *x_offset, 0 ); } if ( y_offset ) { *y_offset = yalign * ( cell_area->height - ( rect.height + ( 2 * ypad ) ) ); *y_offset = MAX ( *y_offset, 0 ); } } g_object_unref ( layout ); } static void ptk_text_renderer_get_size ( GtkCellRenderer *cell, GtkWidget *widget, #if GTK_CHECK_VERSION (3, 0, 0) const GdkRectangle *cell_area, #else GdkRectangle *cell_area, #endif gint *x_offset, gint *y_offset, gint *width, gint *height ) { get_size ( cell, widget, cell_area, NULL, x_offset, y_offset, width, height ); } #if GTK_CHECK_VERSION (3, 0, 0) static void ptk_text_renderer_render ( GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags ) #else static void ptk_text_renderer_render ( GtkCellRenderer *cell, GdkDrawable *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags ) #endif { PtkTextRenderer * celltext = ( PtkTextRenderer * ) cell; PangoLayout *layout; GtkStateType state; gint x_offset; gint y_offset; gint width, height; gint focus_pad, focus_width; gint x, y; gint xpad, ypad; #if GTK_CHECK_VERSION (3, 0, 0) cairo_save ( cr ); #else cairo_t *cr; cr = gdk_cairo_create ( window ); #endif gtk_cell_renderer_get_padding ( cell, &xpad, &ypad ); /* get focus width and padding */ gtk_widget_style_get ( widget, "focus-line-width", &focus_width, "focus-padding", &focus_pad, NULL ); /* get text extent */ layout = get_layout ( celltext, widget, TRUE, flags ); get_size ( cell, widget, cell_area, layout, &x_offset, &y_offset, &width, &height ); if ( !gtk_cell_renderer_get_sensitive ( cell ) ) { state = GTK_STATE_INSENSITIVE; } else if ( ( flags & GTK_CELL_RENDERER_SELECTED ) == GTK_CELL_RENDERER_SELECTED ) { if ( gtk_widget_has_focus ( widget ) ) state = GTK_STATE_SELECTED; else #if GTK_CHECK_VERSION (3, 0, 0) state = GTK_STATE_SELECTED; #else state = GTK_STATE_ACTIVE; #endif } else if ( ( flags & GTK_CELL_RENDERER_PRELIT ) == GTK_CELL_RENDERER_PRELIT && gtk_widget_get_state ( widget ) == GTK_STATE_PRELIGHT ) { state = GTK_STATE_PRELIGHT; } else { if ( gtk_widget_get_state ( widget ) == GTK_STATE_INSENSITIVE ) state = GTK_STATE_INSENSITIVE; else state = GTK_STATE_NORMAL; } if(flags & (GTK_CELL_RENDERER_FOCUSED|GTK_CELL_RENDERER_SELECTED)) { /* draw background color for selected state if needed */ if( flags & GTK_CELL_RENDERER_SELECTED ) { gdk_cairo_set_source_color ( cr, >k_widget_get_style ( widget )->base[ state ] ); cairo_rectangle ( cr, cell_area->x + x_offset, cell_area->y + y_offset, width, height ); cairo_fill ( cr ); } /* draw the focus */ if(flags & GTK_CELL_RENDERER_FOCUSED) { gtk_paint_focus( gtk_widget_get_style ( widget ), #if GTK_CHECK_VERSION (3, 0, 0) cr, gtk_widget_get_state (widget), widget, "icon_view", #else window, gtk_widget_get_state (widget), NULL, widget, "icon_view", #endif cell_area->x + x_offset - focus_width, cell_area->y + y_offset - focus_width, width + focus_width * 2, height + focus_width * 2); flags &= ~GTK_CELL_RENDERER_FOCUSED; } } if ( celltext->ellipsize_set ) pango_layout_set_width ( layout, ( cell_area->width - x_offset - 2 * xpad ) * PANGO_SCALE ); else if ( celltext->wrap_width == -1 ) pango_layout_set_width ( layout, -1 ); if ( pango_layout_is_wrapped ( layout ) ) x_offset = -xpad / 2; gtk_paint_layout ( gtk_widget_get_style ( widget ), #if GTK_CHECK_VERSION (3, 0, 0) cr, state, TRUE, #else window, state, TRUE, expose_area, #endif widget, "cellrenderertext", cell_area->x + x_offset + xpad, cell_area->y + y_offset + ypad, layout ); g_object_unref ( layout ); #if GTK_CHECK_VERSION (3, 0, 0) cairo_restore ( cr ); #else cairo_destroy ( cr ); #endif } spacefm-1.0.5/src/ptk/ptk-text-renderer.h000066400000000000000000000050471264770501700202740ustar00rootroot00000000000000/* ptk-text-renderer.h * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* This file is originally copied from gtkcellrenderertext.h of gtk+ library. 2006.07.16 modified by Hong Jen Yee to produce a simplified text renderer which supports center alignment of text to be used in PCMan File Manager */ #ifndef __PTK_TEXT_RENDERER_H__ #define __PTK_TEXT_RENDERER_H__ #include #include G_BEGIN_DECLS #define PTK_TYPE_TEXT_RENDERER (ptk_text_renderer_get_type ()) #define PTK_TEXT_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PTK_TYPE_TEXT_RENDERER, PtkTextRenderer)) #define PTK_TEXT_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PTK_TYPE_TEXT_RENDERER, PtkTextRendererClass)) #define PTK_IS_TEXT_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PTK_TYPE_TEXT_RENDERER)) #define PTK_IS_TEXT_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PTK_TYPE_TEXT_RENDERER)) #define PTK_TEXT_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PTK_TYPE_TEXT_RENDERER, PtkTextRendererClass)) typedef struct _PtkTextRenderer PtkTextRenderer; typedef struct _PtkTextRendererClass PtkTextRendererClass; struct _PtkTextRenderer { GtkCellRenderer parent; /*< private >*/ gchar *text; PangoFontDescription *font; PangoColor foreground; PangoColor background; PangoUnderline underline_style; guint foreground_set : 1; guint background_set : 1; guint underline_set : 1; guint ellipsize_set : 1; gint wrap_width; PangoEllipsizeMode ellipsize; PangoWrapMode wrap_mode; }; struct _PtkTextRendererClass { GtkCellRendererClass parent_class; }; GType ptk_text_renderer_get_type ( void ) G_GNUC_CONST; GtkCellRenderer *ptk_text_renderer_new ( void ); G_END_DECLS #endif /* __PTK_TEXT_RENDERER_H__ */ spacefm-1.0.5/src/ptk/ptk-utils.c000066400000000000000000000360611264770501700166370ustar00rootroot00000000000000/* * C Implementation: ptkutils * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "ptk-utils.h" #include #include #include "working-area.h" #include "settings.h" #include "gtk2-compat.h" #include GtkWidget* ptk_menu_new_from_data( PtkMenuItemEntry* entries, gpointer cb_data, GtkAccelGroup* accel_group ) { GtkWidget* menu; menu = gtk_menu_new(); ptk_menu_add_items_from_data( menu, entries, cb_data, accel_group ); return menu; } void ptk_menu_add_items_from_data( GtkWidget* menu, PtkMenuItemEntry* entries, gpointer cb_data, GtkAccelGroup* accel_group ) { PtkMenuItemEntry* ent; GtkWidget* menu_item = NULL; GtkWidget* sub_menu; GtkWidget* image; GSList* radio_group = NULL; const char* signal; for( ent = entries; ; ++ent ) { if( G_LIKELY( ent->label ) ) { /* Stock item */ signal = "activate"; if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) { menu_item = gtk_image_menu_item_new_from_stock( ent->label, accel_group ); } else if( G_LIKELY(ent->stock_icon) ) { if( G_LIKELY( ent->stock_icon > (char *)2 ) ) { menu_item = gtk_image_menu_item_new_with_mnemonic(_(ent->label)); image = gtk_image_new_from_stock( ent->stock_icon, GTK_ICON_SIZE_MENU ); gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM(menu_item), image ); } else if( G_UNLIKELY( PTK_IS_CHECK_MENU_ITEM(ent) ) ) { menu_item = gtk_check_menu_item_new_with_mnemonic(_(ent->label)); signal = "toggled"; } else if( G_UNLIKELY( PTK_IS_RADIO_MENU_ITEM(ent) ) ) { menu_item = gtk_radio_menu_item_new_with_mnemonic( radio_group, _(ent->label) ); if( G_LIKELY( PTK_IS_RADIO_MENU_ITEM( (ent + 1) ) ) ) radio_group = gtk_radio_menu_item_get_group( GTK_RADIO_MENU_ITEM(menu_item) ); else radio_group = NULL; signal = "toggled"; } } else { menu_item = gtk_menu_item_new_with_mnemonic(_(ent->label)); } if( G_LIKELY(accel_group) && ent->key ) { gtk_widget_add_accelerator (menu_item, "activate", accel_group, ent->key, ent->mod, GTK_ACCEL_VISIBLE); } if( G_LIKELY(ent->callback) ) { /* Callback */ g_signal_connect( menu_item, signal, ent->callback, cb_data); } if( G_UNLIKELY( ent->sub_menu ) ) { /* Sub menu */ sub_menu = ptk_menu_new_from_data( ent->sub_menu, cb_data, accel_group ); gtk_menu_item_set_submenu( GTK_MENU_ITEM(menu_item), sub_menu ); ent->menu = sub_menu; //MOD } } else { if( ! ent->stock_icon ) /* End of menu */ break; menu_item = gtk_separator_menu_item_new(); } gtk_menu_shell_append ( GTK_MENU_SHELL(menu), menu_item ); if( G_UNLIKELY(ent->ret) ) {// Return *ent->ret = menu_item; ent->ret = NULL; } } } #if 0 GtkWidget* ptk_toolbar_add_items_from_data( GtkWidget* toolbar, PtkToolItemEntry* entries, gpointer cb_data, GtkTooltips* tooltips ) { GtkWidget* btn; PtkToolItemEntry* ent; GtkWidget* image; GtkWidget* menu; GtkIconSize icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar)); GSList* radio_group = NULL; for( ent = entries; ; ++ent ) { /* Normal tool item */ if( G_LIKELY( ent->stock_icon || ent->tooltip || ent->label ) ) { /* Stock item */ if( G_LIKELY(ent->stock_icon) ) image = gtk_image_new_from_stock( ent->stock_icon, icon_size ); else image = NULL; if( G_LIKELY( ! ent->menu ) ) { /* Normal button */ if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_tool_button_new_from_stock ( ent->label )); else btn = GTK_WIDGET(gtk_tool_button_new ( image, _(ent->label) )); } else if( G_UNLIKELY( PTK_IS_CHECK_TOOL_ITEM(ent) ) ) { if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_toggle_tool_button_new_from_stock(ent->label)); else { btn = GTK_WIDGET(gtk_toggle_tool_button_new ()); gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(btn), image ); gtk_tool_button_set_label(GTK_TOOL_BUTTON(btn), _(ent->label)); } } else if( G_UNLIKELY( PTK_IS_RADIO_TOOL_ITEM(ent) ) ) { if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_radio_tool_button_new_from_stock( radio_group, ent->label )); else { btn = GTK_WIDGET(gtk_radio_tool_button_new( radio_group )); if( G_LIKELY( PTK_IS_RADIO_TOOL_ITEM( (ent + 1) ) ) ) radio_group = gtk_radio_tool_button_get_group( GTK_RADIO_TOOL_BUTTON(btn) ); else radio_group = NULL; gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(btn), image ); gtk_tool_button_set_label(GTK_TOOL_BUTTON(btn), _(ent->label)); } } else if( ent->menu ) { if( G_UNLIKELY( PTK_IS_STOCK_ITEM(ent) ) ) btn = GTK_WIDGET(gtk_menu_tool_button_new_from_stock ( ent->label )); else { btn = GTK_WIDGET(gtk_menu_tool_button_new ( image, _(ent->label) )); if( G_LIKELY( 3 < (int)ent->menu ) ) { /* Sub menu */ menu = ptk_menu_new_from_data( ent->menu, cb_data, NULL ); gtk_menu_tool_button_set_menu( GTK_MENU_TOOL_BUTTON(btn), menu ); } } } if( G_LIKELY(ent->callback) ) { /* Callback */ if( G_LIKELY( ent->menu == NULL || ent->menu == PTK_EMPTY_MENU) ) g_signal_connect( btn, "clicked", ent->callback, cb_data); else g_signal_connect( btn, "toggled", ent->callback, cb_data); } if( G_LIKELY(ent->tooltip) ) gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (btn), tooltips, _(ent->tooltip), NULL); } else { if( ! PTK_IS_SEPARATOR_TOOL_ITEM(ent) ) /* End of menu */ break; btn = (GtkWidget*)gtk_separator_tool_item_new (); } gtk_toolbar_insert ( GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(btn), -1 ); if( G_UNLIKELY(ent->ret) ) {/* Return */ *ent->ret = btn; ent->ret = NULL; } } return NULL; } #endif void ptk_show_error(GtkWindow* parent, const char* title, const char* message ) { char* msg = replace_string( message, "%", "%%", FALSE ); GtkWidget* dlg = gtk_message_dialog_new(parent, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, msg, NULL); g_free( msg ); if( title ) gtk_window_set_title( (GtkWindow*)dlg, title ); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_dialog_run( GTK_DIALOG(dlg) ); gtk_widget_destroy( dlg ); } /* Make the size of dialogs smaller by breaking GNOME HIG * http://library.gnome.org/devel/hig-book/stable/design-window.html.en * According to GNOME HIG, spacings are increased by the multiples of 6. * Change them to the multiples of 1 can greatly reduce the required size * while still keeping some degree of spacing. */ static void break_gnome_hig( GtkWidget* w, gpointer _factor ) { int factor = GPOINTER_TO_INT(_factor); /* g_debug( G_OBJECT_TYPE_NAME(w) ); */ if( GTK_IS_CONTAINER(w) ) { int val; val = gtk_container_get_border_width( (GtkContainer*)w ); /* border of dialog defaults to 12 under gnome */ if( GTK_IS_DIALOG(w) ) { if( val > 0 ) gtk_container_set_border_width( (GtkContainer*)w, val / factor ); } else { if( GTK_IS_BOX(w) ) /* boxes, spacing defaults to 6, 12, 18 under gnome */ { int spacing = gtk_box_get_spacing( (GtkBox*)w ); gtk_box_set_spacing( (GtkBox*)w, spacing / factor ); } else if( GTK_IS_TABLE(w) ) /* tables, spacing defaults to 6, 12, 18 under gnome */ { int spacing; int col, row; g_object_get( w, "n-columns", &col, "n-rows", &row, NULL ); if( col > 1 ) { --col; while( --col >= 0 ) { spacing = gtk_table_get_col_spacing( (GtkTable*)w, col ); if( spacing > 0 ) gtk_table_set_col_spacing( (GtkTable*)w, col, spacing / factor ); } } if( row > 1 ) { --row; while( --row >= 0 ) { spacing = gtk_table_get_row_spacing( (GtkTable*)w, row ); if( spacing > 0 ) gtk_table_set_row_spacing( (GtkTable*)w, row, spacing / factor ); } } /* FIXME: handle default spacings */ } else if( GTK_IS_ALIGNMENT(w) ) /* groups, has 12 px indent by default */ { int t, b, l, r; gtk_alignment_get_padding( (GtkAlignment*)w, &t, &b, &l, &r ); if( l > 0 ) { l /= (factor / 2); /* groups still need proper indent not to hurt usability */ gtk_alignment_set_padding( (GtkAlignment*)w, t, b, l, r ); } } if( val > 0 ) gtk_container_set_border_width( (GtkContainer*)w, val * 2 / factor ); } gtk_container_foreach( (GtkContainer*)w, break_gnome_hig, GINT_TO_POINTER(factor) ); } } /* Because GNOME HIG causes some usability problems under limited screen size, * this API is provided to adjust the dialogs, and try to fit them into * small screens via totally breaking GNOME HIG and compress spacings. */ void ptk_dialog_fit_small_screen( GtkDialog* dlg ) { GtkRequisition req; GdkRectangle wa; GtkAllocation allocation; int dw, dh, i; get_working_area( gtk_widget_get_screen((GtkWidget*)dlg), &wa ); gtk_widget_size_request( GTK_WIDGET(dlg), &req ); /* Try two times, so we won't be too aggrassive if mild shinkage can do the job. * First time shrink all spacings to their 1/3. * If this is not enough, shrink them again by dividing all spacings by 2. (1/6 size now) */ for( i =0; (req.width > wa.width || req.height > wa.height) && i < 2; ++i ) { break_gnome_hig( GTK_WIDGET(dlg), GINT_TO_POINTER((i == 0 ? 3 : 2)) ); gtk_widget_size_request( GTK_WIDGET(dlg), &req ); /* g_debug("%d, %d", req.width, req.height ); */ } if( gtk_widget_get_realized( GTK_WIDGET(dlg) ) ) { gtk_widget_get_allocation ( (GtkWidget*)dlg, &allocation); gboolean changed = FALSE; if( allocation.width > wa.width ) { dw = wa.width; changed = TRUE; } if( allocation.height > wa.width ) { dh = wa.height; changed = TRUE; } if( changed ) gtk_window_resize( (GtkWindow*)dlg, dw, dh ); /* gtk_window_move( dlg, 0, 0 ); */ } else { gtk_window_get_default_size( (GtkWindow*)dlg, &dw, &dh ); if( dw > wa.width ) dw = wa.width; if( dh > wa.height ) dh = wa.height; gtk_window_set_default_size( GTK_WINDOW(dlg), dw, dh ); } } typedef struct { GMainLoop* lp; int response; }DlgRunData; static gboolean on_dlg_delete_event( GtkWidget* dlg, GdkEvent* evt, DlgRunData* data ) { return TRUE; } static void on_dlg_response( GtkDialog* dlg, int response, DlgRunData* data ) { data->response = response; if( g_main_loop_is_running( data->lp ) ) g_main_loop_quit( data->lp ); } int ptk_dialog_run_modaless( GtkDialog* dlg ) { DlgRunData data = {0}; data.lp = g_main_loop_new( NULL, FALSE ); guint deh = g_signal_connect( dlg, "delete_event", G_CALLBACK(on_dlg_delete_event), &data ); guint rh = g_signal_connect( dlg, "response", G_CALLBACK(on_dlg_response), &data ); gtk_window_present( (GtkWindow*)dlg ); GDK_THREADS_LEAVE(); g_main_loop_run(data.lp); GDK_THREADS_ENTER(); g_main_loop_unref(data.lp); g_signal_handler_disconnect( dlg, deh ); g_signal_handler_disconnect( dlg, rh ); return data.response; } GtkBuilder* _gtk_builder_new_from_file( const char* file, GError** err ) { GtkBuilder* builder = gtk_builder_new(); if( G_UNLIKELY( ! gtk_builder_add_from_file( builder, file, err ) ) ) { g_object_unref( builder ); return NULL; } return builder; } void transpose_nonlatin_keypress( GdkEventKey* event ) { if ( !( event && event->keyval != 0 ) ) return; // is already a latin key? if ( ( GDK_KEY_0 <= event->keyval && event->keyval <= GDK_KEY_9 ) || ( GDK_KEY_A <= event->keyval && event->keyval <= GDK_KEY_Z ) || ( GDK_KEY_a <= event->keyval && event->keyval <= GDK_KEY_z ) ) return; // We have a non-latin char, try other keyboard groups GdkKeymapKey* keys = NULL; guint *keyvals; gint n_entries; gint level; gint n; if ( gdk_keymap_translate_keyboard_state( #if GTK_CHECK_VERSION (3, 0, 0) // GTK3 no longer accepts NULL for default keymap gdk_keymap_get_default(), #else NULL, #endif event->hardware_keycode, (GdkModifierType)event->state, event->group, NULL, NULL, &level, NULL ) && gdk_keymap_get_entries_for_keycode( #if GTK_CHECK_VERSION (3, 0, 0) // GTK3 no longer accepts NULL for default keymap gdk_keymap_get_default(), #else NULL, #endif event->hardware_keycode, &keys, &keyvals, &n_entries ) ) { for ( n = 0; n < n_entries; n++ ) { if ( keys[n].group == event->group ) // Skip keys from the same group continue; if ( keys[n].level != level ) // Allow only same level keys continue; if ( ( GDK_KEY_0 <= keyvals[n] && keyvals[n] <= GDK_KEY_9 ) || ( GDK_KEY_A <= keyvals[n] && keyvals[n] <= GDK_KEY_Z ) || ( GDK_KEY_a <= keyvals[n] && keyvals[n] <= GDK_KEY_z ) ) { // Latin character found event->keyval = keyvals[n]; break; } } g_free( keys ); g_free( keyvals ); } } spacefm-1.0.5/src/ptk/ptk-utils.h000066400000000000000000000105651264770501700166450ustar00rootroot00000000000000/* * C Interface: ptkutils * * Description: Some GUI utilities * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ /* I don't like GtkUIManager provided by gtk+, so I implement my own. ;-) */ #ifndef _PTK_UTILS_H_ #define _PTK_UTILS_H_ #include #include G_BEGIN_DECLS #define PTK_STOCK_MENU_ITEM( id, cb ) { id, NULL, G_CALLBACK(cb), 0, 0, NULL, NULL } #define PTK_MENU_ITEM( label, cb, key, mod ) { label, NULL, G_CALLBACK(cb), key, mod, NULL, NULL } #define PTK_CHECK_MENU_ITEM( label, cb, key, mod ) { label, (char*)1, G_CALLBACK(cb), key, mod, NULL, NULL } #define PTK_RADIO_MENU_ITEM( label, cb, key, mod ) { label, (char*)2, G_CALLBACK(cb), key, mod, NULL, NULL } #define PTK_IMG_MENU_ITEM( label, icon, cb, key, mod ) { label, icon, G_CALLBACK(cb), key, mod, NULL, NULL } #define PTK_POPUP_MENU( label, sub ) { label, NULL, NULL, 0, 0, sub, NULL } #define PTK_POPUP_IMG_MENU( label, icon, sub ) { label, icon, NULL, 0, 0, sub, NULL } #define PTK_SEPARATOR_MENU_ITEM { NULL, (char *)(-1), NULL, 0, 0, NULL, 0} #define PTK_MENU_END {0} #define PTK_IS_STOCK_ITEM( ent ) ( ent->label && (*(guint32*)ent->label) == *(guint32*)"gtk-" ) #define PTK_IS_CHECK_MENU_ITEM( ent ) ( ent->stock_icon == (char*)1 ) #define PTK_IS_RADIO_MENU_ITEM( ent ) ( ent->stock_icon == (char*)2 ) struct _PtkMenuItemEntry { const char* label; /* or stock id */ const char* stock_icon; /* or menu type 1: check, 2: radio */ GCallback callback; guint key; GdkModifierType mod; struct _PtkMenuItemEntry* sub_menu; GtkWidget** ret; GtkWidget* menu; //MOD }; typedef struct _PtkMenuItemEntry PtkMenuItemEntry; #define PTK_STOCK_TOOL_ITEM( id, cb ) { id, NULL, NULL, G_CALLBACK(cb), NULL, NULL } #define PTK_TOOL_ITEM( label, icon, tooltip, cb ) { label, icon, tooltip, G_CALLBACK(cb), NULL, NULL } #define PTK_CHECK_TOOL_ITEM( label, icon, tooltip, cb ) { label, icon, tooltip, G_CALLBACK(cb), (PtkMenuItemEntry*)1, NULL } #define PTK_RADIO_TOOL_ITEM( label, icon, tooltip, cb ) { label, icon, tooltip, G_CALLBACK(cb), (PtkMenuItemEntry*)2, NULL } #define PTK_EMPTY_MENU ((gpointer)3) #define PTK_MENU_TOOL_ITEM( label, icon, tooltip, cb, menu ) { label, icon, tooltip, cb, menu, NULL } #define PTK_SEPARATOR_TOOL_ITEM { NULL, NULL, NULL, -1, NULL, NULL} #define PTK_TOOL_END {0} #define PTK_IS_CHECK_TOOL_ITEM( ent ) ( ent->menu == (PtkMenuItemEntry*)1 ) #define PTK_IS_RADIO_TOOL_ITEM( ent ) ( ent->menu == (PtkMenuItemEntry*)2 ) #define PTK_IS_SEPARATOR_TOOL_ITEM( ent ) ( ent->callback == G_CALLBACK(-1) ) struct _PtkToolItemEntry { const char* label; /* or stock id */ const char* stock_icon; /* or menu type 1: check, 2: radio */ const char* tooltip; GCallback callback; struct _PtkMenuItemEntry* menu; /* NULL: normal, 1: check, 2: radio, 3: empty menu, > 3: menu */ GtkWidget** ret; }; typedef struct _PtkToolItemEntry PtkToolItemEntry; GtkWidget* ptk_menu_new_from_data( PtkMenuItemEntry* entries, gpointer cb_data, GtkAccelGroup* accel_group ); void ptk_menu_add_items_from_data( GtkWidget* menu, PtkMenuItemEntry* entries, gpointer cb_data, GtkAccelGroup* accel_group ); GtkWidget* ptk_toolbar_add_items_from_data( GtkWidget* toolbar, PtkToolItemEntry* entries, gpointer cb_data ); /* The string 'message' can contain pango markups. * If special characters like < and > are used in the string, * they should be escaped with g_markup_escape_text(). */ void ptk_show_error(GtkWindow* parent, const char* title, const char* message ); /* Because GNOME HIG causes some usability problems under limited screen size, * this API is provided to adjust the dialogs, and try to fit them into * small screens via totally breaking GNOME HIG and compress spacings. */ void ptk_dialog_fit_small_screen( GtkDialog* dlg ); /* gtk_dialog_run will disable all parent windows of the dialog. * However, sometimes we need modaless dialogs. So here it is. */ int ptk_dialog_run_modaless( GtkDialog* dlg ); GtkBuilder* _gtk_builder_new_from_file( const char* file, GError** err ); void transpose_nonlatin_keypress( GdkEventKey* event ); G_END_DECLS #endif spacefm-1.0.5/src/settings.c000077500000000000000000016726351264770501700157660ustar00rootroot00000000000000/* * SpaceFM settings.c * * Copyright (C) 2015 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #ifdef HAVE_CONFIG_H # include #endif #ifndef _GNU_SOURCE #define _GNU_SOURCE // euidaccess #endif #include #include #include #include #include #include "glib-utils.h" /* for g_mkdir_with_parents() */ #include #include #include "gtk2-compat.h" #include #include #include #include "settings.h" #include "desktop.h" #include "ptk-utils.h" #include "main-window.h" #include "vfs-app-desktop.h" #include "item-prop.h" #include "ptk-app-chooser.h" #include "ptk-handler.h" #include "ptk-file-menu.h" #include "vfs-utils.h" /* for vfs_load_icon */ #include "ptk-location-view.h" #include "exo-icon-chooser-dialog.h" /* for exo_icon_chooser_dialog_new */ #define CONFIG_VERSION "37" // 1.0.5 #define DEFAULT_TMP_DIR "/tmp" /* Dirty hack: check whether we are under LXDE or not */ #define is_under_LXDE() (g_getenv( "_LXSESSION_PID" ) != NULL) AppSettings app_settings = {0}; /* const gboolean singleInstance_default = TRUE; */ const gboolean show_hidden_files_default = FALSE; const gboolean show_thumbnail_default = FALSE; const int max_thumb_size_default = 8 << 20; const int big_icon_size_default = 48; const int max_icon_size = 512; const int small_icon_size_default = 22; const int tool_icon_size_default = 0; const gboolean single_click_default = FALSE; const gboolean no_single_hover_default = FALSE; /* FIXME: temporarily disable trash since it's not finished */ const gboolean use_trash_can_default = FALSE; //const int open_bookmark_method_default = 1; const int view_mode_default = PTK_FB_ICON_VIEW; const int sort_order_default = PTK_FB_SORT_BY_NAME; const int sort_type_default = GTK_SORT_ASCENDING; //gboolean show_desktop_default = FALSE; const gboolean show_wallpaper_default = FALSE; const WallpaperMode wallpaper_mode_default=WPM_STRETCH; const GdkColor desktop_bg1_default={0, 4656, 4125, 12014}; const GdkColor desktop_bg2_default={0}; // unused? const GdkColor desktop_text_default={0, 65535, 65535, 65535}; const GdkColor desktop_shadow_default={0, 11822, 13364, 13878}; const int desktop_sort_by_default = DW_SORT_CUSTOM; const int desktop_sort_type_default = GTK_SORT_ASCENDING; const gboolean show_wm_menu_default = FALSE; const gboolean desk_single_click_default = FALSE; const gboolean desk_no_single_hover_default = FALSE; const gboolean desk_open_mime_default = FALSE; const int margin_top_default = 12; const int margin_left_default = 6; const int margin_right_default = 6; const int margin_bottom_default = 12; const int margin_pad_default = 6; /* Default values of interface settings */ const gboolean always_show_tabs_default = TRUE; const gboolean hide_close_tab_buttons_default = FALSE; const gboolean hide_side_pane_buttons_default = FALSE; //const gboolean hide_folder_content_border_default = FALSE; // MOD settings void xset_write( FILE* file ); void xset_parse( char* line ); void read_root_settings(); void xset_defaults(); const gboolean use_si_prefix_default = FALSE; GList* xsets = NULL; GList* keysets = NULL; XSet* set_clipboard = NULL; gboolean clipboard_is_cut; XSet* set_last; char* settings_config_dir = NULL; char* settings_tmp_dir = NULL; char* settings_shared_tmp_dir = NULL; char* settings_user_tmp_dir = NULL; XSetContext* xset_context = NULL; XSet* book_icon_set_cached = NULL; // delayed session saving guint xset_autosave_timer = 0; gboolean xset_autosave_request = FALSE; typedef void ( *SettingsParseFunc ) ( char* line ); static void color_from_str( GdkColor* ret, const char* value ); static void save_color( FILE* file, const char* name, GdkColor* color ); void xset_free_all(); void xset_custom_delete( XSet* set, gboolean delete_next ); void xset_default_keys(); char* xset_color_dialog( GtkWidget* parent, char* title, char* defcolor ); GtkWidget* xset_design_additem( GtkWidget* menu, const char* label, const char* stock_icon, int job, XSet* set ); gboolean xset_design_cb( GtkWidget* item, GdkEventButton * event, XSet* set ); gboolean on_autosave_timer( gpointer main_window ); const char* icon_stock_to_id( const char* name ); void xset_builtin_tool_activate( char tool_type, XSet* set, GdkEventButton* event ); XSet* xset_new_builtin_toolitem( char tool_type ); void xset_custom_insert_after( XSet* target, XSet* set ); XSet* xset_custom_copy( XSet* set, gboolean copy_next, gboolean delete_set ); void xset_free( XSet* set ); const char* user_manual_url = "http://ignorantguru.github.io/spacefm/spacefm-manual-en.html"; const char* homepage = "http://ignorantguru.github.io/spacefm/"; //also in aboutdlg.ui const char* enter_command_line = N_("Enter program or bash command line:\n\nUse:\n\t%%F\tselected files or %%f first selected file\n\t%%N\tselected filenames or %%n first selected filename\n\t%%d\tcurrent directory\n\t%%v\tselected device (eg /dev/sda1)\n\t%%m\tdevice mount point (eg /media/dvd); %%l device label\n\t%%b\tselected bookmark\n\t%%t\tselected task directory; %%p task pid\n\t%%a\tmenu item value\n\t$fm_panel, $fm_tab, $fm_command, etc"); const char* icon_desc = N_("Enter an icon name, icon file path, or stock item name:\n\nOr click Choose to select an icon. Not all icons may work properly due to various issues."); const char* enter_menu_name = N_("Enter item name:\n\nPrecede a character with an underscore (_) to underline that character as a shortcut key if desired."); const char* enter_menu_name_new = N_("Enter new item name:\n\nPrecede a character with an underscore (_) to underline that character as a shortcut key if desired.\n\nTIP: To change this item later, right-click on the item to open the Design Menu."); static const char* builtin_tool_name[] = { // must match XSET_TOOL_ enum NULL, NULL, N_("Show Devices"), N_("Show Bookmarks"), N_("Show Tree"), N_("Home"), N_("Default"), N_("Up"), N_("Back"), N_("Back History"), N_("Forward"), N_("Forward History"), N_("Refresh"), N_("New Tab"), N_("New Tab Here"), N_("Show Hidden"), N_("Show Thumbnails"), N_("Large Icons") }; static const char* builtin_tool_icon[] = { // must match XSET_TOOL_ enum NULL, NULL, "gtk-harddisk", "gtk-jump-to", "gtk-directory", "gtk-home", "gtk-home", "gtk-go-up", "gtk-go-back", "gtk-go-back", "gtk-go-forward", "gtk-go-forward", "gtk-refresh", "gtk-add", "gtk-add", "gtk-apply", GTK_STOCK_SELECT_COLOR, GTK_STOCK_ZOOM_IN }; static const char* builtin_tool_shared_key[] = { // must match XSET_TOOL_ enum NULL, NULL, "panel1_show_devmon", "panel1_show_book", "panel1_show_dirtree", "go_home", "go_default", "go_up", "go_back", "go_back", "go_forward", "go_forward", "view_refresh", "tab_new", "tab_new_here", "panel1_show_hidden", "view_thumb", "panel1_list_large" }; static void parse_general_settings( char* line ) { char * sep = strstr( line, "=" ); char* name; char* value; if ( !sep ) return ; name = line; value = sep + 1; *sep = '\0'; if ( 0 == strcmp( name, "encoding" ) ) strcpy( app_settings.encoding, value ); //else if ( 0 == strcmp( name, "show_hidden_files" ) ) // app_settings.show_hidden_files = atoi( value ); //else if ( 0 == strcmp( name, "show_side_pane" ) ) // app_settings.show_side_pane = atoi( value ); //else if ( 0 == strcmp( name, "side_pane_mode" ) ) // app_settings.side_pane_mode = atoi( value ); else if ( 0 == strcmp( name, "show_thumbnail" ) ) app_settings.show_thumbnail = atoi( value ); else if ( 0 == strcmp( name, "max_thumb_size" ) ) app_settings.max_thumb_size = atoi( value ) << 10; else if ( 0 == strcmp( name, "big_icon_size" ) ) { app_settings.big_icon_size = atoi( value ); if( app_settings.big_icon_size <= 0 || app_settings.big_icon_size > max_icon_size ) app_settings.big_icon_size = big_icon_size_default; } else if ( 0 == strcmp( name, "small_icon_size" ) ) { app_settings.small_icon_size = atoi( value ); if( app_settings.small_icon_size <= 0 || app_settings.small_icon_size > max_icon_size ) app_settings.small_icon_size = small_icon_size_default; } else if ( 0 == strcmp( name, "tool_icon_size" ) ) { app_settings.tool_icon_size = atoi( value ); if( app_settings.tool_icon_size < 0 || app_settings.tool_icon_size > GTK_ICON_SIZE_DIALOG ) app_settings.tool_icon_size = tool_icon_size_default; } /* FIXME: temporarily disable trash since it's not finished */ #if 0 else if ( 0 == strcmp( name, "use_trash_can" ) ) app_settings.use_trash_can = atoi(value); #endif else if ( 0 == strcmp( name, "single_click" ) ) app_settings.single_click = atoi(value); else if ( 0 == strcmp( name, "no_single_hover" ) ) app_settings.no_single_hover = atoi(value); //else if ( 0 == strcmp( name, "view_mode" ) ) // app_settings.view_mode = atoi( value ); else if ( 0 == strcmp( name, "sort_order" ) ) app_settings.sort_order = atoi( value ); else if ( 0 == strcmp( name, "sort_type" ) ) app_settings.sort_type = atoi( value ); else if ( 0 == strcmp( name, "open_bookmark_method" ) ) //app_settings.open_bookmark_method = atoi( value ); xset_set_b( "book_newtab", atoi( value ) != 1 ); //sfm backwards compat /* else if ( 0 == strcmp( name, "iconTheme" ) ) { if ( value && *value ) app_settings.iconTheme = strdup( value ); } */ else if ( 0 == strcmp( name, "terminal" ) ) //MOD backwards compat { if ( value && *value ) xset_set( "main_terminal", "s", value ); //app_settings.terminal = strdup( value ); } else if ( 0 == strcmp( name, "use_si_prefix" ) ) app_settings.use_si_prefix = atoi( value ); else if ( 0 == strcmp( name, "no_execute" ) ) app_settings.no_execute = atoi( value ); //MOD else if ( 0 == strcmp( name, "home_folder" ) ) { // backwards compat if ( value && *value ) xset_set( "go_set_default", "s", value ); } else if ( 0 == strcmp( name, "no_confirm" ) ) app_settings.no_confirm = atoi( value ); //MOD /* else if ( 0 == strcmp( name, "singleInstance" ) ) app_settings.singleInstance = atoi( value ); */ /* else if ( 0 == strcmp( name, "show_location_bar" ) ) app_settings.show_location_bar = atoi( value ); */ } static void color_from_str( GdkColor* ret, const char* value ) { sscanf( value, "%hu,%hu,%hu", &ret->red, &ret->green, &ret->blue ); } static void save_color( FILE* file, const char* name, GdkColor* color ) { fprintf( file, "%s=%d,%d,%d\n", name, color->red, color->green, color->blue ); } static void parse_window_state( char* line ) { char * sep = strstr( line, "=" ); char* name; char* value; int v; if ( !sep ) return ; name = line; value = sep + 1; *sep = '\0'; //if ( 0 == strcmp( name, "splitter_pos" ) ) //{ // v = atoi( value ); // app_settings.splitter_pos = ( v > 0 ? v : 160 ); //} if ( 0 == strcmp( name, "width" ) ) { v = atoi( value ); app_settings.width = ( v > 0 ? v : 640 ); } if ( 0 == strcmp( name, "height" ) ) { v = atoi( value ); app_settings.height = ( v > 0 ? v : 480 ); } if ( 0 == strcmp( name, "maximized" ) ) { app_settings.maximized = atoi( value ); } } static void parse_desktop_settings( char* line ) { char * sep = strstr( line, "=" ); char* name; char* value; if ( !sep ) return ; name = line; value = sep + 1; *sep = '\0'; //if ( 0 == strcmp( name, "show_desktop" ) ) // app_settings.show_desktop = atoi( value ); if ( 0 == strcmp( name, "show_wallpaper" ) ) app_settings.show_wallpaper = atoi( value ); else if ( 0 == strcmp( name, "wallpaper" ) ) app_settings.wallpaper = g_strdup( value ); else if ( 0 == strcmp( name, "wallpaper_mode" ) ) app_settings.wallpaper_mode = atoi( value ); else if ( 0 == strcmp( name, "bg1" ) ) color_from_str( &app_settings.desktop_bg1, value ); else if ( 0 == strcmp( name, "bg2" ) ) color_from_str( &app_settings.desktop_bg2, value ); else if ( 0 == strcmp( name, "text" ) ) color_from_str( &app_settings.desktop_text, value ); else if ( 0 == strcmp( name, "shadow" ) ) color_from_str( &app_settings.desktop_shadow, value ); else if ( 0 == strcmp( name, "font" ) ) app_settings.desk_font = pango_font_description_from_string( value ); else if ( 0 == strcmp( name, "sort_by" ) ) app_settings.desktop_sort_by = atoi( value ); else if ( 0 == strcmp( name, "sort_type" ) ) app_settings.desktop_sort_type = atoi( value ); else if ( 0 == strcmp( name, "show_wm_menu" ) ) app_settings.show_wm_menu = atoi( value ); else if ( 0 == strcmp( name, "desk_single_click" ) ) app_settings.desk_single_click = atoi( value ); else if ( 0 == strcmp( name, "desk_no_single_hover" ) ) app_settings.desk_no_single_hover = atoi( value ); else if ( 0 == strcmp( name, "desk_open_mime" ) ) app_settings.desk_open_mime = atoi( value ); else if ( 0 == strcmp( name, "margin_top" ) ) app_settings.margin_top = atoi( value ); else if ( 0 == strcmp( name, "margin_left" ) ) app_settings.margin_left = atoi( value ); else if ( 0 == strcmp( name, "margin_right" ) ) app_settings.margin_right = atoi( value ); else if ( 0 == strcmp( name, "margin_bottom" ) ) app_settings.margin_bottom = atoi( value ); else if ( 0 == strcmp( name, "margin_pad" ) ) app_settings.margin_pad = atoi( value ); } static void parse_interface_settings( char* line ) { char * sep = strstr( line, "=" ); char* name; char* value; if ( !sep ) return ; name = line; value = sep + 1; *sep = '\0'; if ( 0 == strcmp( name, "always_show_tabs" ) ) app_settings.always_show_tabs = atoi( value ); else if ( 0 == strcmp( name, "show_close_tab_buttons" ) ) app_settings.hide_close_tab_buttons = !atoi( value ); //else if ( 0 == strcmp( name, "hide_side_pane_buttons" ) ) // app_settings.hide_side_pane_buttons = atoi( value ); //else if ( 0 == strcmp( name, "hide_folder_content_border" ) ) // app_settings.hide_folder_content_border = atoi( value ); } static void parse_conf( const char* etc_path, char* line ) { char * sep = strstr( line, "=" ); char* name; char* value; if ( !sep ) return ; name = line; value = sep + 1; *sep = '\0'; char* sname = g_strstrip( name ); char* svalue = g_strdup( g_strstrip( value ) ); if ( !( sname && sname[0] && svalue && svalue[0] ) ) {} else if ( strpbrk( svalue, " $%\\()&#|:;?<>{}[]*\"'" ) ) g_warning( _("%s: %s contains invalid characters - ignored"), etc_path, sname ); else if ( !strcmp( sname, "tmp_dir" ) ) { if ( svalue[0] != '/' || !g_file_test( svalue, G_FILE_TEST_IS_DIR ) ) g_warning( _("%s: tmp_dir '%s' does not exist - reverting to %s"), etc_path, svalue, DEFAULT_TMP_DIR ); else { settings_tmp_dir = svalue; svalue = NULL; } } else if ( !strcmp( sname, "terminal_su" ) || !strcmp( sname, "graphical_su" ) ) { if ( svalue[0] != '/' || !g_file_test( svalue, G_FILE_TEST_EXISTS ) ) g_warning( "%s: %s '%s' %s", etc_path, sname, svalue, _("file not found") ); else if ( !strcmp( sname, "terminal_su" ) ) { settings_terminal_su = svalue; svalue = NULL; } else { settings_graphical_su = svalue; svalue = NULL; } } g_free( svalue ); } void load_conf() { // load spacefm.conf char line[ 2048 ]; settings_terminal_su = NULL; settings_graphical_su = NULL; char* etc_path = g_build_filename( SYSCONFDIR, "spacefm", "spacefm.conf", NULL ); FILE* file = fopen( etc_path, "r" ); if ( file ) { while ( fgets( line, sizeof( line ), file ) ) parse_conf( etc_path, line ); fclose( file ); } g_free( etc_path ); // set tmp dir if ( !settings_tmp_dir ) settings_tmp_dir = g_strdup( DEFAULT_TMP_DIR ); } void swap_menu_label( const char* set_name, const char* old_name, const char* new_name ) { // changes default menu label for older config files XSet* set; if ( set = xset_is( set_name ) ) { if ( set->menu_label && !strcmp( set->menu_label, old_name ) ) { // menu label has not been changed by user - change default g_free( set->menu_label ); set->menu_label = g_strdup( new_name ); set->in_terminal = XSET_B_UNSET; } } } void move_attached_to_builtin( const char* removed_name, const char* move_to_name ) { /* For upgrades only: A built-in menu item (removed_name) has been removed, * so move custom menu items attached to the removed item to another item. * Leave removed item data intact in case of downgrade. */ XSet* set_to = xset_is( move_to_name ); if ( !set_to ) { g_warning( "remove_builtin_item passed invalid move_to_name '%s'", move_to_name ); return; } GList* l; XSet* set_move; XSet* set_to_next; XSet* set_move_next; for ( l = xsets; l; l = l->next ) { if ( !g_strcmp0( removed_name, ((XSet*)l->data)->prev ) ) { // found a set attached to removed_name set_move = l->data; if ( set_move->lock ) // failsafe return; while ( set_move ) { xset_custom_remove( set_move ); g_free( set_move->prev ); set_move->prev = g_strdup( set_to->name ); if ( set_move->next ) { set_move_next = xset_get( set_move->next ); if ( set_move_next->lock ) // failsafe set_move_next = NULL; } else set_move_next = NULL; g_free( set_move->next ); set_move->next = g_strdup( set_to->next ); if ( set_to->next ) { set_to_next = xset_get( set_to->next ); if ( set_to_next->prev ) g_free( set_to_next->prev ); set_to_next->prev = g_strdup( set_move->name ); } g_free( set_to->next ); set_to->next = g_strdup( set_move->name ); if ( set_to->tool ) { if ( set_move->tool > XSET_TOOL_CUSTOM ) g_warning( "move_attached_to_builtin moved builtin tool - changed to custom" ); set_move->tool = XSET_TOOL_CUSTOM; } else set_move->tool = XSET_TOOL_NOT; set_to = set_move; set_move = set_move_next; } return; } } } void load_settings( char* config_dir ) { FILE * file; gchar* path = NULL; char line[ 2048 ]; char* section_name; SettingsParseFunc func = NULL; XSet* set; char* str; xset_cmd_history = NULL; app_settings.load_saved_tabs = TRUE; if ( config_dir ) settings_config_dir = config_dir; else settings_config_dir = g_build_filename( g_get_user_config_dir(), "spacefm", NULL ); /* General */ /* app_settings.show_desktop = show_desktop_default; */ app_settings.show_wallpaper = show_wallpaper_default; app_settings.wallpaper = NULL; app_settings.desktop_bg1 = desktop_bg1_default; app_settings.desktop_bg2 = desktop_bg2_default; app_settings.desktop_text = desktop_text_default; app_settings.desk_font = NULL; app_settings.desktop_sort_by = desktop_sort_by_default; app_settings.desktop_sort_type = desktop_sort_type_default; app_settings.show_wm_menu = show_wm_menu_default; app_settings.desk_single_click = desk_single_click_default; app_settings.desk_no_single_hover = desk_no_single_hover_default; app_settings.desk_open_mime = desk_open_mime_default; app_settings.margin_top = margin_top_default; app_settings.margin_left = margin_left_default; app_settings.margin_right = margin_right_default; app_settings.margin_bottom = margin_bottom_default; app_settings.margin_pad = margin_pad_default; app_settings.encoding[ 0 ] = '\0'; //app_settings.show_hidden_files = show_hidden_files_default; //app_settings.show_side_pane = show_side_pane_default; //app_settings.side_pane_mode = side_pane_mode_default; app_settings.show_thumbnail = show_thumbnail_default; app_settings.max_thumb_size = max_thumb_size_default; app_settings.big_icon_size = big_icon_size_default; app_settings.small_icon_size = small_icon_size_default; app_settings.tool_icon_size = tool_icon_size_default; app_settings.use_trash_can = use_trash_can_default; //app_settings.view_mode = view_mode_default; //app_settings.open_bookmark_method = open_bookmark_method_default; /* app_settings.iconTheme = NULL; */ //app_settings.terminal = NULL; app_settings.use_si_prefix = use_si_prefix_default; //app_settings.show_location_bar = show_location_bar_default; //app_settings.home_folder = NULL; //MOD app_settings.no_execute = TRUE; //MOD app_settings.no_confirm = FALSE; //MOD app_settings.date_format = NULL; //MOD /* Interface */ app_settings.always_show_tabs = always_show_tabs_default; app_settings.hide_close_tab_buttons = hide_close_tab_buttons_default; //app_settings.hide_side_pane_buttons = hide_side_pane_buttons_default; //app_settings.hide_folder_content_border = hide_folder_content_border_default; /* Window State */ //app_settings.splitter_pos = 160; app_settings.width = 640; app_settings.height = 480; // MOD extra settings xset_defaults(); /* load settings */ //MOD /* Dirty hacks for LXDE */ /* if( is_under_LXDE() ) { show_desktop_default = app_settings.show_desktop = TRUE; // show the desktop by default } */ // set tmp dirs if ( !settings_tmp_dir ) settings_tmp_dir = g_strdup( DEFAULT_TMP_DIR ); // shared tmp settings_shared_tmp_dir = g_build_filename( settings_tmp_dir, "spacefm.tmp", NULL ); if ( geteuid() == 0 ) { if ( !g_file_test( settings_shared_tmp_dir, G_FILE_TEST_EXISTS ) ) g_mkdir_with_parents( settings_shared_tmp_dir, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX ); chown( settings_shared_tmp_dir, 0, 0 ); chmod( settings_shared_tmp_dir, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX ); } // copy /etc/xdg/spacefm char* xdg_path = g_build_filename( SYSCONFDIR, "xdg", "spacefm", NULL ); if ( !g_file_test( settings_config_dir, G_FILE_TEST_EXISTS ) && g_file_test( xdg_path, G_FILE_TEST_IS_DIR ) ) { char* command = g_strdup_printf( "cp -r %s '%s'", xdg_path, settings_config_dir ); printf( "COMMAND=%s\n", command ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( command ); chmod( settings_config_dir, S_IRWXU ); } g_free( xdg_path ); if ( !g_file_test( settings_config_dir, G_FILE_TEST_EXISTS ) ) g_mkdir_with_parents( settings_config_dir, 0700 ); // load session int x = 0; do { if ( path ) g_free ( path ); path = NULL; switch ( x ) { case 0: path = g_build_filename( settings_config_dir, "session", NULL ); break; case 1: path = g_build_filename( settings_config_dir, "session-last", NULL ); break; case 2: path = g_build_filename( settings_config_dir, "session-prior", NULL ); break; case 3: path = g_build_filename( settings_config_dir, "main.lxde", NULL ); break; case 4: path = g_build_filename( settings_config_dir, "main", NULL ); break; case 5: path = g_build_filename( g_get_user_config_dir(), "pcmanfm", "main.lxde", NULL ); break; case 6: path = g_build_filename( g_get_user_config_dir(), "pcmanfm", "main", NULL ); break; default: path = NULL; } x++; } while ( path && !g_file_test( path, G_FILE_TEST_EXISTS ) ); if ( x == 1 ) { // copy session to session-last char* last = g_build_filename( settings_config_dir, "session-last", NULL ); char* prior = g_build_filename( settings_config_dir, "session-prior", NULL ); if ( g_file_test( last, G_FILE_TEST_EXISTS ) ) { unlink( prior ); rename( last, prior ); } xset_copy_file( path, last ); chmod( last, S_IRUSR | S_IWUSR ); g_free( last ); g_free( prior ); } if ( path ) { file = fopen( path, "r" ); g_free( path ); } else file = NULL; if ( file ) { while ( fgets( line, sizeof( line ), file ) ) { strtok( line, "\r\n" ); if ( ! line[ 0 ] ) continue; if ( line[ 0 ] == '[' ) { section_name = strtok( line, "]" ); if ( 0 == strcmp( line + 1, "General" ) ) func = &parse_general_settings; else if ( 0 == strcmp( line + 1, "Window" ) ) func = &parse_window_state; else if ( 0 == strcmp( line + 1, "Interface" ) ) func = &parse_interface_settings; else if ( 0 == strcmp( line + 1, "Desktop" ) ) func = &parse_desktop_settings; else if ( 0 == strcmp( line + 1, "MOD" ) ) //MOD func = &xset_parse; else func = NULL; continue; } if ( func ) ( *func ) ( line ); } fclose( file ); } if ( app_settings.encoding[ 0 ] ) { setenv( "G_FILENAME_ENCODING", app_settings.encoding, 1 ); } //sfm margin limits if ( app_settings.margin_top < 0 || app_settings.margin_top > 999 ) app_settings.margin_top = margin_top_default; if ( app_settings.margin_left < 0 || app_settings.margin_left > 999 ) app_settings.margin_left = margin_left_default; if ( app_settings.margin_right < 0 || app_settings.margin_right > 999 ) app_settings.margin_right = margin_right_default; if ( app_settings.margin_bottom < 0 || app_settings.margin_bottom > 999 ) app_settings.margin_bottom = margin_bottom_default; if ( app_settings.margin_pad < 0 || app_settings.margin_pad > 999 ) app_settings.margin_pad = margin_pad_default; //MOD turn off fullscreen xset_set_b( "main_full", FALSE ); //MOD date_format app_settings.date_format = g_strdup( xset_get_s( "date_format" ) ); if ( !app_settings.date_format || app_settings.date_format[0] == '\0' ) { if ( app_settings.date_format ) g_free( app_settings.date_format ); app_settings.date_format = g_strdup_printf( "%%Y-%%m-%%d %%H:%%M" ); xset_set( "date_format", "s", "%Y-%m-%d %H:%M" ); } //MOD su and gsu command discovery (sets default) char* set_su = get_valid_su(); if ( set_su ) g_free( set_su ); set_su = get_valid_gsu(); if ( set_su ) g_free( set_su ); //MOD terminal discovery int i; char* term; char* terminal = xset_get_s( "main_terminal" ); if ( !terminal || terminal[0] == '\0' ) { for ( i = 0; i < G_N_ELEMENTS( terminal_programs ); i++ ) { if ( term = g_find_program_in_path( terminal_programs[i] ) ) { xset_set( "main_terminal", "s", terminal_programs[i] ); xset_set_b( "main_terminal", TRUE ); // discovery g_free( term ); break; } } } //MOD editor discovery char* app_name = xset_get_s( "editor" ); if ( !app_name || app_name[0] == '\0' ) { VFSMimeType* mime_type = vfs_mime_type_get_from_type( "text/plain" ); if ( mime_type ) { app_name = vfs_mime_type_get_default_action( mime_type ); vfs_mime_type_unref( mime_type ); //int app_len = strlen( app_name ); //if ( app_len > 8 && !strcmp( app_name + app_len - 8, ".desktop" ) ) if ( app_name ) { VFSAppDesktop* app = vfs_app_desktop_new( app_name ); if ( app ) { if ( app->exec ) xset_set( "editor", "s", app->exec ); vfs_app_desktop_unref( app ); } } } } // add default handlers ptk_handler_add_defaults( HANDLER_MODE_ARC, FALSE, FALSE ); ptk_handler_add_defaults( HANDLER_MODE_FS, FALSE, FALSE ); ptk_handler_add_defaults( HANDLER_MODE_NET, FALSE, FALSE ); ptk_handler_add_defaults( HANDLER_MODE_FILE, FALSE, FALSE ); // get root-protected settings read_root_settings(); // set default keys xset_default_keys(); // cache event handlers evt_win_focus = xset_get( "evt_win_focus" ); evt_win_move = xset_get( "evt_win_move" ); evt_win_click = xset_get( "evt_win_click" ); evt_win_key = xset_get( "evt_win_key" ); evt_win_close = xset_get( "evt_win_close" ); evt_pnl_show = xset_get( "evt_pnl_show" ); evt_pnl_focus = xset_get( "evt_pnl_focus" ); evt_pnl_sel = xset_get( "evt_pnl_sel" ); evt_tab_new = xset_get( "evt_tab_new" ); evt_tab_chdir = xset_get( "evt_tab_chdir" ); evt_tab_focus = xset_get( "evt_tab_focus" ); evt_tab_close = xset_get( "evt_tab_close" ); evt_device = xset_get( "evt_device" ); // config conversions int ver = xset_get_int( "config_version", "s" ); if ( ver == 0 ) { ptk_bookmark_view_get_first_bookmark( NULL ); return; } /* if ( ver < 3 ) // < 0.5.3 { set = xset_get( "toolbar_left" ); if ( set->menu_label && !strcmp( set->menu_label, "_Left" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Left Toolbar" ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "toolbar_right" ); if ( set->menu_label && !strcmp( set->menu_label, "_Right" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Right Toolbar" ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "toolbar_side" ); if ( set->menu_label && !strcmp( set->menu_label, "_Side" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Side Toolbar" ); set->in_terminal = XSET_B_UNSET; } for ( i = 1; i < 5; i++ ) { set = xset_get_panel( i, "show_sidebar" ); if ( set->menu_label && !strcmp( set->menu_label, "_Sidebar" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Side Toolbar" ); set->in_terminal = XSET_B_UNSET; } } set = xset_get( "focus_path_bar" ); if ( set->menu_label && !strcmp( set->menu_label, "_Smart Bar" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Smartbar" ); set->in_terminal = XSET_B_UNSET; } } if ( ver < 4 ) // < 0.5.4 { set = xset_get( "task_err_first" ); if ( set->menu_label && !strcmp( set->menu_label, "Stop On _First" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "Stop If _First" ); set->in_terminal = XSET_B_UNSET; } } if ( ver < 6 ) // < 0.6.3 { set = xset_get( "dev_show_internal_drives" ); if ( set->menu_label && !strcmp( set->menu_label, "Show _Internal Drives" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Internal Drives" ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "dev_show_partition_tables" ); if ( set->menu_label && !strcmp( set->menu_label, "Show _Partition Tables" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Partition Tables" ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "dev_ignore_udisks_hide" ); if ( set->menu_label && !strcmp( set->menu_label, "Ignore Udisks _Hide Policy" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "Ignore _Hide Policy" ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "dev_show_hide_volumes" ); if ( set->menu_label && !strcmp( set->menu_label, "Show _Volumes..." ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Volumes..." ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "dev_show_empty" ); //new if ( set->b == XSET_B_UNSET ) set->b = XSET_B_TRUE; } */ if ( ver < 7 ) // < 0.7.0 { // custom separators ->next xset have invalid prev XSet* set_next; GList* l; for ( l = xsets; l; l = l->next ) { set = l->data; if ( !set->lock && set->menu_style == XSET_MENU_SEP && set->next ) { set_next = xset_get( set->next ); if ( set_next->prev ) g_free( set_next->prev ); set_next->prev = g_strdup( set->name ); } } } if ( ver < 8 ) // < 0.7.2 { if ( app_settings.small_icon_size == 20 ) app_settings.small_icon_size = 22; if ( app_settings.big_icon_size == 20 ) app_settings.big_icon_size = 22; } if ( ver < 9 ) // < 0.7.3 { for ( i = 1; i < 5; i++ ) { set = xset_get_panel( i, "show_toolbox" ); if ( set->menu_label && !strcmp( set->menu_label, "_Toolbox" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Toolbar" ); set->in_terminal = XSET_B_UNSET; } } set = xset_get( "focus_path_bar" ); if ( set->menu_label && !strcmp( set->menu_label, "_Smartbar" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Path Bar" ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "path_help" ); if ( set->menu_label && !strcmp( set->menu_label, "_Smartbar Help" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( "_Path Bar Help" ); set->in_terminal = XSET_B_UNSET; } } if ( ver < 10 ) // < 0.7.5 { set = xset_get( "dev_ignore_udisks_hide" ); if ( set->menu_label && !strcmp( set->menu_label, "Ignore Udisks _Hide" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("Ignore _Hide Policy") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "dev_ignore_udisks_nopolicy" ); if ( set->menu_label && !strcmp( set->menu_label, "Ignore Udisks _No Policy" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("Ignore _No Policy") ); set->in_terminal = XSET_B_UNSET; } } if ( ver < 11 ) // < 0.7.7+ { set = xset_get( "main_faq" ); if ( set->menu_label && !strcmp( set->menu_label, "How do I... (_FAQ)" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("_FAQ") ); set->in_terminal = XSET_B_UNSET; } } if ( ver < 15 ) // < 0.8.1 { set = xset_get( "task_stop" ); if ( set->menu_label && !strcmp( set->menu_label, "_Stop Task" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("_Stop") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "task_stop_all" ); g_free( set->menu_label ); set->menu_label = g_strdup( _("_Stop") ); set->in_terminal = XSET_B_UNSET; set = xset_get( "task_show_manager" ); if ( set->menu_label && !strcmp( set->menu_label, "_Show Manager" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("Show _Manager") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "task_hide_manager" ); if ( set->menu_label && !strcmp( set->menu_label, "_Auto-Hide Manager" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("Auto-_Hide Manager") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "task_errors" ); if ( set->menu_label && !strcmp( set->menu_label, "_Errors" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("Err_ors") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "task_col_curest" ); if ( set->menu_label && !strcmp( set->menu_label, "Current Esti_mate" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("Current Re_main") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "task_col_avgest" ); if ( set->menu_label && !strcmp( set->menu_label, "A_verage Estimate" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("A_verage Remain") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "task_col_path" ); if ( set->menu_label && !strcmp( set->menu_label, "_Path" ) ) { g_free( set->menu_label ); set->menu_label = g_strdup( _("_Folder") ); set->in_terminal = XSET_B_UNSET; } set = xset_get( "dev_root_mount" ); if ( !g_strcmp0( set->icon, "gtk-add" ) ) { string_copy_free( &set->icon, "drive-removable-media" ); set->keep_terminal = XSET_B_UNSET; } set = xset_get( "iso_mount" ); if ( !g_strcmp0( set->icon, "gtk-cdrom" ) ) { string_copy_free( &set->icon, "drive-removable-media" ); set->keep_terminal = XSET_B_UNSET; } /* > 1.0.1 no longer an xset set = xset_get( "stool_mount" ); if ( !g_strcmp0( set->icon, "gtk-add" ) ) { string_copy_free( &set->icon, "drive-removable-media" ); set->keep_terminal = XSET_B_UNSET; } */ set = xset_get( "dev_menu_mount" ); if ( !g_strcmp0( set->icon, "gtk-add" ) ) { string_copy_free( &set->icon, "drive-removable-media" ); set->keep_terminal = XSET_B_UNSET; } set = xset_get( "task_pop_detail" ); if ( !g_strcmp0( set->menu_label, "_Detailed Status" ) ) { string_copy_free( &set->menu_label, _("_Detailed Stats") ); set->in_terminal = XSET_B_UNSET; } if ( app_settings.small_icon_size == 20 ) app_settings.small_icon_size = 22; if ( app_settings.big_icon_size == 20 ) app_settings.big_icon_size = 22; } if ( ver < 16 ) // < 0.8.3 { swap_menu_label( "dev_menu_remove", "Remo_ve", _("Remo_ve / Eject") ); } if ( ver < 18 ) // < 0.8.7+ { app_settings.desk_single_click = app_settings.single_click; } if ( ver < 23 ) // < 0.9.0 { // Note: this is the last config version which should require menu_label // changes of this nature due to defaults no longer being saved // in session file swap_menu_label( "plug_copy", "_Copy", _("_Import") ); swap_menu_label( "main_tasks", "_Tasks", _("_Task Manager") ); // for rename dialog swap_menu_label( "move_filename", "_Filename", _("F_ilename") ); swap_menu_label( "move_type", "_Type", _("Typ_e") ); swap_menu_label( "move_target", "_Target", _("Ta_rget") ); swap_menu_label( "move_template", "_Template", _("Te_mplate") ); swap_menu_label( "move_dlg_help", "T_ips", _("_Help") ); } if ( ver < 24 ) // < 0.9.4 { // don't use panel_sliders-key - introduced in 0.9.2 as task man height set = xset_is( "panel_sliders" ); if ( set && set->key != 0 ) { str = g_strdup_printf( "%d", set->key ); set->key = 0; xset_set( "task_show_manager", "x", str ); g_free( str ); } } if ( ver < 26 ) // < hand (1.0.0 alpha) { XSet* handset; char* cmd; /* Archive handlers are now user configurable using a new * xset - copying over dialog size from the old xset. * Leave "arc_conf" unchanged for backwards compat. */ if (xset_get_int( "arc_conf2", "x" ) == 0) { int width = xset_get_int( "arc_conf", "x" ); str = g_strdup_printf( "%d", width ); xset_set( "arc_conf2", "x", str ); g_free( str ); int height = xset_get_int( "arc_conf", "y" ); str = g_strdup_printf( "%d", height ); xset_set( "arc_conf2", "y", str ); g_free( str ); } // Import old protocol handler into new handler set = xset_is( "path_hand" ); if ( set && set->s && set->s[0] ) { handset = add_new_handler( HANDLER_MODE_NET ); handset->menu_label = g_strdup( "Imported Custom 0.9" ); handset->s = g_strdup( "*" ); // whitelist handset->x = g_strdup( "" ); // blacklist // copy old protocol mount command to handler script cmd = g_strdup_printf( "# Imported protocol handler from " "SpaceFM 0.9:\n\n%s %%url%%", set->s ); str = ptk_handler_save_script( HANDLER_MODE_NET, HANDLER_MOUNT, handset, NULL, cmd ); g_free( str ); // ignore any error msg g_free( cmd ); // copy old unmount command to handler script set = xset_is( "dev_unmount_cmd" ); if ( set && set->s && set->s[0] ) cmd = replace_string( set->s, "%v", "\"%a\"", FALSE ); else cmd = g_strdup( "udevil umount \"%a\"" ); str = ptk_handler_save_script( HANDLER_MODE_NET, HANDLER_UNMOUNT, handset, NULL, cmd ); g_free( str ); // ignore any error msg g_free( cmd ); // set a properties command to handler script cmd = g_strdup( "mount | grep \"%a\"" ); str = ptk_handler_save_script( HANDLER_MODE_NET, HANDLER_PROP, handset, NULL, cmd ); g_free( str ); // ignore any error msg g_free( cmd ); handset->b = XSET_B_TRUE; handset->lock = FALSE; // save menu_label handset->disable = FALSE; // save in session // add handset to handler list set = xset_get( "dev_net_cnf" ); str = g_strconcat( handset->name, " ", set->s ? set->s : "", NULL ); g_free( set->s ); set->s = str; } // Copy custom mount/unmount/prop commands to handler handset = xset_get( "hand_fs_+def" ); handset->disable = FALSE; // save in session set = xset_is( "dev_unmount_cmd" ); if ( set && set->s && set->s[0] ) { // copy old custom unmount command to handler script cmd = g_strdup_printf( "# Imported Unmount Command from " "SpaceFM 0.9:\n\n%s\n\n%s", set->s, UNMOUNT_EXAMPLE ); } else cmd = g_strdup( UNMOUNT_EXAMPLE ); str = ptk_handler_save_script( HANDLER_MODE_FS, HANDLER_UNMOUNT, handset, NULL, cmd ); g_free( str ); // ignore any error msg g_free( cmd ); set = xset_is( "dev_mount_cmd" ); if ( set && set->s && set->s[0] ) { // copy old custom mount command to handler script cmd = g_strdup_printf( "# Imported Mount Command from " "SpaceFM 0.9:\n\n%s\n\n%s", set->s, MOUNT_EXAMPLE ); } else cmd = g_strdup( MOUNT_EXAMPLE ); str = ptk_handler_save_script( HANDLER_MODE_FS, HANDLER_MOUNT, handset, NULL, cmd ); g_free( str ); // ignore any error msg g_free( cmd ); // Copy default Properties command str = ptk_handler_save_script( HANDLER_MODE_FS, HANDLER_LIST, handset, NULL, INFO_EXAMPLE ); // Change Save Session to Open URL - remove custom label/icon set = xset_set( "main_save_session", "lbl", _("Open _URL") ); xset_set_set( set, "icn", "gtk-network" ); // indicate that menu label is default and should not be saved set->in_terminal = XSET_B_UNSET; // indicate that icon is default and should not be saved set->keep_terminal = XSET_B_UNSET; // reset user key shortcut set->key = set->keymod = 0; // Apply old Auto-Mount ISO setting to new handler set = xset_is( "iso_auto" ); if ( set && set->b != XSET_B_TRUE ) { // disable ISO Mount file handler as default opener set = xset_get( "hand_f_+iso" ); set->b = XSET_B_UNSET; // disable as default opener set->disable = FALSE; // save in session } // Move any custom items attached to removed menu items move_attached_to_builtin( "iso_auto", "open_other" ); move_attached_to_builtin( "iso_mount", "open_other" ); move_attached_to_builtin( "dev_unmount_cmd", "dev_mount_options" ); move_attached_to_builtin( "dev_mount_cmd", "dev_mount_options" ); // Save settings xset_autosave( FALSE, FALSE ); } if ( ver < 30 && !xset_is( "main_book" ) ) // < 1.0.1 [31] { // Move any custom items attached to removed menu items move_attached_to_builtin( "book_new", "book_settings" ); // move_attached_to_builtin( "book_open", "book_settings" ); // revived 1.0.1 move_attached_to_builtin( "book_tab", "book_settings" ); move_attached_to_builtin( "book_remove", "book_settings" ); move_attached_to_builtin( "book_rename", "book_settings" ); move_attached_to_builtin( "book_edit", "book_settings" ); move_attached_to_builtin( "sep_bk1", "book_settings" ); move_attached_to_builtin( "sep_bk2", "book_settings" ); set = xset_get( "main_dev" ); g_free( set->icon ); set->icon = NULL; str = g_build_filename( xset_get_config_dir(), "bookmarks", NULL ); ptk_bookmark_view_import_gtk( str, NULL ); g_free( str ); } if ( ver == 30 && !xset_is( "hand_net_+http" ) ) // == 1.0.0 { // add http handler to top of list for 1.0.0 upgrade to later ptk_handler_add_new_default( HANDLER_MODE_NET, "hand_net_+http", TRUE ); } if ( ver < 32 && !xset_is( "panel1_tool_l" ) /*only once*/ ) // < 1.0.2 { // 1.0.0 thru 1.0.1 used set->s for both last compress handler and // last Extract To Write Access. >=1.0.2 uses set->z for write access set = xset_get( "arc_dlg" ); if ( set->s && !strcmp( set->s, "0" ) ) { g_free( set->z ); set->z = g_strdup( "0" ); } // convert old toolbars to new, remove old toolbar xsets char* name; char ch; XSet* old_set; XSet* menu_set; XSet* child_set; XSet* new_set; int j, p; const char* old_toolbar_list[] = { "tool_device", "tool_book", "tool_dirtree", "tool_newtab", "tool_newtabhere", "tool_back", "tool_backmenu", "tool_forward", "tool_forwardmenu", "tool_up", "tool_home", "tool_default", "tool_refresh" }; char new_toolbar_types[] = { XSET_TOOL_DEVICES, XSET_TOOL_BOOKMARKS, XSET_TOOL_TREE, XSET_TOOL_NEW_TAB, XSET_TOOL_NEW_TAB_HERE, XSET_TOOL_BACK, XSET_TOOL_BACK_MENU, XSET_TOOL_FWD, XSET_TOOL_FWD_MENU, XSET_TOOL_UP, XSET_TOOL_HOME, XSET_TOOL_DEFAULT, XSET_TOOL_REFRESH }; for ( p = 1; p < 5; p++ ) // 4 panels { for ( j = 0; j < 3; j++ ) // left, right, and side { // get new toolbar menu set if ( j == 0 ) ch = 'l'; else if ( j == 1 ) ch = 'r'; else ch = 's'; str = g_strdup_printf( "tool_%c", ch ); menu_set = xset_get_panel( p, str ); g_free( str ); menu_set->menu_style = XSET_MENU_SUBMENU; menu_set->lock = TRUE; if ( menu_set->child ) { child_set = xset_get( menu_set->child ); while ( child_set->next ) child_set = xset_get( child_set->next ); } else child_set = NULL; for ( i = 0; i < G_N_ELEMENTS( old_toolbar_list ); i++ ) { // get old toolbar xset if ( j == 0 ) name = g_strdup( old_toolbar_list[i] ); else name = g_strdup_printf( "%c%s", ch, old_toolbar_list[i] ); old_set = xset_is( name ); g_free( name ); if ( !old_set ) continue; if ( old_set->tool == XSET_B_TRUE ) { // builtin tool is shown - add to new toolbar new_set = xset_new_builtin_toolitem( new_toolbar_types[i] ); if ( !child_set ) { menu_set->child = g_strdup( new_set->name ); new_set->parent = g_strdup( menu_set->name ); } else xset_custom_insert_after( child_set, new_set ); child_set = new_set; // copy custom menu label if ( old_set->menu_label && old_set->menu_label[0] && old_set->in_terminal == XSET_B_TRUE ) { // in_terminal means custom label was saved g_free( new_set->menu_label ); new_set->menu_label = old_set->menu_label; // steal old_set->menu_label = NULL; } // copy custom icon if ( old_set->icon && old_set->keep_terminal == XSET_B_TRUE ) { // keep_terminal means custom icon was saved new_set->icon = old_set->icon; // steal string old_set->icon = NULL; } } if ( old_set->next ) { // custom item(s) are attached to old toolbar xset set = xset_get( old_set->next ); if ( p == 4 ) new_set = set; // move the sets for last panel else { // copy the sets (copies next...) new_set = xset_custom_copy( set, TRUE, FALSE ); } // add to new toolbar (whether orig shown or not) if ( child_set ) { child_set->next = g_strdup( new_set->name ); g_free( new_set->prev ); new_set->prev = g_strdup( child_set->name ); } else { menu_set->child = g_strdup( new_set->name ); new_set->parent = g_strdup( menu_set->name ); g_free( new_set->prev ); new_set->prev = NULL; } child_set = new_set; child_set->tool = XSET_TOOL_CUSTOM; while ( child_set->next ) { child_set = xset_get( child_set->next ); child_set->tool = XSET_TOOL_CUSTOM; } } // remove old set from session file if ( p == 4 ) xset_free( old_set ); } } } // move custom items attached to old toolbar config menu items and // remove xsets const char* old_toolbar_sets[] = { "toolbar_left", "toolbar_side", "toolbar_right", "toolbar_hide", "toolbar_hide_side", "toolbar_config", "toolbar_help", "stool_mount", "stool_mountopen", "stool_eject", "sep_tool1", "sep_tool2", "sep_tool3", "sep_tool4" }; child_set = NULL; // set to add new toolbar items after for ( i = 0; i < G_N_ELEMENTS( old_toolbar_sets ); i++ ) { old_set = xset_is( old_toolbar_sets[i] ); if ( !old_set ) continue; set = old_set; if ( set->next && !child_set ) { set = xset_is( set->next ); if ( !set ) continue; // Make "Moved" submenu in Tools containing set to move menu_set = xset_custom_new(); menu_set->menu_label = g_strdup( "Lost+Found 1.0.2" ); menu_set->menu_style = XSET_MENU_SUBMENU; menu_set->child = g_strdup( set->name ); g_free( set->parent ); set->parent = g_strdup( menu_set->name ); g_free( set->prev ); set->prev = NULL; g_free( old_set->next ); old_set->next = NULL; child_set = set; // Add to Tools menu set = xset_get( "main_tool" ); if ( !set->child ) { // no child in Tools menu - add Moved menu as child menu_set->parent = g_strdup( "main_tool" ); set->child = g_strdup( menu_set->name ); } else { // add Moved menu after last child in Tools menu set = xset_get( set->child ); while ( set->next ) set = xset_get( set->next ); xset_custom_insert_after( set, menu_set ); } } if ( child_set ) { // Walk to last item while ( child_set->next ) child_set = xset_get( child_set->next ); // Move any attached if ( old_set->next ) move_attached_to_builtin( old_set->name, child_set->name ); } // remove old set from session file xset_free( old_set ); } } if ( ver < 33 ) // also < 1.0.2 { // Default Mount ISO file handler has new Run As Task option enabled set = xset_is( "hand_f_+iso" ); if ( set && !set->disable ) // user changed default handler set->keep_terminal = XSET_B_TRUE; } if ( ver < 37 ) // < 1.0.5 { // udevil unmount iso device handler has new whitelist/blacklist set = xset_is( "hand_fs_+udiso" ); if ( set && !set->disable ) { // user changed default handler if ( set->s && !strcmp( set->s, "iso9660" ) ) { g_free( set->s ); set->s = g_strdup( "+iso9660 +dev=/dev/loop*" ); } if ( !set->x || ( set->x && set->x[0] == '\0' ) ) { g_free( set->x ); set->x = g_strdup( "optical=1 removable=1" ); } } } // add default bookmarks ptk_bookmark_view_get_first_bookmark( NULL ); } char* save_settings( gpointer main_window_ptr ) { FILE * file; gchar* path; int result, p, pages, g; char* err_msg = NULL; XSet* set; PtkFileBrowser* file_browser; char* tabs; char* old_tabs; FMMainWindow* main_window; //printf("save_settings\n"); xset_set( "config_version", "s", CONFIG_VERSION ); // save tabs gboolean save_tabs = xset_get_b( "main_save_tabs" ); if ( main_window_ptr ) main_window = (FMMainWindow*)main_window_ptr; else main_window = fm_main_window_get_last_active(); if ( GTK_IS_WIDGET( main_window ) && save_tabs ) { for ( p = 1; p < 5; p++ ) { set = xset_get_panel( p, "show" ); if ( GTK_IS_NOTEBOOK( main_window->panel[p-1] ) ) { pages = gtk_notebook_get_n_pages( GTK_NOTEBOOK( main_window->panel[p-1] ) ); if ( pages ) // panel was shown { if ( set->s ) { g_free( set->s ); set->s = NULL; } tabs = g_strdup( "" ); for ( g = 0; g < pages; g++ ) { file_browser = PTK_FILE_BROWSER( gtk_notebook_get_nth_page( GTK_NOTEBOOK( main_window->panel[p-1] ), g ) ); old_tabs = tabs; tabs = g_strdup_printf( "%s///%s", old_tabs, ptk_file_browser_get_cwd( file_browser ) ); g_free( old_tabs ); } if ( tabs[0] != '\0' ) set->s = tabs; else g_free( tabs ); // save current tab if ( set->x ) g_free( set->x ); set->x = g_strdup_printf( "%d", gtk_notebook_get_current_page( GTK_NOTEBOOK( main_window->panel[p-1] ) ) ); } } } } else if ( !save_tabs ) { // clear saved tabs for ( p = 1; p < 5; p++ ) { set = xset_get_panel( p, "show" ); if ( set->s ) { g_free( set->s ); set->s = NULL; } if ( set->x ) { g_free( set->x ); set->x = NULL; } } } /* save settings */ if ( ! g_file_test( settings_config_dir, G_FILE_TEST_EXISTS ) ) g_mkdir_with_parents( settings_config_dir, 0700 ); if ( ! g_file_test( settings_config_dir, G_FILE_TEST_EXISTS ) ) goto _save_error; path = g_build_filename( settings_config_dir, "session.tmp", NULL ); /* Dirty hacks for LXDE */ file = fopen( path, "w" ); if ( file ) { /* General */ result = fputs( _("# SpaceFM Session File\n\n# THIS FILE IS NOT DESIGNED TO BE EDITED - it will be read and OVERWRITTEN\n\n# If you delete all session* files, SpaceFM will be reset to factory defaults.\n\n"), file ); if ( result < 0 ) goto _save_error; fputs( "[General]\n", file ); /* if ( app_settings.singleInstance != singleInstance_default ) fprintf( file, "singleInstance=%d\n", !!app_settings.singleInstance ); */ if ( app_settings.encoding[ 0 ] ) fprintf( file, "encoding=%s\n", app_settings.encoding ); //if ( app_settings.show_hidden_files != show_hidden_files_default ) // fprintf( file, "show_hidden_files=%d\n", !!app_settings.show_hidden_files ); //if ( app_settings.show_side_pane != show_side_pane_default ) // fprintf( file, "show_side_pane=%d\n", app_settings.show_side_pane ); //if ( app_settings.side_pane_mode != side_pane_mode_default ) // fprintf( file, "side_pane_mode=%d\n", app_settings.side_pane_mode ); if ( app_settings.show_thumbnail != show_thumbnail_default ) fprintf( file, "show_thumbnail=%d\n", !!app_settings.show_thumbnail ); if ( app_settings.max_thumb_size != max_thumb_size_default ) fprintf( file, "max_thumb_size=%d\n", app_settings.max_thumb_size >> 10 ); if ( app_settings.big_icon_size != big_icon_size_default ) fprintf( file, "big_icon_size=%d\n", app_settings.big_icon_size ); if ( app_settings.small_icon_size != small_icon_size_default ) fprintf( file, "small_icon_size=%d\n", app_settings.small_icon_size ); if ( app_settings.tool_icon_size != tool_icon_size_default ) fprintf( file, "tool_icon_size=%d\n", app_settings.tool_icon_size ); /* FIXME: temporarily disable trash since it's not finished */ #if 0 if ( app_settings.use_trash_can != use_trash_can_default ) fprintf( file, "use_trash_can=%d\n", app_settings.use_trash_can ); #endif if ( app_settings.single_click != single_click_default ) fprintf( file, "single_click=%d\n", app_settings.single_click ); if ( app_settings.no_single_hover != no_single_hover_default ) fprintf( file, "no_single_hover=%d\n", app_settings.no_single_hover ); //if ( app_settings.view_mode != view_mode_default ) // fprintf( file, "view_mode=%d\n", app_settings.view_mode ); if ( app_settings.sort_order != sort_order_default ) fprintf( file, "sort_order=%d\n", app_settings.sort_order ); if ( app_settings.sort_type != sort_type_default ) fprintf( file, "sort_type=%d\n", app_settings.sort_type ); //if ( app_settings.open_bookmark_method != open_bookmark_method_default ) // fprintf( file, "open_bookmark_method=%d\n", app_settings.open_bookmark_method ); /* if ( app_settings.iconTheme ) fprintf( file, "iconTheme=%s\n", app_settings.iconTheme ); */ //if ( app_settings.terminal ) // fprintf( file, "terminal=%s\n", app_settings.terminal ); if ( app_settings.use_si_prefix != use_si_prefix_default ) fprintf( file, "use_si_prefix=%d\n", !!app_settings.use_si_prefix ); // if ( app_settings.show_location_bar != show_location_bar_default ) // fprintf( file, "show_location_bar=%d\n", app_settings.show_location_bar ); /* if ( app_settings.home_folder ) fprintf( file, "home_folder=%s\n", app_settings.home_folder ); //MOD */ if ( !app_settings.no_execute ) fprintf( file, "no_execute=%d\n", !!app_settings.no_execute ); //MOD if ( app_settings.no_confirm ) fprintf( file, "no_confirm=%d\n", !!app_settings.no_confirm ); //MOD fputs( "\n[Window]\n", file ); fprintf( file, "width=%d\n", app_settings.width ); fprintf( file, "height=%d\n", app_settings.height ); //fprintf( file, "splitter_pos=%d\n", app_settings.splitter_pos ); fprintf( file, "maximized=%d\n", app_settings.maximized ); /* Desktop */ fputs( "\n[Desktop]\n", file ); //if ( app_settings.show_desktop != show_desktop_default ) // fprintf( file, "show_desktop=%d\n", !!app_settings.show_desktop ); if ( app_settings.show_wallpaper != show_wallpaper_default ) fprintf( file, "show_wallpaper=%d\n", !!app_settings.show_wallpaper ); if ( app_settings.wallpaper && app_settings.wallpaper[ 0 ] ) fprintf( file, "wallpaper=%s\n", app_settings.wallpaper ); if ( app_settings.wallpaper_mode != wallpaper_mode_default ) fprintf( file, "wallpaper_mode=%d\n", app_settings.wallpaper_mode ); if ( app_settings.desktop_sort_by != desktop_sort_by_default ) fprintf( file, "sort_by=%d\n", app_settings.desktop_sort_by ); if ( app_settings.desktop_sort_type != desktop_sort_type_default ) fprintf( file, "sort_type=%d\n", app_settings.desktop_sort_type ); if ( app_settings.show_wm_menu != show_wm_menu_default ) fprintf( file, "show_wm_menu=%d\n", app_settings.show_wm_menu ); if ( app_settings.desk_single_click != desk_single_click_default ) fprintf( file, "desk_single_click=%d\n", app_settings.desk_single_click ); if ( app_settings.desk_no_single_hover != desk_no_single_hover_default ) fprintf( file, "desk_no_single_hover=%d\n", app_settings.desk_no_single_hover ); if ( app_settings.desk_open_mime != desk_open_mime_default ) fprintf( file, "desk_open_mime=%d\n", app_settings.desk_open_mime ); // always save these colors in case defaults change //if ( ! gdk_color_equal( &app_settings.desktop_bg1, // &desktop_bg1_default ) ) save_color( file, "bg1", &app_settings.desktop_bg1 ); //if ( ! gdk_color_equal( &app_settings.desktop_bg2, // &desktop_bg2_default ) ) save_color( file, "bg2", &app_settings.desktop_bg2 ); //if ( ! gdk_color_equal( &app_settings.desktop_text, // &desktop_text_default ) ) save_color( file, "text", &app_settings.desktop_text ); //if ( ! gdk_color_equal( &app_settings.desktop_shadow, // &desktop_shadow_default ) ) save_color( file, "shadow", &app_settings.desktop_shadow ); if ( app_settings.desk_font ) { char* fontname = pango_font_description_to_string( app_settings.desk_font ); if ( fontname ) fprintf( file, "font=%s\n", fontname ); g_free( fontname ); } if ( app_settings.margin_top != margin_top_default ) fprintf( file, "margin_top=%d\n", app_settings.margin_top ); if ( app_settings.margin_left != margin_left_default ) fprintf( file, "margin_left=%d\n", app_settings.margin_left ); if ( app_settings.margin_right != margin_right_default ) fprintf( file, "margin_right=%d\n", app_settings.margin_right ); if ( app_settings.margin_bottom != margin_bottom_default ) fprintf( file, "margin_bottom=%d\n", app_settings.margin_bottom ); if ( app_settings.margin_pad != margin_pad_default ) fprintf( file, "margin_pad=%d\n", app_settings.margin_pad ); /* Interface */ fputs( "\n[Interface]\n", file ); if ( app_settings.always_show_tabs != always_show_tabs_default ) fprintf( file, "always_show_tabs=%d\n", app_settings.always_show_tabs ); if ( app_settings.hide_close_tab_buttons != hide_close_tab_buttons_default ) fprintf( file, "show_close_tab_buttons=%d\n", !app_settings.hide_close_tab_buttons ); //if ( app_settings.hide_side_pane_buttons != hide_side_pane_buttons_default ) // fprintf( file, "hide_side_pane_buttons=%d\n", app_settings.hide_side_pane_buttons ); //if ( app_settings.hide_folder_content_border != hide_folder_content_border_default ) // fprintf( file, "hide_folder_content_border=%d\n", app_settings.hide_folder_content_border ); // MOD extra settings fputs( "\n[MOD]\n", file ); xset_write( file ); result = fputs( "\n", file ); if ( result < 0 ) goto _save_error; result = fclose( file ); if ( result ) goto _save_error; } else goto _save_error; // move char* session = g_build_filename( settings_config_dir, "session", NULL ); unlink( session ); if ( g_file_test( session, G_FILE_TEST_EXISTS ) ) goto _save_error; result = rename( path, session ); g_free( path ); if ( result == -1 ) goto _save_error; if ( !g_file_test( session, G_FILE_TEST_EXISTS ) ) goto _save_error; g_free( session ); return NULL; _save_error: if ( errno ) { err_msg = (char*)g_strerror( errno ); if ( err_msg ) err_msg = g_strdup( err_msg ); } if ( !err_msg ) err_msg = g_strdup_printf( _("Error saving file") ); return err_msg; } void free_settings() { /* if ( app_settings.iconTheme ) g_free( app_settings.iconTheme ); */ //g_free( app_settings.terminal ); g_free( app_settings.wallpaper ); if ( xset_cmd_history ) { g_list_foreach( xset_cmd_history, (GFunc)g_free, NULL ); g_list_free( xset_cmd_history ); xset_cmd_history = NULL; } xset_free_all(); } const char* xset_get_config_dir() { return settings_config_dir; } const char* xset_get_tmp_dir() { return settings_tmp_dir; } const char* xset_get_shared_tmp_dir() { if ( !g_file_test( settings_shared_tmp_dir, G_FILE_TEST_EXISTS ) ) { g_mkdir_with_parents( settings_shared_tmp_dir, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX ); chmod( settings_shared_tmp_dir, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX ); } return settings_shared_tmp_dir; } const char* xset_get_user_tmp_dir() { if ( settings_user_tmp_dir && g_file_test( settings_user_tmp_dir, G_FILE_TEST_EXISTS ) ) return settings_user_tmp_dir; char* rand; char* name; int count = 0; int ret; do { g_free( settings_user_tmp_dir ); rand = randhex8(); name = g_strdup_printf( "spacefm-%s-%s.tmp", g_get_user_name(), rand ); g_free( rand ); settings_user_tmp_dir = g_build_filename( settings_tmp_dir, name, NULL ); g_free( name ); count++; } while ( count < 1000 && ( ret = mkdir( settings_user_tmp_dir, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH ) != 0 ) ); if ( ret != 0 ) { g_free( settings_user_tmp_dir ); settings_user_tmp_dir = NULL; g_warning( "Unable to create temporary directory in %s", settings_tmp_dir ); } return settings_user_tmp_dir; } static gboolean idle_save_settings( gpointer ptr ) { //printf("AUTOSAVE *** idle_save_settings\n" ); char* err_msg = save_settings( NULL ); if ( err_msg ) { printf( _("SpaceFM Error: Unable to autosave session file ( %s )\n"), err_msg ); g_free( err_msg ); } return FALSE; } static void auto_save_start( gboolean delay ) { //printf("AUTOSAVE auto_save_start\n" ); if ( !delay ) { g_idle_add( ( GSourceFunc ) idle_save_settings, NULL ); xset_autosave_request = FALSE; } else xset_autosave_request = TRUE; if ( !xset_autosave_timer ) { xset_autosave_timer = g_timeout_add_seconds( 10, ( GSourceFunc ) on_autosave_timer, NULL ); //printf("AUTOSAVE timer started\n" ); } } gboolean on_autosave_timer( gpointer ptr ) { //printf("AUTOSAVE timeout\n" ); if ( xset_autosave_timer ) { g_source_remove( xset_autosave_timer ); xset_autosave_timer = 0; } if ( xset_autosave_request ) auto_save_start( FALSE ); return FALSE; } void xset_autosave( gboolean force, gboolean delay ) { if ( xset_autosave_timer && !force ) { // autosave timer is running, so request save on timeout to prevent // saving too frequently, unless force xset_autosave_request = TRUE; //printf("AUTOSAVE request\n" ); } else { if ( xset_autosave_timer && force ) { g_source_remove( xset_autosave_timer ); xset_autosave_timer = 0; } /* if ( force ) printf("AUTOSAVE force\n" ); else if ( delay ) printf("AUTOSAVE delay\n" ); else printf("AUTOSAVE normal\n" ); */ auto_save_start( !force && delay ); } } void xset_autosave_cancel() { //printf("AUTOSAVE cancel\n" ); xset_autosave_request = FALSE; if ( xset_autosave_timer ) { g_source_remove( xset_autosave_timer ); xset_autosave_timer = 0; } } char* get_valid_su() // may return NULL { int i; char* use_su = NULL; char* custom_su = NULL; use_su = g_strdup( xset_get_s( "su_command" ) ); if ( settings_terminal_su ) // get su from /etc/spacefm/spacefm.conf custom_su = g_find_program_in_path( settings_terminal_su ); if ( custom_su && ( !use_su || use_su[0] == '\0' ) ) { // no su set in Prefs, use custom xset_set( "su_command", "s", custom_su ); g_free( use_su ); use_su = g_strdup( custom_su ); } if ( use_su ) { if ( !custom_su || g_strcmp0( custom_su, use_su ) ) { // is Prefs use_su in list of valid su commands? for ( i = 0; i < G_N_ELEMENTS( su_commands ); i++ ) { if ( !strcmp( su_commands[i], use_su ) ) break; } if ( i == G_N_ELEMENTS( su_commands ) ) { // not in list - invalid g_free( use_su ); use_su = NULL; } } } if ( !use_su ) { // discovery for ( i = 0; i < G_N_ELEMENTS( su_commands ); i++ ) { if ( use_su = g_find_program_in_path( su_commands[i] ) ) break; } if ( !use_su ) use_su = g_strdup( su_commands[0] ); xset_set( "su_command", "s", use_su ); } char* su_path = g_find_program_in_path( use_su ); g_free( use_su ); g_free( custom_su ); return su_path; } char* get_valid_gsu() // may return NULL { int i; char* use_gsu = NULL; char* custom_gsu = NULL; // get gsu set in Prefs use_gsu = g_strdup( xset_get_s( "gsu_command" ) ); if ( settings_graphical_su ) // get gsu from /etc/spacefm/spacefm.conf custom_gsu = g_find_program_in_path( settings_graphical_su ); #ifdef PREFERABLE_SUDO_PROG if ( !custom_gsu ) // get build-time gsu custom_gsu = g_find_program_in_path( PREFERABLE_SUDO_PROG ); #endif if ( custom_gsu && ( !use_gsu || use_gsu[0] == '\0' ) ) { // no gsu set in Prefs, use custom xset_set( "gsu_command", "s", custom_gsu ); g_free( use_gsu ); use_gsu = g_strdup( custom_gsu ); } if ( use_gsu ) { if ( !custom_gsu || g_strcmp0( custom_gsu, use_gsu ) ) { // is Prefs use_gsu in list of valid gsu commands? for ( i = 0; i < G_N_ELEMENTS( gsu_commands ); i++ ) { if ( !strcmp( gsu_commands[i], use_gsu ) ) break; } if ( i == G_N_ELEMENTS( gsu_commands ) ) { // not in list - invalid g_free( use_gsu ); use_gsu = NULL; } } } if ( !use_gsu ) { // discovery for ( i = 0; i < G_N_ELEMENTS( gsu_commands ); i++ ) { // don't automatically select gksudo if ( strcmp( gsu_commands[i], "/usr/bin/gksudo" ) ) { if ( use_gsu = g_find_program_in_path( gsu_commands[i] ) ) break; } } if ( !use_gsu ) use_gsu = g_strdup( gsu_commands[0] ); xset_set( "gsu_command", "s", use_gsu ); } char* gsu_path = g_find_program_in_path( use_gsu ); if ( !gsu_path && !g_strcmp0( use_gsu, "/usr/bin/kdesu" ) ) { // kdesu may be in libexec path char* stdout; if ( g_spawn_command_line_sync( "kde4-config --path libexec", &stdout, NULL, NULL, NULL ) && stdout && stdout[0] != '\0' ) { if ( gsu_path = strchr( stdout, '\n' ) ) gsu_path[0] = '\0'; gsu_path = g_build_filename( stdout, "kdesu", NULL ); g_free( stdout ); if ( !g_file_test( gsu_path, G_FILE_TEST_EXISTS ) ) { g_free( gsu_path ); gsu_path = NULL; } } } g_free( use_gsu ); g_free( custom_gsu ); return gsu_path; } char* randhex8() { char hex[9]; uint n; n = rand(); sprintf(hex, "%08x", n); return g_strdup( hex ); } char* replace_line_subs( const char* line ) { char* old_s; char* s; int i; const char* perc[] = { "%f", "%F", "%n", "%N", "%d", "%D", "%v", "%l", "%m", "%y", "%b", "%t", "%p", "%a" }; const char* var[] = { "\"${fm_file}\"", "\"${fm_files[@]}\"", "\"${fm_filename}\"", "\"${fm_filenames[@]}\"", "\"${fm_pwd}\"", "\"${fm_pwd}\"", "\"${fm_device}\"", "\"${fm_device_label}\"", "\"${fm_device_mount_point}\"", "\"${fm_device_fstype}\"", "\"${fm_bookmark}\"", "\"${fm_task_pwd}\"", "\"${fm_task_pid}\"", "\"${fm_value}\"" }; s = g_strdup( line ); int num = G_N_ELEMENTS( perc ); for ( i = 0; i < num; i++ ) { if ( strstr( line, perc[i] ) ) { old_s = s; s = replace_string( old_s, perc[i], var[i], FALSE ); g_free( old_s ); } } return s; } char* replace_desktop_subs( const char* line ) { char* old_s; char* s; int i; const char* perc[] = { "%f", "%F", "%u", "%U", "%d", "%D" }; const char* var[] = { "\"${fm_file}\"", "\"${fm_files[@]}\"", "\"${fm_file}\"", "\"${fm_files[@]}\"", "\"${fm_pwd}\"", "\"${fm_pwd}\"" }; s = g_strdup( line ); int num = G_N_ELEMENTS( perc ); for ( i = 0; i < num; i++ ) { if ( strstr( line, perc[i] ) ) { old_s = s; s = replace_string( old_s, perc[i], var[i], FALSE ); g_free( old_s ); } } return s; } gboolean is_alphanum( char* str ) { char* ptr = str; while ( ptr[0] != '\0' ) { if ( !g_ascii_isalnum( ptr[0] ) ) return FALSE; ptr++; } return TRUE; } char* get_name_extension( char* full_name, gboolean is_dir, char** ext ) { char* dot; char* str; char* final_ext; char* full; full = g_strdup( full_name ); // get last dot if ( is_dir || !( dot = strrchr( full, '.' ) ) || dot == full ) { // dir or no dots or one dot first *ext = NULL; return full; } dot[0] = '\0'; final_ext = dot + 1; // get previous dot dot = strrchr( full, '.' ); uint final_ext_len = strlen( final_ext ); if ( dot && !strcmp( dot + 1, "tar" ) && final_ext_len < 11 && final_ext_len ) { // double extension final_ext[-1] = '.'; *ext = g_strdup( dot + 1 ); dot[0] = '\0'; str = g_strdup( full ); g_free( full ); return str; } // single extension, one or more dots if ( final_ext_len < 11 && final_ext[0] ) { *ext = g_strdup( final_ext ); str = g_strdup( full ); g_free( full ); return str; } else { // extension too long, probably part of name final_ext[-1] = '.'; *ext = NULL; return full; } } /* char* get_name_extension( char* full_name, gboolean is_dir, char** ext ) { char* dot = strchr( full_name, '.' ); if ( !dot || is_dir ) { *ext = NULL; return g_strdup( full_name ); } char* name = NULL; char* old_name; char* old_extension; char* segment; char* extension = NULL; char* seg_start = full_name; while ( seg_start ) { if ( dot ) segment = g_strndup( seg_start, dot - seg_start ); else segment = g_strdup( seg_start ); if ( ( seg_start == full_name || g_utf8_strlen( segment, -1 ) > 5 || !is_alphanum( segment ) ) && !( seg_start != full_name && !strcmp( segment, "desktop" ) ) ) { // segment and thus all prior segments are part of name old_name = name; //printf("part of name\n"); if ( !extension ) { if ( !old_name ) name = g_strdup( segment ); else name = g_strdup_printf( "%s.%s", old_name, segment ); //printf("\told_name=%s\n\tsegment=%s\n\tname=%s\n", old_name, segment, name ); } else { name = g_strdup_printf( "%s.%s.%s", old_name, extension, segment ); //printf("\told_name=%s\n\text=%s\n\tsegment=%s\n\tname=%s\n", old_name, extension, segment, name ); g_free( extension ); extension = NULL; } g_free( old_name ); } else { // segment is part of extension //printf("part of extension\n"); if ( !extension ) { extension = g_strdup( segment ); //printf ("\tsegment=%s\n\text=%s\n", segment, extension ); } else { old_extension = extension; extension = g_strdup_printf( "%s.%s", old_extension, segment ); //printf ("\told_extension=%s\n\tsegment=%s\n\text=%s\n", old_extension, segment, extension ); g_free( old_extension ); } } g_free( segment ); if ( dot ) { seg_start = ++dot; dot = strchr( seg_start, '.' ); } else seg_start = NULL; } *ext = extension; return name; } */ void xset_free_all() { XSet* set; GList* l; for ( l = xsets; l; l = l->next ) { set = l->data; if ( set->ob2_data && g_str_has_prefix( set->name, "evt_" ) ) { g_list_foreach( (GList*)set->ob2_data, (GFunc)g_free, NULL ); g_list_free( (GList*)set->ob2_data ); } if ( set->name ) g_free( set->name ); if ( set->s ) g_free( set->s ); if ( set->x ) g_free( set->x ); if ( set->y ) g_free( set->y ); if ( set->z ) g_free( set->z ); if ( set->menu_label ) g_free( set->menu_label ); if ( set->shared_key ) g_free( set->shared_key ); if ( set->icon ) g_free( set->icon ); if ( set->desc ) g_free( set->desc ); if ( set->title ) g_free( set->title ); if ( set->next ) g_free( set->next ); if ( set->parent ) g_free( set->parent ); if ( set->child ) g_free( set->child ); if ( set->prev ) g_free( set->prev ); if ( set->line ) g_free( set->line ); if ( set->context ) g_free( set->context ); if ( set->plugin ) { if ( set->plug_dir ) g_free( set->plug_dir ); if ( set->plug_name ) g_free( set->plug_name ); } g_slice_free( XSet, set ); } g_list_free( xsets ); xsets = NULL; set_last = NULL; if ( xset_context ) { xset_context_new(); g_slice_free( XSetContext, xset_context ); xset_context = NULL; } } void xset_free( XSet* set ) { if ( set->name ) g_free( set->name ); if ( set->s ) g_free( set->s ); if ( set->x ) g_free( set->x ); if ( set->y ) g_free( set->y ); if ( set->z ) g_free( set->z ); if ( set->menu_label ) g_free( set->menu_label ); if ( set->shared_key ) g_free( set->shared_key ); if ( set->icon ) g_free( set->icon ); if ( set->desc ) g_free( set->desc ); if ( set->title ) g_free( set->title ); if ( set->next ) g_free( set->next ); if ( set->parent ) g_free( set->parent ); if ( set->child ) g_free( set->child ); if ( set->prev ) g_free( set->prev ); if ( set->line ) g_free( set->line ); if ( set->context ) g_free( set->context ); if ( set->plugin ) { if ( set->plug_dir ) g_free( set->plug_dir ); if ( set->plug_name ) g_free( set->plug_name ); } xsets = g_list_remove( xsets, set ); g_slice_free( XSet, set ); set_last = NULL; } XSet* xset_new( const char* name ) { XSet* set = g_slice_new( XSet ); set->name = g_strdup( name ); set->b = XSET_B_UNSET; set->s = NULL; set->x = NULL; set->y = NULL; set->z = NULL; set->disable = FALSE; set->menu_label = NULL; set->menu_style = XSET_MENU_NORMAL; set->cb_func = NULL; set->cb_data = NULL; set->ob1 = NULL; set->ob1_data = NULL; set->ob2 = NULL; set->ob2_data = NULL; set->key = 0; set->keymod = 0; set->shared_key = NULL; set->icon = NULL; set->desc = NULL; set->title = NULL; set->next = NULL; set->context = NULL; set->tool = XSET_TOOL_NOT; set->lock = TRUE; set->plugin = FALSE; // custom ( !lock ) set->prev = NULL; set->parent = NULL; set->child = NULL; set->line = NULL; set->task = XSET_B_UNSET; set->task_pop = XSET_B_UNSET; set->task_err = XSET_B_UNSET; set->task_out = XSET_B_UNSET; set->in_terminal = XSET_B_UNSET; set->keep_terminal = XSET_B_UNSET; set->scroll_lock = XSET_B_UNSET; set->opener = 0; return set; } XSet* xset_get( const char* name ) { GList* l; if ( !name ) return NULL; for ( l = xsets; l; l = l->next ) { if ( !strcmp( name, ((XSet*)l->data)->name ) ) { // existing xset return l->data; } } // add new xsets = g_list_prepend( xsets, xset_new( name ) ); return xsets->data; } XSet* xset_get_panel( int panel, const char* name ) { XSet* set; char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); set = xset_get( fullname ); g_free( fullname ); return set; } XSet* xset_get_panel_mode( int panel, const char* name, char mode ) { XSet* set; char* fullname = g_strdup_printf( "panel%d_%s%d", panel, name, mode ); set = xset_get( fullname ); g_free( fullname ); return set; } char* xset_get_s( const char* name ) { XSet* set = xset_get( name ); if ( set ) return set->s; else return NULL; } char* xset_get_s_panel( int panel, const char* name ) { char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); char* s = xset_get_s( fullname ); g_free( fullname ); return s; } gboolean xset_get_b( const char* name ) { XSet* set = xset_get( name ); return ( set->b == XSET_B_TRUE ); } gboolean xset_get_b_panel( int panel, const char* name ) { char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); gboolean b = xset_get_b( fullname ); g_free( fullname ); return b; } gboolean xset_get_b_panel_mode( int panel, const char* name, char mode ) { char* fullname = g_strdup_printf( "panel%d_%s%d", panel, name, mode ); gboolean b = xset_get_b( fullname ); g_free( fullname ); return b; } gboolean xset_get_b_set( XSet* set ) { return ( set->b == XSET_B_TRUE ); } XSet* xset_is( const char* name ) { XSet* set; GList* l; if ( !name ) return NULL; for ( l = xsets; l; l = l->next ) { if ( !strcmp( name, ((XSet*)l->data)->name ) ) { // existing xset return l->data; } } return NULL; } XSet* xset_set_b( const char* name, gboolean bval ) { XSet* set = xset_get( name ); if ( bval ) set->b = XSET_B_TRUE; else set->b = XSET_B_FALSE; return set; } XSet* xset_set_b_panel( int panel, const char* name, gboolean bval ) { char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); XSet* set = xset_set_b( fullname, bval ); g_free( fullname ); return set; } XSet* xset_set_b_panel_mode( int panel, const char* name, char mode, gboolean bval ) { char* fullname = g_strdup_printf( "panel%d_%s%d", panel, name, mode ); XSet* set = xset_set_b( fullname, bval ); g_free( fullname ); return set; } gboolean xset_get_bool( const char* name, const char* var ) { XSet* set = xset_get( name ); if ( !strcmp( var, "b" ) ) return ( set->b == XSET_B_TRUE ); if ( !strcmp( var, "disable" ) ) return set->disable; if ( !strcmp( var, "style" ) ) return !!set->menu_style; char* varstring = NULL; if ( !strcmp( var, "x" ) ) varstring = set->x; else if ( !strcmp( var, "y" ) ) varstring = set->y; else if ( !strcmp( var, "z" ) ) varstring = set->z; else if ( !strcmp( var, "s" ) ) varstring = set->s; else if ( !strcmp( var, "desc" ) ) varstring = set->desc; else if ( !strcmp( var, "title" ) ) varstring = set->title; else if ( !strcmp( var, "lbl" ) ) varstring = set->menu_label; else if ( !set->lock ) { if ( !strcmp( var, "task" ) ) return ( set->task == XSET_B_TRUE ); if ( !strcmp( var, "task_pop" ) ) return ( set->task_pop == XSET_B_TRUE ); if ( !strcmp( var, "task-err" ) ) return ( set->task_err == XSET_B_TRUE ); if ( !strcmp( var, "task_out" ) ) return ( set->task_out == XSET_B_TRUE ); } if ( !varstring ) return FALSE; return !!atoi( varstring ); } gboolean xset_get_bool_panel( int panel, const char* name, const char* var ) { char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); gboolean bool = xset_get_bool( fullname, var ); g_free( fullname ); return bool; } int xset_get_int_set( XSet* set, const char* var ) { if ( !set || !var ) return -1; const char* varstring = NULL; if ( !strcmp( var, "x" ) ) varstring = set->x; else if ( !strcmp( var, "y" ) ) varstring = set->y; else if ( !strcmp( var, "z" ) ) varstring = set->z; else if ( !strcmp( var, "s" ) ) varstring = set->s; else if ( !strcmp( var, "key" ) ) return set->key; else if ( !strcmp( var, "keymod" ) ) return set->keymod; if ( !varstring ) return 0; return atoi( varstring ); } int xset_get_int( const char* name, const char* var ) { XSet* set = xset_get( name ); return xset_get_int_set( set, var ); } int xset_get_int_panel( int panel, const char* name, const char* var ) { char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); int i = xset_get_int( fullname, var ); g_free( fullname ); return i; } XSet* xset_is_main_bookmark( XSet* set ) { XSet* set_parent = NULL; // is this xset in main_book ? returns immediate parent set XSet* set_prev = set; while ( set_prev ) { if ( set_prev->prev ) set_prev = xset_is( set_prev->prev ); else if ( set_prev->parent ) { set_prev = xset_is( set_prev->parent ); if ( !set_parent ) set_parent = set_prev; if ( set_prev && !g_strcmp0( set_prev->name, "main_book" ) ) { // found bookmark in main_book tree return set_parent; } } else break; } return NULL; } /* // this function finds bookmark matching cwd by examining all xsets - // not significantly faster and doesn't find first in desirable order XSet* xset_find_bookmark( const char* cwd, XSet** found_parent_set ) { GList* l; char* url; char* sep; XSet* set; XSet* set_parent = NULL; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->z && !((XSet*)l->data)->lock && ((XSet*)l->data)->x && !strcmp( ((XSet*)l->data)->x, "3" ) && g_str_has_prefix( ((XSet*)l->data)->z, cwd ) ) { // found a possible match - confirm set = (XSet*)l->data; sep = strchr( set->z, ';' ); if ( sep ) sep[0] = '\0'; url = g_strstrip( g_strdup( set->z ) ); if ( sep ) sep[0] = ';'; if ( !g_strcmp0( cwd, url ) ) { // found a bookmark matching cwd - verify is in main_book if ( set_parent = xset_is_main_bookmark( set ) ) { // found bookmark in main_book tree *found_parent_set = set_parent; g_free( url ); return set; } } g_free( url ); } } return *found_parent_set = NULL; } */ static void xset_write_set( FILE* file, XSet* set ) { if ( set->plugin ) return; if ( set->s ) fprintf( file, "%s-s=%s\n", set->name, set->s ); if ( set->x ) fprintf( file, "%s-x=%s\n", set->name, set->x ); if ( set->y ) fprintf( file, "%s-y=%s\n", set->name, set->y ); if ( set->z ) fprintf( file, "%s-z=%s\n", set->name, set->z ); if ( set->key ) fprintf( file, "%s-key=%d\n", set->name, set->key ); if ( set->keymod ) fprintf( file, "%s-keymod=%d\n", set->name, set->keymod ); // menu label if ( set->menu_label ) { if ( set->lock ) { // built-in if ( set->in_terminal == XSET_B_TRUE && set->menu_label && set->menu_label[0] ) // only save lbl if menu_label was customized fprintf( file, "%s-lbl=%s\n", set->name, set->menu_label ); } else // custom fprintf( file, "%s-label=%s\n", set->name, set->menu_label ); } // icon if ( set->lock ) { // built-in if ( set->keep_terminal == XSET_B_TRUE ) // only save icn if icon was customized fprintf( file, "%s-icn=%s\n", set->name, set->icon ? set->icon : "" ); } else if ( set->icon ) // custom fprintf( file, "%s-icon=%s\n", set->name, set->icon ); if ( set->next ) fprintf( file, "%s-next=%s\n", set->name, set->next ); if ( set->child ) fprintf( file, "%s-child=%s\n", set->name, set->child ); if ( set->context ) fprintf( file, "%s-cxt=%s\n", set->name, set->context ); if ( set->b != XSET_B_UNSET ) fprintf( file, "%s-b=%d\n", set->name, set->b ); if ( set->tool != XSET_TOOL_NOT ) fprintf( file, "%s-tool=%d\n", set->name, set->tool ); if ( !set->lock ) { if ( set->menu_style ) fprintf( file, "%s-style=%d\n", set->name, set->menu_style ); if ( set->desc ) fprintf( file, "%s-desc=%s\n", set->name, set->desc ); if ( set->title ) fprintf( file, "%s-title=%s\n", set->name, set->title ); if ( set->prev ) fprintf( file, "%s-prev=%s\n", set->name, set->prev ); if ( set->parent ) fprintf( file, "%s-parent=%s\n", set->name, set->parent ); if ( set->line ) fprintf( file, "%s-line=%s\n", set->name, set->line ); if ( set->task != XSET_B_UNSET ) fprintf( file, "%s-task=%d\n", set->name, set->task ); if ( set->task_pop != XSET_B_UNSET ) fprintf( file, "%s-task_pop=%d\n", set->name, set->task_pop ); if ( set->task_err != XSET_B_UNSET ) fprintf( file, "%s-task_err=%d\n", set->name, set->task_err ); if ( set->task_out != XSET_B_UNSET ) fprintf( file, "%s-task_out=%d\n", set->name, set->task_out ); if ( set->in_terminal != XSET_B_UNSET ) fprintf( file, "%s-term=%d\n", set->name, set->in_terminal ); if ( set->keep_terminal != XSET_B_UNSET ) fprintf( file, "%s-keep=%d\n", set->name, set->keep_terminal ); if ( set->scroll_lock != XSET_B_UNSET ) fprintf( file, "%s-scroll=%d\n", set->name, set->scroll_lock ); if ( set->opener != 0 ) fprintf( file, "%s-op=%d\n", set->name, set->opener ); } } void xset_write( FILE* file ) { GList* l; if ( !file ) return; for ( l = g_list_last( xsets ); l; l = l->prev ) { // hack to not save default handlers - this allows default handlers // to be updated more easily if ( (gboolean)((XSet*)l->data)->disable && (char)((XSet*)l->data)->name[0] == 'h' && g_str_has_prefix( (char*)((XSet*)l->data)->name, "hand" ) ) continue; xset_write_set( file, (XSet*)l->data ); } } void xset_parse( char* line ) { char* sep = strchr( line, '=' ); char* name; char* value; if ( !sep ) return ; name = line; value = sep + 1; *sep = '\0'; sep = strchr( name, '-' ); if ( !sep ) return ; char* var = sep + 1; *sep = '\0'; if ( !strncmp( name, "cstm_", 5 ) || !strncmp( name, "hand_", 5 ) ) { // custom if ( !strcmp( set_last->name, name ) ) xset_set_set( set_last, var, value ); else { set_last = xset_get( name ); if ( set_last->lock ) set_last->lock = FALSE; xset_set_set( set_last, var, value ); } } else { // normal (lock) if ( !strcmp( set_last->name, name ) ) xset_set_set( set_last, var, value ); else set_last = xset_set( name, var, value ); } } XSet* xset_set_cb( const char* name, void (*cb_func) (), gpointer cb_data ) { XSet* set = xset_get( name ); set->cb_func = cb_func; set->cb_data = cb_data; return set; } XSet* xset_set_cb_panel( int panel, const char* name, void (*cb_func) (), gpointer cb_data ) { char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); XSet* set = xset_set_cb( fullname, cb_func, cb_data ); g_free( fullname ); return set; } XSet* xset_set_ob1_int( XSet* set, const char* ob1, int ob1_int ) { if ( set->ob1 ) g_free( set->ob1 ); set->ob1 = g_strdup( ob1 ); set->ob1_data = GINT_TO_POINTER( ob1_int ); return set; } XSet* xset_set_ob1( XSet* set, const char* ob1, gpointer ob1_data ) { if ( set->ob1 ) g_free( set->ob1 ); set->ob1 = g_strdup( ob1 ); set->ob1_data = ob1_data; return set; } XSet* xset_set_ob2( XSet* set, const char* ob2, gpointer ob2_data ) { if ( set->ob2 ) g_free( set->ob2 ); set->ob2 = g_strdup( ob2 ); set->ob2_data = ob2_data; return set; } XSet* xset_set_set( XSet* set, const char* var, const char* value ) { if ( !set ) return NULL; if ( !strcmp( var, "s" ) ) { if ( set->s ) g_free( set->s ); set->s = g_strdup( value ); } else if ( !strcmp( var, "b" ) ) { if ( !strcmp( value, "1" ) ) set->b = XSET_B_TRUE; else set->b = XSET_B_FALSE; } else if ( !strcmp( var, "x" ) ) { if ( set->x ) g_free( set->x ); set->x = g_strdup( value ); } else if ( !strcmp( var, "y" ) ) { if ( set->y ) g_free( set->y ); set->y = g_strdup( value ); } else if ( !strcmp( var, "z" ) ) { if ( set->z ) g_free( set->z ); set->z = g_strdup( value ); } else if ( !strcmp( var, "key" ) ) set->key = atoi( value ); else if ( !strcmp( var, "keymod" ) ) set->keymod = atoi( value ); else if ( !strcmp( var, "style" ) ) { set->menu_style = atoi( value ); } else if ( !strcmp( var, "desc" ) ) { if ( set->desc ) g_free( set->desc ); set->desc = g_strdup( value ); } else if ( !strcmp( var, "title" ) ) { if ( set->title ) g_free( set->title ); set->title = g_strdup( value ); } else if ( !strcmp( var, "lbl" ) ) { // lbl is only used >= 0.9.0 for changed lock default menu_label if ( set->menu_label ) g_free( set->menu_label ); set->menu_label = g_strdup( value ); if ( set->lock ) // indicate that menu label is not default and should be saved set->in_terminal = XSET_B_TRUE; } else if ( !strcmp( var, "icn" ) ) { // icn is only used >= 0.9.0 for changed lock default icon if ( set->icon ) g_free( set->icon ); set->icon = g_strdup( value ); if ( set->lock ) // indicate that icon is not default and should be saved set->keep_terminal = XSET_B_TRUE; } else if ( !strcmp( var, "label" ) ) { // pre-0.9.0 menu_label or >= 0.9.0 custom item label // only save if custom or not default label if ( !set->lock || g_strcmp0( set->menu_label, value ) ) { if ( set->menu_label ) g_free( set->menu_label ); set->menu_label = g_strdup( value ); if ( set->lock ) // indicate that menu label is not default and should be saved set->in_terminal = XSET_B_TRUE; } } else if ( !strcmp( var, "icon" ) ) { // pre-0.9.0 icon or >= 0.9.0 custom item icon // only save if custom or not default icon // also check that stock name doesn't match if ( !set->lock || ( g_strcmp0( set->icon, value ) && ( !icon_stock_to_id( value ) || !icon_stock_to_id( set->icon ) || g_strcmp0( icon_stock_to_id( value ), icon_stock_to_id( set->icon ) ) ) ) ) { if ( set->icon ) g_free( set->icon ); set->icon = g_strdup( value ); if ( set->lock ) { // indicate that icon is not default and should be saved set->keep_terminal = XSET_B_TRUE; } } } else if ( !strcmp( var, "shared_key" ) ) { if ( set->shared_key ) g_free( set->shared_key ); set->shared_key = g_strdup( value ); } else if ( !strcmp( var, "next" ) ) { if ( set->next ) g_free( set->next ); set->next = g_strdup( value ); } else if ( !strcmp( var, "prev" ) ) { if ( set->prev ) g_free( set->prev ); set->prev = g_strdup( value ); } else if ( !strcmp( var, "parent" ) ) { if ( set->parent ) g_free( set->parent ); set->parent = g_strdup( value ); } else if ( !strcmp( var, "child" ) ) { if ( set->child ) g_free( set->child ); set->child = g_strdup( value ); } else if ( !strcmp( var, "cxt" ) ) { if ( set->context ) g_free( set->context ); set->context = g_strdup( value ); } else if ( !strcmp( var, "line" ) ) { if ( set->line ) g_free( set->line ); set->line = g_strdup( value ); } else if ( !strcmp( var, "tool" ) ) { set->tool = atoi( value ); } else if ( !strcmp( var, "task" ) ) { if ( !strcmp( value, "1" ) ) set->task = XSET_B_TRUE; else set->task = XSET_B_UNSET; } else if ( !strcmp( var, "task_pop" ) ) { if ( !strcmp( value, "1" ) ) set->task_pop = XSET_B_TRUE; else set->task_pop = XSET_B_UNSET; } else if ( !strcmp( var, "task_err" ) ) { if ( !strcmp( value, "1" ) ) set->task_err = XSET_B_TRUE; else set->task_err = XSET_B_UNSET; } else if ( !strcmp( var, "task_out" ) ) { if ( !strcmp( value, "1" ) ) set->task_out = XSET_B_TRUE; else set->task_out = XSET_B_UNSET; } else if ( !strcmp( var, "term" ) ) { if ( !strcmp( value, "1" ) ) set->in_terminal = XSET_B_TRUE; else set->in_terminal = XSET_B_UNSET; } else if ( !strcmp( var, "keep" ) ) { if ( !strcmp( value, "1" ) ) set->keep_terminal = XSET_B_TRUE; else set->keep_terminal = XSET_B_UNSET; } else if ( !strcmp( var, "scroll" ) ) { if ( !strcmp( value, "1" ) ) set->scroll_lock = XSET_B_TRUE; else set->scroll_lock = XSET_B_UNSET; } else if ( !strcmp( var, "disable" ) ) { if ( !strcmp( value, "1" ) ) set->disable = TRUE; else set->disable = FALSE; } else if ( !strcmp( var, "op" ) ) set->opener = atoi( value ); return set; } XSet* xset_set( const char* name, const char* var, const char* value ) { XSet* set = xset_get( name ); if ( !set->lock || ( strcmp( var, "style" ) && strcmp( var, "desc" ) && strcmp( var, "title" ) && strcmp( var, "shared_key" ) ) ) return xset_set_set( set, var, value ); else return set; } XSet* xset_set_panel( int panel, const char* name, const char* var, const char* value ) { XSet* set; char* fullname = g_strdup_printf( "panel%d_%s", panel, name ); set = xset_set( fullname, var, value ); g_free( fullname ); return set; } XSet* xset_set_panel_mode( int panel, const char* name, char mode, const char* var, const char* value ) { XSet* set; char* fullname = g_strdup_printf( "panel%d_%s%d", panel, name, mode ); set = xset_set( fullname, var, value ); g_free( fullname ); return set; } XSet* xset_find_custom( const char* search ) { // find a custom command or submenu by label or xset name XSet* set; GList* l; char* str; char* label = clean_label( search, TRUE, FALSE ); for ( l = xsets; l; l = l->next ) { set = l->data; if ( !set->lock && ( ( set->menu_style == XSET_MENU_SUBMENU && set->child ) || ( set->menu_style < XSET_MENU_SUBMENU && xset_get_int_set( set, "x" ) <= XSET_CMD_BOOKMARK ) ) ) { // custom submenu or custom command - label or name matches? str = clean_label( set->menu_label, TRUE, FALSE ); if ( !g_strcmp0( set->name, search ) || !g_strcmp0( str, label ) ) { // match g_free( str ); g_free( label ); return set; } g_free( str ); } } g_free( label ); return NULL; } gboolean xset_opener( DesktopWindow* desktop, PtkFileBrowser* file_browser, char job ) { // find an opener for job XSet* set, *mset, *open_all_set, *tset, *open_all_tset; GList* l, *ll; XSetContext* context = NULL; int context_action; gboolean found = FALSE; char pinned; for ( l = xsets; l; l = l->next ) { if ( !((XSet*)l->data)->lock && ((XSet*)l->data)->opener == job && !((XSet*)l->data)->tool && ((XSet*)l->data)->menu_style != XSET_MENU_SUBMENU && ((XSet*)l->data)->menu_style != XSET_MENU_SEP ) { if ( ((XSet*)l->data)->desc && !strcmp( ((XSet*)l->data)->desc, "@plugin@mirror@" ) ) { // is a plugin mirror mset = (XSet*)l->data; set = xset_is( mset->shared_key ); if ( !set ) continue; } else if ( ((XSet*)l->data)->plugin && ((XSet*)l->data)->shared_key ) { // plugin with mirror - ignore to use mirror's context only continue; } else set = mset = (XSet*)l->data; if ( !context ) { if ( !( context = xset_context_new() ) ) return FALSE; if ( file_browser ) main_context_fill( file_browser, context ); #ifdef DESKTOP_INTEGRATION else if ( desktop ) desktop_context_fill( desktop, context ); #endif else return FALSE; if ( !context->valid ) return FALSE; // get mime type open_all_type set char* open_all_name = g_strdup( context->var[CONTEXT_MIME] ); if ( !open_all_name ) open_all_name = g_strdup( "" ); char* str = open_all_name; open_all_name = replace_string( str, "-", "_", FALSE ); g_free( str ); str = replace_string( open_all_name, " ", "", FALSE ); g_free( open_all_name ); open_all_name = g_strdup_printf( "open_all_type_%s", str ); g_free( str ); open_all_set = xset_is( open_all_name ); g_free( open_all_name ); } // test context if ( mset->context ) { context_action = xset_context_test( context, mset->context, FALSE ); if ( context_action == CONTEXT_HIDE || context_action == CONTEXT_DISABLE ) continue; } // valid custom type? int cmd_type = xset_get_int_set( set, "x" ); if ( cmd_type != XSET_CMD_APP && cmd_type != XSET_CMD_LINE && cmd_type != XSET_CMD_SCRIPT ) continue; // is set pinned to open_all_type for pre-context? pinned = 0; for ( ll = xsets; ll && !pinned; ll = ll->next ) { if ( ((XSet*)ll->data)->next && g_str_has_prefix( ((XSet*)ll->data)->name, "open_all_type_" ) ) { tset = open_all_tset = (XSet*)ll->data; while ( tset->next ) { if ( !strcmp( set->name, tset->next ) ) { // found pinned to open_all_type if ( open_all_tset == open_all_set ) // correct mime type pinned = 2; else // wrong mime type pinned = 1; break; } tset = xset_is( tset->next ); } } } if ( pinned == 1 ) continue; // valid found = TRUE; set->browser = file_browser; set->desktop = desktop; char* clean = clean_label( set->menu_label, FALSE, FALSE ); printf( _("\nSelected Menu Item '%s' As Handler\n"), clean ); g_free( clean ); xset_menu_cb( NULL, set ); // also does custom activate } } return found; } void write_root_saver( FILE* file, const char* path, const char* name, const char* var, const char* value ) { if ( !value ) return; char* save = g_strdup_printf( "%s-%s=%s", name, var, value ); char* qsave = bash_quote( save ); fprintf( file, "echo %s >> \"%s\"\n", qsave, path ); g_free( save ); g_free( qsave ); } gboolean write_root_settings( FILE* file, const char* path ) { GList* l; XSet* set; if ( !file ) return FALSE; fprintf( file, "\n# save root settings\nmkdir -p %s/spacefm\necho -e '# SpaceFM As-Root Session File\\n\\n# THIS FILE IS NOT DESIGNED TO BE EDITED\\n\\n' > '%s'\n", SYSCONFDIR, path ); for ( l = xsets ; l; l = l->next ) { set = l->data; if ( set ) { if ( !strcmp( set->name, "root_editor" ) || !strcmp( set->name, "dev_back_fsarc" ) || !strcmp( set->name, "dev_back_part" ) || !strcmp( set->name, "dev_rest_file" ) || !strcmp( set->name, "dev_root_check" ) || !strcmp( set->name, "dev_root_mount" ) || !strcmp( set->name, "dev_root_unmount" ) || !strcmp( set->name, "main_terminal" ) || !strncmp( set->name, "dev_fmt_", 8 ) || !strncmp( set->name, "label_cmd_", 8 ) ) { write_root_saver( file, path, set->name, "s", set->s ); write_root_saver( file, path, set->name, "x", set->x ); write_root_saver( file, path, set->name, "y", set->y ); if ( set->b != XSET_B_UNSET ) fprintf( file, "echo '%s-b=%d' >> \"%s\"\n", set->name, set->b, path ); } } } fprintf( file, "chmod -R go-w+rX %s/spacefm\n\n", SYSCONFDIR ); return TRUE; } void read_root_settings() { GList* l; XSet* set; FILE* file; char line[ 2048 ]; if ( geteuid() == 0 ) return; char* root_set_path= g_strdup_printf( "%s/spacefm/%s-as-root", SYSCONFDIR, g_get_user_name() ); if ( !g_file_test( root_set_path, G_FILE_TEST_EXISTS ) ) { g_free( root_set_path ); root_set_path= g_strdup_printf( "%s/spacefm/%d-as-root", SYSCONFDIR, geteuid() ); } file = fopen( root_set_path, "r" ); if ( !file ) { if ( g_file_test( root_set_path, G_FILE_TEST_EXISTS ) ) g_warning( _("Error reading root settings from %s/spacefm/ Commands run as root may present a security risk"), SYSCONFDIR ); else g_warning( _("No root settings found in %s/spacefm/ Setting a root editor in Preferences should remove this warning on startup. Otherwise commands run as root may present a security risk."), SYSCONFDIR ); g_free( root_set_path ); return; } g_free( root_set_path ); // clear settings for ( l = xsets ; l; l = l->next ) { set = l->data; if ( set ) { if ( !strcmp( set->name, "root_editor" ) || !strcmp( set->name, "dev_back_fsarc" ) || !strcmp( set->name, "dev_back_part" ) || !strcmp( set->name, "dev_rest_file" ) || !strcmp( set->name, "dev_root_check" ) || !strcmp( set->name, "dev_root_mount" ) || !strcmp( set->name, "dev_root_unmount" ) || !strncmp( set->name, "dev_fmt_", 8 ) || !strncmp( set->name, "label_cmd_", 8 ) ) { if ( set->s ) { g_free( set->s ); set->s = NULL; } if ( set->x ) { g_free( set->x ); set->x = NULL; } if ( set->y ) { g_free( set->y ); set->y = NULL; } set->b = XSET_B_UNSET; } } } while ( fgets( line, sizeof( line ), file ) ) { strtok( line, "\r\n" ); if ( !line[ 0 ] ) continue; xset_parse( line ); } fclose( file ); } void write_src_functions( FILE* file ) { fputs( "\nfm_randhex4() # generate a four digit random hex number\n{\n fm_rand1=$RANDOM\n fm_rand2=$RANDOM\n (( fm_rand = fm_rand1 + fm_rand2 ))\n let \"fm_rand \%= 65536\"\n fm_randhex=`printf \"\%04X\" $fm_rand | tr A-Z a-z`\n if [ \"$fm_randhex\" = \"\" ]; then\n fm_randhex=$RANDOM # failsafe\n fi\n}\n\nfm_new_tmp()\n{\n fm_randhex4\n fm_tmp1=\"$fm_tmp_dir/$$-$fm_randhex.tmp\"\n fm_count1=0\n while ! mkdir \"$fm_tmp1\" 2>/dev/null; do\n fm_randhex4\n fm_tmp1=\"$fm_tmp_dir/$$-$fm_randhex.tmp\"\n if (( fm_count1++ > 1000 )); then\n echo 'spacefm: error creating temporary directory' 1>&2\n unset fm_tmp1 fm_randhex fm_count1\n echo \"\"\n return 1\n fi\n done\n echo \"$fm_tmp1\"\n unset fm_tmp1 fm_randhex fm_count1\n}\n\nfm_edit()\n{\n spacefm -s set edit_file \"$1\"\n}\n\n", file ); } XSetContext* xset_context_new() { int i; if ( !xset_context ) { xset_context = g_slice_new0( XSetContext ); xset_context->valid = FALSE; for ( i = 0; i < G_N_ELEMENTS( xset_context->var ); i++ ) xset_context->var[i] = NULL; } else { xset_context->valid = FALSE; for ( i = 0; i < G_N_ELEMENTS( xset_context->var ); i++ ) { if ( xset_context->var[i] ) g_free( xset_context->var[i] ); xset_context->var[i] = NULL; } } return xset_context; } const char* icon_stock_to_id( const char* name ) { if ( !name ) return NULL; else if ( !strncmp( name, "gtk-", 4 ) ) return name; else if ( !strncmp( name, "GTK_STOCK_", 10 ) ) { const char* icontail = name + 10; const char* stockid; if ( !strcmp( icontail, "ABOUT" ) ) stockid = GTK_STOCK_ABOUT; else if ( !strcmp( icontail, "ADD" ) ) stockid = GTK_STOCK_ADD; else if ( !strcmp( icontail, "APPLY" ) ) stockid = GTK_STOCK_APPLY; else if ( !strcmp( icontail, "BOLD" ) ) stockid = GTK_STOCK_BOLD; else if ( !strcmp( icontail, "CANCEL" ) ) stockid = GTK_STOCK_CANCEL; else if ( !strcmp( icontail, "CDROM" ) ) stockid = GTK_STOCK_CDROM; else if ( !strcmp( icontail, "CLEAR" ) ) stockid = GTK_STOCK_CLEAR; else if ( !strcmp( icontail, "CLOSE" ) ) stockid = GTK_STOCK_CLOSE; else if ( !strcmp( icontail, "CONVERT" ) ) stockid = GTK_STOCK_CONVERT; else if ( !strcmp( icontail, "CONNECT" ) ) stockid = GTK_STOCK_CONNECT; else if ( !strcmp( icontail, "COPY" ) ) stockid = GTK_STOCK_COPY; else if ( !strcmp( icontail, "CUT" ) ) stockid = GTK_STOCK_CUT; else if ( !strcmp( icontail, "DELETE" ) ) stockid = GTK_STOCK_DELETE; else if ( !strcmp( icontail, "DIALOG_ERROR" ) ) stockid = GTK_STOCK_DIALOG_ERROR; else if ( !strcmp( icontail, "DIALOG_INFO" ) ) stockid = GTK_STOCK_DIALOG_INFO; else if ( !strcmp( icontail, "DIALOG_QUESTION" ) ) stockid = GTK_STOCK_DIALOG_QUESTION; else if ( !strcmp( icontail, "DIALOG_WARNING" ) ) stockid = GTK_STOCK_DIALOG_WARNING; else if ( !strcmp( icontail, "DIRECTORY" ) ) stockid = GTK_STOCK_DIRECTORY; else if ( !strcmp( icontail, "DISCARD" ) ) stockid = GTK_STOCK_DISCARD; else if ( !strcmp( icontail, "DISCONNECT" ) ) stockid = GTK_STOCK_DISCONNECT; else if ( !strcmp( icontail, "DND" ) ) stockid = GTK_STOCK_DND; else if ( !strcmp( icontail, "DND_MULTIPLE" ) ) stockid = GTK_STOCK_DND_MULTIPLE; else if ( !strcmp( icontail, "EDIT" ) ) stockid = GTK_STOCK_EDIT; else if ( !strcmp( icontail, "EXECUTE" ) ) stockid = GTK_STOCK_EXECUTE; else if ( !strcmp( icontail, "FILE" ) ) stockid = GTK_STOCK_FILE; else if ( !strcmp( icontail, "FIND" ) ) stockid = GTK_STOCK_FIND; else if ( !strcmp( icontail, "FIND_AND_REPLACE" ) ) stockid = GTK_STOCK_FIND_AND_REPLACE; else if ( !strcmp( icontail, "FLOPPY" ) ) stockid = GTK_STOCK_FLOPPY; else if ( !strcmp( icontail, "FULLSCREEN" ) ) stockid = GTK_STOCK_FULLSCREEN; else if ( !strcmp( icontail, "GOTO_BOTTOM" ) ) stockid = GTK_STOCK_GOTO_BOTTOM; else if ( !strcmp( icontail, "GOTO_FIRST" ) ) stockid = GTK_STOCK_GOTO_FIRST; else if ( !strcmp( icontail, "GOTO_LAST" ) ) stockid = GTK_STOCK_GOTO_LAST; else if ( !strcmp( icontail, "GOTO_TOP" ) ) stockid = GTK_STOCK_GOTO_TOP; else if ( !strcmp( icontail, "GO_BACK" ) ) stockid = GTK_STOCK_GO_BACK; else if ( !strcmp( icontail, "GO_DOWN" ) ) stockid = GTK_STOCK_GO_DOWN; else if ( !strcmp( icontail, "GO_FORWARD" ) ) stockid = GTK_STOCK_GO_FORWARD; else if ( !strcmp( icontail, "GO_UP" ) ) stockid = GTK_STOCK_GO_UP; else if ( !strcmp( icontail, "HARDDISK" ) ) stockid = GTK_STOCK_HARDDISK; else if ( !strcmp( icontail, "HELP" ) ) stockid = GTK_STOCK_HELP; else if ( !strcmp( icontail, "HOME" ) ) stockid = GTK_STOCK_HOME; else if ( !strcmp( icontail, "INDENT" ) ) stockid = GTK_STOCK_INDENT; else if ( !strcmp( icontail, "INDEX" ) ) stockid = GTK_STOCK_INDEX; else if ( !strcmp( icontail, "INFO" ) ) stockid = GTK_STOCK_INFO; else if ( !strcmp( icontail, "ITALIC" ) ) stockid = GTK_STOCK_ITALIC; else if ( !strcmp( icontail, "JUMP_TO" ) ) stockid = GTK_STOCK_JUMP_TO; else if ( !strcmp( icontail, "MEDIA_FORWARD" ) ) stockid = GTK_STOCK_MEDIA_FORWARD; else if ( !strcmp( icontail, "MEDIA_NEXT" ) ) stockid = GTK_STOCK_MEDIA_NEXT; else if ( !strcmp( icontail, "MEDIA_PAUSE" ) ) stockid = GTK_STOCK_MEDIA_PAUSE; else if ( !strcmp( icontail, "MEDIA_PLAY" ) ) stockid = GTK_STOCK_MEDIA_PLAY; else if ( !strcmp( icontail, "MEDIA_PREVIOUS" ) ) stockid = GTK_STOCK_MEDIA_PREVIOUS; else if ( !strcmp( icontail, "MEDIA_RECORD" ) ) stockid = GTK_STOCK_MEDIA_RECORD; else if ( !strcmp( icontail, "MEDIA_REWIND" ) ) stockid = GTK_STOCK_MEDIA_REWIND; else if ( !strcmp( icontail, "MEDIA_STOP" ) ) stockid = GTK_STOCK_MEDIA_STOP; else if ( !strcmp( icontail, "NETWORK" ) ) stockid = GTK_STOCK_NETWORK; else if ( !strcmp( icontail, "NEW" ) ) stockid = GTK_STOCK_NEW; else if ( !strcmp( icontail, "NO" ) ) stockid = GTK_STOCK_NO; else if ( !strcmp( icontail, "OK" ) ) stockid = GTK_STOCK_OK; else if ( !strcmp( icontail, "OPEN" ) ) stockid = GTK_STOCK_OPEN; else if ( !strcmp( icontail, "PAGE_SETUP" ) ) stockid = GTK_STOCK_PAGE_SETUP; else if ( !strcmp( icontail, "PASTE" ) ) stockid = GTK_STOCK_PASTE; else if ( !strcmp( icontail, "PREFERENCES" ) ) stockid = GTK_STOCK_PREFERENCES; else if ( !strcmp( icontail, "PRINT" ) ) stockid = GTK_STOCK_PRINT; else if ( !strcmp( icontail, "PROPERTIES" ) ) stockid = GTK_STOCK_PROPERTIES; else if ( !strcmp( icontail, "QUIT" ) ) stockid = GTK_STOCK_QUIT; else if ( !strcmp( icontail, "REDO" ) ) stockid = GTK_STOCK_REDO; else if ( !strcmp( icontail, "REFRESH" ) ) stockid = GTK_STOCK_REFRESH; else if ( !strcmp( icontail, "REMOVE" ) ) stockid = GTK_STOCK_REMOVE; else if ( !strcmp( icontail, "REVERT_TO_SAVED" ) ) stockid = GTK_STOCK_REVERT_TO_SAVED; else if ( !strcmp( icontail, "SAVE" ) ) stockid = GTK_STOCK_SAVE; else if ( !strcmp( icontail, "SAVE_AS" ) ) stockid = GTK_STOCK_SAVE_AS; else if ( !strcmp( icontail, "SELECT_ALL" ) ) stockid = GTK_STOCK_SELECT_ALL; else if ( !strcmp( icontail, "SELECT_COLOR" ) ) stockid = GTK_STOCK_SELECT_COLOR; else if ( !strcmp( icontail, "SELECT_FONT" ) ) stockid = GTK_STOCK_SELECT_FONT; else if ( !strcmp( icontail, "SORT_ASCENDING" ) ) stockid = GTK_STOCK_SORT_ASCENDING; else if ( !strcmp( icontail, "SORT_DESCENDING" ) ) stockid = GTK_STOCK_SORT_DESCENDING; else if ( !strcmp( icontail, "SPELL_CHECK" ) ) stockid = GTK_STOCK_SPELL_CHECK; else if ( !strcmp( icontail, "STOP" ) ) stockid = GTK_STOCK_STOP; else if ( !strcmp( icontail, "STRIKETHROUGH" ) ) stockid = GTK_STOCK_STRIKETHROUGH; else if ( !strcmp( icontail, "UNDELETE" ) ) stockid = GTK_STOCK_UNDELETE; else if ( !strcmp( icontail, "UNDERLINE" ) ) stockid = GTK_STOCK_UNDERLINE; else if ( !strcmp( icontail, "UNDO" ) ) stockid = GTK_STOCK_UNDO; else if ( !strcmp( icontail, "UNINDENT" ) ) stockid = GTK_STOCK_UNINDENT; else if ( !strcmp( icontail, "YES" ) ) stockid = GTK_STOCK_YES; else if ( !strcmp( icontail, "ZOOM_100" ) ) stockid = GTK_STOCK_ZOOM_100; else if ( !strcmp( icontail, "ZOOM_FIT" ) ) stockid = GTK_STOCK_ZOOM_FIT; else if ( !strcmp( icontail, "ZOOM_IN" ) ) stockid = GTK_STOCK_ZOOM_IN; else if ( !strcmp( icontail, "ZOOM_OUT" ) ) stockid = GTK_STOCK_ZOOM_OUT; else if ( !strcmp( icontail, "DIALOG_AUTHENTICATION" ) ) stockid = GTK_STOCK_DIALOG_AUTHENTICATION; else stockid = NULL; return stockid; } return NULL; } GtkWidget* xset_get_image( const char* icon, int icon_size ) { /* GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_SMALL_TOOLBAR, GTK_ICON_SIZE_LARGE_TOOLBAR, GTK_ICON_SIZE_BUTTON, GTK_ICON_SIZE_DND, GTK_ICON_SIZE_DIALOG */ GtkWidget* image = NULL; const char* stockid; if ( !( icon && icon[0] ) ) return NULL; if ( !icon_size ) icon_size = GTK_ICON_SIZE_MENU; if ( stockid = icon_stock_to_id( icon ) ) image = gtk_image_new_from_stock( stockid, icon_size ); else if ( icon[0] == '/' ) { // icon is full path to image file // get real icon size from gtk icon size int icon_w, icon_h; gtk_icon_size_lookup_for_settings( gtk_settings_get_default(), icon_size, &icon_w, &icon_h ); int real_icon_size = icon_w > icon_h ? icon_w : icon_h; GtkIconTheme* icon_theme = gtk_icon_theme_get_default(); GdkPixbuf* pixbuf = vfs_load_icon( icon_theme, icon, real_icon_size ); if ( pixbuf ) { image = gtk_image_new_from_pixbuf( pixbuf ); g_object_unref( pixbuf ); } else image = gtk_image_new_from_file( icon ); } else image = gtk_image_new_from_icon_name( icon, icon_size ); return image; } void xset_add_menu( DesktopWindow* desktop, PtkFileBrowser* file_browser, GtkWidget* menu, GtkAccelGroup *accel_group, char* elements ) { char* space; XSet* set; if ( !elements ) return; while ( elements[0] == ' ' ) elements++; while ( elements && elements[0] != '\0' ) { space = strchr( elements, ' ' ); if ( space ) space[0] = '\0'; set = xset_get( elements ); if ( space ) space[0] = ' '; elements = space; xset_add_menuitem( desktop, file_browser, menu, accel_group, set ); if ( elements ) { while ( elements[0] == ' ' ) elements++; } } } GtkWidget* xset_new_menuitem( const char* label, const char* icon ) { GtkWidget* image = NULL; GtkWidget* item; if ( label && strstr( label, "\\_" ) ) { // allow escape of underscore char* str = clean_label( label, FALSE, FALSE ); item = gtk_image_menu_item_new_with_label( str ); g_free( str ); } else item = gtk_image_menu_item_new_with_mnemonic( label ); if ( !( icon && icon[0] ) ) return item; image = xset_get_image( icon, GTK_ICON_SIZE_MENU ); if ( !image ) return item; gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), image ); return item; } /* gboolean xset_design_event_cb (GtkWidget *widget, GdkEvent *gdk_event , XSet* set) { GdkEventButton* event = (GdkEventButton*)gdk_event; printf("xset_design_event_cb type=%d button=%d state=%d\n", event->type, event->button, event->state ); if ( event->type == 10 ) { //return TRUE; } else if ( event->type == GDK_BUTTON_PRESS ) { // printf(" button_press\n"); if ( ((GdkEventButton*)event)->state & GDK_CONTROL_MASK || ((GdkEventButton*)event)->button == 2 ) { printf(" DESIGN\n"); return TRUE; } } return FALSE; // pass through } */ /* void xset_design_activate_item( GtkMenuItem* item, XSet* set ) { if ( design_mode ) { g_signal_stop_emission_by_name( item, "activate" ); //g_signal_stop_emission_by_name( item, "activate-item" ); printf("design_mode_activate\n"); } } */ char* xset_custom_get_app_name_icon( XSet* set, GdkPixbuf** icon, int icon_size ) { char* menu_label = NULL; VFSAppDesktop* app = NULL; GdkPixbuf* icon_new = NULL; GtkIconTheme* icon_theme = gtk_icon_theme_get_default(); if ( !set->lock && xset_get_int_set( set, "x" ) == XSET_CMD_APP ) { if ( set->z && g_str_has_suffix( set->z, ".desktop" ) && ( app = vfs_app_desktop_new( set->z ) ) ) { if ( !( set->menu_label && set->menu_label[0] ) ) menu_label = g_strdup( vfs_app_desktop_get_disp_name( app ) ); if ( set->icon ) icon_new = vfs_load_icon( icon_theme, set->icon, icon_size ); if ( !icon_new ) icon_new = vfs_app_desktop_get_icon( app, icon_size, TRUE ); if ( app ) vfs_app_desktop_unref( app ); } else { // not a desktop file - probably executable if ( set->icon ) icon_new = vfs_load_icon( icon_theme, set->icon, icon_size ); if ( !icon_new && set->z ) { // guess icon name from executable name char* name = g_path_get_basename( set->z ); if ( name && name[0] ) icon_new = vfs_load_icon( icon_theme, name, icon_size ); g_free( name ); } } if ( !icon_new ) { // fallback icon_new = vfs_load_icon( icon_theme, "gtk-execute", icon_size ); } } else g_warning( "xset_custom_get_app_name_icon set is not XSET_CMD_APP" ); if ( icon ) *icon = icon_new; else if ( icon_new ) g_object_unref( icon_new ); if ( !menu_label ) { menu_label = set->menu_label && set->menu_label[0] ? g_strdup( set->menu_label ) : g_strdup( set->z ); if ( !menu_label ) menu_label = g_strdup( "Application" ); } return menu_label; } GdkPixbuf* xset_custom_get_bookmark_icon( XSet* set, int icon_size ) { GdkPixbuf* icon_new = NULL; const char* icon1 = NULL; const char* icon2 = NULL; const char* icon3 = NULL; GtkIconTheme* icon_theme = gtk_icon_theme_get_default(); if ( !book_icon_set_cached ) book_icon_set_cached = xset_get( "book_icon" ); if ( !set->lock && xset_get_int_set( set, "x" ) == XSET_CMD_BOOKMARK ) { if ( !set->icon && ( set->z && ( strstr( set->z, ":/" ) || g_str_has_prefix( set->z, "//" ) ) ) ) { // a bookmarked URL - show network icon XSet* set2 = xset_get( "dev_icon_network" ); if ( set2->icon ) icon1 = set2->icon; else icon1 = "gtk-network"; icon2 = "user-bookmarks"; icon3 = "gnome-fs-directory"; } else if ( set->z && ( strstr( set->z, ":/" ) || g_str_has_prefix( set->z, "//" ) ) ) { // a bookmarked URL - show custom or network icon icon1 = set->icon; XSet* set2 = xset_get( "dev_icon_network" ); if ( set2->icon ) icon2 = set2->icon; else icon2 = "gtk-network"; icon3 = "user-bookmarks"; } else if ( !set->icon && book_icon_set_cached->icon ) { icon1 = book_icon_set_cached->icon; icon2 = "user-bookmarks"; icon3 = "gnome-fs-directory"; } else if ( set->icon && book_icon_set_cached->icon ) { icon1 = set->icon; icon2 = book_icon_set_cached->icon; icon3 = "user-bookmarks"; } else if ( set->icon ) { icon1 = set->icon; icon2 = "user-bookmarks"; icon3 = "gnome-fs-directory"; } else { icon1 = "user-bookmarks"; icon2 = "gnome-fs-directory"; icon3 = "gtk-directory"; } if ( icon1 ) icon_new = vfs_load_icon( icon_theme, icon1, icon_size ); if ( !icon_new && icon2 ) icon_new = vfs_load_icon( icon_theme, icon2, icon_size ); if ( !icon_new && icon3 ) icon_new = vfs_load_icon( icon_theme, icon3, icon_size ); } else g_warning( "xset_custom_get_bookmark_icon set is not XSET_CMD_BOOKMARK" ); return icon_new; } GtkWidget* xset_add_menuitem( DesktopWindow* desktop, PtkFileBrowser* file_browser, GtkWidget* menu, GtkAccelGroup *accel_group, XSet* set ) { GtkWidget* item = NULL; GtkWidget* submenu; XSet* keyset; XSet* set_next; char* icon_name = NULL; char* context = NULL; int context_action = CONTEXT_SHOW; XSet* mset; char* icon_file = NULL; //printf("xset_add_menuitem %s\n", set->name ); // plugin? mset = xset_get_plugin_mirror( set ); if ( set->plugin && set->shared_key ) { icon_name = mset->icon; context = mset->context; } if ( !icon_name ) icon_name = set->icon; if ( !icon_name ) { if ( set->plugin ) icon_file = g_build_filename( set->plug_dir, set->plug_name, "icon", NULL ); else icon_file = g_build_filename( settings_config_dir, "scripts", set->name, "icon", NULL ); if ( !g_file_test( icon_file, G_FILE_TEST_EXISTS ) ) { g_free( icon_file ); icon_file = NULL; } else icon_name = icon_file; } if ( !context ) context = set->context; // context? if ( context && !set->tool && xset_context && xset_context->valid && !xset_get_b( "context_dlg" ) ) context_action = xset_context_test( xset_context, context, set->disable ); if ( context_action != CONTEXT_HIDE ) { if ( set->tool && set->menu_style != XSET_MENU_SUBMENU ) { //item = xset_new_menuitem( set->menu_label, icon_name ); } else if ( set->menu_style ) { if ( set->menu_style == XSET_MENU_CHECK && !( !set->lock && ( xset_get_int_set( set, "x" ) > XSET_CMD_SCRIPT ) ) ) // app or book { item = gtk_check_menu_item_new_with_mnemonic( set->menu_label ); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( item ), mset->b == XSET_B_TRUE ); } else if ( set->menu_style == XSET_MENU_RADIO ) { XSet* set_radio; if ( set->ob2_data ) set_radio = (XSet*)set->ob2_data; else set_radio = set; item = gtk_radio_menu_item_new_with_mnemonic( (GSList*)set_radio->ob2_data, set->menu_label ); set_radio->ob2_data = (gpointer)gtk_radio_menu_item_get_group( GTK_RADIO_MENU_ITEM( item ) ); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( item ), mset->b == XSET_B_TRUE ); } else if ( set->menu_style == XSET_MENU_SUBMENU ) { submenu = gtk_menu_new(); item = xset_new_menuitem( set->menu_label, icon_name ); gtk_menu_item_set_submenu( GTK_MENU_ITEM( item ), submenu ); g_signal_connect( submenu, "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); if ( set->lock ) xset_add_menu( desktop, file_browser, submenu, accel_group, set->desc ); else if ( set->child ) { set_next = xset_get( set->child ); xset_add_menuitem( desktop, file_browser, submenu, accel_group, set_next ); GList* l = gtk_container_get_children( GTK_CONTAINER( submenu ) ); if ( l ) g_list_free( l ); else { // Nothing was added to the menu (all items likely have // invisible context) so destroy (hide) - issue #215 gtk_widget_destroy( item ); goto _next_item; } } } else if ( set->menu_style == XSET_MENU_SEP ) { item = gtk_separator_menu_item_new(); } } if ( !item ) { // get menu icon size int icon_w, icon_h; gtk_icon_size_lookup_for_settings( gtk_settings_get_default(), GTK_ICON_SIZE_MENU, &icon_w, &icon_h ); int icon_size = icon_w > icon_h ? icon_w : icon_h; GdkPixbuf* app_icon = NULL; int cmd_type = xset_get_int_set( set, "x" ); if ( !set->lock && cmd_type == XSET_CMD_APP ) { // Application char* menu_label = xset_custom_get_app_name_icon( set, &app_icon, icon_size ); item = xset_new_menuitem( menu_label, NULL ); g_free( menu_label ); } else if ( !set->lock && cmd_type == XSET_CMD_BOOKMARK ) { // Bookmark item = xset_new_menuitem( set->menu_label && set->menu_label[0] ? set->menu_label : set->z, NULL ); app_icon = xset_custom_get_bookmark_icon( set, icon_size ); } else item = xset_new_menuitem( set->menu_label, icon_name ); if ( app_icon ) { GtkWidget* app_img = gtk_image_new_from_pixbuf( app_icon ); if ( app_img ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), app_img ); g_object_unref( app_icon ); } } set->desktop = desktop; set->browser = file_browser; g_object_set_data( G_OBJECT( item ), "menu", menu ); g_object_set_data( G_OBJECT( item ), "set", set ); if ( set->ob1 ) g_object_set_data( G_OBJECT( item ), set->ob1, set->ob1_data ); if ( set->menu_style != XSET_MENU_RADIO && set->ob2 ) g_object_set_data( G_OBJECT( item ), set->ob2, set->ob2_data ); if ( set->menu_style < XSET_MENU_SUBMENU ) { // activate callback if ( !set->cb_func || set->menu_style ) { // use xset menu callback //if ( !design_mode ) //{ g_signal_connect( item, "activate", G_CALLBACK( xset_menu_cb ), set ); g_object_set_data( G_OBJECT(item), "cb_func", set->cb_func ); g_object_set_data( G_OBJECT(item), "cb_data", set->cb_data ); //} } else if ( set->cb_func ) { // use custom callback directly //if ( !design_mode ) g_signal_connect( item, "activate", G_CALLBACK( set->cb_func ), set->cb_data ); } // key accel if ( set->shared_key ) keyset = xset_get( set->shared_key ); else keyset = set; if ( keyset->key > 0 && accel_group ) gtk_widget_add_accelerator( item, "activate", accel_group, keyset->key, keyset->keymod, GTK_ACCEL_VISIBLE); } // design mode callback g_signal_connect( item, "button-press-event", G_CALLBACK( xset_design_cb ), set ); g_signal_connect( item, "button-release-event", G_CALLBACK( xset_design_cb ), set ); gtk_widget_set_sensitive( item, context_action != CONTEXT_DISABLE && !set->disable ); gtk_menu_shell_append( GTK_MENU_SHELL(menu), item ); } _next_item: if ( icon_file ) g_free( icon_file ); // next item if ( set->next ) { set_next = xset_get( set->next ); xset_add_menuitem( desktop, file_browser, menu, accel_group, set_next ); } return item; } char* xset_custom_get_script( XSet* set, gboolean create ) { char* path; char* old_path; char* cscript; if ( ( strncmp( set->name, "cstm_", 5 ) && strncmp( set->name, "cust", 4 ) && strncmp( set->name, "hand", 4 ) ) || ( create && set->plugin ) ) return NULL; if ( create ) { path = g_build_filename( settings_config_dir, "scripts", set->name, NULL ); if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { g_mkdir_with_parents( path, 0700 ); chmod( path, 0700 ); } g_free( path ); } if ( set->plugin ) { path = g_build_filename( set->plug_dir, set->plug_name, "exec.sh", NULL ); } else { path = g_build_filename( settings_config_dir, "scripts", set->name, "exec.sh", NULL ); } if ( !g_file_test( path, G_FILE_TEST_EXISTS ) ) { // backwards compatible < 0.7.0 if ( set->plugin ) { cscript = g_strdup_printf( "%s.sh", set->plug_name ); old_path = g_build_filename( set->plug_dir, "files", cscript, NULL ); g_free( cscript ); g_free( path ); return old_path; } else { cscript = g_strdup_printf( "%s.sh", set->name ); old_path = g_build_filename( settings_config_dir, "scripts", cscript, NULL ); } g_free( cscript ); if ( g_file_test( old_path, G_FILE_TEST_EXISTS ) ) { // copy old location to new char* new_dir = g_build_filename( settings_config_dir, "scripts", set->name, NULL ); if ( !g_file_test( new_dir, G_FILE_TEST_EXISTS ) ) { g_mkdir_with_parents( new_dir, 0700 ); chmod( new_dir, 0700 ); } g_free( new_dir ); xset_copy_file( old_path, path ); chmod( path, S_IRUSR | S_IWUSR | S_IXUSR ); } g_free( old_path ); } if ( create && !g_file_test( path, G_FILE_TEST_EXISTS ) ) { old_path = g_build_filename( settings_config_dir, "scripts", "default-script", NULL ); if ( g_file_test( old_path, G_FILE_TEST_EXISTS ) ) xset_copy_file( old_path, path ); else { FILE* file; int i; char* script_default_head = g_strdup_printf( "#!%s\n$fm_import # import file manager variables (scroll down for info)\n#\n# Enter your commands here: ( then save this file )\n", BASHPATH ); const char* script_default_tail = "exit $?\n# Example variables available for use: (imported by $fm_import)\n# These variables represent the state of the file manager when command is run.\n# These variables can also be used in command lines and in the Path Bar.\n\n# \"${fm_files[@]}\" selected files ( same as %F )\n# \"$fm_file\" first selected file ( same as %f )\n# \"${fm_files[2]}\" third selected file\n\n# \"${fm_filenames[@]}\" selected filenames ( same as %N )\n# \"$fm_filename\" first selected filename ( same as %n )\n\n# \"$fm_pwd\" current directory ( same as %d )\n# \"${fm_pwd_tab[4]}\" current directory of tab 4\n# $fm_panel current panel number (1-4)\n# $fm_tab current tab number\n\n# \"${fm_panel3_files[@]}\" selected files in panel 3\n# \"${fm_pwd_panel[3]}\" current directory in panel 3\n# \"${fm_pwd_panel3_tab[2]}\" current directory in panel 3 tab 2\n# ${fm_tab_panel[3]} current tab number in panel 3\n\n# \"${fm_desktop_files[@]}\" selected files on desktop (when run from desktop)\n# \"$fm_desktop_pwd\" desktop directory (eg '/home/user/Desktop')\n\n# \"$fm_device\" selected device (eg /dev/sr0) ( same as %v )\n# \"$fm_device_udi\" device ID\n# \"$fm_device_mount_point\" device mount point if mounted (eg /media/dvd) (%m)\n# \"$fm_device_label\" device volume label ( same as %l )\n# \"$fm_device_fstype\" device fs_type (eg vfat)\n# \"$fm_device_size\" device volume size in bytes\n# \"$fm_device_display_name\" device display name\n# \"$fm_device_icon\" icon currently shown for this device\n# $fm_device_is_mounted device is mounted (0=no or 1=yes)\n# $fm_device_is_optical device is an optical drive (0 or 1)\n# $fm_device_is_table a partition table (usually a whole device)\n# $fm_device_is_floppy device is a floppy drive (0 or 1)\n# $fm_device_is_removable device appears to be removable (0 or 1)\n# $fm_device_is_audiocd optical device contains an audio CD (0 or 1)\n# $fm_device_is_dvd optical device contains a DVD (0 or 1)\n# $fm_device_is_blank device contains blank media (0 or 1)\n# $fm_device_is_mountable device APPEARS to be mountable (0 or 1)\n# $fm_device_nopolicy policy_noauto set (no automount) (0 or 1)\n\n# \"$fm_panel3_device\" panel 3 selected device (eg /dev/sdd1)\n# \"$fm_panel3_device_udi\" panel 3 device ID\n# ... (all these are the same as above for each panel)\n\n# \"fm_bookmark\" selected bookmark directory ( same as %b )\n# \"fm_panel3_bookmark\" panel 3 selected bookmark directory\n\n# \"fm_task_type\" currently SELECTED task type (eg 'run','copy')\n# \"fm_task_name\" selected task name (custom menu item name)\n# \"fm_task_pwd\" selected task working directory ( same as %t )\n# \"fm_task_pid\" selected task pid ( same as %p )\n# \"fm_task_command\" selected task command\n# \"fm_task_id\" selected task id\n# \"fm_task_window\" selected task window id\n\n# \"$fm_command\" current command\n# \"$fm_value\" menu item value ( same as %a )\n# \"$fm_user\" original user who ran this command\n# \"$fm_my_task\" current task's id (see 'spacefm -s help')\n# \"$fm_my_window\" current task's window id\n# \"$fm_cmd_name\" menu name of current command\n# \"$fm_cmd_dir\" command files directory (for read only)\n# \"$fm_cmd_data\" command data directory (must create)\n# To create: mkdir -p \"$fm_cmd_data\"\n# \"$fm_plugin_dir\" top plugin directory\n# tmp=\"$(fm_new_tmp)\" makes new temp directory (destroy when done)\n# To destroy: rm -rf \"$tmp\"\n# fm_edit \"FILE\" open FILE in user's configured editor\n\n# $fm_import command to import above variables (this\n# variable is exported so you can use it in any\n# script run from this script)\n\n\n# Script Example 1:\n\n# # show MD5 sums of selected files\n# md5sum \"${fm_files[@]}\"\n\n\n# Script Example 2:\n\n# # Show a confirmation dialog using SpaceFM Dialog:\n# # http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#dialog\n# # Use QUOTED eval to read variables output by SpaceFM Dialog:\n# eval \"`spacefm -g --label \"Are you sure?\" --button yes --button no`\"\n# if [[ \"$dialog_pressed\" == \"button1\" ]]; then\n# echo \"User pressed Yes - take some action\"\n# else\n# echo \"User did NOT press Yes - abort\"\n# fi\n\n\n# Script Example 3:\n\n# # Build list of filenames in panel 4:\n# i=0\n# for f in \"${fm_panel4_files[@]}\"; do\n# panel4_names[$i]=\"$(basename \"$f\")\"\n# (( i++ ))\n# done\n# echo \"${panel4_names[@]}\"\n\n\n# Script Example 4:\n\n# # Copy selected files to panel 2\n# # make sure panel 2 is visible ?\n# # and files are selected ?\n# # and current panel isn't 2 ?\n# if [ \"${fm_pwd_panel[2]}\" != \"\" ] \\\n# && [ \"${fm_files[0]}\" != \"\" ] \\\n# && [ \"$fm_panel\" != 2 ]; then\n# cp \"${fm_files[@]}\" \"${fm_pwd_panel[2]}\"\n# else\n# echo \"Can't copy to panel 2\"\n# exit 1 # shows error if 'Popup Error' enabled\n# fi\n\n\n# Script Example 5:\n\n# # Keep current time in task manager list Item column\n# # See http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#sockets\n# while (( 1 )); do\n# sleep 0.7\n# spacefm -s set-task $fm_my_task item \"$(date)\"\n# done\n\n\n# Bash Scripting Guide: http://www.tldp.org/LDP/abs/html/index.html\n\n# NOTE: Additional variables or examples may be available in future versions.\n# To see the latest list, create a new command script or see:\n# http://ignorantguru.github.io/spacefm/spacefm-manual-en.html#exvar\n\n"; file = fopen( path, "w" ); if ( file ) { // write default script fputs( script_default_head, file ); for ( i = 0; i < 14; i++ ) fputs( "\n", file ); fputs( script_default_tail, file ); fclose( file ); } g_free( script_default_head ); } chmod( path, S_IRUSR | S_IWUSR | S_IXUSR ); g_free( old_path ); } return path; } char* xset_custom_get_help( GtkWidget* parent, XSet* set ) { char* dir; char* path; if ( !set || ( set && strncmp( set->name, "cstm_", 5 ) ) ) return NULL; if ( set->plugin ) dir = g_build_filename( set->plug_dir, set->plug_name, NULL ); else { dir = g_build_filename( settings_config_dir, "scripts", set->name, NULL ); if ( !g_file_test( dir, G_FILE_TEST_EXISTS ) ) { g_mkdir_with_parents( dir, 0700 ); chmod( dir, 0700 ); } } char* names[] = { "README", "readme", "README.TXT", "README.txt", "readme.txt", "README.MKD", "README.mkd", "readme.mkd" }; int i; for ( i = 0; i < G_N_ELEMENTS( names ); ++i ) { path = g_build_filename( dir, names[i], NULL ); if ( g_file_test( path, G_FILE_TEST_EXISTS ) ) break; g_free( path ); path = NULL; } if ( !path ) { if ( set->plugin ) { xset_msg_dialog( parent, 0, _("Help Not Available"), NULL, 0, _("This plugin does not include a README file."), NULL, NULL ); g_free( dir ); return NULL; } else if ( xset_msg_dialog( parent, GTK_MESSAGE_QUESTION, _( "Create README" ), NULL, GTK_BUTTONS_YES_NO, _( "No README file exists for this command.\n\n" "Create a default README file for you to fill in?" ), NULL, NULL ) != GTK_RESPONSE_YES ) { g_free( dir ); return NULL; } // create path = g_build_filename( dir, names[0], NULL ); FILE* file = fopen( path, "w" ); if ( file ) { // write default readme fputs( "README\n------\n\nFill this text file with detailed information about this command. For\ncontext-sensitive help within SpaceFM, this file must be named README,\nREADME.txt, or README.mkd.\n\nIf you plan to distribute this command as a plugin, the following information\nis recommended:\n\n\nCommand Name:\n\nRelease Version and Date:\n\nPlugin Homepage or Download Link:\n\nAuthor's Contact Information or Feedback Instructions:\n\nDependencies or Requirements:\n\nDescription:\n\nInstructions For Use:\n\nCopyright and License Information:\n\n Copyright (C) YEAR AUTHOR \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\n", file ); fclose( file ); } chmod( path, S_IRUSR | S_IWUSR ); } g_free( dir ); if ( g_file_test( path, G_FILE_TEST_EXISTS ) ) return path; g_free( path ); xset_msg_dialog( parent, 0, _("Creation Failed"), NULL, 0, _("An error occured creating a README file for this command."), NULL, NULL ); return NULL; } gboolean xset_copy_file( char* src, char* dest ) { // overwrites! int inF, ouF, bytes; char line[ 1024 ]; if ( !g_file_test( src, G_FILE_TEST_EXISTS ) ) return FALSE; if ( ( inF = open( src, O_RDONLY ) ) == -1 ) return FALSE; unlink( dest ); if ( ( ouF = open( dest, O_CREAT | O_WRONLY | O_TRUNC, S_IRUSR | S_IWUSR ) ) == -1 ) { close(inF); return FALSE; } while ( ( bytes = read( inF, line, sizeof( line ) ) ) > 0 ) { if ( write(ouF, line, bytes) <= 0 ) { close(inF); close(ouF); unlink( dest ); return FALSE; } } close(inF); close(ouF); return TRUE; } char* xset_custom_new_name() { char* hex8 = NULL; char* setname; char* path1; char* path2; char* path3; char* str; do { if ( hex8 ) g_free( hex8 ); hex8 = randhex8(); setname = g_strdup_printf( "cstm_%s", hex8 ); if ( xset_is( setname ) ) { g_free( setname ); setname = NULL; } else { path1 = g_build_filename( settings_config_dir, "scripts", setname, NULL ); str = g_strdup_printf( "%s.sh", setname ); //backwards compat < 0.7.0 path2 = g_build_filename( settings_config_dir, "scripts", str, NULL ); g_free( str ); path3 = g_build_filename( settings_config_dir, "plugin-data", setname, NULL ); if ( g_file_test( path1, G_FILE_TEST_EXISTS ) || g_file_test( path2, G_FILE_TEST_EXISTS ) || g_file_test( path3, G_FILE_TEST_EXISTS ) ) { g_free( setname ); setname = NULL; } g_free( path1 ); g_free( path2 ); g_free( path3 ); } } while ( !setname ); return setname; } void xset_custom_copy_files( XSet* src, XSet* dest ) { char* cscript; char* path_src; char* path_dest; char* command = NULL; char* stdout = NULL; char* stderr = NULL; char* msg; gboolean ret; gint exit_status; //printf("xset_custom_copy_files( %s, %s )\n", src->name, dest->name ); // copy command dir // do this for backwards compat - will copy old script cscript = xset_custom_get_script( src, FALSE ); if ( cscript ) g_free( cscript ); if ( src->plugin ) path_src = g_build_filename( src->plug_dir, src->plug_name, NULL ); else path_src = g_build_filename( settings_config_dir, "scripts", src->name, NULL ); //printf(" path_src=%s\n", path_src ); if ( !g_file_test( path_src, G_FILE_TEST_EXISTS ) ) { //printf(" path_src !EXISTS\n"); if ( !src->plugin ) { command = NULL; } else { // plugin backwards compat ? cscript = xset_custom_get_script( src, FALSE ); if ( cscript && g_file_test( cscript, G_FILE_TEST_EXISTS ) ) { path_dest = g_build_filename( settings_config_dir, "scripts", dest->name, NULL ); g_mkdir_with_parents( path_dest, 0700 ); chmod( path_dest, 0700 ); g_free( path_dest ); path_dest = g_build_filename( settings_config_dir, "scripts", dest->name, "exec.sh", NULL ); command = g_strdup_printf( "cp %s %s", cscript, path_dest ); g_free( cscript ); } else { if ( cscript ) g_free( cscript ); command = NULL; } } } else { //printf(" path_src EXISTS\n"); path_dest = g_build_filename( settings_config_dir, "scripts", NULL ); g_mkdir_with_parents( path_dest, 0700 ); chmod( path_dest, 0700 ); g_free( path_dest ); path_dest = g_build_filename( settings_config_dir, "scripts", dest->name, NULL ); command = g_strdup_printf( "cp -a %s %s", path_src, path_dest ); } g_free( path_src ); if ( command ) { //printf(" path_dest=%s\n", path_dest ); printf( "COMMAND=%s\n", command ); ret = g_spawn_command_line_sync( command, &stdout, &stderr, &exit_status, NULL ); g_free( command ); printf( "%s%s", stdout, stderr ); if ( !ret || ( exit_status && WIFEXITED( exit_status ) ) ) { msg = g_strdup_printf( _("An error occured copying command files\n\n%s"), stderr ? stderr : "" ); xset_msg_dialog( NULL, GTK_MESSAGE_ERROR, _("Copy Command Error"), NULL, 0, msg, NULL, NULL ); g_free( msg ); } if ( stderr ) g_free( stderr ); if ( stdout ) g_free( stdout ); stderr = stdout = NULL; command = g_strdup_printf( "chmod -R go-rwx %s", path_dest ); printf( "COMMAND=%s\n", command ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( command ); g_free( path_dest ); } // copy data dir XSet* mset = xset_get_plugin_mirror( src ); path_src = g_build_filename( settings_config_dir, "plugin-data", mset->name, NULL ); if ( g_file_test( path_src, G_FILE_TEST_IS_DIR ) ) { path_dest = g_build_filename( settings_config_dir, "plugin-data", dest->name, NULL ); command = g_strdup_printf( "cp -a %s %s", path_src, path_dest ); g_free( path_src ); stderr = stdout = NULL; printf( "COMMAND=%s\n", command ); ret = g_spawn_command_line_sync( command, &stdout, &stderr, &exit_status, NULL ); g_free( command ); printf( "%s%s", stdout, stderr ); if ( !ret || ( exit_status && WIFEXITED( exit_status ) ) ) { msg = g_strdup_printf( _("An error occured copying command data files\n\n%s"), stderr ? stderr : "" ); xset_msg_dialog( NULL, GTK_MESSAGE_ERROR, _("Copy Command Error"), NULL, 0, msg, NULL, NULL ); g_free( msg ); } if ( stderr ) g_free( stderr ); if ( stdout ) g_free( stdout ); stderr = stdout = NULL; command = g_strdup_printf( "chmod -R go-rwx %s", path_dest ); g_free( path_dest ); printf( "COMMAND=%s\n", command ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( command ); } } XSet* xset_custom_copy( XSet* set, gboolean copy_next, gboolean delete_set ) { //printf("\nxset_custom_copy( %s, %s, %s)\n", set->name, copy_next ? "TRUE" : "FALSE", delete_set ? "TRUE" : "FALSE" ); XSet* mset = set; // if a plugin with a mirror, get the mirror if ( set->plugin && set->shared_key ) mset = xset_get_plugin_mirror( set ); XSet* newset = xset_custom_new(); newset->menu_label = g_strdup( set->menu_label ); newset->s = g_strdup( set->s ); newset->x = g_strdup( set->x ); newset->y = g_strdup( set->y ); newset->z = g_strdup( set->z ); newset->desc = g_strdup( set->desc ); newset->title = g_strdup( set->title ); newset->b = set->b; newset->menu_style = set->menu_style; newset->context = g_strdup( mset->context ); newset->line = g_strdup( set->line ); newset->task = mset->task; newset->task_pop = mset->task_pop; newset->task_err = mset->task_err; newset->task_out = mset->task_out; newset->in_terminal = mset->in_terminal; newset->keep_terminal = mset->keep_terminal; newset->scroll_lock = mset->scroll_lock; if ( !mset->icon && set->plugin ) newset->icon = g_strdup( set->icon ); else newset->icon = g_strdup( mset->icon ); xset_custom_copy_files( set, newset ); newset->tool = set->tool; if ( set->menu_style == XSET_MENU_SUBMENU && set->child ) { XSet* set_child = xset_get( set->child ); //printf(" copy submenu %s\n", set_child->name ); XSet* newchild = xset_custom_copy( set_child, TRUE, delete_set ); newset->child = g_strdup( newchild->name ); newchild->parent = g_strdup( newset->name ); } if ( copy_next && set->next ) { XSet* set_next = xset_get( set->next ); //printf(" copy next %s\n", set_next->name ); XSet* newnext = xset_custom_copy( set_next, TRUE, delete_set ); newnext->prev = g_strdup( newset->name ); newset->next = g_strdup( newnext->name ); } // when copying imported plugin file, discard mirror xset if ( delete_set ) xset_custom_delete( set, FALSE ); return newset; } void clean_plugin_mirrors() { // remove plugin mirrors for non-existent plugins GList* l; XSet* set; XSet* set_key; gboolean redo = TRUE; while ( redo ) { redo = FALSE; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->desc && !strcmp( ((XSet*)l->data)->desc, "@plugin@mirror@" ) ) { set = (XSet*)l->data; if ( !set->shared_key || ( set->shared_key && !xset_is( set->shared_key ) ) ) { xset_free( set ); redo = TRUE; break; } } } } // remove plugin-data for non-existent xsets const char* name; char* command; char* stdout; char* stderr; GDir* dir; char* path = g_build_filename( settings_config_dir, "plugin-data", NULL ); _redo: dir = g_dir_open( path, 0, NULL ); if ( dir ) { while ( name = g_dir_read_name( dir ) ) { if ( strlen( name ) == 13 && g_str_has_prefix( name, "cstm_" ) && !xset_is( name ) ) { g_dir_close( dir ); command = g_strdup_printf( "rm -rf %s/%s", path, name ); stderr = stdout = NULL; printf( "COMMAND=%s\n", command ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( command ); if ( stderr ) g_free( stderr ); if ( stdout ) g_free( stdout ); goto _redo; } } g_dir_close( dir ); } g_free( path ); } void xset_set_plugin_mirror( XSet* pset ) { XSet* set; GList* l; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->desc && !strcmp( ((XSet*)l->data)->desc, "@plugin@mirror@" ) ) { set = (XSet*)l->data; if ( set->parent && set->child ) { if ( !strcmp( set->child, pset->plug_name ) && !strcmp( set->parent, pset->plug_dir ) ) { if ( set->shared_key ) g_free( set->shared_key ); set->shared_key = g_strdup( pset->name ); if ( pset->shared_key ) g_free( pset->shared_key ); pset->shared_key = g_strdup( set->name ); return; } } } } } XSet* xset_get_plugin_mirror( XSet* set ) { // plugin mirrors are custom xsets that save the user's key, icon // and run prefs for the plugin, if any if ( !set->plugin ) return set; if ( set->shared_key ) return xset_get( set->shared_key ); XSet* newset = xset_custom_new(); newset->desc = g_strdup( "@plugin@mirror@" ); newset->parent = g_strdup( set->plug_dir ); newset->child = g_strdup( set->plug_name ); newset->shared_key = g_strdup( set->name ); // this will not be saved newset->task = set->task; newset->task_pop = set->task_pop; newset->task_err = set->task_err; newset->task_out = set->task_out; newset->in_terminal = set->in_terminal; newset->keep_terminal = set->keep_terminal; newset->scroll_lock = set->scroll_lock; newset->context = g_strdup( set->context ); newset->opener = set->opener; newset->b = set->b; newset->s = g_strdup( set->s ); set->shared_key = g_strdup( newset->name ); return newset; } gint compare_plugin_sets( XSet* a, XSet* b ) { return g_utf8_collate( a->menu_label, b->menu_label ); } GList* xset_get_plugins( gboolean included ) { // return list of plugin sets (included or not ) sorted by menu_label GList* l; GList* plugins = NULL; XSet* set; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->plugin && ((XSet*)l->data)->plugin_top && ((XSet*)l->data)->plug_dir ) { set = (XSet*)l->data; if ( strstr( set->plug_dir, "/included/" ) ) { if ( included ) plugins = g_list_prepend( plugins, l->data ); } else if ( !included ) plugins = g_list_prepend( plugins, l->data ); } } plugins = g_list_sort( plugins, (GCompareFunc)compare_plugin_sets ); return plugins; } XSet* xset_get_by_plug_name( const char* plug_dir, const char* plug_name ) { GList* l; if ( !plug_name ) return NULL; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->plugin && !strcmp( plug_name, ((XSet*)l->data)->plug_name ) && !strcmp( plug_dir, ((XSet*)l->data)->plug_dir ) ) return l->data; } // add new XSet* set = xset_new( xset_custom_new_name() ); set->plug_dir = g_strdup( plug_dir ); set->plug_name = g_strdup( plug_name ); set->plugin = TRUE; set->lock = FALSE; xsets = g_list_append( xsets, set ); return set; } void xset_parse_plugin( const char* plug_dir, char* line, int use ) { char* sep = strchr( line, '=' ); char* name; char* value; XSet* set; XSet* set2; const char* prefix; const char* handler_prefix[] = { "hand_arc_", "hand_fs_", "hand_net_", "hand_f_" }; if ( !sep ) return ; name = line; value = sep + 1; *sep = '\0'; sep = strchr( name, '-' ); if ( !sep ) return ; char* var = sep + 1; *sep = '\0'; if ( use < PLUGIN_USE_BOOKMARKS ) { // handler prefix = handler_prefix[use]; } else prefix = "cstm_"; if ( g_str_has_prefix( name, prefix ) ) { set = xset_get_by_plug_name( plug_dir, name ); xset_set_set( set, var, value ); if ( use >= PLUGIN_USE_BOOKMARKS ) { // map plug names to new set names (does not apply to handlers) if ( set->prev && !strcmp( var, "prev" ) ) { if ( !strncmp( set->prev, "cstm_", 5 ) ) { set2 = xset_get_by_plug_name( plug_dir, set->prev ); g_free( set->prev ); set->prev = g_strdup( set2->name ); } else { g_free( set->prev ); set->prev = NULL; } } else if ( set->next && !strcmp( var, "next" ) ) { if ( !strncmp( set->next, "cstm_", 5 ) ) { set2 = xset_get_by_plug_name( plug_dir, set->next ); g_free( set->next ); set->next = g_strdup( set2->name ); } else { g_free( set->next ); set->next = NULL; } } else if ( set->parent && !strcmp( var, "parent" ) ) { if ( !strncmp( set->parent, "cstm_", 5 ) ) { set2 = xset_get_by_plug_name( plug_dir, set->parent ); g_free( set->parent ); set->parent = g_strdup( set2->name ); } else { g_free( set->parent ); set->parent = NULL; } } else if ( set->child && !strcmp( var, "child" ) ) { if ( !strncmp( set->child, "cstm_", 5 ) ) { set2 = xset_get_by_plug_name( plug_dir, set->child ); g_free( set->child ); set->child = g_strdup( set2->name ); } else { g_free( set->child ); set->child = NULL; } } } } } XSet* xset_import_plugin( const char* plug_dir, int* use ) { char line[ 2048 ]; char* section_name; gboolean func; GList* l; XSet* set; if ( use ) *use = PLUGIN_USE_NORMAL; // clear all existing plugin sets with this plug_dir // ( keep the mirrors to retain user prefs ) gboolean redo = TRUE; while ( redo ) { redo = FALSE; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->plugin && !strcmp( plug_dir, ((XSet*)l->data)->plug_dir ) ) { xset_free( (XSet*)l->data ); redo = TRUE; // search list from start again due to changed list break; } } } // read plugin file into xsets gboolean plugin_good = FALSE; char* plugin = g_build_filename( plug_dir, "plugin", NULL ); FILE* file = fopen( plugin, "r" ); if ( !file ) { g_warning( _("Error reading plugin file %s"), plugin ); return NULL; } while ( fgets( line, sizeof( line ), file ) ) { strtok( line, "\r\n" ); if ( ! line[ 0 ] ) continue; if ( line[ 0 ] == '[' ) { section_name = strtok( line, "]" ); if ( 0 == strcmp( line + 1, "Plugin" ) ) func = TRUE; else func = FALSE; continue; } if ( func ) { if ( use && *use == PLUGIN_USE_NORMAL ) { if ( g_str_has_prefix( line, "main_book-child=" ) ) { // This plugin is an export of all bookmarks *use = PLUGIN_USE_BOOKMARKS; } else if ( g_str_has_prefix( line, "hand_" ) ) { if ( g_str_has_prefix( line, "hand_fs_" ) ) *use = PLUGIN_USE_HAND_FS; else if ( g_str_has_prefix( line, "hand_arc_" ) ) *use = PLUGIN_USE_HAND_ARC; else if ( g_str_has_prefix( line, "hand_net_" ) ) *use = PLUGIN_USE_HAND_NET; else if ( g_str_has_prefix( line, "hand_f_" ) ) *use = PLUGIN_USE_HAND_FILE; } } xset_parse_plugin( plug_dir, line, use ? *use : PLUGIN_USE_NORMAL ); if ( !plugin_good ) plugin_good = TRUE; } } fclose( file ); // clean plugin sets, set type gboolean top = TRUE; XSet* rset = NULL; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->plugin && !strcmp( plug_dir, ((XSet*)l->data)->plug_dir ) ) { set = (XSet*)l->data; set->key = set->keymod = set->tool = set->opener = 0; xset_set_plugin_mirror( set ); if ( set->plugin_top = top ) { top = FALSE; rset = set; } } } return plugin_good ? rset : NULL; } typedef struct _PluginData { FMMainWindow* main_window; GtkWidget* handler_dlg; char* plug_dir; XSet* set; int job; }PluginData; void on_install_plugin_cb( VFSFileTask* task, PluginData* plugin_data ) { XSet* set; char* msg; //printf("on_install_plugin_cb\n"); if ( plugin_data->job == PLUGIN_JOB_REMOVE ) // uninstall { if ( !g_file_test( plugin_data->plug_dir, G_FILE_TEST_EXISTS ) ) { xset_custom_delete( plugin_data->set, FALSE ); clean_plugin_mirrors(); //main_window_on_plugins_change( NULL ); } } else { char* plugin = g_build_filename( plugin_data->plug_dir, "plugin", NULL ); if ( g_file_test( plugin, G_FILE_TEST_EXISTS ) ) { int use = PLUGIN_USE_NORMAL; set = xset_import_plugin( plugin_data->plug_dir, &use ); if ( !set ) { msg = g_strdup_printf( _("The imported plugin folder does not contain a valid plugin.\n\n(%s/)"), plugin_data->plug_dir ); xset_msg_dialog( GTK_WIDGET( plugin_data->main_window ), GTK_MESSAGE_ERROR, _("Invalid Plugin"), NULL, 0, msg, NULL, NULL ); g_free( msg ); } else if ( use == PLUGIN_USE_BOOKMARKS ) { // bookmarks if ( plugin_data->job != PLUGIN_JOB_COPY || !plugin_data->set ) { // This dialog should never be seen - failsafe GDK_THREADS_ENTER(); // due to dialog run causes low level thread lock xset_msg_dialog( GTK_WIDGET( plugin_data->main_window ), GTK_MESSAGE_ERROR, "Bookmarks", NULL, 0, "This plugin file contains exported bookmarks which cannot be installed or imported to the design clipboard.\n\nYou can import these directly into a menu (select New|Import from the Design Menu).", NULL, NULL ); GDK_THREADS_LEAVE(); } else { // copy all bookmarks into menu // paste after insert_set (plugin_data->set) XSet* newset = xset_custom_copy( set, TRUE, TRUE ); // get last bookmark and toolbar if needed set = newset; do { if ( plugin_data->set->tool ) set->tool = XSET_TOOL_CUSTOM; else set->tool = XSET_TOOL_NOT; if ( !set->next ) break; } while ( set = xset_get( set->next ) ); // set now points to last bookmark newset->prev = g_strdup( plugin_data->set->name ); set->next = plugin_data->set->next; //steal if ( plugin_data->set->next ) { XSet* set_next = xset_get( plugin_data->set->next ); g_free( set_next->prev ); set_next->prev = g_strdup( set->name ); // last bookmark } plugin_data->set->next = g_strdup( newset->name ); // find parent set = newset; while ( set->prev ) set = xset_get( set->prev ); if ( set->parent ) main_window_bookmark_changed( set->parent ); } } else if ( use < PLUGIN_USE_BOOKMARKS ) { // handler if ( plugin_data->job == PLUGIN_JOB_INSTALL ) { // This dialog should never be seen - failsafe GDK_THREADS_ENTER(); // due to dialog run causes low level thread lock xset_msg_dialog( plugin_data->main_window ? GTK_WIDGET( plugin_data->main_window ) : NULL, GTK_MESSAGE_ERROR, "Handler Plugin", NULL, 0, "This file contains a handler plugin which cannot be installed as a plugin.\n\nYou can import handlers from a handler configuration window, or use Plugins|Import.", NULL, NULL ); GDK_THREADS_LEAVE(); } else ptk_handler_import( use, plugin_data->handler_dlg, set ); } else if ( plugin_data->job == PLUGIN_JOB_COPY ) { // copy set->plugin_top = FALSE; // don't show tmp plugin in Plugins menu if ( plugin_data->set ) { // paste after insert_set (plugin_data->set) XSet* newset = xset_custom_copy( set, FALSE, TRUE ); newset->prev = g_strdup( plugin_data->set->name ); newset->next = plugin_data->set->next; //steal if ( plugin_data->set->next ) { XSet* set_next = xset_get( plugin_data->set->next ); g_free( set_next->prev ); set_next->prev = g_strdup( newset->name ); } plugin_data->set->next = g_strdup( newset->name ); if ( plugin_data->set->tool ) newset->tool = XSET_TOOL_CUSTOM; else newset->tool = XSET_TOOL_NOT; main_window_bookmark_changed( newset->name ); } else { // place on design clipboard set_clipboard = set; clipboard_is_cut = FALSE; if ( xset_get_b( "plug_cverb" ) || plugin_data->handler_dlg ) { char* label = clean_label( set->menu_label, FALSE, FALSE ); if ( geteuid() == 0 ) msg = g_strdup_printf( _("The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n\nBecause it has not been installed, this plugin will not appear in the Plugins menu."), label ); else msg = g_strdup_printf( _("The '%s' plugin has been copied to the design clipboard. Use View|Design Mode to paste it into a menu.\n\nBecause it has not been installed, this plugin will not appear in the Plugins menu, and its contents are not protected by root (once pasted it will be saved with normal ownership).\n\nIf this plugin contains su commands or will be run as root, installing it to and running it only from the Plugins menu is recommended to improve your system security."), label ); g_free( label ); GDK_THREADS_ENTER(); // due to dialog run causes low level thread lock xset_msg_dialog( GTK_WIDGET( plugin_data->main_window ), 0, "Copy Plugin", NULL, 0, msg, NULL, NULL ); GDK_THREADS_LEAVE(); g_free( msg ); } } } clean_plugin_mirrors(); } g_free( plugin ); } g_free( plugin_data->plug_dir ); g_slice_free( PluginData, plugin_data ); } void xset_remove_plugin( GtkWidget* parent, PtkFileBrowser* file_browser, XSet* set ) { char* msg; if ( !file_browser || !set || !set->plugin_top || !set->plug_dir ) return; if ( strstr( set->plug_dir, "/included/" ) ) return; // failsafe - don't allow removal of included if ( !app_settings.no_confirm ) { char* label = clean_label( set->menu_label, FALSE, FALSE ); msg = g_strdup_printf( _("Uninstall the '%s' plugin?\n\n( %s )"), label, set->plug_dir ); g_free( label ); if ( xset_msg_dialog( parent, GTK_MESSAGE_WARNING, _("Uninstall Plugin"), NULL, GTK_BUTTONS_YES_NO, msg, NULL, NULL ) != GTK_RESPONSE_YES ) { g_free( msg ); return; } g_free( msg ); } PtkFileTask* task = ptk_file_exec_new( _("Uninstall Plugin"), NULL, parent, file_browser->task_view ); char* plug_dir_q = bash_quote( set->plug_dir ); task->task->exec_command = g_strdup_printf( "rm -rf %s", plug_dir_q ); g_free( plug_dir_q ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_as_user = g_strdup( "root" ); PluginData* plugin_data = g_slice_new0( PluginData ); plugin_data->main_window = NULL; plugin_data->plug_dir = g_strdup( set->plug_dir ); plugin_data->set = set; plugin_data->job = PLUGIN_JOB_REMOVE; task->complete_notify = (GFunc)on_install_plugin_cb; task->user_data = plugin_data; ptk_file_task_run( task ); } void install_plugin_file( gpointer main_win, GtkWidget* handler_dlg, const char* path, const char* plug_dir, int type, int job, XSet* insert_set ) { char* wget; char* file_path; char* file_path_q; char* own; char* rem = g_strdup( "" ); char* compression = "z"; FMMainWindow* main_window = (FMMainWindow*)main_win; // task PtkFileTask* task = ptk_file_exec_new( _("Install Plugin"), NULL, main_win ? GTK_WIDGET( main_window ) : NULL, main_win ? main_window->task_view : NULL ); char* plug_dir_q = bash_quote( plug_dir ); if ( type == 0 ) { // file wget = g_strdup( "" ); if ( g_str_has_suffix( path, ".tar.xz" ) ) //TODO: OmegaPhil reports -J is never required for any compression compression = "J"; file_path_q = bash_quote( path ); } else { // url if ( g_str_has_suffix( path, ".tar.xz" ) ) { file_path = g_build_filename( plug_dir, "plugin-tmp.tar.xz", NULL ); compression = "J"; } else file_path = g_build_filename( plug_dir, "plugin-tmp.tar.gz", NULL ); file_path_q = bash_quote( file_path ); g_free( file_path ); char* url_q = bash_quote( path ); wget = g_strdup_printf( "&& wget --tries=1 --connect-timeout=30 -O %s %s ", file_path_q, url_q ); g_free( url_q ); g_free( rem ); rem = g_strdup_printf( "; rm -f %s", file_path_q ); } if ( job == PLUGIN_JOB_INSTALL ) { // install own = g_strdup_printf( "chown -R root:root %s && chmod -R go+rX-w %s", plug_dir_q, plug_dir_q ); task->task->exec_as_user = g_strdup( "root" ); } else { // copy to clipboard or import to menu own = g_strdup_printf( "chmod -R go+rX-w %s", plug_dir_q ); } char* book = ""; if ( insert_set && !strcmp( insert_set->name, "main_book" ) ) { // import bookmarks to end XSet* set = xset_get( "main_book" ); set = xset_is( set->child ); while ( set && set->next ) set = xset_is( set->next ); if ( set ) insert_set = set; else insert_set = NULL; // failsafe } if ( job == PLUGIN_JOB_INSTALL || !insert_set ) { // prevent install of exported bookmarks or handler as plugin or design clipboard if ( job == PLUGIN_JOB_INSTALL ) book = " || [ -e main_book ] || [ -d hand_* ]"; else book = " || [ -e main_book ]"; } task->task->exec_command = g_strdup_printf( "rm -rf %s ; mkdir -p %s && cd %s %s&& tar --exclude='/*' --keep-old-files -x%sf %s ; err=$?; if [ $err -ne 0 ] || [ ! -e plugin ]%s; then rm -rf %s ; echo 'Error installing plugin (invalid plugin file?)'; exit 1 ; fi ; %s %s", plug_dir_q, plug_dir_q, plug_dir_q, wget, compression, file_path_q, book, plug_dir_q, own, rem ); g_free( plug_dir_q ); g_free( file_path_q ); g_free( own ); g_free( rem ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; PluginData* plugin_data = g_slice_new0( PluginData ); plugin_data->main_window = main_window; plugin_data->handler_dlg = handler_dlg; plugin_data->plug_dir = g_strdup( plug_dir ); plugin_data->job = job; plugin_data->set = insert_set; task->complete_notify = (GFunc)on_install_plugin_cb; task->user_data = plugin_data; ptk_file_task_run( task ); } gboolean xset_custom_export_files( XSet* set, char* plug_dir ) { char* cscript; char* path_src; char* path_dest; char* command; char* stdout = NULL; char* stderr = NULL; // do this for backwards compat - will copy old script cscript = xset_custom_get_script( set, FALSE ); if ( cscript ) g_free( cscript ); if ( set->plugin ) { path_src = g_build_filename( set->plug_dir, set->plug_name, NULL ); path_dest = g_build_filename( plug_dir, set->plug_name, NULL ); } else { path_src = g_build_filename( settings_config_dir, "scripts", set->name, NULL ); path_dest = g_build_filename( plug_dir, set->name, NULL ); } if ( !( g_file_test( path_src, G_FILE_TEST_EXISTS ) && dir_has_files( path_src ) ) ) { if ( !strcmp( set->name, "main_book" ) ) { // exporting all bookmarks - create empty main_book dir g_mkdir_with_parents( path_dest, 0755 ); if ( !g_file_test( path_dest, G_FILE_TEST_EXISTS ) ) { g_free( path_src ); g_free( path_dest ); return FALSE; } } // skip empty or missing dirs g_free( path_src ); g_free( path_dest ); return TRUE; /* g_mkdir_with_parents( path_dest, 0755 ); if ( !g_file_test( path_dest, G_FILE_TEST_EXISTS ) ) { g_free( path_src ); g_free( path_dest ); return FALSE; } chmod( path_dest, 0755 ); if ( !set->plugin ) { g_free( path_src ); g_free( path_dest ); return TRUE; } // plugin backwards compat ? cscript = xset_custom_get_script( set, FALSE ); if ( cscript && g_file_test( cscript, G_FILE_TEST_EXISTS ) ) { command = g_strdup_printf( "cp -a %s %s/", cscript, path_dest ); g_free( cscript ); } else { if ( cscript ) g_free( cscript ); g_free( path_src ); g_free( path_dest ); return TRUE; } */ } else { command = g_strdup_printf( "cp -a %s %s", path_src, path_dest ); } g_free( path_src ); g_free( path_dest ); printf( "COMMAND=%s\n", command ); gboolean ret = g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( command ); if ( stderr ) g_free( stderr ); if ( stdout ) g_free( stdout ); return ret; } gboolean xset_custom_export_write( FILE* file, XSet* set, char* plug_dir ) { // recursively write set, submenu sets, and next sets xset_write_set( file, set ); if ( !xset_custom_export_files( set, plug_dir ) ) return FALSE; if ( set->menu_style == XSET_MENU_SUBMENU && set->child ) { if ( !xset_custom_export_write( file, xset_get( set->child ), plug_dir ) ) return FALSE; } if ( set->next ) { if ( !xset_custom_export_write( file, xset_get( set->next ), plug_dir ) ) return FALSE; } return TRUE; } void xset_custom_export( GtkWidget* parent, PtkFileBrowser* file_browser, XSet* set ) { char* deffolder; char* deffile; char* s1; char* s2; // get new plugin filename XSet* save = xset_get( "plug_ifile" ); if ( save->s ) //&& g_file_test( save->s, G_FILE_TEST_IS_DIR ) deffolder = save->s; else { if ( !( deffolder = xset_get_s( "go_set_default" ) ) ) deffolder = "/"; } if ( !set->plugin ) { s1 = clean_label( set->menu_label, TRUE, FALSE ); s2 = plain_ascii_name( s1 ); if ( s2[0] == '\0' ) { g_free( s2 ); s2 = g_strdup( "Plugin" ); } if ( !strcmp( set->name, "main_book" ) ) deffile = g_strdup_printf( "%s.spacefm-bookmarks.tar.gz", s2 ); else if ( g_str_has_prefix( set->name, "hand_arc_" ) ) deffile = g_strdup_printf( "%s.spacefm-archive-handler.tar.gz", s2 ); else if ( g_str_has_prefix( set->name, "hand_fs_" ) ) deffile = g_strdup_printf( "%s.spacefm-device-handler.tar.gz", s2 ); else if ( g_str_has_prefix( set->name, "hand_net_" ) ) deffile = g_strdup_printf( "%s.spacefm-protocol-handler.tar.gz", s2 ); else if ( g_str_has_prefix( set->name, "hand_f_" ) ) deffile = g_strdup_printf( "%s.spacefm-file-handler.tar.gz", s2 ); else deffile = g_strdup_printf( "%s.spacefm-plugin.tar.gz", s2 ); g_free( s1 ); g_free( s2 ); } else { s1 = g_path_get_basename( set->plug_dir ); deffile = g_strdup_printf( "%s.spacefm-plugin.tar.gz", s1 ); g_free( s1 ); } char* path = xset_file_dialog( parent, GTK_FILE_CHOOSER_ACTION_SAVE, _("Save As Plugin File"), deffolder, deffile ); g_free( deffile ); if ( !path ) return; if ( save->s ) g_free( save->s ); save->s = g_path_get_dirname( path ); // get or create tmp plugin dir char* plug_dir = NULL; char* hex8; if ( !set->plugin ) { s1 = (char*)xset_get_user_tmp_dir(); if ( !s1 ) goto _export_error; while ( !plug_dir || g_file_test( plug_dir, G_FILE_TEST_EXISTS ) ) { hex8 = randhex8(); if ( plug_dir ) g_free( plug_dir ); plug_dir = g_build_filename( s1, hex8, NULL ); g_free( hex8 ); } g_mkdir_with_parents( plug_dir, 0700 ); chmod( plug_dir, 0700 ); // Create plugin file s1 = g_build_filename( plug_dir, "plugin", NULL ); FILE* file = fopen( s1, "w" ); g_free( s1 ); if ( !file ) goto _rmtmp_error; int result = fputs( "# SpaceFM Plugin File\n\n# THIS FILE IS NOT DESIGNED TO BE EDITED\n\n", file ); if ( result < 0 ) { fclose( file ); goto _rmtmp_error; } fputs( "[Plugin]\n", file ); xset_write_set( file, xset_get( "config_version" ) ); char* s_prev = set->prev; char* s_next = set->next; char* s_parent = set->parent; set->prev = set->next = set->parent = NULL; xset_write_set( file, set ); set->prev = s_prev; set->next = s_next; set->parent = s_parent; if ( !xset_custom_export_files( set, plug_dir ) ) goto _rmtmp_error; if ( set->menu_style == XSET_MENU_SUBMENU && set->child ) { if ( !xset_custom_export_write( file, xset_get( set->child ), plug_dir ) ) goto _rmtmp_error; } result = fputs( "\n", file ); fclose( file ); if ( result < 0 ) goto _rmtmp_error; } else plug_dir = g_strdup( set->plug_dir ); // tar and delete tmp files // task PtkFileTask* task = ptk_file_exec_new( _("Export Plugin"), plug_dir, parent, file_browser ? file_browser->task_view : NULL ); char* plug_dir_q = bash_quote( plug_dir ); char* path_q = bash_quote( path ); if ( !set->plugin ) task->task->exec_command = g_strdup_printf( "tar --numeric-owner -czf %s * ; err=$? ; rm -rf %s ; if [ $err -ne 0 ]; then rm -f %s; fi; exit $err", path_q, plug_dir_q, path_q ); else task->task->exec_command = g_strdup_printf( "tar --numeric-owner -czf %s * ; err=$? ; if [ $err -ne 0 ]; then rm -f %s; fi; exit $err", path_q, path_q ); g_free( plug_dir_q ); g_free( path_q ); task->task->exec_sync = TRUE; task->task->exec_popup = FALSE; task->task->exec_show_output = FALSE; task->task->exec_show_error = TRUE; task->task->exec_export = FALSE; task->task->exec_browser = file_browser; ptk_file_task_run( task ); g_free( path ); g_free( plug_dir ); return; _rmtmp_error: if ( !set->plugin ) { s2 = bash_quote( plug_dir ); s1 = g_strdup_printf( "rm -rf %s", s2 ); g_spawn_command_line_sync( s1, NULL, NULL, NULL, NULL ); g_free( s1 ); g_free( s2 ); } _export_error: g_free( plug_dir ); g_free( path ); xset_msg_dialog( parent, GTK_MESSAGE_ERROR, _("Export Error"), NULL, 0, _("Unable to create temporary files"), NULL, NULL ); } static void open_spec( PtkFileBrowser* file_browser, const char* url, gboolean in_new_tab ) { char* tilde_url = NULL; const char* use_url; gboolean new_window = FALSE; if ( !file_browser ) { FMMainWindow* main_window = fm_main_window_get_on_current_desktop(); if ( !main_window ) { main_window = FM_MAIN_WINDOW(fm_main_window_new()); gtk_window_set_default_size( GTK_WINDOW( main_window ), app_settings.width, app_settings.height ); gtk_widget_show( GTK_WIDGET(main_window) ); new_window = !xset_get_b( "main_save_tabs" ); } file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); gtk_window_present( GTK_WINDOW( main_window ) ); } gboolean new_tab = !new_window && in_new_tab; // convert ~ to /home/user for smarter bookmarks if ( g_str_has_prefix( url, "~/" ) || !g_strcmp0( url, "~" ) ) use_url = tilde_url = g_strdup_printf( "%s%s", g_get_home_dir(), url + 1 ); else use_url = url; if ( ( use_url[0] != '/' && strstr( use_url, ":/" ) ) || g_str_has_prefix( use_url, "//" ) ) { // network if ( file_browser ) ptk_location_view_mount_network( file_browser, use_url, new_tab, FALSE ); else open_in_prog( use_url ); } else if ( g_file_test( use_url, G_FILE_TEST_IS_DIR ) ) { // dir if ( file_browser ) { if ( new_tab || g_strcmp0( ptk_file_browser_get_cwd( file_browser ), use_url ) ) ptk_file_browser_emit_open( file_browser, use_url, new_tab ? PTK_OPEN_NEW_TAB : PTK_OPEN_DIR ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); } else open_in_prog( use_url ); } else if ( g_file_test( use_url, G_FILE_TEST_EXISTS ) ) { // file - open dir and select file char* dir = g_path_get_dirname( use_url ); if ( dir && g_file_test( dir, G_FILE_TEST_IS_DIR ) ) { if ( file_browser ) { if ( !new_tab && !strcmp( dir, ptk_file_browser_get_cwd( file_browser ) ) ) { ptk_file_browser_select_file( file_browser, use_url ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->folder_view ) ); } else { file_browser->select_path = strdup( use_url ); ptk_file_browser_emit_open( file_browser, dir, new_tab ? PTK_OPEN_NEW_TAB : PTK_OPEN_DIR ); if ( new_tab ) { FMMainWindow* main_window_last = (FMMainWindow*)file_browser->main_window; file_browser = main_window_last ? PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window_last ) ) : NULL; if ( file_browser ) { // select path in new browser file_browser->select_path = strdup( use_url ); // usually this is not ready but try anyway ptk_file_browser_select_file( file_browser, use_url ); } } } } else open_in_prog( dir ); } g_free( dir ); } else { char* msg = g_strdup_printf( _("Bookmark target '%s' is missing or invalid."), use_url ); xset_msg_dialog( file_browser ? GTK_WIDGET( file_browser ) : NULL, GTK_MESSAGE_ERROR, _("Invalid Bookmark Target"), NULL, 0, msg, NULL, NULL ); g_free( msg ); } g_free( tilde_url ); } void xset_custom_activate( GtkWidget* item, XSet* set ) { GtkWidget* parent; GtkWidget* task_view = NULL; const char* cwd; char* command; char* value = NULL; XSet* mset; // builtin toolitem? if ( set->tool > XSET_TOOL_CUSTOM ) { xset_builtin_tool_activate( set->tool, set, NULL ); return; } // plugin? mset = xset_get_plugin_mirror( set ); if ( set->browser ) { parent = GTK_WIDGET( set->browser ); task_view = set->browser->task_view; cwd = ptk_file_browser_get_cwd( set->browser ); set->desktop = NULL; } else { if ( !set->desktop ) { g_warning( "xset_custom_activate !browser !desktop" ); return; } parent = GTK_WIDGET( set->desktop ); cwd = vfs_get_desktop_dir(); } // name if ( !set->plugin && !( !set->lock && xset_get_int_set( set, "x" ) > XSET_CMD_SCRIPT /*app or bookmark*/) ) { if ( !( set->menu_label && set->menu_label[0] ) || ( set->menu_label && !strcmp( set->menu_label, _("New _Command") ) ) ) { if ( !xset_text_dialog( parent, _("Change Item Name"), NULL, FALSE, _(enter_menu_name_new), NULL, set->menu_label, &set->menu_label, NULL, FALSE, "#designmode-designmenu-new" ) ) return; } } // variable value if ( set->menu_style == XSET_MENU_CHECK ) value = g_strdup_printf( "%d", mset->b == XSET_B_TRUE ? 1 : 0 ); else if ( set->menu_style == XSET_MENU_STRING ) value = g_strdup( mset->s ); else value = g_strdup( set->menu_label ); // is not activatable command? if ( !( !set->lock && set->menu_style < XSET_MENU_SUBMENU ) ) { xset_item_prop_dlg( xset_context, set, 0 ); return; } // command gboolean app_no_sync = FALSE; int cmd_type = xset_get_int_set( set, "x" ); if ( cmd_type == XSET_CMD_LINE ) { // line if ( !set->line || set->line[0] == '\0' ) { xset_item_prop_dlg( xset_context, set, 2 ); return; /* if ( !xset_text_dialog( parent, _("Set Command Line"), NULL, TRUE, _(enter_command_line), NULL, set->line, &set->line, NULL, FALSE, "#designmode-command-line" ) || !set->line || set->line[0] == '\0' ) return; */ } command = replace_line_subs( set->line ); char* str = replace_string( command, "\\n", "\n", FALSE ); g_free( command ); command = replace_string( str, "\\t", "\t", FALSE ); g_free( str ); } else if ( cmd_type == XSET_CMD_SCRIPT ) { // script command = xset_custom_get_script( set, FALSE ); if ( !command ) return; } else if ( cmd_type == XSET_CMD_APP ) { // app or executable if ( !( set->z && set->z[0] ) ) { xset_item_prop_dlg( xset_context, set, 0 ); return; } else if ( g_str_has_suffix( set->z, ".desktop" ) ) { VFSAppDesktop* app = vfs_app_desktop_new( set->z ); if ( app && app->exec && app->exec[0] != '\0' ) { // get file list GList* sel_files; GdkScreen* screen; if ( set->browser ) { sel_files = ptk_file_browser_get_selected_files( set->browser ); screen = gtk_widget_get_screen( GTK_WIDGET( set->browser ) ); } #ifdef DESKTOP_INTEGRATION else if ( set->desktop ) { sel_files = desktop_window_get_selected_files( set->desktop ); screen = gtk_widget_get_screen( GTK_WIDGET( set->desktop ) ); } #endif else { sel_files = NULL; cwd = "/"; screen = gdk_screen_get_default(); } GList* file_paths = NULL; GList* l; char* path; for ( l = sel_files; l; l = l->next ) { file_paths = g_list_prepend( file_paths, g_build_filename( cwd, vfs_file_info_get_name( (VFSFileInfo*)l->data ), NULL ) ); } file_paths = g_list_reverse( file_paths ); // open in app GError* err = NULL; if ( !vfs_app_desktop_open_files( screen, cwd, app, file_paths, &err ) ) { ptk_show_error( parent ? GTK_WINDOW( parent ) : NULL, _("Error"), err->message ); g_error_free( err ); } if ( sel_files ) { g_list_foreach( sel_files, (GFunc)vfs_file_info_unref, NULL ); g_list_free( sel_files ); } if ( file_paths ) { g_list_foreach( file_paths, (GFunc)g_free, NULL ); g_list_free( file_paths ); } } if ( app ) vfs_app_desktop_unref( app ); return; } else { command = bash_quote( set->z ); app_no_sync = TRUE; } } else if ( cmd_type == XSET_CMD_BOOKMARK ) { // Bookmark if ( !( set->z && set->z[0] ) ) { xset_item_prop_dlg( xset_context, set, 0 ); return; } char* specs = set->z; while ( specs && ( specs[0] == ' ' || specs[0] == ';' ) ) specs++; if ( specs && g_file_test( specs, G_FILE_TEST_EXISTS ) ) open_spec( set->browser, specs, set->desktop || xset_get_b( "book_newtab" ) ); else { // parse semi-colon separated list char* sep; char* url; while ( specs && specs[0] ) { if ( sep = strchr( specs, ';' ) ) sep[0] = '\0'; url = g_strdup( specs ); url = g_strstrip( url ); if ( url[0] ) open_spec( set->browser, url, TRUE ); g_free( url ); if ( sep ) { sep[0] = ';'; specs = sep + 1; } else specs = NULL; } } return; } else return; // task char* task_name = clean_label( set->menu_label, FALSE, FALSE ); PtkFileTask* task = ptk_file_exec_new( task_name, cwd, parent, task_view ); g_free( task_name ); // don't free cwd! task->task->exec_browser = set->browser; task->task->exec_desktop = set->desktop; task->task->exec_command = command; task->task->exec_set = set; if ( set->y && set->y[0] != '\0' ) task->task->exec_as_user = g_strdup( set->y ); if ( set->plugin && set->shared_key && mset->icon ) task->task->exec_icon = g_strdup( mset->icon ); if ( !task->task->exec_icon && set->icon ) task->task->exec_icon = g_strdup( set->icon ); task->task->current_dest = value; // temp storage task->task->exec_terminal = ( mset->in_terminal == XSET_B_TRUE ); task->task->exec_keep_terminal = ( mset->keep_terminal == XSET_B_TRUE ); task->task->exec_sync = !app_no_sync && ( mset->task == XSET_B_TRUE ); task->task->exec_popup = ( mset->task_pop == XSET_B_TRUE ); task->task->exec_show_output = ( mset->task_out == XSET_B_TRUE ); task->task->exec_show_error = ( mset->task_err == XSET_B_TRUE ); task->task->exec_scroll_lock = ( mset->scroll_lock == XSET_B_TRUE ); task->task->exec_checksum = set->plugin; task->task->exec_export = TRUE; //task->task->exec_keep_tmp = TRUE; ptk_file_task_run( task ); } void xset_custom_delete( XSet* set, gboolean delete_next ) { char* cscript; char* path1; char* path2; char* path3; char* command; if ( set->menu_style == XSET_MENU_SUBMENU && set->child ) { XSet* set_child = xset_get( set->child ); xset_custom_delete( set_child, TRUE ); } if ( delete_next && set->next ) { XSet* set_next = xset_get( set->next ); xset_custom_delete( set_next, TRUE ); } if ( set == set_clipboard ) set_clipboard = NULL; cscript = g_strdup_printf( "%s.sh", set->name ); //backwards compat path1 = g_build_filename( settings_config_dir, "scripts", cscript, NULL ); path2 = g_build_filename( settings_config_dir, "scripts", set->name, NULL ); path3 = g_build_filename( settings_config_dir, "plugin-data", set->name, NULL ); if ( g_file_test( path1, G_FILE_TEST_EXISTS ) || g_file_test( path2, G_FILE_TEST_EXISTS ) || g_file_test( path3, G_FILE_TEST_EXISTS ) ) command = g_strdup_printf( "rm -rf %s %s %s", path1, path2, path3 ); else command = NULL; g_free( path1 ); g_free( path2 ); g_free( path3 ); g_free( cscript ); if ( command ) { printf( "COMMAND=%s\n", command ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( command ); } xset_free( set ); } XSet* xset_custom_remove( XSet* set ) { XSet* set_prev; XSet* set_next; XSet* set_parent; XSet* set_child; /* printf("xset_custom_remove %s (%s)\n", set->name, set->menu_label ); printf(" set->parent = %s\n", set->parent ); printf(" set->prev = %s\n", set->prev ); printf(" set->next = %s\n", set->next ); */ if ( set->prev ) { set_prev = xset_get( set->prev ); //printf(" set->prev = %s (%s)\n", set_prev->name, set_prev->menu_label ); if ( set_prev->next ) g_free( set_prev->next ); if ( set->next ) set_prev->next = g_strdup( set->next ); else set_prev->next = NULL; } if ( set->next ) { set_next = xset_get( set->next ); if ( set_next->prev ) g_free( set_next->prev ); if ( set->prev ) set_next->prev = g_strdup( set->prev ); else { set_next->prev = NULL; if ( set->parent ) { set_parent = xset_get( set->parent ); if ( set_parent->child ) g_free( set_parent->child ); set_parent->child = g_strdup( set_next->name ); set_next->parent = g_strdup( set->parent ); } } } if ( !set->prev && !set->next && set->parent ) { set_parent = xset_get( set->parent ); if ( set->tool ) set_child = xset_new_builtin_toolitem( XSET_TOOL_HOME ); else { set_child = xset_custom_new(); set_child->menu_label = g_strdup( _("New _Command") ); } if ( set_parent->child ) g_free( set_parent->child ); set_parent->child = g_strdup( set_child->name ); set_child->parent = g_strdup( set->parent ); return set_child; } return NULL; } #if 0 void xset_custom_insert_before( XSet* target, XSet* set ) { XSet* target_prev; XSet* target_next; XSet* target_parent; if ( !set ) { g_warning( "xset_custom_insert_before set == NULL" ); return; } if ( !target ) { g_warning( "xset_custom_insert_before target_set == NULL" ); return; } if ( target->prev ) { target_prev = xset_get( target->prev ); g_free( set->prev ); g_free( set->next ); set->prev = target->prev; // steal string set->next = target_prev->next; // steal string or NULL // replace stolen strings target->prev = g_strdup( set->name ); target_prev->next = g_strdup( set->name ); if ( set->parent ) { g_free( set->parent ); set->parent = NULL; } } else if ( target->parent ) { // target is first item in submenu target_parent = xset_get( target->parent ); g_free( set->parent ); set->parent = target->parent; // steal string target->parent = NULL; target->prev = g_strdup( set->name ); g_free( set->next ); set->next = target_parent->child; // steal string target_parent->child = g_strdup( set->name ); if ( !set->next ) set->next = g_strdup( target->name ); // failsafe if ( set->prev ) { g_free( set->prev ); set->prev = NULL; } } else { g_warning( "xset_custom_insert_before target has no prev or parent" ); return; } if ( target->tool ) { if ( set->tool < XSET_TOOL_CUSTOM ) set->tool = XSET_TOOL_CUSTOM; } else { if ( set->tool > XSET_TOOL_CUSTOM ) g_warning( "xset_custom_insert_before builtin tool inserted after non-tool" ); set->tool = XSET_TOOL_NOT; } } #endif void xset_custom_insert_after( XSet* target, XSet* set ) { // inserts single set 'set', no next XSet* target_next; if ( !set ) { g_warning( "xset_custom_insert_after set == NULL" ); return; } if ( !target ) { g_warning( "xset_custom_insert_after target == NULL" ); return; } if ( set->parent ) { g_free( set->parent ); set->parent = NULL; } g_free( set->prev ); g_free( set->next ); set->prev = g_strdup( target->name ); set->next = target->next; // steal string if ( target->next ) { target_next = xset_get( target->next ); if ( target_next->prev ) g_free( target_next->prev ); target_next->prev = g_strdup( set->name ); } target->next = g_strdup( set->name ); if ( target->tool ) { if ( set->tool < XSET_TOOL_CUSTOM ) set->tool = XSET_TOOL_CUSTOM; } else { if ( set->tool > XSET_TOOL_CUSTOM ) g_warning( "xset_custom_insert_after builtin tool inserted after non-tool" ); set->tool = XSET_TOOL_NOT; } } gboolean xset_clipboard_in_set( XSet* set ) { // look upward to see if clipboard is in set's tree if ( !set_clipboard || set->lock ) return FALSE; if ( set == set_clipboard ) return TRUE; if ( set->parent ) { XSet* set_parent = xset_get( set->parent ); if ( xset_clipboard_in_set( set_parent ) ) return TRUE; } if ( set->prev ) { XSet* set_prev = xset_get( set->prev ); while ( set_prev ) { if ( set_prev->parent ) { XSet* set_prev_parent = xset_get( set_prev->parent ); if ( xset_clipboard_in_set( set_prev_parent ) ) return TRUE; set_prev = NULL; } else if ( set_prev->prev ) set_prev = xset_get( set_prev->prev ); else set_prev = NULL; } } return FALSE; } XSet* xset_custom_new() { char* setname; XSet* set; setname = xset_custom_new_name(); // create set set = xset_get( setname ); g_free( setname ); set->lock = FALSE; set->keep_terminal = XSET_B_TRUE; set->task = XSET_B_TRUE; set->task_err = XSET_B_TRUE; set->task_out = XSET_B_TRUE; return set; } gboolean have_x_access( const char* path ) { #if defined(HAVE_EUIDACCESS) return ( euidaccess( path, R_OK | X_OK ) == 0 ); #elif defined(HAVE_EACCESS) return ( eaccess( path, R_OK | X_OK ) == 0 ); #else struct stat results; stat( path, &results ); if ( ( results.st_mode & S_IXOTH ) ) return TRUE; if ( ( results.st_mode & S_IXUSR ) && ( geteuid() == results.st_uid ) ) return TRUE; if ( ( results.st_mode & S_IXGRP ) && ( getegid() == results.st_gid ) ) return TRUE; return FALSE; #endif } gboolean have_rw_access( const char* path ) { if ( !path ) return FALSE; #if defined(HAVE_EUIDACCESS) return ( euidaccess( path, R_OK | W_OK ) == 0 ); #elif defined(HAVE_EACCESS) return ( eaccess( path, R_OK | W_OK ) == 0 ); #else struct stat results; stat( path, &results ); if ( ( results.st_mode & S_IROTH ) && ( results.st_mode & S_IWOTH ) ) return TRUE; if ( ( results.st_mode & S_IRUSR ) && ( results.st_mode & S_IWUSR ) && ( geteuid() == results.st_uid ) ) return TRUE; if ( ( results.st_mode & S_IRGRP ) && ( results.st_mode & S_IWGRP ) && ( getegid() == results.st_gid ) ) return TRUE; return FALSE; #endif } gboolean dir_has_files( const char* path ) { GDir* dir; gboolean ret = FALSE; if ( !( path && g_file_test( path, G_FILE_TEST_IS_DIR ) ) ) return FALSE; dir = g_dir_open( path, 0, NULL ); if ( dir ) { if ( g_dir_read_name( dir ) ) ret = TRUE; g_dir_close( dir ); } return ret; } void xset_edit( GtkWidget* parent, const char* path, gboolean force_root, gboolean no_root ) { gboolean as_root = FALSE; gboolean terminal; char* editor; char* quoted_path; GtkWidget* dlgparent = NULL; if ( !path ) return; if ( force_root && no_root ) return; if ( parent ) dlgparent = gtk_widget_get_toplevel( GTK_WIDGET( parent ) ); if ( geteuid() != 0 && !force_root && ( no_root || have_rw_access( path ) ) ) { editor = xset_get_s( "editor" ); if ( !editor || editor[0] == '\0' ) { ptk_show_error( dlgparent ? GTK_WINDOW( dlgparent ) : NULL, _("Editor Not Set"), _("Please set your editor in View|Preferences|Advanced") ); return; } terminal = xset_get_b( "editor" ); } else { editor = xset_get_s( "root_editor" ); if ( !editor || editor[0] == '\0' ) { ptk_show_error( dlgparent ? GTK_WINDOW( dlgparent ) : NULL, _("Root Editor Not Set"), _("Please set root's editor in View|Preferences|Advanced") ); return; } as_root = TRUE; terminal = xset_get_b( "root_editor" ); } // replacements quoted_path = bash_quote( path ); if ( strstr( editor, "%f" ) ) editor = replace_string( editor, "%f", quoted_path, FALSE ); else if ( strstr( editor, "%F" ) ) editor = replace_string( editor, "%F", quoted_path, FALSE ); else if ( strstr( editor, "%u" ) ) editor = replace_string( editor, "%u", quoted_path, FALSE ); else if ( strstr( editor, "%U" ) ) editor = replace_string( editor, "%U", quoted_path, FALSE ); else editor = g_strdup_printf( "%s %s", editor, quoted_path ); g_free( quoted_path ); // task char* task_name = g_strdup_printf( _("Edit %s"), path ); char* cwd = g_path_get_dirname( path ); PtkFileTask* task = ptk_file_exec_new( task_name, cwd, dlgparent, NULL ); g_free( task_name ); g_free( cwd ); task->task->exec_command = editor; task->task->exec_sync = FALSE; task->task->exec_terminal = terminal; if ( as_root ) task->task->exec_as_user = g_strdup_printf( "root" ); ptk_file_task_run( task ); } void xset_open_url( GtkWidget* parent, const char* url ) { const char* browser; char* command = NULL; if ( !url ) url = homepage; browser = xset_get_s( "main_help_browser" ); if ( browser ) { if ( strstr( browser, "%u" ) ) command = replace_string( browser, "%u", url, TRUE ); else command = g_strdup_printf( "%s '%s'", browser, url ); } else { browser = g_getenv( "BROWSER" ); if ( browser && browser[0] != '\0' ) command = g_strdup_printf( "%s '%s'", browser, url ); else { int ii = 0; char* program; if ( g_str_has_prefix( url, "file://" ) || g_str_has_prefix( url, "/" ) ) ii = 3; // xdg,gnome,exo-open use editor for html files so skip at start char* programs[] = { "xdg-open", "gnome-open", "exo-open", "firefox", "iceweasel", "arora", "konqueror", "opera", "epiphany", "midori", "chrome", "xdg-open", "gnome-open", "exo-open" }; int i; for( i = ii; i < G_N_ELEMENTS(programs); ++i) { if ( ( program = g_find_program_in_path( programs[i] ) ) ) { command = g_strdup_printf( "%s '%s'", program, url ); g_free( program ); break; } } } } if ( !command ) { XSet* set = xset_get( "main_help_browser" ); if ( !xset_text_dialog( parent, set->title, NULL, TRUE, set->desc, NULL, set->s, &set->s, NULL, FALSE, NULL ) || !set->s ) return; xset_open_url( parent, url ); return; } // task PtkFileTask* task = ptk_file_exec_new( "Open URL", "/", parent, NULL ); task->task->exec_command = command; task->task->exec_sync = FALSE; task->task->exec_export = FALSE; ptk_file_task_run( task ); } char* xset_get_manual_url() { char* path; char* url; url = xset_get_s( "main_help_url" ); if ( url ) { if ( url[0] == '/' ) return g_strdup_printf( "file://%s", url ); return g_strdup( url ); } // get user's locale const char* locale = NULL; const char* const * langs = g_get_language_names(); char* dot = strchr( langs[0], '.' ); if( dot ) locale = g_strndup( langs[0], (size_t)(dot - langs[0]) ); else locale = langs[0]; if ( !locale || locale[0] == '\0' ) locale = "en"; char* l = g_strdup( locale ); char* ll = strchr( l, '_' ); if ( ll ) ll[0] = '\0'; // get potential filenames GList* names = NULL; if ( locale && locale[0] != '\0' ) names = g_list_append( names, g_strdup_printf( "spacefm-manual-%s.html", locale ) ); if ( l && l[0] != '\0' && g_strcmp0( l, locale ) ) names = g_list_append( names, g_strdup_printf( "spacefm-manual-%s.html", l ) ); if ( g_strcmp0( l, "en" ) ) names = g_list_append( names, g_strdup( "spacefm-manual-en.html" ) ); names = g_list_append( names, g_strdup( "spacefm-manual.html" ) ); g_free( l ); // get potential locations GList* locations = NULL; if ( HTMLDIR ) locations = g_list_append( locations, g_strdup( HTMLDIR ) ); if ( DATADIR ) locations = g_list_append( locations, g_build_filename( DATADIR, "spacefm", NULL ) ); const gchar* const * dir = g_get_system_data_dirs(); for( ; *dir; ++dir ) { path = g_build_filename( *dir, "spacefm", NULL ); if ( !g_list_find_custom( locations, path, (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, path ); else g_free( path ); } if ( !g_list_find_custom( locations, "/usr/local/share/spacefm", (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, g_strdup( "/usr/local/share/spacefm" ) ); if ( !g_list_find_custom( locations, "/usr/share/spacefm", (GCompareFunc)g_strcmp0 ) ) locations = g_list_append( locations, g_strdup( "/usr/share/spacefm" ) ); GList* loc; GList* ln; for ( loc = locations; loc && !url; loc = loc->next ) { for ( ln = names; ln; ln = ln->next ) { path = g_build_filename( (char*)loc->data, (char*)ln->data, NULL ); if ( g_file_test( path, G_FILE_TEST_EXISTS ) ) { url = path; break; } g_free( path ); } } g_list_foreach( names, (GFunc)g_free, NULL ); g_list_foreach( locations, (GFunc)g_free, NULL ); g_list_free( names ); g_list_free( locations ); if ( !url ) return NULL; path = g_strdup_printf( "file://%s", url ); g_free( url ); return path; } void xset_show_help( GtkWidget* parent, XSet* set, const char* anchor ) { GtkWidget* dlgparent = NULL; char* url; char* manual = NULL; if ( parent ) dlgparent = parent; else if ( set ) dlgparent = set->browser ? GTK_WIDGET( set->browser ) : GTK_WIDGET( set->desktop ); if ( !set || ( set && set->lock ) ) { manual = xset_get_manual_url(); if ( !manual ) { if ( xset_msg_dialog( dlgparent, GTK_MESSAGE_QUESTION, _("User's Manual Not Found"), NULL, GTK_BUTTONS_YES_NO, _("Read the user's manual online?\n\nThe local copy of the SpaceFM user's manual was not found. Click Yes to read it online, or click No and then set the correct location in Help|Options|Manual Location."), NULL, NULL ) != GTK_RESPONSE_YES ) return; manual = g_strdup( user_manual_url ); xset_set( "main_help_url", "s", manual ); } } if ( set ) { if ( set->lock ) { // built-in command if ( set->line ) { url = g_strdup_printf( "%s%s", manual, set->line ); xset_open_url( dlgparent, url ); g_free( url ); } else { g_free( manual ); return; } } else { // custom command or plugin url = xset_custom_get_help( dlgparent, set ); if ( url ) xset_edit( dlgparent, url, FALSE, TRUE ); g_free( url ); return; } } else if ( anchor ) { url = g_strdup_printf( "%s%s", manual, anchor ); xset_open_url( dlgparent, url ); g_free( url ); } else // just show the manual xset_open_url( dlgparent, manual ); if ( manual ) g_free( manual ); if ( !xset_get_b( "main_help" ) ) { xset_msg_dialog( dlgparent, 0, _("Manual Opened ?"), NULL, 0, _("The SpaceFM user's manual should have opened in your browser. If it didn't open, or if you would like to use a different browser, set your browser in Help|Options|Browser.\n\nThis message will not repeat."), NULL, NULL ); xset_set_b( "main_help", TRUE ); } } char* xset_get_keyname( XSet* set, int key_val, int key_mod ) { int keyval, keymod; if ( set ) { keyval = set->key; keymod = set->keymod; } else { keyval = key_val; keymod = key_mod; } if ( keyval <= 0 ) return g_strdup( _("( none )") ); char* mod = g_strdup( gdk_keyval_name( keyval ) ); if ( mod && mod[0] && !mod[1] && g_ascii_isalpha( mod[0] ) ) mod[0] = g_ascii_toupper( mod[0] ); else if ( !mod ) mod = g_strdup( "NA" ); char* str; if ( keymod ) { if ( keymod & GDK_SUPER_MASK ) { str = mod; mod = g_strdup_printf( "Super+%s", str ); g_free( str ); } if ( keymod & GDK_HYPER_MASK ) { str = mod; mod = g_strdup_printf( "Hyper+%s", str ); g_free( str ); } if ( keymod & GDK_META_MASK ) { str = mod; mod = g_strdup_printf( "Meta+%s", str ); g_free( str ); } if ( keymod & GDK_MOD1_MASK ) { str = mod; mod = g_strdup_printf( "Alt+%s", str ); g_free( str ); } if ( keymod & GDK_CONTROL_MASK ) { str = mod; mod = g_strdup_printf( "Ctrl+%s", str ); g_free( str ); } if ( keymod & GDK_SHIFT_MASK ) { str = mod; mod = g_strdup_printf( "Shift+%s", str ); g_free( str ); } } return mod; } gboolean on_set_key_keypress( GtkWidget *widget, GdkEventKey *event, GtkWidget* dlg ) { GList* l; int* newkey = (int*)g_object_get_data( G_OBJECT(dlg), "newkey" ); int* newkeymod = (int*)g_object_get_data( G_OBJECT(dlg), "newkeymod" ); GtkWidget* btn = (GtkWidget*)g_object_get_data( G_OBJECT(dlg), "btn" ); XSet* set = (XSet*)g_object_get_data( G_OBJECT(dlg), "set" ); XSet* set2; XSet* keyset = NULL; char* keyname; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( !event->keyval ) // || ( event->keyval < 1000 && !keymod ) ) { *newkey = 0; *newkeymod = 0; gtk_widget_set_sensitive( btn, FALSE ); gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dlg ), NULL ); return TRUE; } gtk_widget_set_sensitive( btn, TRUE ); if ( *newkey != 0 && keymod == 0 ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { // user pressed Enter after selecting a key, so click Set gtk_button_clicked( GTK_BUTTON( btn ) ); return TRUE; } else if ( event->keyval == GDK_KEY_Escape && *newkey == GDK_KEY_Escape ) { // user pressed Escape twice so click Unset GtkWidget* btn_unset = (GtkWidget*)g_object_get_data( G_OBJECT(dlg), "btn_unset" ); gtk_button_clicked( GTK_BUTTON( btn_unset ) ); return TRUE; } } // need to transpose nonlatin keyboard layout ? guint nonlatin_key = 0; if ( !( ( GDK_KEY_0 <= event->keyval && event->keyval <= GDK_KEY_9 ) || ( GDK_KEY_A <= event->keyval && event->keyval <= GDK_KEY_Z ) || ( GDK_KEY_a <= event->keyval && event->keyval <= GDK_KEY_z ) ) ) { nonlatin_key = event->keyval; transpose_nonlatin_keypress( event ); } *newkey = 0; *newkeymod = 0; if ( set->shared_key ) keyset = xset_get( set->shared_key ); for ( l = xsets; l; l = l->next ) { set2 = l->data; if ( set2 && set2 != set && set2->key > 0 && set2->key == event->keyval && set2->keymod == keymod && set2 != keyset ) { char* name; if ( set2->desc && !strcmp( set2->desc, "@plugin@mirror@" ) && set2->shared_key ) { // set2 is plugin mirror XSet* rset = xset_get( set2->shared_key ); if ( rset->menu_label ) name = clean_label( rset->menu_label, FALSE, FALSE ); else name = g_strdup( "( no name )" ); } else if ( set2->menu_label ) name = clean_label( set2->menu_label, FALSE, FALSE ); else name = g_strdup( "( no name )" ); keyname = xset_get_keyname( NULL, event->keyval, keymod ); if ( nonlatin_key == 0 ) gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dlg ), _("\t%s\n\tKeycode: %#4x Modifier: %#x\n\n%s is already assigned to '%s'.\n\nPress a different key or click Set to replace the current key assignment."), keyname, event->keyval, keymod, keyname, name ); else gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dlg ), _("\t%s\n\tKeycode: %#4x [%#4x] Modifier: %#x\n\n%s is already assigned to '%s'.\n\nPress a different key or click Set to replace the current key assignment."), keyname, event->keyval, nonlatin_key, keymod, keyname, name ); g_free( name ); g_free( keyname ); *newkey = event->keyval; *newkeymod = keymod; return TRUE; } } keyname = xset_get_keyname( NULL, event->keyval, keymod ); gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dlg ), _("\t%s\n\tKeycode: %#4x Modifier: %#x"), keyname, event->keyval, keymod ); g_free( keyname ); *newkey = event->keyval; *newkeymod = keymod; return TRUE; } void xset_set_key( GtkWidget* parent, XSet* set ) { char* name; char* keymsg; XSet* keyset; int newkey = 0, newkeymod = 0; GtkWidget* dlgparent = NULL; if ( set->menu_label ) name = clean_label( set->menu_label, FALSE, TRUE ); else if ( set->tool > XSET_TOOL_CUSTOM ) name = g_strdup( xset_get_builtin_toolitem_label( set->tool ) ); else if ( g_str_has_prefix( set->name, "open_all_type_" ) ) { keyset = xset_get( "open_all" ); name = clean_label( keyset->menu_label, FALSE, TRUE ); if ( set->shared_key ) g_free( set->shared_key ); set->shared_key = g_strdup( "open_all" ); } else name = g_strdup( "( no name )" ); keymsg = g_strdup_printf( _("Press your key combination for item '%s' then click Set. To remove the current key assignment, click Unset."), name ); g_free( name ); if ( parent ) dlgparent = gtk_widget_get_toplevel( parent ); GtkWidget* dlg = gtk_message_dialog_new_with_markup( dlgparent ? GTK_WINDOW( dlgparent ) : NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, keymsg, NULL ); xset_set_window_icon( GTK_WINDOW( dlg ) ); GtkWidget* btn_cancel = gtk_button_new_from_stock( GTK_STOCK_CANCEL ); gtk_button_set_label( GTK_BUTTON( btn_cancel ), _("Cancel") ); gtk_button_set_image( GTK_BUTTON( btn_cancel ), xset_get_image( "GTK_STOCK_CANCEL", GTK_ICON_SIZE_BUTTON ) ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_cancel, GTK_RESPONSE_CANCEL); GtkWidget* btn_unset = gtk_button_new_from_stock( GTK_STOCK_NO ); gtk_button_set_label( GTK_BUTTON( btn_unset ), _("Unset") ); gtk_button_set_image( GTK_BUTTON( btn_unset ), xset_get_image( "GTK_STOCK_REMOVE", GTK_ICON_SIZE_BUTTON ) ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_unset, GTK_RESPONSE_NO); if ( set->shared_key ) keyset = xset_get( set->shared_key ); else keyset = set; if ( keyset->key <= 0 ) gtk_widget_set_sensitive( btn_unset, FALSE ); GtkWidget* btn = gtk_button_new_from_stock( GTK_STOCK_APPLY ); gtk_button_set_label( GTK_BUTTON( btn ), _("Set") ); gtk_button_set_image( GTK_BUTTON( btn ), xset_get_image( "GTK_STOCK_YES", GTK_ICON_SIZE_BUTTON ) ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn, GTK_RESPONSE_OK); gtk_widget_set_sensitive( btn, FALSE ); g_object_set_data( G_OBJECT(dlg), "set", set ); g_object_set_data( G_OBJECT(dlg), "newkey", &newkey ); g_object_set_data( G_OBJECT(dlg), "newkeymod", &newkeymod ); g_object_set_data( G_OBJECT(dlg), "btn", btn ); g_object_set_data( G_OBJECT(dlg), "btn_unset", btn_unset ); g_signal_connect ( dlg, "key_press_event", G_CALLBACK ( on_set_key_keypress ), dlg ); gtk_widget_show_all( dlg ); gtk_window_set_title( GTK_WINDOW( dlg ), _("Set Key") ); int response = gtk_dialog_run( GTK_DIALOG( dlg ) ); gtk_widget_destroy( dlg ); if ( response == GTK_RESPONSE_OK || response == GTK_RESPONSE_NO ) { if ( response == GTK_RESPONSE_OK && ( newkey || newkeymod ) ) { // clear duplicate key assignments GList* l; XSet* set2; for ( l = xsets; l; l = l->next ) { set2 = l->data; if ( set2 && set2->key > 0 && set2->key == newkey && set2->keymod == newkeymod ) { set2->key = 0; set2->keymod = 0; } } } else if ( response == GTK_RESPONSE_NO ) { newkey = -1; // unset newkeymod = 0; } // plugin? set shared_key to mirror if not if ( set->plugin && !set->shared_key ) xset_get_plugin_mirror( set ); // set new key if ( set->shared_key ) keyset = xset_get( set->shared_key ); else keyset = set; keyset->key = newkey; keyset->keymod = newkeymod; } } void xset_design_job( GtkWidget* item, XSet* set ) { char* keymsg; GtkWidget* vbox; int newkey = 0, newkeymod = 0; XSet* keyset; XSet* newset; XSet* mset; XSet* childset; XSet* set_next; char* msg; int response; char* folder; char* file; char* custom_file; char* cscript; char* name; char* prog; char* command; int buttons; GtkWidget* dlgparent = NULL; GtkWidget* dlg; GtkClipboard* clip; GtkWidget* parent = NULL; gboolean update_toolbars = FALSE; parent = gtk_widget_get_toplevel( set->browser ? GTK_WIDGET( set->browser ) : GTK_WIDGET( set->desktop ) ); int job = GPOINTER_TO_INT( g_object_get_data( G_OBJECT(item), "job" ) ); int cmd_type = xset_get_int_set( set, "x" ); //printf("activate job %d %s\n", job, set->name); switch ( job ) { case XSET_JOB_KEY: xset_set_key( parent, set ); break; case XSET_JOB_ICON: mset = xset_get_plugin_mirror( set ); char* old_icon = g_strdup( mset->icon ); // Note: xset_text_dialog uses the title passed to know this is an // icon chooser, so it adds a Choose button. If you change the title, // change xset_text_dialog. xset_text_dialog( parent, _("Set Icon"), NULL, FALSE, _(icon_desc), NULL, mset->icon, &mset->icon, NULL, FALSE, "#designmode-designmenu-icon" ); if ( set->lock && set->keep_terminal == XSET_B_UNSET && g_strcmp0( old_icon, mset->icon ) ) { // built-in icon has been changed from default, save it set->keep_terminal = XSET_B_TRUE; } g_free( old_icon ); break; case XSET_JOB_LABEL: /* unused - note that this does not accommodate in_terminal indicator if ( g_str_has_prefix( set->name, "open_all_type_" ) ) keyset = xset_get( "open_all" ); else keyset = set; xset_text_dialog( parent, _("Change Menu Name"), NULL, FALSE, _(enter_menu_name), NULL, keyset->menu_label, &keyset->menu_label, NULL, FALSE, "#designmode-designmenu-name" ); */ break; case XSET_JOB_EDIT: if ( cmd_type == XSET_CMD_SCRIPT ) { // script cscript = xset_custom_get_script( set, !set->plugin ); if ( !cscript ) break; xset_edit( parent, cscript, FALSE, TRUE ); g_free( cscript ); } break; case XSET_JOB_EDIT_ROOT: if ( cmd_type == XSET_CMD_SCRIPT ) { // script cscript = xset_custom_get_script( set, !set->plugin ); if ( !cscript ) break; xset_edit( parent, cscript, TRUE, FALSE ); g_free( cscript ); } break; case XSET_JOB_COPYNAME: clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); if ( cmd_type == XSET_CMD_LINE ) { // line gtk_clipboard_set_text ( clip, set->line , -1 ); } else if ( cmd_type == XSET_CMD_SCRIPT ) { // script cscript = xset_custom_get_script( set, TRUE ); if ( !cscript ) break; gtk_clipboard_set_text ( clip, cscript , -1 ); g_free( cscript ); } else if ( cmd_type == XSET_CMD_APP ) { // custom gtk_clipboard_set_text ( clip, set->z , -1 ); } break; case XSET_JOB_LINE: if ( xset_text_dialog( parent, _("Edit Command Line"), NULL, TRUE, _(enter_command_line), NULL, set->line, &set->line, NULL, FALSE, "#designmode-command-line" ) ) xset_set_set( set, "x", "0" ); break; case XSET_JOB_SCRIPT: xset_set_set( set, "x", "1" ); cscript = xset_custom_get_script( set, TRUE ); if ( !cscript ) break; xset_edit( parent, cscript, FALSE, FALSE ); g_free( cscript ); break; case XSET_JOB_CUSTOM: _XSET_JOB_CUSTOM: if ( set->z && set->z[0] != '\0' ) { folder = g_path_get_dirname( set->z ); file = g_path_get_basename( set->z ); } else { folder = g_strdup_printf( "/usr/bin" ); file = NULL; } if ( custom_file = xset_file_dialog( parent, GTK_FILE_CHOOSER_ACTION_OPEN, _("Choose Custom Executable"), folder, file ) ) { xset_set_set( set, "x", "2" ); xset_set_set( set, "z", custom_file ); g_free( custom_file ); } g_free( file ); g_free( folder ); break; case XSET_JOB_USER: if ( !set->plugin ) xset_text_dialog( parent, _("Run As User"), NULL, FALSE, _("Run this command as username:\n\n( Leave blank for current user )"), NULL, set->y, &set->y, NULL, FALSE, "#designmode-command-user" ); break; case XSET_JOB_BOOKMARK: case XSET_JOB_APP: case XSET_JOB_COMMAND: if ( g_str_has_prefix( set->name, "open_all_type_" ) ) { name = set->name + 14; msg = g_strdup_printf( _("You are adding a custom command to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n\nAdd commands or menus here which you only want to appear for this one MIME type."), name[0] == '\0' ? "(none)" : name ); if ( xset_msg_dialog( parent, 0, _("New Context Command"), NULL, GTK_BUTTONS_OK_CANCEL, msg, NULL, NULL ) != GTK_RESPONSE_OK ) { g_free( msg ); break; } g_free( msg ); } if ( job == XSET_JOB_COMMAND ) { name = g_strdup_printf( _("New _Command") ); if ( !xset_text_dialog( parent, _("Set Item Name"), NULL, FALSE, _(enter_menu_name_new), NULL, name, &name, NULL, FALSE, "#designmode-designmenu-new" ) ) { g_free( name ); break; } file = NULL; } else if ( job == XSET_JOB_APP ) { VFSMimeType* mime_type = vfs_mime_type_get_from_type( xset_context && xset_context->var[CONTEXT_MIME] && xset_context->var[CONTEXT_MIME][0] ? xset_context->var[CONTEXT_MIME] : XDG_MIME_TYPE_UNKNOWN ); file = (char*)ptk_choose_app_for_mime_type( GTK_WINDOW( parent ), mime_type, TRUE, FALSE, FALSE, FALSE ); vfs_mime_type_unref( mime_type ); if ( !( file && file[0] ) ) { g_free( file ); break; } name = NULL; } else if ( job == XSET_JOB_BOOKMARK ) { if ( set->browser ) folder = (char*)ptk_file_browser_get_cwd( set->browser ); else folder = NULL; file = xset_file_dialog( parent, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _("Choose Folder"), folder, NULL ); if ( !( file && file[0] ) ) { g_free( file ); break; } name = g_path_get_basename( file ); } // add new menu item newset = xset_custom_new(); xset_custom_insert_after( set, newset ); newset->z = file; newset->menu_label = name; newset->browser = set->browser; newset->desktop = set->desktop; if ( job == XSET_JOB_COMMAND ) xset_item_prop_dlg( xset_context, newset, 2 ); else if ( job == XSET_JOB_APP ) { g_free( newset->x ); newset->x = g_strdup( "2" ); // XSET_CMD_APP // unset these to save session space newset->task = newset->task_err = newset->task_out = newset->keep_terminal = XSET_B_UNSET; } else if ( job == XSET_JOB_BOOKMARK ) { g_free( newset->x ); newset->x = g_strdup( "3" ); // XSET_CMD_BOOKMARK // unset these to save session space newset->task = newset->task_err = newset->task_out = newset->keep_terminal = XSET_B_UNSET; } main_window_bookmark_changed( newset->name ); break; case XSET_JOB_SUBMENU: case XSET_JOB_SUBMENU_BOOK: if ( g_str_has_prefix( set->name, "open_all_type_" ) ) { name = set->name + 14; msg = g_strdup_printf( _("You are adding a custom submenu to the Default menu item. This item will automatically have a pre-context - it will only appear when the MIME type of the first selected file matches the current type '%s'.\n\nAdd commands or menus here which you only want to appear for this one MIME type."), name[0] == '\0' ? _("(none)") : name ); if ( xset_msg_dialog( parent, 0, "New Context Submenu", NULL, GTK_BUTTONS_OK_CANCEL, msg, NULL, NULL ) != GTK_RESPONSE_OK ) { g_free( msg ); break; } g_free( msg ); } name = NULL; if ( !xset_text_dialog( parent, _("Set Submenu Name"), NULL, FALSE, _("Enter submenu name:\n\nPrecede a character with an underscore (_) to underline that character as a shortcut key if desired."), NULL, _("New _Submenu"), &name, NULL, FALSE, "#designmode-designmenu-name" ) || !name ) break; // add new submenu newset = xset_custom_new(); newset->menu_label = name; newset->menu_style = XSET_MENU_SUBMENU; xset_custom_insert_after( set, newset ); // add submenu child childset = xset_custom_new(); newset->child = g_strdup( childset->name ); childset->parent = g_strdup( newset->name ); if ( job == XSET_JOB_SUBMENU_BOOK || xset_is_main_bookmark( set ) ) { // adding new submenu from a bookmark - fill with bookmark folder = set->browser ? (char*)ptk_file_browser_get_cwd( set->browser ) : (char*)vfs_get_desktop_dir(); childset->menu_label = g_path_get_basename( folder ); childset->z = g_strdup( folder ); childset->x = g_strdup_printf( "%d", XSET_CMD_BOOKMARK ); childset->task = childset->task_err = childset->task_out = childset->keep_terminal = XSET_B_UNSET; } else childset->menu_label = g_strdup_printf( _("New _Command") ); main_window_bookmark_changed( newset->name ); break; case XSET_JOB_SEP: newset = xset_custom_new(); newset->menu_style = XSET_MENU_SEP; xset_custom_insert_after( set, newset ); main_window_bookmark_changed( newset->name ); break; case XSET_JOB_ADD_TOOL: job = GPOINTER_TO_INT( g_object_get_data( G_OBJECT( item ), "tool_type" ) ); if ( job < XSET_TOOL_DEVICES || job >= XSET_TOOL_INVALID || !set->tool ) break; newset = xset_new_builtin_toolitem( job ); if ( newset ) xset_custom_insert_after( set, newset ); break; case XSET_JOB_IMPORT_FILE: case XSET_JOB_IMPORT_URL: if ( job == XSET_JOB_IMPORT_FILE ) { // get file path XSet* save = xset_get( "plug_ifile" ); if ( save->s ) //&& g_file_test( save->s, G_FILE_TEST_IS_DIR ) folder = save->s; else { if ( !( folder = xset_get_s( "go_set_default" ) ) ) folder = "/"; } file = xset_file_dialog( GTK_WIDGET( parent ), GTK_FILE_CHOOSER_ACTION_OPEN, _("Choose Plugin File"), folder, NULL ); if ( !file ) break; if ( save->s ) g_free( save->s ); save->s = g_path_get_dirname( file ); } else { // Get URL file = NULL; if ( !xset_text_dialog( GTK_WIDGET( parent ), _("Enter Plugin URL"), NULL, FALSE, _("Enter SpaceFM Plugin URL:\n\n(wget will be used to download the plugin file)"), NULL, NULL, &file, NULL, FALSE, "#designmode-designmenu-import" ) || !file || file[0] == '\0' ) break; } // Make Plugin Dir const char* user_tmp = xset_get_user_tmp_dir(); if ( !user_tmp ) { xset_msg_dialog( GTK_WIDGET( parent ), GTK_MESSAGE_ERROR, _("Error Creating Temp Directory"), NULL, 0, _("Unable to create temporary directory"), NULL, NULL ); g_free( file ); break; } char* hex8; folder = NULL; while ( !folder || ( folder && g_file_test( folder, G_FILE_TEST_EXISTS ) ) ) { hex8 = randhex8(); if ( folder ) g_free( folder ); folder = g_build_filename( user_tmp, hex8, NULL ); g_free( hex8 ); } install_plugin_file( set->browser ? set->browser->main_window : NULL, NULL, file, folder, job == XSET_JOB_IMPORT_FILE ? 0 : 1, PLUGIN_JOB_COPY, set ); g_free( file ); g_free( folder ); break; case XSET_JOB_IMPORT_GTK: // both GTK2 and GTK3 now use new location? file = g_build_filename( g_get_user_config_dir(), "gtk-3.0", "bookmarks", NULL ); if ( !( file && g_file_test( file, G_FILE_TEST_EXISTS ) ) ) file = g_build_filename( g_get_home_dir(), ".gtk-bookmarks", NULL ); msg = g_strdup_printf( _("GTK bookmarks (%s) will be imported into the current or selected submenu. Note that importing large numbers of bookmarks (eg more than 500) may impact performance."), file ); if ( xset_msg_dialog( parent, GTK_MESSAGE_QUESTION, _( "Import GTK Bookmarks" ), NULL, GTK_BUTTONS_OK_CANCEL, msg, NULL, NULL ) != GTK_RESPONSE_OK ) { g_free( msg ); break; } g_free( msg ); ptk_bookmark_view_import_gtk( file, set ); g_free( file ); break; case XSET_JOB_CUT: set_clipboard = set; clipboard_is_cut = TRUE; break; case XSET_JOB_COPY: set_clipboard = set; clipboard_is_cut = FALSE; // if copy bookmark, put target on real clipboard if ( !set->lock && set->z && set->menu_style < XSET_MENU_SUBMENU && xset_get_int_set( set, "x" ) == XSET_CMD_BOOKMARK ) { clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); gtk_clipboard_set_text ( clip, set->z , -1 ); clip = gtk_clipboard_get( GDK_SELECTION_PRIMARY ); gtk_clipboard_set_text ( clip, set->z , -1 ); } break; case XSET_JOB_PASTE: if ( !set_clipboard ) break; if ( set_clipboard->tool > XSET_TOOL_CUSTOM && !set->tool ) // failsafe - disallow pasting a builtin tool to a menu break; if ( clipboard_is_cut ) { update_toolbars = set_clipboard->tool != XSET_TOOL_NOT; if ( !update_toolbars && set_clipboard->parent ) { newset = xset_get( set_clipboard->parent ); if ( newset->tool ) // we are cutting the first item in a tool submenu update_toolbars = TRUE; } xset_custom_remove( set_clipboard ); xset_custom_insert_after( set, set_clipboard ); main_window_bookmark_changed( set_clipboard->name ); set_clipboard = NULL; if ( !set->lock ) { // update parent for bookmarks newset = set; while ( newset->prev ) newset = xset_get( newset->prev ); if ( newset->parent ) main_window_bookmark_changed( newset->parent ); } } else { newset = xset_custom_copy( set_clipboard, FALSE, FALSE ); xset_custom_insert_after( set, newset ); main_window_bookmark_changed( newset->name ); } break; case XSET_JOB_REMOVE: case XSET_JOB_REMOVE_BOOK: if ( set->plugin ) { xset_remove_plugin( parent, set->browser, set ); break; } if ( set->menu_label && set->menu_label[0] ) name = clean_label( set->menu_label, FALSE, FALSE ); else { if ( !set->lock && set->z && set->menu_style < XSET_MENU_SUBMENU && ( cmd_type == XSET_CMD_BOOKMARK || cmd_type == XSET_CMD_APP ) ) name = g_strdup( set->z ); else name = g_strdup( _("( no name )") ); } if ( set->child && set->menu_style == XSET_MENU_SUBMENU ) { msg = g_strdup_printf( _("Permanently remove the '%s' SUBMENU AND ALL ITEMS WITHIN IT?\n\nThis action will delete all settings and files associated with these items."), name ); buttons = GTK_BUTTONS_YES_NO; } else { msg = g_strdup_printf( _("Permanently remove the '%s' item?\n\nThis action will delete all settings and files associated with this item."), name ); buttons = GTK_BUTTONS_OK_CANCEL; } g_free( name ); gboolean is_bookmark_or_app = !set->lock && set->menu_style < XSET_MENU_SUBMENU && ( cmd_type == XSET_CMD_BOOKMARK || cmd_type == XSET_CMD_APP ) && set->tool <= XSET_TOOL_CUSTOM; if ( set->menu_style != XSET_MENU_SEP && !app_settings.no_confirm && !is_bookmark_or_app && set->tool <= XSET_TOOL_CUSTOM ) { if ( parent ) dlgparent = gtk_widget_get_toplevel( parent ); dlg = gtk_message_dialog_new( GTK_WINDOW( dlgparent ), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, buttons, msg, NULL ); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_window_set_title( GTK_WINDOW( dlg ), _("Confirm Remove") ); gtk_widget_show_all( dlg ); response = gtk_dialog_run( GTK_DIALOG( dlg ) ); gtk_widget_destroy( dlg ); if ( response != GTK_RESPONSE_OK && response != GTK_RESPONSE_YES ) break; } g_free( msg ); // remove name = g_strdup( set->name ); prog = g_strdup( set->parent ); if ( job == XSET_JOB_REMOVE && set->parent /* maybe only item in sub */ && xset_is_main_bookmark( set ) ) job = XSET_JOB_REMOVE_BOOK; if ( set->parent && ( set_next = xset_is( set->parent ) ) && set_next->tool == XSET_TOOL_CUSTOM && set_next->menu_style == XSET_MENU_SUBMENU ) // this set is first item in custom toolbar submenu update_toolbars = TRUE; childset = xset_custom_remove( set ); if ( childset && job == XSET_JOB_REMOVE_BOOK ) { // added a new default item to submenu from a bookmark folder = set->browser ? (char*)ptk_file_browser_get_cwd( set->browser ) : (char*)vfs_get_desktop_dir(); g_free( childset->menu_label ); childset->menu_label = g_path_get_basename( folder ); childset->z = g_strdup( folder ); childset->x = g_strdup_printf( "%d", XSET_CMD_BOOKMARK ); childset->task = childset->task_err = childset->task_out = childset->keep_terminal = XSET_B_UNSET; } else if ( set->tool ) { update_toolbars = TRUE; g_free( name ); g_free( prog ); name = prog = NULL; } else { g_free( prog ); prog = NULL; } xset_custom_delete( set, FALSE ); set = NULL; if ( prog ) main_window_bookmark_changed( prog ); else if ( name ) main_window_bookmark_changed( name ); g_free( name ); g_free( prog ); break; case XSET_JOB_EXPORT: if ( ( !set->lock || !g_strcmp0( set->name, "main_book" ) ) && set->tool <= XSET_TOOL_CUSTOM ) xset_custom_export( parent, set->browser, set ); break; case XSET_JOB_NORMAL: set->menu_style = XSET_MENU_NORMAL; break; case XSET_JOB_CHECK: set->menu_style = XSET_MENU_CHECK; break; case XSET_JOB_CONFIRM: if ( !set->desc ) set->desc = g_strdup( _("Are you sure?") ); if ( xset_text_dialog( parent, _("Dialog Message"), NULL, TRUE, _("Enter the message to be displayed in this dialog:\n\nUse:\n\t\\n\tnewline\n\t\\t\ttab"), NULL, set->desc, &set->desc, NULL, FALSE, "#designmode-style-input" ) ) set->menu_style = XSET_MENU_CONFIRM; break; case XSET_JOB_DIALOG: if ( xset_text_dialog( parent, _("Dialog Message"), NULL, TRUE, _("Enter the message to be displayed in this dialog:\n\nUse:\n\t\\n\tnewline\n\t\\t\ttab"), NULL, set->desc, &set->desc, NULL, FALSE, "#designmode-style-input" ) ) set->menu_style = XSET_MENU_STRING; break; case XSET_JOB_MESSAGE: xset_text_dialog( parent, _("Dialog Message"), NULL, TRUE, _("Enter the message to be displayed in this dialog:\n\nUse:\n\t\\n\tnewline\n\t\\t\ttab"), NULL, set->desc, &set->desc, NULL, FALSE, "#designmode-style-message" ); break; case XSET_JOB_PROP: xset_item_prop_dlg( xset_context, set, 0 ); break; case XSET_JOB_PROP_CMD: xset_item_prop_dlg( xset_context, set, 2 ); break; case XSET_JOB_IGNORE_CONTEXT: xset_set_b( "context_dlg", !xset_get_b( "context_dlg" ) ); break; case XSET_JOB_HELP_BOOK: case XSET_JOB_HELP: if ( parent ) dlgparent = gtk_widget_get_toplevel( parent ); // is a bookmark or app? if ( !set->lock && set->menu_style < XSET_MENU_SUBMENU && ( cmd_type == XSET_CMD_BOOKMARK || cmd_type == XSET_CMD_APP ) ) { // is a bookmark or app so show manual xset_show_help( dlgparent, NULL, job == XSET_JOB_HELP_BOOK ? "#gui-book" : "#designmode" ); } else if ( set->tool > XSET_TOOL_CUSTOM ) { // is a builtin tool item so show manual xset_show_help( dlgparent, NULL, "#designmode-toolbars" ); } else // show set-specific help xset_show_help( dlgparent, set, NULL ); break; case XSET_JOB_BROWSE_FILES: if ( set->tool > XSET_TOOL_CUSTOM ) break; if ( set->plugin ) { folder = g_build_filename( set->plug_dir, "files", NULL ); if ( !g_file_test( folder, G_FILE_TEST_EXISTS ) ) { g_free( folder ); folder = g_build_filename( set->plug_dir, set->plug_name, NULL ); } } else { cscript = xset_custom_get_script( set, FALSE ); //backwards compat copy if ( cscript ) g_free( cscript ); folder = g_build_filename( settings_config_dir, "scripts", set->name, NULL ); } if ( !g_file_test( folder, G_FILE_TEST_EXISTS ) && !set->plugin ) { g_mkdir_with_parents( folder, 0700 ); chmod( folder, 0700 ); } if ( set->browser ) { ptk_file_browser_emit_open( set->browser, folder, PTK_OPEN_DIR ); } else if ( set->desktop ) { prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); command = g_strdup_printf( "%s %s", prog, folder ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( prog ); g_free( command ); g_free( folder ); } break; case XSET_JOB_BROWSE_DATA: if ( set->tool > XSET_TOOL_CUSTOM ) break; if ( set->plugin ) { mset = xset_get_plugin_mirror( set ); folder = g_build_filename( settings_config_dir, "plugin-data", mset->name, NULL ); } else folder = g_build_filename( settings_config_dir, "plugin-data", set->name, NULL ); if ( !g_file_test( folder, G_FILE_TEST_EXISTS ) ) { g_mkdir_with_parents( folder, 0700 ); chmod( folder, 0700 ); } if ( set->browser ) { ptk_file_browser_emit_open( set->browser, folder, PTK_OPEN_DIR ); } else if ( set->desktop ) { prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); command = g_strdup_printf( "%s %s", prog, folder ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( prog ); g_free( command ); g_free( folder ); } break; case XSET_JOB_BROWSE_PLUGIN: if ( set->plugin && set->plug_dir ) { if ( set->browser ) { ptk_file_browser_emit_open( set->browser, set->plug_dir, PTK_OPEN_DIR ); } else if ( set->desktop ) // should never happen in current version { prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); command = g_strdup_printf( "%s %s", prog, set->plug_dir ); g_spawn_command_line_sync( command, NULL, NULL, NULL, NULL ); g_free( prog ); g_free( command ); } } break; case XSET_JOB_TERM: mset = xset_get_plugin_mirror( set ); if ( mset->in_terminal == XSET_B_TRUE ) mset->in_terminal = XSET_B_UNSET; else { mset->in_terminal = XSET_B_TRUE; mset->task = XSET_B_FALSE; } break; case XSET_JOB_KEEP: mset = xset_get_plugin_mirror( set ); if ( mset->keep_terminal == XSET_B_TRUE ) mset->keep_terminal = XSET_B_UNSET; else mset->keep_terminal = XSET_B_TRUE; break; case XSET_JOB_TASK: mset = xset_get_plugin_mirror( set ); if ( mset->task == XSET_B_TRUE ) mset->task = XSET_B_UNSET; else mset->task = XSET_B_TRUE; break; case XSET_JOB_POP: mset = xset_get_plugin_mirror( set ); if ( mset->task_pop == XSET_B_TRUE ) mset->task_pop = XSET_B_UNSET; else mset->task_pop = XSET_B_TRUE; break; case XSET_JOB_ERR: mset = xset_get_plugin_mirror( set ); if ( mset->task_err == XSET_B_TRUE ) mset->task_err = XSET_B_UNSET; else mset->task_err = XSET_B_TRUE; break; case XSET_JOB_OUT: mset = xset_get_plugin_mirror( set ); if ( mset->task_out == XSET_B_TRUE ) mset->task_out = XSET_B_UNSET; else mset->task_out = XSET_B_TRUE; break; case XSET_JOB_SCROLL: mset = xset_get_plugin_mirror( set ); if ( mset->scroll_lock == XSET_B_TRUE ) mset->scroll_lock = XSET_B_UNSET; else mset->scroll_lock = XSET_B_TRUE; break; case XSET_JOB_TOOLTIPS: set_next = xset_get_panel( 1, "tool_l" ); set_next->b = set_next->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; break; } if ( set && ( !set->lock || !strcmp( set->name, "main_book" ) ) ) { main_window_bookmark_changed( set->name ); if ( set->parent && ( set_next = xset_is( set->parent ) ) && set_next->tool == XSET_TOOL_CUSTOM && set_next->menu_style == XSET_MENU_SUBMENU ) // this set is first item in custom toolbar submenu update_toolbars = TRUE; } if ( ( set && !set->lock && set->tool ) || update_toolbars ) main_window_rebuild_all_toolbars( set ? set->browser : NULL ); // autosave xset_autosave( FALSE, FALSE ); } void on_design_radio_toggled( GtkCheckMenuItem* item, XSet* set ) { if ( gtk_check_menu_item_get_active( GTK_CHECK_MENU_ITEM( item ) ) ) xset_design_job( GTK_WIDGET( item ), set ); } gboolean xset_job_is_valid( XSet* set, int job ) { gboolean no_remove = FALSE; gboolean toolexecsub = FALSE; gboolean no_paste = FALSE; gboolean open_all = FALSE; XSet* sett; if ( !set ) return FALSE; if ( set->plugin ) { if ( !set->plug_dir ) return FALSE; if ( !set->plugin_top || strstr( set->plug_dir, "/included/" ) ) no_remove = TRUE; } // control open_all item if ( g_str_has_prefix( set->name, "open_all_type_" ) ) open_all = TRUE; switch ( job ) { case XSET_JOB_KEY: return set->menu_style < XSET_MENU_SUBMENU; case XSET_JOB_ICON: return ( ( set->menu_style == XSET_MENU_NORMAL || set->menu_style == XSET_MENU_STRING || set->menu_style == XSET_MENU_FONTDLG || set->menu_style == XSET_MENU_COLORDLG || set->menu_style == XSET_MENU_SUBMENU || set->tool ) && !open_all ); case XSET_JOB_EDIT: return !set->lock && set->menu_style < XSET_MENU_SUBMENU; case XSET_JOB_COMMAND: return !set->plugin; case XSET_JOB_CUT: return ( !set->lock && !set->plugin ); case XSET_JOB_COPY: return !set->lock; case XSET_JOB_PASTE: if ( !set_clipboard ) no_paste = TRUE; else if ( set->plugin ) no_paste = TRUE; else if ( set == set_clipboard && clipboard_is_cut ) // don't allow cut paste to self no_paste = TRUE; else if ( set_clipboard->tool > XSET_TOOL_CUSTOM && !set->tool ) // don't allow paste of builtin tool item to menu no_paste = TRUE; else if ( set_clipboard->menu_style == XSET_MENU_SUBMENU ) // don't allow paste of submenu to self or below no_paste = xset_clipboard_in_set( set ); return !no_paste; case XSET_JOB_REMOVE: return ( !set->lock && !no_remove ); //case XSET_JOB_CONTEXT: // return ( xset_context && xset_context->valid && !open_all ); case XSET_JOB_PROP: case XSET_JOB_PROP_CMD: return TRUE; case XSET_JOB_HELP: return ( !set->lock || ( set->lock && set->line ) ); } return FALSE; } gboolean xset_design_menu_keypress( GtkWidget* widget, GdkEventKey* event, XSet* set ) { int job = -1; GtkWidget* item = gtk_menu_shell_get_selected_item( GTK_MENU_SHELL( widget ) ); if ( !item ) return FALSE; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); transpose_nonlatin_keypress( event ); if ( keymod == 0 ) { if ( event->keyval == GDK_KEY_F1 ) { char* help = NULL; job = GPOINTER_TO_INT( g_object_get_data( G_OBJECT(item), "job" ) ); switch ( job ) { case XSET_JOB_KEY: help = "#designmode-designmenu-key"; break; case XSET_JOB_ICON: help = "#designmode-designmenu-icon"; break; case XSET_JOB_LABEL: help = "#designmode-designmenu-name"; break; case XSET_JOB_EDIT: // edit script help = "#designmode-designmenu-edit"; break; case XSET_JOB_PROP_CMD: // edit command line help = "#designmode-designmenu-cedit"; break; case XSET_JOB_EDIT_ROOT: help = "#designmode-designmenu-edit"; break; case XSET_JOB_COPYNAME: help = "#designmode-command-copy"; break; case XSET_JOB_LINE: help = "#designmode-command-line"; break; case XSET_JOB_SCRIPT: help = "#designmode-command-script"; break; case XSET_JOB_CUSTOM: help = "#designmode-command-custom"; break; case XSET_JOB_USER: help = "#designmode-command-user"; break; case XSET_JOB_COMMAND: help = "#designmode-designmenu-new"; break; case XSET_JOB_SUBMENU: help = "#designmode-designmenu-submenu"; break; case XSET_JOB_SEP: help = "#designmode-designmenu-separator"; break; case XSET_JOB_IMPORT_FILE: case XSET_JOB_IMPORT_URL: help = "#designmode-designmenu-import"; break; case XSET_JOB_CUT: help = "#designmode-designmenu-cut"; break; case XSET_JOB_COPY: help = "#designmode-designmenu-copy"; break; case XSET_JOB_PASTE: help = "#designmode-designmenu-paste"; break; case XSET_JOB_REMOVE: help = "#designmode-designmenu-remove"; break; case XSET_JOB_EXPORT: help = "#designmode-designmenu-export"; break; case XSET_JOB_BOOKMARK: help = "#designmode-designmenu-bookmark"; break; case XSET_JOB_APP: help = "#designmode-designmenu-app"; break; case XSET_JOB_NORMAL: help = "#designmode-style-normal"; break; case XSET_JOB_CHECK: help = "#designmode-style-checkbox"; break; case XSET_JOB_CONFIRM: help = "#designmode-style-confirm"; break; case XSET_JOB_DIALOG: help = "#designmode-style-input"; break; case XSET_JOB_MESSAGE: help = "#designmode-style-message"; break; //case XSET_JOB_CONTEXT: // help = "#designmode-props-context"; // break; case XSET_JOB_IGNORE_CONTEXT: help = "#designmode-props-ignorecontext"; break; case XSET_JOB_HELP: help = "#designmode-designmenu-help"; break; case XSET_JOB_HELP_STYLE: help = "#designmode-style"; break; case XSET_JOB_HELP_NEW: help = "#designmode-designmenu-bookmark"; break; case XSET_JOB_HELP_ADD: help = "#designmode-designmenu-add"; break; case XSET_JOB_PROP: help = "#designmode-props"; break; case XSET_JOB_HELP_BROWSE: help = "#designmode-command-browse"; break; case XSET_JOB_BROWSE_FILES: help = "#designmode-command-browse-files"; break; case XSET_JOB_BROWSE_DATA: help = "#designmode-command-browse-data"; break; case XSET_JOB_BROWSE_PLUGIN: help = "#designmode-command-browse-plugin"; break; case XSET_JOB_TERM: help = "#designmode-command-terminal"; break; case XSET_JOB_KEEP: help = "#designmode-command-keep"; break; case XSET_JOB_TASK: help = "#designmode-command-task"; break; case XSET_JOB_POP: help = "#designmode-command-popup"; break; case XSET_JOB_ERR: help = "#designmode-command-poperr"; break; case XSET_JOB_OUT: help = "#designmode-command-popout"; break; case XSET_JOB_SCROLL: help = "#designmode-command-scroll"; break; case XSET_JOB_TOOLTIPS: help = "#designmode-designmenu-tooltips"; break; } if ( !help ) help = "#designmode"; gtk_menu_shell_deactivate( GTK_MENU_SHELL( widget ) ); xset_show_help( NULL, NULL, help ); return TRUE; } else if ( event->keyval == GDK_KEY_F3 ) job = XSET_JOB_PROP; else if ( event->keyval == GDK_KEY_F4 ) { if ( xset_get_int_set( set, "x" ) == XSET_CMD_SCRIPT ) job = XSET_JOB_EDIT; else job = XSET_JOB_PROP_CMD; } else if ( event->keyval == GDK_KEY_Delete ) job = XSET_JOB_REMOVE; else if ( event->keyval == GDK_KEY_Insert ) job = XSET_JOB_COMMAND; } else if ( keymod == GDK_CONTROL_MASK ) { if ( event->keyval == GDK_KEY_c ) job = XSET_JOB_COPY; else if ( event->keyval == GDK_KEY_x ) job = XSET_JOB_CUT; else if ( event->keyval == GDK_KEY_v ) job = XSET_JOB_PASTE; else if ( event->keyval == GDK_KEY_e ) { if ( set->lock ) { return FALSE; } else job = XSET_JOB_EDIT; } else if ( event->keyval == GDK_KEY_k ) job = XSET_JOB_KEY; else if ( event->keyval == GDK_KEY_i ) job = XSET_JOB_ICON; } if ( job != -1 ) { if ( xset_job_is_valid( set, job ) ) { gtk_menu_shell_deactivate( GTK_MENU_SHELL( widget ) ); g_object_set_data( G_OBJECT( item ), "job", GINT_TO_POINTER( job ) ); xset_design_job( item, set ); return TRUE; } } return FALSE; } void xset_design_destroy( GtkWidget* item, GtkWidget* design_menu ) { //printf( "xset_design_destroy\n"); // close design_menu if menu deactivated gtk_widget_set_sensitive( item, TRUE ); gtk_menu_shell_deactivate( GTK_MENU_SHELL( design_menu ) ); } void on_menu_hide(GtkWidget *widget, GtkWidget* design_menu ) { gtk_widget_set_sensitive( widget, TRUE ); gtk_menu_shell_deactivate( GTK_MENU_SHELL( design_menu ) ); } static void set_check_menu_item_block( GtkWidget* item ) { g_signal_handlers_block_matched( item, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, xset_design_job, NULL ); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( item ), TRUE ); g_signal_handlers_unblock_matched( item, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, xset_design_job, NULL ); } GtkWidget* xset_design_additem( GtkWidget* menu, const char* label, const char* stock_icon, int job, XSet* set ) { GtkWidget* item; if ( stock_icon ) { if ( !strcmp( stock_icon, "@check" ) ) item = gtk_check_menu_item_new_with_mnemonic( label ); else { item = gtk_image_menu_item_new_with_mnemonic( label ); GtkWidget* image = gtk_image_new_from_stock( stock_icon, GTK_ICON_SIZE_MENU ); if ( image ) gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( item ), image ); } } else item = gtk_menu_item_new_with_mnemonic( label ); g_object_set_data( G_OBJECT(item), "job", GINT_TO_POINTER( job ) ); gtk_container_add ( GTK_CONTAINER ( menu ), item ); g_signal_connect( item, "activate", G_CALLBACK( xset_design_job ), set ); return item; } GtkWidget* xset_design_show_menu( GtkWidget* menu, XSet* set, XSet* book_insert, guint button, guint32 time ) { GtkWidget* newitem; GtkWidget* newitem2; GtkWidget* newitem3; GtkWidget* newitem4; GtkWidget* submenu; GtkWidget* submenu2; GSList* radio_group; char* label; char* path; gboolean no_remove = FALSE; gboolean no_paste = FALSE; gboolean open_all = FALSE; XSet* sett; XSet* mset; XSet* insert_set; int i; // book_insert is a bookmark set to be used for Paste, etc insert_set = book_insert ? book_insert : set; // to signal this is a bookmark, pass book_insert = set gboolean is_bookmark = !!book_insert; gboolean show_keys = !is_bookmark && !set->tool; if ( set->plugin && set->shared_key ) mset = xset_get_plugin_mirror( set ); else mset = set; if ( set->plugin ) { if ( set->plug_dir ) { if ( !set->plugin_top || strstr( set->plug_dir, "/included/" ) ) no_remove = TRUE; } else no_remove = TRUE; } if ( !set_clipboard ) no_paste = TRUE; else if ( insert_set->plugin ) no_paste = TRUE; else if ( insert_set == set_clipboard && clipboard_is_cut ) // don't allow cut paste to self no_paste = TRUE; else if ( set_clipboard->tool > XSET_TOOL_CUSTOM && !insert_set->tool ) // don't allow paste of builtin tool item to menu no_paste = TRUE; else if ( set_clipboard->menu_style == XSET_MENU_SUBMENU ) // don't allow paste of submenu to self or below no_paste = xset_clipboard_in_set( insert_set ); // control open_all item if ( g_str_has_prefix( set->name, "open_all_type_" ) ) open_all = TRUE; GtkWidget* design_menu = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); // Cut newitem = xset_design_additem( design_menu, _("Cu_t"), GTK_STOCK_CUT, XSET_JOB_CUT, set ); gtk_widget_set_sensitive( newitem, !set->lock && !set->plugin ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_x, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); // Copy newitem = xset_design_additem( design_menu, _("_Copy"), GTK_STOCK_COPY, XSET_JOB_COPY, set ); gtk_widget_set_sensitive( newitem, !set->lock ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_c, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); // Paste newitem = xset_design_additem( design_menu, _("_Paste"), GTK_STOCK_PASTE, XSET_JOB_PASTE, insert_set ); gtk_widget_set_sensitive( newitem, !no_paste ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_v, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); // Remove newitem = xset_design_additem( design_menu, _("_Remove"), GTK_STOCK_REMOVE, is_bookmark? XSET_JOB_REMOVE_BOOK : XSET_JOB_REMOVE, set ); gtk_widget_set_sensitive( newitem, !set->lock && !no_remove ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_Delete, 0, GTK_ACCEL_VISIBLE); // Export newitem = xset_design_additem( design_menu, _("E_xport"), GTK_STOCK_SAVE, XSET_JOB_EXPORT, set ); gtk_widget_set_sensitive( newitem, ( !set->lock && set->menu_style < XSET_MENU_SEP && set->tool <= XSET_TOOL_CUSTOM ) || !g_strcmp0( set->name, "main_book" ) ); //// New submenu newitem = gtk_image_menu_item_new_with_mnemonic( _("_New") ); submenu = gtk_menu_new(); gtk_menu_item_set_submenu( GTK_MENU_ITEM( newitem ), submenu ); gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( newitem ), gtk_image_new_from_stock( GTK_STOCK_ADD, GTK_ICON_SIZE_MENU ) ); gtk_container_add ( GTK_CONTAINER ( design_menu ), newitem ); gtk_widget_set_sensitive( newitem, !set->plugin ); g_object_set_data( G_OBJECT( newitem ), "job", GINT_TO_POINTER( XSET_JOB_HELP_NEW ) ); g_signal_connect( submenu, "key_press_event", G_CALLBACK( xset_design_menu_keypress ), set ); // New > Bookmark newitem = xset_design_additem( submenu, _("_Bookmark"), NULL, XSET_JOB_BOOKMARK, insert_set ); // New > Application newitem = xset_design_additem( submenu, _("_Application"), NULL, XSET_JOB_APP, insert_set ); // New > Command newitem = xset_design_additem( submenu, _("_Command"), NULL, XSET_JOB_COMMAND, insert_set ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_Insert, 0, GTK_ACCEL_VISIBLE); // New > Submenu newitem = xset_design_additem( submenu, _("Sub_menu"), NULL, is_bookmark ? XSET_JOB_SUBMENU_BOOK : XSET_JOB_SUBMENU, insert_set ); // New > Separator newitem = xset_design_additem( submenu, _("S_eparator"), NULL, XSET_JOB_SEP, insert_set ); // New > Import > newitem = gtk_image_menu_item_new_with_mnemonic( _("_Import") ); submenu2 = gtk_menu_new(); gtk_menu_item_set_submenu( GTK_MENU_ITEM( newitem ), submenu2 ); //gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( newitem ), // gtk_image_new_from_stock( GTK_STOCK_ADD, GTK_ICON_SIZE_MENU ) ); gtk_container_add ( GTK_CONTAINER ( submenu ), newitem ); gtk_widget_set_sensitive( newitem, !insert_set->plugin ); g_object_set_data( G_OBJECT( newitem ), "job", GINT_TO_POINTER( XSET_JOB_IMPORT_FILE ) ); g_signal_connect( submenu2, "key_press_event", G_CALLBACK( xset_design_menu_keypress ), insert_set ); newitem = xset_design_additem( submenu2, _("_File"), NULL, XSET_JOB_IMPORT_FILE, insert_set ); newitem = xset_design_additem( submenu2, _("_URL"), NULL, XSET_JOB_IMPORT_URL, insert_set ); if ( is_bookmark ) newitem = xset_design_additem( submenu2, _("_GTK Bookmarks"), NULL, XSET_JOB_IMPORT_GTK, set ); if ( insert_set->tool ) { // "Add" submenu for builtin tool items newitem = gtk_image_menu_item_new_with_mnemonic( _("_Add") ); submenu = gtk_menu_new(); gtk_menu_item_set_submenu( GTK_MENU_ITEM( newitem ), submenu ); gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( newitem ), gtk_image_new_from_stock( GTK_STOCK_ADD, GTK_ICON_SIZE_MENU ) ); gtk_container_add ( GTK_CONTAINER ( design_menu ), newitem ); g_object_set_data( G_OBJECT( newitem ), "job", GINT_TO_POINTER( XSET_JOB_HELP_ADD ) ); g_signal_connect( submenu, "key_press_event", G_CALLBACK( xset_design_menu_keypress ), set ); for ( i = XSET_TOOL_DEVICES; i < G_N_ELEMENTS( builtin_tool_name ); i++ ) { newitem = xset_design_additem( submenu, _(builtin_tool_name[i]), builtin_tool_icon[i], XSET_JOB_ADD_TOOL, insert_set ); g_object_set_data( G_OBJECT( newitem ), "tool_type", GINT_TO_POINTER( i ) ); } } // Separator gtk_container_add ( GTK_CONTAINER ( design_menu ), gtk_separator_menu_item_new() ); // Help newitem = xset_design_additem( design_menu, _("_Help"), GTK_STOCK_HELP, is_bookmark ? XSET_JOB_HELP_BOOK : XSET_JOB_HELP, set ); gtk_widget_set_sensitive( newitem, !set->lock || ( set->lock && set->line ) ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_F1, 0, GTK_ACCEL_VISIBLE); // Tooltips (toolbar) if ( set->tool ) { newitem = xset_design_additem( design_menu, _("T_ooltips"), "@check", XSET_JOB_TOOLTIPS, set ); if ( !xset_get_b_panel( 1, "tool_l" ) ) set_check_menu_item_block( newitem ); } // Key newitem = xset_design_additem( design_menu, _("_Key Shortcut"), GTK_STOCK_PROPERTIES, XSET_JOB_KEY, set ); gtk_widget_set_sensitive( newitem, ( set->menu_style < XSET_MENU_SUBMENU ) ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_k, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); // Edit (script) if ( !set->lock && set->menu_style < XSET_MENU_SUBMENU && set->tool <= XSET_TOOL_CUSTOM ) { if ( xset_get_int_set( set, "x" ) == XSET_CMD_SCRIPT ) { char* script = xset_custom_get_script( set, FALSE ); if ( script ) { if ( geteuid() != 0 && have_rw_access( script ) ) { // edit as user newitem = xset_design_additem( design_menu, _("_Edit Script"), GTK_STOCK_EDIT, XSET_JOB_EDIT, set ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_F4, 0, GTK_ACCEL_VISIBLE); } else { // edit as root newitem = xset_design_additem( design_menu, _("E_dit As Root"), GTK_STOCK_DIALOG_WARNING, XSET_JOB_EDIT_ROOT, set ); if ( geteuid() == 0 && show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_F4, 0, GTK_ACCEL_VISIBLE); } g_free( script ); } } else if ( xset_get_int_set( set, "x" ) == XSET_CMD_LINE ) { // edit command line newitem = xset_design_additem( design_menu, _("_Edit Command"), GTK_STOCK_EDIT, XSET_JOB_PROP_CMD, set ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_F4, 0, GTK_ACCEL_VISIBLE); } } // Properties newitem = xset_design_additem( design_menu, _("_Properties"), GTK_STOCK_PROPERTIES, XSET_JOB_PROP, set ); if ( show_keys ) gtk_widget_add_accelerator( newitem, "activate", accel_group, GDK_KEY_F3, 0, GTK_ACCEL_VISIBLE); // show menu gtk_widget_show_all( GTK_WIDGET( design_menu ) ); gtk_menu_popup( GTK_MENU( design_menu ), menu ? GTK_WIDGET( menu ) : NULL, NULL, NULL, NULL, button, time ); if ( menu ) { gtk_widget_set_sensitive( GTK_WIDGET( menu ), FALSE ); g_signal_connect( menu, "hide", G_CALLBACK( on_menu_hide ), design_menu ); } //g_signal_connect( menu, "deactivate", //doesn't work for menubar // G_CALLBACK( xset_design_destroy), design_menu ); g_signal_connect( design_menu, "selection-done", G_CALLBACK( gtk_widget_destroy ), NULL ); g_signal_connect( design_menu, "key_press_event", G_CALLBACK( xset_design_menu_keypress ), set ); gtk_menu_shell_set_take_focus( GTK_MENU_SHELL( design_menu ), TRUE ); // this is required when showing the menu via F2 or Menu key for focus gtk_menu_shell_select_first( GTK_MENU_SHELL( design_menu ), TRUE ); return design_menu; } gboolean xset_design_cb( GtkWidget* item, GdkEventButton* event, XSet* set ) { int job = -1; //printf("xset_design_cb\n"); GtkWidget* menu = item ? (GtkWidget*)g_object_get_data( G_OBJECT(item), "menu" ) : NULL; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( event->type == GDK_BUTTON_RELEASE ) { if ( event->button == 1 && keymod == 0 ) { // user released left button - due to an apparent gtk bug, activate // doesn't always fire on this event so handle it ourselves // see also ptk-file-menu.c on_app_button_press() // test: gtk2 Crux theme with touchpad on Edit|Copy To|Location // https://github.com/IgnorantGuru/spacefm/issues/31 // https://github.com/IgnorantGuru/spacefm/issues/228 if ( menu ) gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); gtk_menu_item_activate( GTK_MENU_ITEM( item ) ); return TRUE; } // TRUE for issue #521 where a right-click also left-clicks the first // menu item in some GTK2/3 themes. return TRUE; } else if ( event->type != GDK_BUTTON_PRESS ) return FALSE; if ( event->button == 1 || event->button == 3 ) { // left or right click if ( keymod == 0 ) { // no modifier if ( event->button == 3 ) { // right xset_design_show_menu( menu, set, NULL, event->button, event->time ); return TRUE; } else if ( event->button == 1 && set->tool && !set->lock ) { // activate if ( set->tool == XSET_TOOL_CUSTOM ) xset_menu_cb( NULL, set ); else xset_builtin_tool_activate( set->tool, set, event ); return TRUE; } } else if ( keymod == GDK_CONTROL_MASK ) { // ctrl job = XSET_JOB_COPY; } else if ( keymod == GDK_MOD1_MASK ) { // alt job = XSET_JOB_CUT; } else if ( keymod == GDK_SHIFT_MASK ) { // shift job = XSET_JOB_PASTE; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_SHIFT_MASK ) ) { // ctrl + shift job = XSET_JOB_COMMAND; } } else if ( event->button == 2 ) { // middle click if ( keymod == 0 ) { // no modifier if ( set->lock ) { xset_design_show_menu( menu, set, NULL, event->button, event->time ); return TRUE; } else { if ( xset_get_int_set( set, "x" ) == XSET_CMD_SCRIPT ) job = XSET_JOB_EDIT; else job = XSET_JOB_PROP_CMD; } } else if ( keymod == GDK_CONTROL_MASK ) { // ctrl job = XSET_JOB_KEY; } else if ( keymod == GDK_MOD1_MASK ) { // alt job = XSET_JOB_HELP; } else if ( keymod == GDK_SHIFT_MASK ) { // shift job = XSET_JOB_ICON; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_SHIFT_MASK ) ) { // ctrl + shift job = XSET_JOB_REMOVE; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_MOD1_MASK ) ) { // ctrl + alt job = XSET_JOB_PROP; } } if ( job != -1 ) { if ( xset_job_is_valid( set, job ) ) { if ( menu ) gtk_menu_shell_deactivate( GTK_MENU_SHELL( menu ) ); g_object_set_data( G_OBJECT( item ), "job", GINT_TO_POINTER( job ) ); xset_design_job( item, set ); } else xset_design_show_menu( menu, set, NULL, event->button, event->time ); return TRUE; } return FALSE; // TRUE won't stop activate on button-press (will on release) } gboolean xset_menu_keypress( GtkWidget* widget, GdkEventKey* event, gpointer user_data ) { int job = -1; XSet* set; GtkWidget* item = gtk_menu_shell_get_selected_item( GTK_MENU_SHELL( widget ) ); if ( item ) { set = g_object_get_data( G_OBJECT( item ), "set" ); if ( !set ) return FALSE; } else return FALSE; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); transpose_nonlatin_keypress( event ); if ( keymod == 0 ) { if ( event->keyval == GDK_KEY_F1 ) { job = XSET_JOB_HELP; } else if ( event->keyval == GDK_KEY_F2 || event->keyval == GDK_KEY_Menu ) { xset_design_show_menu( widget, set, NULL, 0, event->time ); return TRUE; } else if ( event->keyval == GDK_KEY_F3 ) job = XSET_JOB_PROP; else if ( event->keyval == GDK_KEY_F4 ) { if ( xset_get_int_set( set, "x" ) == XSET_CMD_SCRIPT ) job = XSET_JOB_EDIT; else job = XSET_JOB_PROP_CMD; } else if ( event->keyval == GDK_KEY_Delete ) job = XSET_JOB_REMOVE; else if ( event->keyval == GDK_KEY_Insert ) job = XSET_JOB_COMMAND; } else if ( keymod == GDK_CONTROL_MASK ) { if ( event->keyval == GDK_KEY_c ) job = XSET_JOB_COPY; else if ( event->keyval == GDK_KEY_x ) job = XSET_JOB_CUT; else if ( event->keyval == GDK_KEY_v ) job = XSET_JOB_PASTE; else if ( event->keyval == GDK_KEY_e ) { if ( set->lock ) { xset_design_show_menu( widget, set, NULL, 0, event->time ); return TRUE; } else { if ( xset_get_int_set( set, "x" ) == XSET_CMD_SCRIPT ) job = XSET_JOB_EDIT; else job = XSET_JOB_PROP_CMD; } } else if ( event->keyval == GDK_KEY_k ) job = XSET_JOB_KEY; else if ( event->keyval == GDK_KEY_i ) job = XSET_JOB_ICON; } if ( job != -1 ) { if ( xset_job_is_valid( set, job ) ) { gtk_menu_shell_deactivate( GTK_MENU_SHELL( widget ) ); g_object_set_data( G_OBJECT( item ), "job", GINT_TO_POINTER( job ) ); xset_design_job( item, set ); } else xset_design_show_menu( widget, set, NULL, 0, event->time ); return TRUE; } return FALSE; } void xset_menu_cb( GtkWidget* item, XSet* set ) { GtkWidget* parent; void (*cb_func) () = NULL; gpointer cb_data = NULL; char* title; XSet* mset; // mirror set or set XSet* rset; // real set if ( item ) { if ( set->lock && set->menu_style == XSET_MENU_RADIO && GTK_IS_CHECK_MENU_ITEM( item ) && !gtk_check_menu_item_get_active( GTK_CHECK_MENU_ITEM( item ) ) ) return; cb_func = (void *)g_object_get_data( G_OBJECT(item), "cb_func" ); cb_data = g_object_get_data( G_OBJECT(item), "cb_data" ); } /* if ( set->tool ) { // get current browser for toolbar button FMMainWindow* main_window = fm_main_window_get_last_active(); if ( main_window ) set->browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); else set->browser = NULL; set->desktop = NULL; } */ parent = set->browser ? GTK_WIDGET( set->browser ) : GTK_WIDGET( set->desktop ); if ( set->plugin ) { // set is plugin mset = xset_get_plugin_mirror( set ); rset = set; } else if ( !set->lock && set->desc && !strcmp( set->desc, "@plugin@mirror@" ) && set->shared_key ) { // set is plugin mirror mset = set; rset = xset_get( set->shared_key ); rset->browser = set->browser; rset->desktop = set->desktop; } else { mset = set; rset = set; } if ( !rset->menu_style ) { if ( cb_func ) (*cb_func) ( item, cb_data ); else if ( !rset->lock ) xset_custom_activate( item, rset ); } else if ( rset->menu_style == XSET_MENU_SEP ) {} else if ( rset->menu_style == XSET_MENU_CHECK ) { if ( mset->b == XSET_B_TRUE ) mset->b = XSET_B_FALSE; else mset->b = XSET_B_TRUE; if ( cb_func ) (*cb_func) ( item, cb_data ); else if ( !rset->lock ) xset_custom_activate( item, rset ); if ( set->tool == XSET_TOOL_CUSTOM ) ptk_file_browser_update_toolbar_widgets( set->browser, set, -1 ); } else if ( rset->menu_style == XSET_MENU_STRING || rset->menu_style == XSET_MENU_CONFIRM ) { char* msg; char* help; char* default_str = NULL; if ( rset->title && rset->lock ) title = g_strdup( rset->title ); else title = clean_label( rset->menu_label, FALSE, FALSE ); if ( rset->lock ) { msg = rset->desc; default_str = rset->z; help = set->line; } else { char* newline = g_strdup_printf( "\n" ); char* tab = g_strdup_printf( "\t" ); char* msg1 = replace_string( rset->desc, "\\n", newline, FALSE ); msg = replace_string( msg1, "\\t", tab, FALSE ); g_free( msg1 ); g_free( newline ); g_free( tab ); help = set->name; } if ( rset->menu_style == XSET_MENU_CONFIRM ) { if ( xset_msg_dialog( parent, GTK_MESSAGE_QUESTION, title, NULL, GTK_BUTTONS_OK_CANCEL, msg, NULL, help ) == GTK_RESPONSE_OK ) { if ( cb_func ) (*cb_func) ( item, cb_data ); else if ( !set->lock ) xset_custom_activate( item, rset ); } } else if ( xset_text_dialog( parent, title, NULL, TRUE, msg, NULL, mset->s, &mset->s, default_str, FALSE, help ) ) { if ( cb_func ) (*cb_func) ( item, cb_data ); else if ( !set->lock ) xset_custom_activate( item, rset ); } if ( !rset->lock ) g_free( msg ); g_free( title ); } else if ( rset->menu_style == XSET_MENU_RADIO ) { if ( mset->b != XSET_B_TRUE ) mset->b = XSET_B_TRUE; if ( cb_func ) (*cb_func) ( item, cb_data ); else if ( !rset->lock ) xset_custom_activate( item, rset ); } else if ( rset->menu_style == XSET_MENU_FONTDLG ) { char* fontname = xset_font_dialog( parent, rset->title, rset->desc, rset->s ); if ( fontname ) { if ( fontname[0] != '\0' ) { xset_set_set( rset, "s", fontname ); } else { if ( rset->s ) g_free( rset->s ); rset->s = NULL; } g_free( fontname ); if ( cb_func ) (*cb_func) ( item, cb_data ); } } else if ( rset->menu_style == XSET_MENU_FILEDLG ) { // test purpose only char* file = xset_file_dialog( parent, GTK_FILE_CHOOSER_ACTION_SAVE, rset->title, rset->s, "foobar.xyz" ); //printf("file=%s\n", file ); } else if ( rset->menu_style == XSET_MENU_ICON ) { // Note: xset_text_dialog uses the title passed to know this is an // icon chooser, so it adds a Choose button. If you change the title, // change xset_text_dialog. if ( xset_text_dialog( parent, rset->title ? rset->title : _("Set Icon"), NULL, FALSE, rset->desc? rset->desc : _(icon_desc), NULL, rset->icon, &rset->icon, NULL, FALSE, NULL ) ) { if ( rset->lock ) rset->keep_terminal = XSET_B_TRUE; // trigger save of changed icon if ( cb_func ) (*cb_func) ( item, cb_data ); } } else if ( rset->menu_style == XSET_MENU_COLORDLG ) { char* scolor = xset_color_dialog( parent, rset->title, rset->s ); if ( rset->s ) g_free( rset->s ); rset->s = scolor; if ( cb_func ) (*cb_func) ( item, cb_data ); } else if ( cb_func ) (*cb_func) ( item, cb_data ); else if ( !set->lock ) xset_custom_activate( item, rset ); if ( rset->menu_style ) xset_autosave( FALSE, FALSE ); } int xset_msg_dialog( GtkWidget* parent, int action, const char* title, GtkWidget* image, int buttons, const char* msg1, const char* msg2, const char* help ) { /* action= GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, GTK_MESSAGE_QUESTION, GTK_MESSAGE_ERROR */ GtkWidget* dlgparent = NULL; if ( parent ) dlgparent = gtk_widget_get_toplevel( parent ); if ( !buttons ) buttons = GTK_BUTTONS_OK; if ( action == 0 ) action = GTK_MESSAGE_INFO; GtkWidget* dlg = gtk_message_dialog_new( GTK_WINDOW( dlgparent ), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, action, buttons, msg1, NULL ); if ( action == GTK_MESSAGE_INFO ) xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_window_set_role( GTK_WINDOW( dlg ), "msg_dialog" ); if ( msg2 ) gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dlg ), msg2, NULL ); if ( image ) gtk_message_dialog_set_image( GTK_MESSAGE_DIALOG( dlg ), image ); if ( title ) gtk_window_set_title( GTK_WINDOW( dlg ), title ); if ( help ) { GtkWidget* btn_help = gtk_button_new_with_mnemonic( _("_Help") ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_help, GTK_RESPONSE_HELP ); gtk_button_set_image( GTK_BUTTON( btn_help ), xset_get_image( "GTK_STOCK_HELP", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( btn_help ), FALSE ); gtk_widget_set_can_focus( btn_help, FALSE ); } gtk_widget_show_all( dlg ); int response; while ( response = gtk_dialog_run( GTK_DIALOG( dlg ) ) ) { if ( response == GTK_RESPONSE_HELP ) { // btn_help clicked if ( help ) { if ( help[0] == '#' ) { // as anchor xset_show_help( dlg, NULL, help ); } else if ( xset_is( help ) ) { // as set name xset_show_help( dlg, xset_get( help ), NULL ); } } } else break; } gtk_widget_destroy( dlg ); return response; } void on_multi_input_insert( GtkTextBuffer *buf ) { // remove linefeeds from pasted text GtkTextIter iter, siter; //gboolean changed = FALSE; int x; // buffer contains linefeeds? gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* all = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); if ( !strchr( all, '\n' ) ) { g_free( all ); return; } g_free( all ); // delete selected text that was pasted over if ( gtk_text_buffer_get_selection_bounds( buf, &siter, &iter ) ) gtk_text_buffer_delete( buf, &siter, &iter ); GtkTextMark* insert = gtk_text_buffer_get_insert( buf ); gtk_text_buffer_get_iter_at_mark( buf, &iter, insert ); gtk_text_buffer_get_start_iter( buf, &siter ); char* b = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); gtk_text_buffer_get_end_iter( buf, &siter ); char* a = gtk_text_buffer_get_text( buf, &iter, &siter, FALSE ); if ( strchr( b, '\n' ) ) { x = 0; while ( b[x] != '\0' ) { if ( b[x] == '\n' ) b[x] = ' '; x++; } } if ( strchr( a, '\n' ) ) { x = 0; while ( a[x] != '\0' ) { if ( a[x] == '\n' ) a[x] = ' '; x++; } } g_signal_handlers_block_matched( buf, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_multi_input_insert, NULL ); gtk_text_buffer_set_text( buf, b, -1 ); gtk_text_buffer_get_end_iter( buf, &iter ); GtkTextMark* mark = gtk_text_buffer_create_mark( buf, NULL, &iter, TRUE ); gtk_text_buffer_get_end_iter( buf, &iter ); gtk_text_buffer_insert( buf, &iter, a, -1 ); gtk_text_buffer_get_iter_at_mark( buf, &iter, mark ); gtk_text_buffer_place_cursor( buf, &iter ); g_signal_handlers_unblock_matched( buf, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_multi_input_insert, NULL ); g_free( a ); g_free( b ); } void on_multi_input_font_change( GtkMenuItem* item, GtkTextView *input ) { char* fontname = xset_get_s( "input_font" ); if ( fontname ) { PangoFontDescription* font_desc = pango_font_description_from_string( fontname ); gtk_widget_modify_font( GTK_WIDGET( input ), font_desc ); pango_font_description_free( font_desc ); } else gtk_widget_modify_font( GTK_WIDGET( input ), NULL ); } void on_multi_input_popup( GtkTextView *input, GtkMenu *menu, gpointer user_data ) { GtkAccelGroup* accel_group = gtk_accel_group_new(); XSet* set = xset_get( "sep_multi" ); set->menu_style = XSET_MENU_SEP; set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); set = xset_set_cb( "input_font", on_multi_input_font_change, input ); set->browser = NULL; set->desktop = NULL; xset_add_menuitem( NULL, NULL, GTK_WIDGET( menu ), accel_group, set ); gtk_widget_show_all( GTK_WIDGET( menu ) ); g_signal_connect( G_OBJECT( menu ), "key-press-event", G_CALLBACK( xset_menu_keypress ), NULL ); } char* multi_input_get_text( GtkWidget* input ) { // returns a new allocated string or NULL if input is empty GtkTextIter iter, siter; if ( !GTK_IS_TEXT_VIEW( input ) ) return NULL; GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( input ) ); gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* ret = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); if ( ret && ret[0] == '\0' ) { g_free( ret ); ret = NULL; } return ret; } void multi_input_select_region( GtkWidget* input, int start, int end ) { GtkTextIter iter, siter; if ( start < 0 || !GTK_IS_TEXT_VIEW( input ) ) return; GtkTextBuffer* buf = gtk_text_view_get_buffer( GTK_TEXT_VIEW( input ) ); gtk_text_buffer_get_iter_at_offset( buf, &siter, start ); if ( end < 0 ) gtk_text_buffer_get_end_iter( buf, &iter ); else gtk_text_buffer_get_iter_at_offset( buf, &iter, end ); gtk_text_buffer_select_range( buf, &iter, &siter ); } GtkTextView* multi_input_new( GtkScrolledWindow* scrolled, const char* text, gboolean def_font ) { GtkTextIter iter; gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); GtkTextView* input = GTK_TEXT_VIEW( gtk_text_view_new() ); // ubuntu shows input too small so use mininum height gtk_widget_set_size_request( GTK_WIDGET( input ), -1, 50 ); gtk_widget_set_size_request( GTK_WIDGET( scrolled ), -1, 50 ); gtk_container_add ( GTK_CONTAINER ( scrolled ), GTK_WIDGET( input ) ); GtkTextBuffer* buf = gtk_text_view_get_buffer( input ); gtk_text_view_set_wrap_mode( input, GTK_WRAP_CHAR ); //GTK_WRAP_WORD_CHAR if ( text ) gtk_text_buffer_set_text( buf, text, -1 ); gtk_text_buffer_get_end_iter( buf, &iter ); gtk_text_buffer_place_cursor( buf, &iter ); GtkTextMark* insert = gtk_text_buffer_get_insert( buf ); gtk_text_view_scroll_to_mark( input, insert, 0.0, FALSE, 0, 0 ); gtk_text_view_set_accepts_tab( input, FALSE ); g_signal_connect_after( G_OBJECT( buf ), "insert-text", G_CALLBACK( on_multi_input_insert ), NULL ); if ( def_font ) { on_multi_input_font_change( NULL, input ); g_signal_connect_after( G_OBJECT( input ), "populate-popup", G_CALLBACK( on_multi_input_popup ), NULL ); } return input; } static gboolean on_input_keypress ( GtkWidget *widget, GdkEventKey *event, GtkWidget* dlg ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { gtk_dialog_response( GTK_DIALOG( dlg ), GTK_RESPONSE_OK ); return TRUE; } return FALSE; } static void on_icon_buffer_changed( GtkTextBuffer* buf, GtkWidget* button ) { GtkTextIter iter, siter; gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); char* icon = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); gtk_button_set_image( GTK_BUTTON( button ), xset_get_image( icon && icon[0] ? icon : GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); g_free( icon ); } char* xset_icon_chooser_dialog( GtkWindow* parent, const char* def_icon ) { GtkTextIter iter, siter; GtkAllocation allocation; int width, height; char* icon = NULL; // set busy cursor GdkCursor* cursor = gdk_cursor_new_for_display( gtk_widget_get_display( GTK_WIDGET( parent ) ), GDK_WATCH ); if ( cursor ) { gdk_window_set_cursor( gtk_widget_get_window( GTK_WIDGET( parent ) ), cursor ); gdk_cursor_unref( cursor ); while( gtk_events_pending() ) gtk_main_iteration(); } // btn_icon_choose clicked - preparing the exo icon chooser dialog GtkWidget* icon_chooser = exo_icon_chooser_dialog_new ( _("Choose Icon"), GTK_WINDOW( parent ), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL ); // Set icon chooser dialog size width = xset_get_int( "main_icon", "x" ); height = xset_get_int( "main_icon", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( icon_chooser ), width, height ); // Load current icon if ( def_icon && def_icon[0] ) exo_icon_chooser_dialog_set_icon( EXO_ICON_CHOOSER_DIALOG( icon_chooser ), def_icon ); // Prompting user to pick icon int response_icon_chooser = gtk_dialog_run( GTK_DIALOG( icon_chooser ) ); if ( response_icon_chooser == GTK_RESPONSE_ACCEPT) { /* Fetching selected icon */ icon = exo_icon_chooser_dialog_get_icon( EXO_ICON_CHOOSER_DIALOG( icon_chooser ) ); } // Save icon chooser dialog size gtk_widget_get_allocation( GTK_WIDGET( icon_chooser ), &allocation ); if ( allocation.width && allocation.height ) { char* str = g_strdup_printf( "%d", allocation.width ); xset_set( "main_icon", "x", str ); g_free( str ); str = g_strdup_printf( "%d", allocation.height ); xset_set( "main_icon", "y", str ); g_free( str ); } gtk_widget_destroy( icon_chooser ); // remove busy cursor gdk_window_set_cursor( gtk_widget_get_window( GTK_WIDGET( parent ) ), NULL ); return icon; } gboolean xset_text_dialog( GtkWidget* parent, const char* title, GtkWidget* image, gboolean large, const char* msg1, const char* msg2, const char* defstring, char** answer, const char* defreset, gboolean edit_care, const char* help ) { GtkTextIter iter, siter; GtkAllocation allocation; int width, height; GtkWidget* dlgparent = NULL; if ( parent ) dlgparent = gtk_widget_get_toplevel( parent ); GtkWidget* dlg = gtk_message_dialog_new( dlgparent ? GTK_WINDOW( dlgparent ) : NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, msg1, NULL ); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_window_set_role( GTK_WINDOW( dlg ), "text_dialog" ); if ( large ) { width = xset_get_int( "text_dlg", "s" ); height = xset_get_int( "text_dlg", "z" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( dlg ), width, height ); else gtk_window_set_default_size( GTK_WINDOW( dlg ), 600, 400 ); //gtk_widget_set_size_request( GTK_WIDGET( dlg ), 600, 400 ); } else { width = xset_get_int( "text_dlg", "x" ); height = xset_get_int( "text_dlg", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( dlg ), width, -1 ); else gtk_window_set_default_size( GTK_WINDOW( dlg ), 500, -1 ); //gtk_widget_set_size_request( GTK_WIDGET( dlg ), 500, 300 ); } gtk_window_set_resizable( GTK_WINDOW( dlg ), TRUE ); if ( msg2 ) gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dlg ), msg2, NULL ); if ( image ) gtk_message_dialog_set_image( GTK_MESSAGE_DIALOG( dlg ), image ); // input view GtkScrolledWindow* scroll_input = GTK_SCROLLED_WINDOW( gtk_scrolled_window_new( NULL, NULL ) ); GtkTextView* input = multi_input_new( scroll_input, defstring, TRUE ); GtkTextBuffer* buf = gtk_text_view_get_buffer( input ); gtk_box_pack_start( GTK_BOX( gtk_dialog_get_content_area ( GTK_DIALOG( dlg ) ) ), GTK_WIDGET( scroll_input ), TRUE, TRUE, 4 ); g_signal_connect( G_OBJECT( input ), "key-press-event", G_CALLBACK( on_input_keypress ), dlg ); // buttons GtkWidget* btn_edit; GtkWidget* btn_help = NULL; GtkWidget* btn_default = NULL; GtkWidget* btn_icon_choose = NULL; if ( help ) { btn_help = gtk_button_new_with_mnemonic( _("_Help") ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_help, GTK_RESPONSE_HELP ); gtk_button_set_image( GTK_BUTTON( btn_help ), xset_get_image( "GTK_STOCK_HELP", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( btn_help ), FALSE ); } if ( edit_care ) { btn_edit = gtk_toggle_button_new_with_mnemonic( _("_Edit") ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_edit, GTK_RESPONSE_YES ); gtk_button_set_image( GTK_BUTTON( btn_edit ), xset_get_image( "GTK_STOCK_DIALOG_WARNING", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( btn_edit ), FALSE ); gtk_text_view_set_editable( input, FALSE ); } /* Special hack to add an icon chooser button when this dialog is called * to set icons - see xset_menu_cb() and set init "main_icon" * and xset_design_job */ if ( !g_strcmp0( title, _("Set Icon") ) || !g_strcmp0( title, _("Set Window Icon") ) ) { btn_icon_choose = gtk_button_new_with_mnemonic( _("C_hoose") ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_icon_choose, GTK_RESPONSE_ACCEPT ); gtk_button_set_image( GTK_BUTTON( btn_icon_choose ), xset_get_image( defstring && defstring[0] ? defstring : GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( btn_icon_choose ), FALSE ); g_signal_connect( G_OBJECT( buf ), "changed", G_CALLBACK( on_icon_buffer_changed ), btn_icon_choose ); #if GTK_CHECK_VERSION (3, 6, 0) // keep this gtk_button_set_always_show_image( GTK_BUTTON( btn_icon_choose ), TRUE ); #endif } if ( defreset ) { btn_default = gtk_button_new_with_mnemonic( _("_Default") ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_default, GTK_RESPONSE_NO ); gtk_button_set_image( GTK_BUTTON( btn_default ), xset_get_image( "GTK_STOCK_REVERT_TO_SAVED", GTK_ICON_SIZE_BUTTON ) ); gtk_button_set_focus_on_click( GTK_BUTTON( btn_default ), FALSE ); } GtkWidget* btn_cancel = gtk_button_new_from_stock( GTK_STOCK_CANCEL ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_cancel, GTK_RESPONSE_CANCEL); GtkWidget* btn_ok = gtk_button_new_from_stock( GTK_STOCK_OK ); gtk_dialog_add_action_widget( GTK_DIALOG( dlg ), btn_ok, GTK_RESPONSE_OK); // show gtk_widget_show_all( dlg ); if ( title ) gtk_window_set_title( GTK_WINDOW( dlg ), title ); if ( edit_care ) { gtk_widget_grab_focus( btn_ok ); if ( btn_default ) gtk_widget_set_sensitive( btn_default, FALSE ); } char* ans; char* trim_ans; int response; char* icon; gboolean ret = FALSE; while ( response = gtk_dialog_run( GTK_DIALOG( dlg ) ) ) { if ( response == GTK_RESPONSE_OK ) { gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); ans = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); if ( strchr( ans, '\n' ) ) { ptk_show_error( GTK_WINDOW( dlgparent ), _("Error"), _("Your input is invalid because it contains linefeeds") ); } else { if ( *answer ) g_free( *answer ); trim_ans = g_strdup( ans ); trim_ans = g_strstrip( trim_ans ); if ( ans && trim_ans[0] != '\0' ) *answer = g_filename_from_utf8( trim_ans, -1, NULL, NULL, NULL ); else *answer = NULL; if ( ans ) { g_free( trim_ans ); g_free( ans ); } ret = TRUE; break; } } else if ( response == GTK_RESPONSE_YES ) { // btn_edit clicked gtk_text_view_set_editable( input, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( btn_edit ) ) ); if ( btn_default ) gtk_widget_set_sensitive( btn_default, gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( btn_edit ) ) ); } else if ( response == GTK_RESPONSE_ACCEPT ) { // get current icon gtk_text_buffer_get_start_iter( buf, &siter ); gtk_text_buffer_get_end_iter( buf, &iter ); icon = gtk_text_buffer_get_text( buf, &siter, &iter, FALSE ); // show icon chooser char* new_icon = xset_icon_chooser_dialog( GTK_WINDOW( dlg ), icon ); g_free( icon ); if ( new_icon ) { gtk_text_buffer_set_text( buf, new_icon, -1 ); g_free( new_icon ); } } else if ( response == GTK_RESPONSE_NO ) { // btn_default clicked gtk_text_buffer_set_text( buf, defreset, -1 ); } else if ( response == GTK_RESPONSE_HELP ) { // btn_help clicked if ( help ) { if ( help[0] == '#' ) { // as anchor xset_show_help( dlg, NULL, help ); } else if ( xset_is( help ) ) { // as set name xset_show_help( dlg, xset_get( help ), NULL ); } } } else if ( response == GTK_RESPONSE_CANCEL || response == GTK_RESPONSE_DELETE_EVENT ) break; } gtk_widget_get_allocation( GTK_WIDGET( dlg ), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); if ( large ) xset_set( "text_dlg", "s", str ); else xset_set( "text_dlg", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); if ( large ) xset_set( "text_dlg", "z", str ); else xset_set( "text_dlg", "y", str ); g_free( str ); } gtk_widget_destroy( dlg ); return ret; } static gboolean on_fontdlg_keypress ( GtkWidget *widget, GdkEventKey *event, GtkWidget* dlg ) { if ( event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter ) { gtk_dialog_response( GTK_DIALOG( dlg ), GTK_RESPONSE_YES ); return TRUE; } return FALSE; } char* xset_font_dialog( GtkWidget* parent, const char* title, const char* preview, const char* deffont ) { char* fontname = NULL; GtkWidget* image; GtkWidget* dlg = gtk_font_selection_dialog_new( title ); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_window_set_role( GTK_WINDOW( dlg ), "font_dialog" ); if ( deffont ) gtk_font_selection_dialog_set_font_name( GTK_FONT_SELECTION_DIALOG( dlg ), deffont ); if ( title ) gtk_window_set_title( GTK_WINDOW( dlg ), title ); if ( preview ) gtk_font_selection_dialog_set_preview_text( GTK_FONT_SELECTION_DIALOG( dlg ), preview ); int width = xset_get_int( "font_dlg", "x" ); int height = xset_get_int( "font_dlg", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( dlg ), width, height ); // add default button, rename OK GtkButton* btn = GTK_BUTTON( gtk_button_new_from_stock( GTK_STOCK_YES ) ); gtk_dialog_add_action_widget( GTK_DIALOG(dlg), GTK_WIDGET( btn ), GTK_RESPONSE_YES); gtk_widget_show( GTK_WIDGET( btn ) ); GtkButton* ok = GTK_BUTTON( gtk_font_selection_dialog_get_ok_button( GTK_FONT_SELECTION_DIALOG( dlg ) ) ); gtk_button_set_label( ok, _("_Default") ); image = xset_get_image( "GTK_STOCK_YES", GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( ok, image ); gtk_button_set_label( btn, _("_OK") ); image = xset_get_image( "GTK_STOCK_OK", GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( btn, image ); g_signal_connect( G_OBJECT( dlg ), "key-press-event", G_CALLBACK( on_fontdlg_keypress ), dlg ); gint response = gtk_dialog_run(GTK_DIALOG(dlg)); GtkAllocation allocation; gtk_widget_get_allocation( GTK_WIDGET( dlg ), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); xset_set( "font_dlg", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "font_dlg", "y", str ); g_free( str ); } if( response == GTK_RESPONSE_YES ) { char* fontname2 = gtk_font_selection_dialog_get_font_name( GTK_FONT_SELECTION_DIALOG( dlg ) ); char* trim_fontname = g_strstrip( fontname2 ); fontname = g_strdup( trim_fontname ); g_free( fontname2 ); } else if( response == GTK_RESPONSE_OK ) { // default font fontname = g_strdup( "" ); } gtk_widget_destroy( dlg ); return fontname; } char* xset_file_dialog( GtkWidget* parent, GtkFileChooserAction action, const char* title, const char* deffolder, const char* deffile ) { char* path; /* Actions: * GTK_FILE_CHOOSER_ACTION_OPEN * GTK_FILE_CHOOSER_ACTION_SAVE * GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER * GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER */ GtkWidget* dlgparent = parent ? gtk_widget_get_toplevel( parent ) : NULL; GtkWidget* dlg = gtk_file_chooser_dialog_new( title, dlgparent ? GTK_WINDOW( dlgparent ) : NULL, action, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL ); //gtk_file_chooser_set_action( GTK_FILE_CHOOSER(dlg), GTK_FILE_CHOOSER_ACTION_SAVE ); gtk_file_chooser_set_do_overwrite_confirmation( GTK_FILE_CHOOSER(dlg), TRUE ); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_window_set_role( GTK_WINDOW( dlg ), "file_dialog" ); if ( deffolder ) gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dlg), deffolder ); else { path = xset_get_s( "go_set_default" ); if ( path && path[0] != '\0' ) gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dlg), path ); else { path = (char*)g_get_home_dir(); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dlg), path ); } } if ( deffile ) { if ( action == GTK_FILE_CHOOSER_ACTION_SAVE || action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER ) gtk_file_chooser_set_current_name( GTK_FILE_CHOOSER(dlg), deffile ); else { path = g_build_filename( deffolder, deffile, NULL ); gtk_file_chooser_set_filename( GTK_FILE_CHOOSER (dlg), path ); g_free( path ); } } int width = xset_get_int( "file_dlg", "x" ); int height = xset_get_int( "file_dlg", "y" ); if ( width && height ) { // filechooser won't honor default size or size request ? gtk_widget_show_all( dlg ); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER_ALWAYS ); gtk_window_resize( GTK_WINDOW( dlg ), width, height ); while( gtk_events_pending() ) gtk_main_iteration(); gtk_window_set_position( GTK_WINDOW( dlg ), GTK_WIN_POS_CENTER ); } gint response = gtk_dialog_run(GTK_DIALOG(dlg)); GtkAllocation allocation; gtk_widget_get_allocation( GTK_WIDGET( dlg ), &allocation ); width = allocation.width; height = allocation.height; if ( width && height ) { char* str = g_strdup_printf( "%d", width ); xset_set( "file_dlg", "x", str ); g_free( str ); str = g_strdup_printf( "%d", height ); xset_set( "file_dlg", "y", str ); g_free( str ); } if( response == GTK_RESPONSE_OK ) { char* dest = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER ( dlg ) ); gtk_widget_destroy( dlg ); return dest; } gtk_widget_destroy( dlg ); return NULL; } char* xset_color_dialog( GtkWidget* parent, char* title, char* defcolor ) { GdkColor color; char* scolor = NULL; GtkWidget* dlgparent = parent ? gtk_widget_get_toplevel( parent ) : NULL; GtkWidget* dlg = gtk_color_selection_dialog_new( title ); GtkWidget* color_sel; GtkWidget* help_button; g_object_get ( G_OBJECT ( dlg ), "help-button", &help_button, NULL); gtk_button_set_label( GTK_BUTTON( help_button ), _("_Unset") ); gtk_button_set_image( GTK_BUTTON( help_button ), xset_get_image( "GTK_STOCK_REMOVE", GTK_ICON_SIZE_BUTTON ) ); xset_set_window_icon( GTK_WINDOW( dlg ) ); gtk_window_set_role( GTK_WINDOW( dlg ), "color_dialog" ); if ( defcolor && defcolor[0] != '\0' ) { if ( gdk_color_parse( defcolor, &color ) ) { //printf( " gdk_color_to_string = %s\n", gdk_color_to_string( &color ) ); color_sel = gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG( dlg ) ); gtk_color_selection_set_current_color( GTK_COLOR_SELECTION( color_sel ), &color ); } } gtk_widget_show_all( dlg ); gint response = gtk_dialog_run( GTK_DIALOG( dlg ) ); if ( response == GTK_RESPONSE_OK ) { // color_sel must be set directly before get_current_color color_sel = gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG( dlg ) ); gtk_color_selection_get_current_color( GTK_COLOR_SELECTION( color_sel ), &color ); scolor = gdk_color_to_string( &color ); } else if ( response == GTK_RESPONSE_HELP ) scolor = NULL; else // cancel, delete_event scolor = g_strdup( defcolor ); gtk_widget_destroy( dlg ); return scolor; } void xset_builtin_tool_activate( char tool_type, XSet* set, GdkEventButton* event ) { XSet* set2; int p; char mode; PtkFileBrowser* file_browser = NULL; FMMainWindow* main_window = fm_main_window_get_last_active(); // set may be a submenu that doesn't match tool_type if ( !( set && !set->lock && tool_type > XSET_TOOL_CUSTOM ) ) { g_warning( "xset_builtin_tool_activate invalid" ); return; } //printf("xset_builtin_tool_activate %s\n", set->menu_label ); // get current browser, panel, and mode if ( main_window ) { file_browser = PTK_FILE_BROWSER( fm_main_window_get_current_file_browser( main_window ) ); p = file_browser->mypanel; mode = main_window->panel_context[p-1]; } if ( !PTK_IS_FILE_BROWSER( file_browser ) ) return; switch ( tool_type ) { case XSET_TOOL_DEVICES: set2 = xset_get_panel_mode( p, "show_devmon", mode ); set2->b = set2->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; update_views_all_windows( NULL, file_browser ); break; case XSET_TOOL_BOOKMARKS: set2 = xset_get_panel_mode( p, "show_book", mode ); set2->b = set2->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; update_views_all_windows( NULL, file_browser ); if ( file_browser->side_book ) { ptk_bookmark_view_chdir( GTK_TREE_VIEW( file_browser->side_book ), file_browser, TRUE ); gtk_widget_grab_focus( GTK_WIDGET( file_browser->side_book ) ); } break; case XSET_TOOL_TREE: set2 = xset_get_panel_mode( p, "show_dirtree", mode ); set2->b = set2->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; update_views_all_windows( NULL, file_browser ); break; case XSET_TOOL_HOME: ptk_file_browser_go_home( NULL, file_browser ); break; case XSET_TOOL_DEFAULT: ptk_file_browser_go_default( NULL, file_browser ); break; case XSET_TOOL_UP: ptk_file_browser_go_up( NULL, file_browser ); break; case XSET_TOOL_BACK: ptk_file_browser_go_back( NULL, file_browser ); break; case XSET_TOOL_BACK_MENU: ptk_file_browser_show_history_menu( file_browser, TRUE, event ); break; case XSET_TOOL_FWD: ptk_file_browser_go_forward( NULL, file_browser ); break; case XSET_TOOL_FWD_MENU: ptk_file_browser_show_history_menu( file_browser, FALSE, event ); break; case XSET_TOOL_REFRESH: ptk_file_browser_refresh( NULL, file_browser ); break; case XSET_TOOL_NEW_TAB: ptk_file_browser_new_tab( NULL, file_browser ); break; case XSET_TOOL_NEW_TAB_HERE: ptk_file_browser_new_tab_here( NULL, file_browser ); break; case XSET_TOOL_SHOW_HIDDEN: set2 = xset_get_panel( p, "show_hidden" ); set2->b = set2->b == XSET_B_TRUE ? XSET_B_UNSET : XSET_B_TRUE; ptk_file_browser_show_hidden_files( file_browser, set2->b ); break; case XSET_TOOL_SHOW_THUMB: main_window_toggle_thumbnails_all_windows(); break; case XSET_TOOL_LARGE_ICONS: if ( file_browser->view_mode != PTK_FB_ICON_VIEW ) { xset_set_b_panel( p, "list_large", !file_browser->large_icons ); on_popup_list_large( NULL, file_browser ); } break; default: g_warning( "xset_builtin_tool_activate invalid tool_type" ); } } const char* xset_get_builtin_toolitem_label( char tool_type ) { if ( tool_type < XSET_TOOL_DEVICES || tool_type >= XSET_TOOL_INVALID ) return NULL; return _(builtin_tool_name[ tool_type ]); } XSet* xset_new_builtin_toolitem( char tool_type ) { if ( tool_type < XSET_TOOL_DEVICES || tool_type >= XSET_TOOL_INVALID ) return NULL; XSet* set = xset_custom_new(); set->tool = tool_type; set->task = set->task_err = set->task_out = set->keep_terminal = 0; return set; } gboolean on_tool_icon_button_press( GtkWidget *widget, GdkEventButton* event, XSet* set ) { int job = -1; //printf("on_tool_icon_button_press %s button = %d\n", set->menu_label, // event->button ); if ( event->type != GDK_BUTTON_PRESS ) return FALSE; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); // get and focus browser PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT( widget ), "browser" ); if ( !PTK_IS_FILE_BROWSER( file_browser ) ) return TRUE; ptk_file_browser_focus_me( file_browser ); set->browser = file_browser; set->desktop = NULL; // get context XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); if ( !context->valid ) return TRUE; if ( event->button == 1 || event->button == 3 ) { // left or right click if ( keymod == 0 ) { // no modifier if ( event->button == 1 ) { // left click if ( set->tool == XSET_TOOL_CUSTOM && set->menu_style == XSET_MENU_SUBMENU ) { XSet* set_child = xset_is( set->child ); if ( set_child ) { // activate first item in custom submenu xset_menu_cb( NULL, set_child ); } } else if ( set->tool == XSET_TOOL_CUSTOM ) { // activate xset_menu_cb( NULL, set ); } else if ( set->tool == XSET_TOOL_BACK_MENU ) xset_builtin_tool_activate( XSET_TOOL_BACK, set, event ); else if ( set->tool == XSET_TOOL_FWD_MENU ) xset_builtin_tool_activate( XSET_TOOL_FWD, set, event ); else if ( set->tool ) xset_builtin_tool_activate( set->tool, set, event ); return TRUE; } else //if ( event->button == 3 ) { // right-click show design menu for submenu set xset_design_cb( NULL, event, set ); return TRUE; } } else if ( keymod == GDK_CONTROL_MASK ) { // ctrl job = XSET_JOB_COPY; } else if ( keymod == GDK_MOD1_MASK ) { // alt job = XSET_JOB_CUT; } else if ( keymod == GDK_SHIFT_MASK ) { // shift job = XSET_JOB_PASTE; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_SHIFT_MASK ) ) { // ctrl + shift job = XSET_JOB_COMMAND; } } else if ( event->button == 2 ) { // middle click if ( keymod == 0 ) { // no modifier if ( set->tool == XSET_TOOL_CUSTOM && xset_get_int_set( set, "x" ) == XSET_CMD_SCRIPT ) job = XSET_JOB_EDIT; else job = XSET_JOB_PROP_CMD; } else if ( keymod == GDK_CONTROL_MASK ) { // ctrl job = XSET_JOB_KEY; } else if ( keymod == GDK_MOD1_MASK ) { // alt job = XSET_JOB_HELP; } else if ( keymod == GDK_SHIFT_MASK ) { // shift job = XSET_JOB_ICON; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_SHIFT_MASK ) ) { // ctrl + shift job = XSET_JOB_REMOVE; } else if ( keymod == ( GDK_CONTROL_MASK | GDK_MOD1_MASK ) ) { // ctrl + alt job = XSET_JOB_PROP; } } if ( job != -1 ) { if ( xset_job_is_valid( set, job ) ) { g_object_set_data( G_OBJECT( widget ), "job", GINT_TO_POINTER( job ) ); xset_design_job( widget, set ); } else { // right-click show design menu for submenu set xset_design_cb( NULL, event, set ); } return TRUE; } return TRUE; } gboolean on_tool_menu_button_press( GtkWidget *widget, GdkEventButton* event, XSet* set ) { //printf("on_tool_menu_button_press %s button = %d\n", set->menu_label, // event->button ); if ( event->type != GDK_BUTTON_PRESS ) return FALSE; int keymod = ( event->state & ( GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK ) ); if ( keymod != 0 || event->button != 1 ) return on_tool_icon_button_press( widget, event, set ); // get and focus browser PtkFileBrowser* file_browser = (PtkFileBrowser*)g_object_get_data( G_OBJECT( widget ), "browser" ); if ( !PTK_IS_FILE_BROWSER( file_browser ) ) return TRUE; ptk_file_browser_focus_me( file_browser ); // get context XSetContext* context = xset_context_new(); main_context_fill( file_browser, context ); if ( !context->valid ) return TRUE; if ( event->button == 1 ) { if ( set->tool == XSET_TOOL_CUSTOM ) { // show custom submenu XSet* set_child; if ( !( set && !set->lock && set->child && set->menu_style == XSET_MENU_SUBMENU && ( set_child = xset_is( set->child ) ) ) ) return TRUE; GtkWidget* menu = gtk_menu_new(); GtkAccelGroup* accel_group = gtk_accel_group_new(); xset_add_menuitem( NULL, file_browser, menu, accel_group, set_child ); gtk_widget_show_all( GTK_WIDGET( menu ) ); gtk_menu_popup( GTK_MENU( menu ), NULL, NULL, NULL, NULL, event->button, event->time ); } else xset_builtin_tool_activate( set->tool, set, event ); return TRUE; } return TRUE; } #if GTK_CHECK_VERSION (3, 0, 0) static void set_gtk3_widget_padding( GtkWidget* widget, int left_right, int top_bottom ) { char* str = g_strdup_printf( "GtkWidget { padding-left: %dpx; padding-right: %dpx; " "padding-top: %dpx; padding-bottom: %dpx; }", left_right, left_right, top_bottom, top_bottom ); GtkCssProvider* provider = gtk_css_provider_get_default(); gtk_css_provider_load_from_data ( GTK_CSS_PROVIDER( provider ), str, -1, NULL ); GtkStyleContext* context = gtk_widget_get_style_context( widget ); gtk_style_context_add_provider ( context, GTK_STYLE_PROVIDER( provider ), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION ); g_free( str ); } #endif GtkWidget* xset_add_toolitem( GtkWidget* parent, PtkFileBrowser* file_browser, GtkWidget* toolbar, int icon_size, XSet* set, gboolean show_tooltips ) { GtkWidget* image = NULL; GtkWidget* item = NULL; GtkWidget* btn; GtkRequisition req; XSet* set_next; char* new_menu_label = NULL; GdkPixbuf* pixbuf = NULL; char* icon_file = NULL; int cmd_type; char* str; if ( set->lock ) return NULL; if ( set->tool == XSET_TOOL_NOT ) { g_warning( "xset_add_toolitem set->tool == XSET_TOOL_NOT" ); set->tool = XSET_TOOL_CUSTOM; } // get real icon size from gtk icon size int icon_w, icon_h; gtk_icon_size_lookup_for_settings( gtk_settings_get_default(), icon_size, &icon_w, &icon_h ); int real_icon_size = icon_w > icon_h ? icon_w : icon_h; set->browser = file_browser; set->desktop = NULL; // builtin toolitems set shared_key on build if ( set->tool >= XSET_TOOL_INVALID ) { // looks like an unknown built-in toolitem from a future version - skip goto _next_toolitem; } if ( set->tool > XSET_TOOL_CUSTOM && set->tool < XSET_TOOL_INVALID && !set->shared_key ) set->shared_key = g_strdup( builtin_tool_shared_key[set->tool] ); // builtin toolitems don't have menu_style set int menu_style; switch ( set->tool ) { case XSET_TOOL_DEVICES: case XSET_TOOL_BOOKMARKS: case XSET_TOOL_TREE: case XSET_TOOL_SHOW_HIDDEN: case XSET_TOOL_SHOW_THUMB: case XSET_TOOL_LARGE_ICONS: menu_style = XSET_MENU_CHECK; break; case XSET_TOOL_BACK_MENU: case XSET_TOOL_FWD_MENU: menu_style = XSET_MENU_SUBMENU; break; default: menu_style = set->menu_style; } const char* icon_name = set->icon; if ( !icon_name && set->tool == XSET_TOOL_CUSTOM ) { // custom 'icon' file? icon_file = g_build_filename( settings_config_dir, "scripts", set->name, "icon", NULL ); if ( !g_file_test( icon_file, G_FILE_TEST_EXISTS ) ) { g_free( icon_file ); icon_file = NULL; } else icon_name = icon_file; } char* menu_label = set->menu_label; if ( !menu_label && set->tool > XSET_TOOL_CUSTOM ) menu_label = (char*)xset_get_builtin_toolitem_label( set->tool ); if ( !menu_style || menu_style == XSET_MENU_STRING ) { // normal item cmd_type = xset_get_int_set( set, "x" ); if ( set->tool > XSET_TOOL_CUSTOM ) { // builtin tool item if ( icon_name ) image = xset_get_image( icon_name, icon_size ); else if ( set->tool > XSET_TOOL_CUSTOM && set->tool < XSET_TOOL_INVALID ) image = xset_get_image( builtin_tool_icon[set->tool], icon_size ); } else if ( !set->lock && cmd_type == XSET_CMD_APP ) { // Application new_menu_label = xset_custom_get_app_name_icon( set, &pixbuf, real_icon_size ); } else if ( !set->lock && cmd_type == XSET_CMD_BOOKMARK ) { // Bookmark pixbuf = xset_custom_get_bookmark_icon( set, real_icon_size ); if ( !( set->menu_label && set->menu_label[0] ) ) new_menu_label = g_strdup( set->z ); } if ( pixbuf ) { image = gtk_image_new_from_pixbuf( pixbuf ); g_object_unref( pixbuf ); } if ( !image ) image = xset_get_image( icon_name ? icon_name : "gtk-execute", icon_size ); if ( !new_menu_label ) new_menu_label = g_strdup( menu_label ); // can't use gtk_tool_button_new because icon doesn't obey size //btn = GTK_WIDGET( gtk_tool_button_new( image, new_menu_label ) ); btn = GTK_WIDGET( gtk_button_new() ); gtk_widget_show( image ); gtk_button_set_image( GTK_BUTTON( btn ), image ); gtk_button_set_relief( GTK_BUTTON( btn ), GTK_RELIEF_NONE ); // These don't seem to do anything #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_margin_left( btn, 0 ); gtk_widget_set_margin_right( btn, 0 ); gtk_widget_set_margin_top( btn, 0 ); gtk_widget_set_margin_bottom( btn, 0 ); gtk_widget_set_hexpand( btn, FALSE ); gtk_widget_set_vexpand( btn, FALSE ); set_gtk3_widget_padding( btn, 0, 0 ); #else gtk_widget_size_request( btn, &req ); gtk_widget_set_size_request( GTK_WIDGET( btn ), req.width - 4, -1 ); #endif #if GTK_CHECK_VERSION (3, 6, 0) gtk_button_set_always_show_image( GTK_BUTTON( btn ), TRUE ); #endif #if GTK_CHECK_VERSION (3, 12, 0) gtk_widget_set_margin_start( btn, 0 ); gtk_widget_set_margin_end( btn, 0 ); #endif // create tool item containing an ebox to capture click on button item = GTK_WIDGET( gtk_tool_item_new() ); GtkWidget* ebox = gtk_event_box_new(); gtk_container_add( GTK_CONTAINER( item ), ebox ); gtk_container_add( GTK_CONTAINER( ebox ), btn ); gtk_event_box_set_visible_window( GTK_EVENT_BOX( ebox ), FALSE ); gtk_event_box_set_above_child( GTK_EVENT_BOX( ebox ), TRUE ); g_signal_connect( ebox, "button-press-event", G_CALLBACK( on_tool_icon_button_press ), set ); g_object_set_data( G_OBJECT( ebox ), "browser", file_browser ); ptk_file_browser_add_toolbar_widget( set, btn ); // tooltip if ( show_tooltips ) { str = clean_label( new_menu_label, FALSE, FALSE ); gtk_widget_set_tooltip_text( ebox, str ); g_free( str ); } g_free( new_menu_label ); } else if ( menu_style == XSET_MENU_CHECK ) { if ( !icon_name && set->tool > XSET_TOOL_CUSTOM && set->tool < XSET_TOOL_INVALID ) // builtin tool item image = xset_get_image( builtin_tool_icon[set->tool], icon_size ); else image = xset_get_image( icon_name ? icon_name : "gtk-execute", icon_size ); // can't use gtk_tool_button_new because icon doesn't obey size //btn = GTK_WIDGET( gtk_toggle_tool_button_new() ); //gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON( btn ), image ); //gtk_tool_button_set_label( GTK_TOOL_BUTTON( btn ), set->menu_label ); btn = gtk_toggle_button_new(); gtk_widget_show( image ); gtk_button_set_image( GTK_BUTTON( btn ), image ); gtk_button_set_relief( GTK_BUTTON( btn ), GTK_RELIEF_NONE ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( btn ), xset_get_b_set( set ) ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_margin_left( btn, 0 ); gtk_widget_set_margin_right( btn, 0 ); gtk_widget_set_margin_top( btn, 0 ); gtk_widget_set_margin_bottom( btn, 0 ); gtk_widget_set_hexpand( btn, FALSE ); gtk_widget_set_vexpand( btn, FALSE ); set_gtk3_widget_padding( btn, 0, 0 ); #endif #if GTK_CHECK_VERSION (3, 6, 0) gtk_button_set_always_show_image( GTK_BUTTON( btn ), TRUE ); #endif #if GTK_CHECK_VERSION (3, 12, 0) gtk_widget_set_margin_start( btn, 0 ); gtk_widget_set_margin_end( btn, 0 ); #endif // create tool item containing an ebox to capture click on button item = GTK_WIDGET( gtk_tool_item_new() ); GtkWidget* ebox = gtk_event_box_new(); gtk_container_add( GTK_CONTAINER( item ), ebox ); gtk_container_add( GTK_CONTAINER( ebox ), btn ); gtk_event_box_set_visible_window( GTK_EVENT_BOX( ebox ), FALSE ); gtk_event_box_set_above_child( GTK_EVENT_BOX( ebox ), TRUE ); g_signal_connect( ebox, "button-press-event", G_CALLBACK( on_tool_icon_button_press ), set ); g_object_set_data( G_OBJECT( ebox ), "browser", file_browser ); ptk_file_browser_add_toolbar_widget( set, btn ); // tooltip if ( show_tooltips ) { str = clean_label( menu_label, FALSE, FALSE ); gtk_widget_set_tooltip_text( ebox, str ); g_free( str ); } } else if ( menu_style == XSET_MENU_SUBMENU ) { menu_label = NULL; // create a tool button XSet* set_child = NULL; if ( set->tool == XSET_TOOL_CUSTOM ) set_child = xset_is( set->child ); if ( !icon_name && set_child && set_child->icon ) // take the user icon from the first item in the submenu icon_name = set_child->icon; else if ( !icon_name && set->tool > XSET_TOOL_CUSTOM && set->tool < XSET_TOOL_INVALID ) icon_name = builtin_tool_icon[ set->tool ]; else if ( !icon_name && set_child && set->tool == XSET_TOOL_CUSTOM ) { // take the auto icon from the first item in the submenu cmd_type = xset_get_int_set( set_child, "x" ); if ( cmd_type == XSET_CMD_APP ) { // Application new_menu_label = menu_label = xset_custom_get_app_name_icon( set_child, &pixbuf, real_icon_size ); } else if ( cmd_type == XSET_CMD_BOOKMARK ) { // Bookmark pixbuf = xset_custom_get_bookmark_icon( set_child, real_icon_size ); if ( !( set_child->menu_label && set_child->menu_label[0] ) ) menu_label = set_child->z; } else icon_name = "gtk-execute"; if ( pixbuf ) { image = gtk_image_new_from_pixbuf( pixbuf ); g_object_unref( pixbuf ); } } if ( !menu_label ) { if ( set->tool == XSET_TOOL_BACK_MENU ) menu_label = _(builtin_tool_name[ XSET_TOOL_BACK ]); else if ( set->tool == XSET_TOOL_FWD_MENU ) menu_label = _(builtin_tool_name[ XSET_TOOL_FWD ]); else if ( set->tool == XSET_TOOL_CUSTOM && set_child ) menu_label = set_child->menu_label; else if ( set->tool > XSET_TOOL_CUSTOM && !set->menu_label ) menu_label = (char*)xset_get_builtin_toolitem_label( set->tool ); else menu_label = set->menu_label; } if ( !image ) image = xset_get_image( icon_name ? icon_name : "gtk-directory", icon_size ); // can't use gtk_tool_button_new because icon doesn't obey size //btn = GTK_WIDGET( gtk_tool_button_new( image, menu_label ) ); btn = GTK_WIDGET( gtk_button_new() ); gtk_widget_show( image ); gtk_button_set_image( GTK_BUTTON( btn ), image ); gtk_button_set_relief( GTK_BUTTON( btn ), GTK_RELIEF_NONE ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_margin_left( btn, 0 ); gtk_widget_set_margin_right( btn, 0 ); gtk_widget_set_margin_top( btn, 0 ); gtk_widget_set_margin_bottom( btn, 0 ); gtk_widget_set_hexpand( btn, FALSE ); gtk_widget_set_vexpand( btn, FALSE ); set_gtk3_widget_padding( btn, 0, 0 ); #else gtk_widget_size_request( btn, &req ); gtk_widget_set_size_request( GTK_WIDGET( btn ), req.width - 4, -1 ); #endif #if GTK_CHECK_VERSION (3, 6, 0) gtk_button_set_always_show_image( GTK_BUTTON( btn ), TRUE ); #endif #if GTK_CHECK_VERSION (3, 12, 0) gtk_widget_set_margin_start( btn, 0 ); gtk_widget_set_margin_end( btn, 0 ); #endif // create eventbox for btn GtkWidget* ebox = gtk_event_box_new(); gtk_event_box_set_visible_window( GTK_EVENT_BOX( ebox ), FALSE ); gtk_event_box_set_above_child( GTK_EVENT_BOX( ebox ), TRUE ); gtk_container_add( GTK_CONTAINER( ebox ), btn ); g_signal_connect( G_OBJECT( ebox ), "button_press_event", G_CALLBACK( on_tool_icon_button_press ), set ); g_object_set_data( G_OBJECT( ebox ), "browser", file_browser ); ptk_file_browser_add_toolbar_widget( set, btn ); // pack into hbox GtkWidget* hbox = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start ( GTK_BOX( hbox ), ebox, FALSE, FALSE, 0 ); // tooltip if ( show_tooltips ) { str = clean_label( menu_label, FALSE, FALSE ); gtk_widget_set_tooltip_text( ebox, str ); g_free( str ); } g_free( new_menu_label ); // reset menu_label for below menu_label = set->menu_label; if ( !menu_label && set->tool > XSET_TOOL_CUSTOM ) menu_label = (char*)xset_get_builtin_toolitem_label( set->tool ); ///////// create a menu_tool_button to steal the button from ebox = gtk_event_box_new(); gtk_event_box_set_visible_window( GTK_EVENT_BOX( ebox ), FALSE ); gtk_event_box_set_above_child( GTK_EVENT_BOX( ebox ), TRUE ); GtkWidget* menu_btn = GTK_WIDGET( gtk_menu_tool_button_new( NULL, NULL ) ); GtkWidget* hbox_menu = gtk_bin_get_child( GTK_BIN( menu_btn ) ); GList* children = gtk_container_get_children( GTK_CONTAINER( hbox_menu ) ); btn = GTK_WIDGET( children->next->data ); if ( !btn || !GTK_IS_WIDGET( btn ) ) { // failed so just create a button btn = GTK_WIDGET( gtk_button_new() ); gtk_button_set_label( GTK_BUTTON( btn ), "." ); gtk_button_set_relief( GTK_BUTTON( btn ), GTK_RELIEF_NONE ); gtk_container_add( GTK_CONTAINER( ebox ), btn ); } else { // steal the drop-down button gtk_widget_reparent( btn, ebox ); gtk_button_set_relief( GTK_BUTTON( btn ), GTK_RELIEF_NONE ); } #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_margin_left( btn, 0 ); gtk_widget_set_margin_right( btn, 0 ); gtk_widget_set_margin_top( btn, 0 ); gtk_widget_set_margin_bottom( btn, 0 ); gtk_widget_set_hexpand( btn, FALSE ); gtk_widget_set_vexpand( btn, FALSE ); set_gtk3_widget_padding( btn, 0, 0 ); #endif #if GTK_CHECK_VERSION (3, 6, 0) gtk_button_set_always_show_image( GTK_BUTTON( btn ), TRUE ); #endif #if GTK_CHECK_VERSION (3, 12, 0) gtk_widget_set_margin_start( btn, 0 ); gtk_widget_set_margin_end( btn, 0 ); #endif g_list_free( children ); gtk_widget_destroy( menu_btn ); gtk_box_pack_start ( GTK_BOX( hbox ), ebox, FALSE, FALSE, 0 ); g_signal_connect( G_OBJECT( ebox ), "button_press_event", G_CALLBACK( on_tool_menu_button_press ), set ); g_object_set_data( G_OBJECT( ebox ), "browser", file_browser ); ptk_file_browser_add_toolbar_widget( set, btn ); item = GTK_WIDGET( gtk_tool_item_new() ); gtk_container_add( GTK_CONTAINER( item ), hbox ); gtk_widget_show_all( item ); // tooltip if ( show_tooltips ) { str = clean_label( menu_label, FALSE, FALSE ); gtk_widget_set_tooltip_text( ebox, str ); g_free( str ); } } else if ( menu_style == XSET_MENU_SEP ) { // create tool item containing an ebox to capture click on sep btn = GTK_WIDGET( gtk_separator_tool_item_new() ); gtk_separator_tool_item_set_draw( GTK_SEPARATOR_TOOL_ITEM( btn ), TRUE ); item = GTK_WIDGET( gtk_tool_item_new() ); GtkWidget* ebox = gtk_event_box_new(); gtk_container_add( GTK_CONTAINER( item ), ebox ); gtk_container_add( GTK_CONTAINER( ebox ), btn ); gtk_event_box_set_visible_window( GTK_EVENT_BOX( ebox ), FALSE ); gtk_event_box_set_above_child( GTK_EVENT_BOX( ebox ), TRUE ); g_signal_connect( ebox, "button-press-event", G_CALLBACK( on_tool_icon_button_press ), set ); g_object_set_data( G_OBJECT( ebox ), "browser", file_browser ); } else return NULL; g_free( icon_file ); gtk_toolbar_insert( GTK_TOOLBAR( toolbar ), GTK_TOOL_ITEM( item ), -1 ); //printf(" set=%s set->next=%s\n", set->name, set->next ); // next toolitem _next_toolitem: if ( set_next = xset_is( set->next ) ) { //printf(" NEXT %s\n", set_next->name ); xset_add_toolitem( parent, file_browser, toolbar, icon_size, set_next, show_tooltips ); } return item; } void xset_fill_toolbar( GtkWidget* parent, PtkFileBrowser* file_browser, GtkWidget* toolbar, XSet* set_parent, gboolean show_tooltips ) { const char default_tools[] = { XSET_TOOL_BOOKMARKS, XSET_TOOL_TREE, XSET_TOOL_NEW_TAB_HERE, XSET_TOOL_BACK_MENU, XSET_TOOL_FWD_MENU, XSET_TOOL_UP, XSET_TOOL_DEFAULT }; int i, stop_b4; XSet* set; XSet* set_target; //printf("xset_fill_toolbar %s\n", set_parent->name ); if ( !( file_browser && toolbar && set_parent ) ) return; set_parent->lock = TRUE; set_parent->menu_style = XSET_MENU_SUBMENU; GtkIconSize icon_size = gtk_toolbar_get_icon_size( GTK_TOOLBAR( toolbar ) ); XSet* set_child = NULL; if ( set_parent->child ) set_child = xset_is( set_parent->child ); if ( !set_child ) { // toolbar is empty - add default items set_child = xset_new_builtin_toolitem( strstr( set_parent->name, "tool_r" ) ? XSET_TOOL_REFRESH : XSET_TOOL_DEVICES ); set_parent->child = g_strdup( set_child->name ); set_child->parent = g_strdup( set_parent->name ); if ( !strstr( set_parent->name, "tool_r" ) ) { if ( strstr( set_parent->name, "tool_s" ) ) stop_b4 = 2; else stop_b4 = G_N_ELEMENTS( default_tools ); set_target = set_child; for ( i = 0; i < stop_b4; i++ ) { set = xset_new_builtin_toolitem( default_tools[i] ); xset_custom_insert_after( set_target, set ); set_target = set; } } } xset_add_toolitem( parent, file_browser, toolbar, icon_size, set_child, show_tooltips ); // These don't seem to do anything gtk_container_set_border_width( GTK_CONTAINER( toolbar ), 0 ); #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_margin_left( toolbar, 0 ); gtk_widget_set_margin_right( toolbar, 0 ); gtk_widget_set_margin_top( toolbar, 0 ); gtk_widget_set_margin_bottom( toolbar, 0 ); // remove padding from GTK3 toolbar - this works set_gtk3_widget_padding( toolbar, 0, 2 ); #endif #if GTK_CHECK_VERSION (3, 12, 0) gtk_widget_set_margin_start( toolbar, 0 ); gtk_widget_set_margin_end( toolbar, 0 ); #endif gtk_widget_show_all( toolbar ); } void open_in_prog( const char* path ) { char* prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); char* qpath = bash_quote( path ); char* line = g_strdup_printf( "%s %s", prog, qpath ); g_spawn_command_line_async( line, NULL ); g_free( qpath ); g_free( line ); g_free( prog ); } void xset_set_window_icon( GtkWindow* win ) { char* name; XSet* set = xset_get( "main_icon" ); if ( set->icon ) name = set->icon; else if ( geteuid() == 0 ) name = "spacefm-root"; else name = "spacefm"; GtkIconTheme* theme = gtk_icon_theme_get_default(); if ( !theme ) return; GError *error = NULL; GdkPixbuf* icon = gtk_icon_theme_load_icon( theme, name, 48, 0, &error ); if ( icon ) { gtk_window_set_icon( GTK_WINDOW( win ), icon ); g_object_unref( icon ); } else if ( error ) { // An error occured on loading the icon fprintf( stderr, "spacefm: Unable to load the window icon " "'%s' in - xset_set_window_icon - %s\n", name, error->message); g_error_free( error ); } } char *replace_string( const char* orig, const char* str, const char* replace, gboolean quote ) { // replace all occurrences of str in orig with replace, optionally quoting char* rep; const char* cur; char* result = NULL; char* old_result; char* s; if ( !orig || !( s = strstr( orig, str ) ) ) return g_strdup( orig ); // str not in orig if ( !replace ) { if ( quote ) rep = g_strdup( "''" ); else rep = g_strdup( "" ); } else if ( quote ) rep = g_strdup_printf( "'%s'", replace ); else rep = g_strdup( replace ); cur = orig; do { if ( result ) { old_result = result; result = g_strdup_printf( "%s%s%s", old_result, g_strndup( cur, s - cur ), rep ); g_free( old_result ); } else result = g_strdup_printf( "%s%s", g_strndup( cur, s - cur ), rep ); cur = s + strlen( str ); s = strstr( cur, str ); } while ( s ); old_result = result; result = g_strdup_printf( "%s%s", old_result, cur ); g_free( old_result ); g_free( rep ); return result; /* // replace first occur of str in orig with rep char* buffer; char* buffer2; char *p; char* rep_good; if ( !( p = strstr( orig, str ) ) ) return g_strdup( orig ); // str not in orig if ( !rep ) rep_good = g_strdup_printf( "" ); else rep_good = g_strdup( rep ); buffer = g_strndup( orig, p - orig ); if ( quote ) buffer2 = g_strdup_printf( "%s'%s'%s", buffer, rep_good, p + strlen( str ) ); else buffer2 = g_strdup_printf( "%s%s%s", buffer, rep_good, p + strlen( str ) ); g_free( buffer ); g_free( rep_good ); return buffer2; */ } char* bash_quote( const char* str ) { if ( !str ) return g_strdup( "''" ); char* s1 = replace_string( str, "'", "'\\''", FALSE ); char* s2 = g_strdup_printf( "'%s'", s1 ); g_free( s1 ); return s2; } char* plain_ascii_name( const char* orig_name ) { if ( !orig_name ) return g_strdup( "" ); char* orig = g_strdup( orig_name ); g_strcanon( orig, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_", ' ' ); char* s = replace_string( orig, " ", "", FALSE ); g_free( orig ); return s; } char* clean_label( const char* menu_label, gboolean kill_special, gboolean escape ) { char* s1; char* s2; if ( menu_label && strstr( menu_label, "\\_" ) ) { s1 = replace_string( menu_label, "\\_", "@UNDERSCORE@", FALSE ); s2 = replace_string( s1, "_", "", FALSE ); g_free( s1 ); s1 = replace_string( s2, "@UNDERSCORE@", "_", FALSE ); g_free( s2 ); } else s1 = replace_string( menu_label, "_", "", FALSE ); if ( kill_special ) { s2 = replace_string( s1, "&", "", FALSE ); g_free( s1 ); s1 = replace_string( s2, " ", "-", FALSE ); g_free( s2 ); } else if ( escape ) { s2 = g_markup_escape_text( s1, -1 ); g_free( s1 ); s1 = s2; } return s1; } void string_copy_free( char** s, const char* src ) { char* discard = *s; *s = g_strdup( src ); g_free( discard ); } char* unescape( const char* t ) { if ( !t ) return NULL; char* s = g_strdup( t ); int i = 0, j = 0; while ( t[i] ) { switch ( t[i] ) { case '\\': switch( t[++i] ) { case 'n': s[j] = '\n'; break; case 't': s[j] = '\t'; break; case '\\': s[j] = '\\'; break; case '\"': s[j] = '\"'; break; default: // copy s[j++] = '\\'; s[j] = t[i]; } break; default: s[j] = t[i]; } ++i; ++j; } s[j] = t[i]; // null char return s; } void xset_defaults() { XSet* set; srand( (unsigned int)time( 0 ) + getpid() ); // set_last must be set (to anything) set_last = xset_get( "separator" ); set_last->menu_style = XSET_MENU_SEP; // dev menu set = xset_get( "sep_dm1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_dm2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_dm3" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_dm4" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_dm5" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "dev_menu_remove", "lbl", _("Remo_ve / Eject") ); xset_set_set( set, "icn", "gtk-disconnect" ); set->line = g_strdup( "#devices-menu-remove" ); set = xset_set( "dev_menu_unmount", "lbl", _("_Unmount") ); xset_set_set( set, "icn", "gtk-remove" ); set->line = g_strdup( "#devices-menu-unmount" ); set = xset_set( "dev_menu_reload", "lbl", _("Re_load") ); xset_set_set( set, "icn", "gtk-disconnect" ); set->line = g_strdup( "#devices-menu-reload" ); set = xset_set( "dev_menu_sync", "lbl", _("_Sync") ); xset_set_set( set, "icn", "gtk-save" ); set->line = g_strdup( "#devices-menu-sync" ); set = xset_set( "dev_menu_open", "lbl", _("_Open") ); xset_set_set( set, "icn", "gtk-open" ); set->line = g_strdup( "#devices-menu-open" ); set = xset_set( "dev_menu_tab", "lbl", C_("Devices|Open|", "Open In _Tab") ); xset_set_set( set, "icn", "gtk-add" ); set->line = g_strdup( "#devices-menu-tab" ); set = xset_set( "dev_menu_mount", "lbl", _("_Mount") ); xset_set_set( set, "icn", "drive-removable-media" ); set->line = g_strdup( "#devices-menu-mount" ); set = xset_set( "dev_menu_remount", "lbl", _("Re_/mount") ); xset_set_set( set, "icn", "gtk-redo" ); set->line = g_strdup( "#devices-menu-remount" ); set = xset_set( "dev_menu_mark", "lbl", _("_Bookmark") ); xset_set_set( set, "icn", "gtk-add" ); set->line = g_strdup( "#devices-menu-bookmark" ); set = xset_get( "sep_mr1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_mr2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_mr3" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "dev_menu_root", "lbl", _("_Root") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_root_unmount dev_root_mount sep_mr1 dev_root_label sep_mr2 dev_root_check dev_menu_format dev_menu_backup dev_menu_restore sep_mr3 dev_root_fstab dev_root_udevil" ); xset_set_set( set, "icn", "gtk-dialog-warning" ); set->line = g_strdup( "#devices-root" ); set = xset_set( "dev_root_mount", "lbl", _("_Mount") ); xset_set_set( set, "icn", "drive-removable-media" ); xset_set_set( set, "z", "/usr/bin/udevil mount -o %o %v" ); set->line = g_strdup( "#devices-root-mount" ); set = xset_set( "dev_root_unmount", "lbl", _("_Unmount") ); xset_set_set( set, "icn", "gtk-remove" ); xset_set_set( set, "z", "/usr/bin/udevil umount %v" ); set->line = g_strdup( "#devices-root-unmount" ); set = xset_set( "dev_root_label", "lbl", _("_Label") ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-root-label" ); // set->y contains current remove label command // set->z contains current set label command // set->desc contains default remove label command // set->title contains default set label command // ext2,3,4 set = xset_get( "label_cmd_ext" ); xset_set_set( set, "desc", "/sbin/tune2fs -L %l %v" ); xset_set_set( set, "title", set->desc ); set->line = g_strdup( "#devices-root-label" ); set = xset_get( "label_cmd_vfat" ); xset_set_set( set, "desc", "mlabel -c -i %v ::" ); xset_set_set( set, "title", "mlabel -i %v ::%l" ); set->line = g_strdup( "#devices-root-label" ); set = xset_get( "label_cmd_msdos" ); xset_set_set( set, "desc", "mlabel -c -i %v ::" ); xset_set_set( set, "title", "mlabel -i %v ::%l" ); set->line = g_strdup( "#devices-root-label" ); set = xset_get( "label_cmd_fat16" ); xset_set_set( set, "desc", "mlabel -c -i %v ::" ); xset_set_set( set, "title", "mlabel -i %v ::%l" ); set->line = g_strdup( "#devices-root-label" ); set = xset_get( "label_cmd_fat32" ); xset_set_set( set, "desc", "mlabel -c -i %v ::" ); xset_set_set( set, "title", "mlabel -i %v ::%l" ); set->line = g_strdup( "#devices-root-label" ); set = xset_get( "label_cmd_ntfs" ); xset_set_set( set, "desc", "/sbin/ntfslabel -f %v %l" ); xset_set_set( set, "title", set->desc ); set->line = g_strdup( "#devices-root-label" ); set = xset_get( "label_cmd_btrfs" ); xset_set_set( set, "desc", "/sbin/btrfs filesystem label %v %l" ); xset_set_set( set, "title", set->desc ); set->line = g_strdup( "#devices-root-label" ); set = xset_get( "label_cmd_reiserfs" ); xset_set_set( set, "desc", "/sbin/reiserfstune -l %l %v" ); xset_set_set( set, "title", set->desc ); set->line = g_strdup( "#devices-root-label" ); set = xset_set( "dev_root_check", "lbl", _("_Check") ); xset_set_set( set, "desc", "/sbin/fsck %v" ); set->line = g_strdup( "#devices-root-check" ); set = xset_set( "dev_root_fstab", "lbl", _("_Edit fstab") ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-root-fstab" ); set = xset_set( "dev_root_udevil", "lbl", _("Edit u_devil.conf") ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-root-udevil" ); set = xset_set( "dev_menu_format", "lbl", _("_Format") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_fmt_vfat dev_fmt_ntfs dev_fmt_ext2 dev_fmt_ext3 dev_fmt_ext4 dev_fmt_btrfs dev_fmt_reis dev_fmt_reis4 dev_fmt_swap dev_fmt_zero dev_fmt_urand" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_vfat", "lbl", "_vfat" ); xset_set_set( set, "desc", "vfat" ); xset_set_set( set, "title", "/sbin/mkfs -t vfat %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_ntfs", "lbl", "_ntfs" ); xset_set_set( set, "desc", "ntfs" ); xset_set_set( set, "title", "/sbin/mkfs -t ntfs %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_ext2", "lbl", "ext_2" ); xset_set_set( set, "desc", "ext2" ); xset_set_set( set, "title", "/sbin/mkfs -t ext2 %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_ext3", "lbl", "ext_3" ); xset_set_set( set, "desc", "ext3" ); xset_set_set( set, "title", "/sbin/mkfs -t ext3 %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_ext4", "lbl", "ext_4" ); xset_set_set( set, "desc", "ext4" ); xset_set_set( set, "title", "/sbin/mkfs -t ext4 %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_btrfs", "lbl", "_btrfs" ); xset_set_set( set, "desc", "btrfs" ); xset_set_set( set, "title", "/sbin/mkfs -t btrfs %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_reis", "lbl", "_reiserfs" ); xset_set_set( set, "desc", "reiserfs" ); xset_set_set( set, "title", "/sbin/mkfs -t reiserfs %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_reis4", "lbl", "r_eiser4" ); xset_set_set( set, "desc", "reiser4" ); xset_set_set( set, "title", "/sbin/mkfs -t reiser4 %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_swap", "lbl", "_swap" ); xset_set_set( set, "desc", "swap" ); xset_set_set( set, "title", "/sbin/mkswap %v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_zero", "lbl", "_zero" ); xset_set_set( set, "desc", "zero" ); xset_set_set( set, "title", "dd if=/dev/zero of=%v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_fmt_urand", "lbl", "_urandom" ); xset_set_set( set, "desc", "urandom" ); xset_set_set( set, "title", "dd if=/dev/urandom of=%v" ); set->line = g_strdup( "#devices-root-format" ); set = xset_set( "dev_menu_backup", "lbl", _("_Backup") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_back_fsarc dev_back_part dev_back_mbr" ); set->line = g_strdup( "#devices-root-fsarc" ); set = xset_set( "dev_back_fsarc", "lbl", "_FSArchiver" ); xset_set_set( set, "desc", "FSArchiver" ); xset_set_set( set, "title", "fsarchiver -vo -z 7 savefs %s %v" ); set->line = g_strdup( "#devices-root-fsarc" ); set = xset_set( "dev_back_part", "lbl", "_Partimage" ); xset_set_set( set, "desc", "Partimage" ); xset_set_set( set, "title", "partimage -dbo -V 4050 save %v %s" ); set->line = g_strdup( "#devices-root-parti" ); set = xset_set( "dev_back_mbr", "lbl", "_MBR" ); xset_set_set( set, "desc", "MBR" ); set->line = g_strdup( "#devices-root-mbr" ); set = xset_get( "sep_mr4" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "dev_menu_restore", "lbl", _("_Restore") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_rest_file sep_mr4 dev_rest_info" ); set->line = g_strdup( "#devices-root-resfile" ); set = xset_set( "dev_rest_file", "lbl", _("_From File") ); xset_set_set( set, "desc", "fsarchiver -v restfs %s id=0,dest=%v" ); xset_set_set( set, "title", "partimage -b restore %v %s" ); set->line = g_strdup( "#devices-root-resfile" ); set = xset_set( "dev_rest_info", "lbl", _("File _Info") ); set->line = g_strdup( "#devices-root-resinfo" ); set = xset_set( "dev_prop", "lbl", _("_Properties") ); set->line = g_strdup( "#devices-menu-properties" ); xset_set_set( set, "icn", "gtk-properties" ); set = xset_set( "dev_menu_settings", "lbl", _("Setti_ngs") ); xset_set_set( set, "icn", "gtk-properties" ); set->menu_style = XSET_MENU_SUBMENU; set->line = g_strdup( "#devices-settings" ); // dev settings set = xset_set( "dev_show", "lbl", _("S_how") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_show_internal_drives dev_show_empty dev_show_partition_tables dev_show_net dev_show_file dev_ignore_udisks_hide dev_show_hide_volumes dev_dispname" ); set->line = g_strdup( "#devices-settings-internal" ); set = xset_set( "dev_show_internal_drives", "lbl", _("_Internal Drives") ); set->menu_style = XSET_MENU_CHECK; set->b = geteuid() == 0 ? XSET_B_TRUE : XSET_B_FALSE; set->line = g_strdup( "#devices-settings-internal" ); set = xset_set( "dev_show_empty", "lbl", _("_Empty Drives") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; //geteuid() == 0 ? XSET_B_TRUE : XSET_B_UNSET; set->line = g_strdup( "#devices-settings-empty" ); set = xset_set( "dev_show_partition_tables", "lbl", _("_Partition Tables") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-table" ); set = xset_set( "dev_show_net", "lbl", _("Mounted _Networks") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-net" ); set->b = XSET_B_TRUE; set = xset_set( "dev_show_file", "lbl", _("Mounted _Other") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-files" ); set->b = XSET_B_TRUE; set = xset_set( "dev_show_hide_volumes", "lbl", _("_Volumes...") ); xset_set_set( set, "title", _("Show/Hide Volumes") ); xset_set_set( set, "desc", _("To force showing or hiding of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n\nExample: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nThis would cause /dev/sdd1 and the OCZ device to be shown, and the volume with label \"Label With Space\" to be hidden.\n\nThere must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n\n") ); set->line = g_strdup( "#devices-settings-vol" ); set = xset_set( "dev_ignore_udisks_hide", "lbl", _("Ignore _Hide Policy") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-hide" ); set = xset_set( "dev_dispname", "lbl", _("_Display Name") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Display Name Format") ); xset_set_set( set, "desc", _("Enter device display name format:\n\nUse:\n\t%%v\tdevice filename (eg sdd1)\n\t%%s\ttotal size (eg 800G)\n\t%%t\tfstype (eg ext4)\n\t%%l\tvolume label (eg Label or [no media])\n\t%%m\tmount point if mounted, or ---\n\t%%i\tdevice ID\n\t%%n\tmajor:minor device numbers (eg 15:3)\n") ); xset_set_set( set, "s", "%v %s %l %m" ); xset_set_set( set, "z", "%v %s %l %m" ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-settings-name" ); set = xset_set( "dev_menu_auto", "lbl", _("_Auto Mount") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_automount_optical dev_automount_removable dev_ignore_udisks_nopolicy dev_automount_volumes dev_automount_dirs dev_auto_open dev_unmount_quit" ); set->line = g_strdup( "#devices-settings-optical" ); set = xset_set( "dev_automount_optical", "lbl", _("Mount _Optical") ); set->b = geteuid() == 0 ? XSET_B_FALSE : XSET_B_TRUE; set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-optical" ); set = xset_set( "dev_automount_removable", "lbl", _("_Mount Removable") ); set->b = geteuid() == 0 ? XSET_B_FALSE : XSET_B_TRUE; set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-remove" ); set = xset_set( "dev_automount_volumes", "lbl", _("Mount _Volumes...") ); xset_set_set( set, "title", _("Auto-Mount Volumes") ); xset_set_set( set, "desc", _("To force or prevent automounting of some volumes, overriding other settings, you can specify the devices, volume labels, or device IDs in the space-separated list below.\n\nExample: +/dev/sdd1 -Label With Space +ata-OCZ-part4\nThis would cause /dev/sdd1 and the OCZ device to be auto-mounted when detected, and the volume with label \"Label With Space\" to be ignored.\n\nThere must be a space between entries and a plus or minus sign directly before each item. This list is case-sensitive.\n\n") ); set->line = g_strdup( "#devices-settings-mvol" ); set = xset_set( "dev_automount_dirs", "lbl", _("Mount _Dirs...") ); xset_set_set( set, "title", _("Automatic Mount Point Dirs") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "desc", _("Enter the directory where SpaceFM should automatically create mount point directories for fuse and similar filesystems (%%a in handler commands). This directory must be user-writable (do NOT use /media), and empty subdirectories will be removed. If left blank, ~/.cache/spacefm/ (or $XDG_CACHE_HOME/spacefm/) is used. The following variables are recognized: $USER $UID $HOME $XDG_RUNTIME_DIR $XDG_CACHE_HOME\n\nNote that some handlers or mount programs may not obey this setting.\n") ); set->line = g_strdup( "#devices-settings-mdirs" ); set = xset_set( "dev_auto_open", "lbl", _("Open _Tab") ); set->b = XSET_B_TRUE; set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-tab" ); set = xset_set( "dev_unmount_quit", "lbl", _("_Unmount On Exit") ); set->b = XSET_B_UNSET; set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-exit" ); set = xset_get( "sep_ar1" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "dev_exec", "lbl", _("Auto _Run") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_exec_fs dev_exec_audio dev_exec_video sep_ar1 dev_exec_insert dev_exec_unmount dev_exec_remove" ); xset_set_set( set, "icn", "gtk-execute" ); set->line = g_strdup( "#devices-settings-runm" ); set = xset_set( "dev_exec_fs", "lbl", _("On _Mount") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Auto Run On Mount") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically after a removable drive or data disc is auto-mounted:\n\nUse:\n\t%%v\tdevice (eg /dev/sda1)\n\t%%l\tdevice label\n\t%%m\tdevice mount point (eg /media/disk)") ); set->line = g_strdup( "#devices-settings-runm" ); set = xset_set( "dev_exec_audio", "lbl", _("On _Audio CD") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Auto Run On Audio CD") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically when an audio CD is inserted in a qualified device:\n\nUse:\n\t%%v\tdevice (eg /dev/sda1)\n\t%%l\tdevice label\n\t%%m\tdevice mount point (eg /media/disk)") ); set->line = g_strdup( "#devices-settings-runa" ); set = xset_set( "dev_exec_video", "lbl", _("On _Video DVD") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Auto Run On Video DVD") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically when a video DVD is auto-mounted:\n\nUse:\n\t%%v\tdevice (eg /dev/sda1)\n\t%%l\tdevice label\n\t%%m\tdevice mount point (eg /media/disk)") ); set->line = g_strdup( "#devices-settings-runv" ); set = xset_set( "dev_exec_insert", "lbl", _("On _Insert") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Auto Run On Insert") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically when any device is inserted:\n\nUse:\n\t%%v\tdevice added (eg /dev/sda1)\n\t%%l\tdevice label\n\t%%m\tdevice mount point (eg /media/disk)") ); set->line = g_strdup( "#devices-settings-runi" ); set = xset_set( "dev_exec_unmount", "lbl", _("On _Unmount") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Auto Run On Unmount") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically when any device is unmounted by any means:\n\nUse:\n\t%%v\tdevice unmounted (eg /dev/sda1)\n\t%%l\tdevice label\n\t%%m\tdevice mount point (eg /media/disk)") ); set->line = g_strdup( "#devices-settings-runu" ); set = xset_set( "dev_exec_remove", "lbl", _("On _Remove") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Auto Run On Remove") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically when any device is removed (ejection of media does not qualify):\n\nUse:\n\t%%v\tdevice removed (eg /dev/sda1)\n\t%%l\tdevice label\n\t%%m\tdevice mount point (eg /media/disk)") ); set->line = g_strdup( "#devices-settings-runr" ); set = xset_set( "dev_ignore_udisks_nopolicy", "lbl", _("Ignore _No Policy") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#devices-settings-nopolicy" ); set = xset_set( "dev_mount_options", "lbl", _("_Mount Options") ); xset_set_set( set, "desc", _("Enter your comma- or space-separated list of default mount options below (%%o in handlers).\n\nIn addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n\nExample: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nThis will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n\nNote: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount and some handlers may ignore options set here.") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Default Mount Options") ); xset_set_set( set, "s", "noexec, nosuid, noatime" ); xset_set_set( set, "z", "noexec, nosuid, noatime" ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-settings-opts" ); set = xset_set( "dev_remount_options", "z", "noexec, nosuid, noatime" ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Re/mount With Options") ); xset_set_set( set, "desc", _("Device will be (re)mounted using the options below.\n\nIn addition to regular options, you can also specify options to be added or removed for a specific filesystem type by using the form OPTION+FSTYPE or OPTION-FSTYPE.\n\nExample: nosuid, sync+vfat, sync+ntfs, noatime, noatime-ext4\nThis will add nosuid and noatime for all filesystem types, add sync for vfat and ntfs only, and remove noatime for ext4.\n\nNote: Some options, such as nosuid, may be added by the mount program even if you don't include them. Options in fstab take precedence. pmount ignores options set here.") ); xset_set_set( set, "s", "noexec, nosuid, noatime" ); set->line = g_strdup( "#devices-menu-remount" ); set = xset_set( "dev_change", "lbl", _("_Change Detection") ); xset_set_set( set, "desc", _("Enter your comma- or space-separated list of filesystems which should NOT be monitored for file changes. This setting only affects non-block devices (such as nfs or fuse), and is usually used to prevent SpaceFM becoming unresponsive with network filesystems. Loading of thumbnails and subdirectory sizes will also be disabled.") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Change Detection Blacklist") ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-settings-chdet" ); set->s = g_strdup( "cifs curlftpfs ftpfs fuse.sshfs nfs smbfs" ); set->z = g_strdup( set->s ); /* Removed 0.9.4 set = xset_set( "dev_mount_cmd", "lbl", _("Mount _Command") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "desc", _("Enter the command to mount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\t%%o\tvolume-specific mount options\n\nudevil:\t/usr/bin/udevil mount -o %%o %%v\npmount:\t/usr/bin/pmount %%v\nUdisks2:\t/usr/bin/udisksctl mount -b %%v -o %%o\nUdisks1:\t/usr/bin/udisks --mount %%v --mount-options %%o\n\nLeave blank for auto-detection.") ); xset_set_set( set, "title", _("Mount Command") ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-settings-mcmd" ); set = xset_set( "dev_unmount_cmd", "lbl", _("_Unmount Command") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "desc", _("Enter the command to unmount a device:\n\nUse:\n\t%%v\tdevice file ( eg /dev/sda5 )\n\nudevil:\t/usr/bin/udevil umount %%v\npmount:\t/usr/bin/pumount %%v\nUdisks1:\t/usr/bin/udisks --unmount %%v\nUdisks2:\t/usr/bin/udisksctl unmount -b %%v\n\nLeave blank for auto-detection.") ); xset_set_set( set, "title", _("Unmount Command") ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#devices-settings-ucmd" ); */ set = xset_set( "dev_fs_cnf", "label", _("_Device Handlers") ); xset_set_set( set, "icon", "gtk-preferences" ); set->line = g_strdup( "#handlers-dev" ); set = xset_set( "dev_net_cnf", "label", _("_Protocol Handlers") ); xset_set_set( set, "icon", "gtk-preferences" ); set->line = g_strdup( "#handlers-pro" ); // dev icons set = xset_get( "sep_i1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_i2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_i3" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_i4" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "dev_icon", "lbl", _("_Icon") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "dev_icon_internal_mounted dev_icon_internal_unmounted sep_i1 dev_icon_remove_mounted dev_icon_remove_unmounted sep_i2 dev_icon_optical_mounted dev_icon_optical_media dev_icon_optical_nomedia dev_icon_audiocd sep_i3 dev_icon_floppy_mounted dev_icon_floppy_unmounted sep_i4 dev_icon_network dev_icon_file" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_audiocd", "lbl", _("Audio CD") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-cdrom" ); set->line = g_strdup( "" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_optical_mounted", "lbl", _("Optical Mounted") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-cdrom" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_optical_media", "lbl", _("Optical Has Media") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-yes" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_optical_nomedia", "lbl", _("Optical No Media") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-close" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_floppy_mounted", "lbl", _("Floppy Mounted") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-floppy" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_floppy_unmounted", "lbl", _("Floppy Unmounted") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-floppy" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_remove_mounted", "lbl", _("Removable Mounted") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-add" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_remove_unmounted", "lbl", _("Removable Unmounted") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-remove" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_internal_mounted", "lbl", _("Internal Mounted") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-open" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_internal_unmounted", "lbl", _("Internal Unmounted") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-harddisk" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_network", "lbl", _("Mounted Network") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-network" ); set->line = g_strdup( "#devices-settings-icon" ); set = xset_set( "dev_icon_file", "lbl", _("Mounted Other") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-file" ); set->line = g_strdup( "#devices-settings-icon" ); // Bookmark list /* Removed items config version 30 set = xset_get( "sep_bk1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_bk2" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "book_new", "lbl", _("_New") ); xset_set_set( set, "icn", "gtk-new" ); set = xset_set( "book_rename", "lbl", _("_Rename") ); xset_set_set( set, "icn", "gtk-edit" ); set = xset_set( "book_edit", "lbl", _("_Edit") ); xset_set_set( set, "icn", "gtk-edit" ); set = xset_set( "book_remove", "lbl", _("Re_move") ); xset_set_set( set, "icn", "gtk-remove" ); set = xset_set( "book_tab", "lbl", C_("Bookmarks|Open|", "_Tab") ); xset_set_set( set, "icn", "gtk-add" ); */ set = xset_set( "book_open", "lbl", _("_Open") ); xset_set_set( set, "icn", "gtk-open" ); set->line = g_strdup( "#gui-book-side" ); set = xset_set( "book_settings", "lbl", _("_Settings") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "icn", "gtk-properties" ); set->line = g_strdup( "#gui-book-side" ); set = xset_set( "book_icon", "lbl", _("Bookmark _Icon") ); set->menu_style = XSET_MENU_ICON; // do not set a default icon for book_icon set->line = g_strdup( "#gui-book-side" ); set = xset_set( "book_menu_icon", "lbl", _("Sub_menu Icon") ); set->menu_style = XSET_MENU_ICON; // do not set a default icon for book_menu_icon set->line = g_strdup( "#gui-book-side" ); set = xset_set( "book_show", "lbl", _("_Show Bookmarks") ); set->menu_style = XSET_MENU_CHECK; xset_set_set( set, "shared_key", "panel1_show_book" ); set->line = g_strdup( "#gui-book-side" ); set = xset_set( "book_add", "lbl", _("New _Bookmark") ); xset_set_set( set, "icn", "gtk-jump-to" ); set->line = g_strdup( "#gui-book-add" ); set = xset_set( "main_book", "lbl", _("_Bookmarks") ); xset_set_set( set, "icn", "gtk-directory" ); set->menu_style = XSET_MENU_SUBMENU; set->line = g_strdup( "#gui-book" ); // Rename/Move Dialog set = xset_set( "move_name", "lbl", _("_Name") ); set->menu_style = XSET_MENU_CHECK; set = xset_set( "move_filename", "lbl", _("F_ilename") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_parent", "lbl", _("_Parent") ); set->menu_style = XSET_MENU_CHECK; set = xset_set( "move_path", "lbl", _("P_ath") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_type", "lbl", _("Typ_e") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_target", "lbl", _("Ta_rget") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_template", "lbl", _("Te_mplate") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_option", "lbl", _("_Option") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "move_copy move_link move_copyt move_linkt move_as_root" ); set = xset_set( "move_copy", "lbl", _("_Copy") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_link", "lbl", _("_Link") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_copyt", "lbl", _("Copy _Target") ); set->menu_style = XSET_MENU_CHECK; set = xset_set( "move_linkt", "lbl", _("Lin_k Target") ); set->menu_style = XSET_MENU_CHECK; set = xset_set( "move_as_root", "lbl", _("_As Root") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "move_dlg_font", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); xset_set_set( set, "title", _("Move Dialog Font") ); xset_set_set( set, "desc", _("/home/user/Example Filename.ext") ); set = xset_set( "move_dlg_help", "lbl", _("_Help") ); xset_set_set( set, "icn", "gtk-help" ); set = xset_set( "move_dlg_confirm_create", "lbl", _("_Confirm Create") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; // status bar set = xset_get( "sep_bar1" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "status_border", "lbl", _("Highlight _Bar") ); xset_set_set( set, "title", _("Status Bar Highlight Color") ); xset_set_set( set, "icn", "GTK_STOCK_SELECT_COLOR" ); set->menu_style = XSET_MENU_COLORDLG; set = xset_set( "status_text", "lbl", _("Highlight _Text") ); xset_set_set( set, "title", _("Status Bar Text Highlight Color") ); xset_set_set( set, "icn", "GTK_STOCK_SELECT_COLOR" ); set->menu_style = XSET_MENU_COLORDLG; set = xset_set( "status_middle", "lbl", _("_Middle Click") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "status_name status_path status_info status_hide" ); set = xset_set( "status_name", "lbl", _("Copy _Name") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "status_path", "lbl", _("Copy _Path") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "status_info", "lbl", _("File _Info") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_TRUE; set = xset_set( "status_hide", "lbl", _("_Hide Panel") ); set->menu_style = XSET_MENU_RADIO; // MAIN WINDOW MENUS // File set = xset_get( "sep_f1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_f2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_f3" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "main_new_window", "lbl", _("New _Window") ); xset_set_set( set, "icn", "spacefm" ); set = xset_set( "main_root_window", "lbl", _("R_oot Window") ); xset_set_set( set, "icn", "gtk-dialog-warning" ); set = xset_set( "main_search", "lbl", _("_File Search") ); xset_set_set( set, "icn", "gtk-find" ); set = xset_set( "main_terminal", "lbl", _("_Terminal") ); set->b = XSET_B_UNSET; // discovery notification set = xset_set( "main_root_terminal", "lbl", _("_Root Terminal") ); xset_set_set( set, "icn", "gtk-dialog-warning" ); // was previously used for 'Save Session' < 0.9.4 as XSET_MENU_NORMAL set = xset_set( "main_save_session", "lbl", _("Open _URL") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "icn", "gtk-network" ); xset_set_set( set, "title", _("Open URL") ); xset_set_set( set, "desc", _("Enter URL in the format:\n\tPROTOCOL://USERNAME:PASSWORD@HOST:PORT/SHARE\n\nExamples:\n\tftp://mirrors.kernel.org\n\tsmb://user:pass@10.0.0.1:50/docs\n\tssh://user@sys.domain\n\nIncluding a password is unsafe. To bookmark a URL, right-click on the mounted network in Devices and select Bookmark.\n") ); set->line = NULL; set = xset_set( "main_save_tabs", "lbl", _("Save Ta_bs") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_set( "main_exit", "lbl", _("E_xit") ); xset_set_set( set, "icn", "gtk-quit" ); // View set = xset_get( "sep_v1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v3" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v4" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v5" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v6" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v7" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v8" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_v9" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "panel1_show", "lbl", _("Panel _1") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#gui-pan" ); set = xset_set( "panel2_show", "lbl", _("Panel _2") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#gui-pan" ); set = xset_set( "panel3_show", "lbl", _("Panel _3") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#gui-pan" ); set = xset_set( "panel4_show", "lbl", _("Panel _4") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#gui-pan" ); set = xset_set( "main_pbar", "lbl", _("Panel _Bar") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#gui-pan" ); set = xset_set( "main_focus_panel", "lbl", _("F_ocus") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "panel_prev panel_next panel_hide panel_1 panel_2 panel_3 panel_4" ); xset_set_set( set, "icn", "gtk-go-forward" ); set->line = g_strdup( "#gui-pan" ); set = xset_set( "panel_prev", "lbl", _("_Prev") ); set->line = g_strdup( "#gui-pan" ); xset_set( "panel_next", "lbl", _("_Next") ); /* xset_set( "panel_left", "lbl", _("_Left") ); xset_set( "panel_right", "lbl", _("_Right") ); xset_set( "panel_top", "lbl", _("_Top") ); xset_set( "panel_bottom", "lbl", _("_Bottom") ); */ xset_set( "panel_hide", "lbl", _("_Hide") ); set = xset_set( "panel_1", "lbl", _("Panel _1") ); set->line = g_strdup( "#gui-pan" ); xset_set( "panel_2", "lbl", _("Panel _2") ); xset_set( "panel_3", "lbl", _("Panel _3") ); xset_set( "panel_4", "lbl", _("Panel _4") ); set = xset_set( "main_auto", "lbl", _("_Event Manager") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "auto_inst auto_win auto_pnl auto_tab evt_device" ); xset_set_set( set, "icn", "gtk-execute" ); set->line = g_strdup( "#sockets-menu" ); set = xset_set( "auto_inst", "lbl", _("_Instance") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "evt_start evt_exit" ); set->line = g_strdup( "#sockets-menu" ); set = xset_set( "evt_start", "lbl", _("_Startup") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Instance Startup Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically when a SpaceFM instance starts:\n\nUse:\n\t%%e\tevent type (evt_start)\n") ); set->line = g_strdup( "#sockets-events-start" ); set = xset_set( "evt_exit", "lbl", _("_Exit") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Instance Exit Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically when a SpaceFM instance exits:\n\nUse:\n\t%%e\tevent type (evt_exit)\n") ); set->line = g_strdup( "#sockets-events-exit" ); set = xset_set( "auto_win", "lbl", _("_Window") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "evt_win_new evt_win_focus evt_win_move evt_win_click evt_win_key evt_win_close" ); set->line = g_strdup( "#sockets-menu" ); set = xset_set( "evt_win_new", "lbl", C_("View|Events|Window|", "_New") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set New Window Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a new SpaceFM window is opened:\n\nUse:\n\t%%e\tevent type (evt_win_new)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-winnew" ); set = xset_set( "evt_win_focus", "lbl", C_("View|Events|Window|", "_Focus") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Window Focus Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a SpaceFM window gets focus:\n\nUse:\n\t%%e\tevent type (evt_win_focus)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-winfoc" ); set = xset_set( "evt_win_move", "lbl", _("_Move/Resize") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Window Move/Resize Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a SpaceFM window is moved or resized:\n\nUse:\n\t%%e\tevent type (evt_win_move)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.\n\nNote: This command may be run multiple times during resize.") ); set->line = g_strdup( "#sockets-events-winmov" ); set = xset_set( "evt_win_click", "lbl", C_("View|Events|Window|", "_Click") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Click Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever the mouse is clicked:\n\nUse:\n\t%%e\tevent type (evt_win_click)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\t%%b\tbutton (mouse button pressed)\n\t%%m\tmodifier (modifier keys)\n\t%%f\tfocus (element which received the click)\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n\nPrefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n*if [ \"%%b\" != \"2\" ]; then exit 1; fi; spacefm -g --label \"\\nMiddle button was clicked in %%f\" --button ok &") ); set->line = g_strdup( "#sockets-events-winclk" ); set = xset_set( "evt_win_key", "lbl", _("_Keypress") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Window Keypress Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a key is pressed:\n\nUse:\n\t%%e\tevent type (evt_win_key)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\t%%k\tkey code (key pressed)\n\t%%m\tmodifier (modifier keys)\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command when no asterisk prefix is used.\n\nPrefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler. For example:\n*if [ \"%%k\" != \"0xffc5\" ]; then exit 1; fi; spacefm -g --label \"\\nKey F8 was pressed.\" --button ok &") ); set->line = g_strdup( "#sockets-events-winkey" ); set = xset_set( "evt_win_close", "lbl", C_("View|Events|Window|", "Cl_ose") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Window Close Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a SpaceFM window is closed:\n\nUse:\n\t%%e\tevent type (evt_win_close)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-wincls" ); set = xset_set( "auto_pnl", "lbl", _("_Panel") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "evt_pnl_focus evt_pnl_show evt_pnl_sel" ); set->line = g_strdup( "#sockets-menu" ); set = xset_set( "evt_pnl_focus", "lbl", C_("View|Events|Panel|", "_Focus") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Panel Focus Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a panel gets focus:\n\nUse:\n\t%%e\tevent type (evt_pnl_focus)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-pnlfoc" ); set = xset_set( "evt_pnl_show", "lbl", C_("View|Events|Panel|", "_Show") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Panel Show Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a panel or panel element is shown or hidden:\n\nUse:\n\t%%e\tevent type (evt_pnl_show)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\t%%f\tfocus (element shown or hidden)\n\t%%v\tvisible (1 or 0)\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-pnlshw" ); set = xset_set( "evt_pnl_sel", "lbl", _("S_elect") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Panel Select Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever the file selection changes:\n\nUse:\n\t%%e\tevent type (evt_pnl_sel)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.\n\nPrefix your command with an asterisk (*) and conditionally return exit status 0 to inhibit the default handler.") ); set->line = g_strdup( "#sockets-events-pnlsel" ); set = xset_set( "auto_tab", "lbl", C_("View|Events|", "_Tab") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "evt_tab_new evt_tab_chdir evt_tab_focus evt_tab_close" ); set->line = g_strdup( "#sockets-menu" ); set = xset_set( "evt_tab_new", "lbl", C_("View|Events|Tab|", "_New") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set New Tab Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a new tab is opened:\n\nUse:\n\t%%e\tevent type (evt_tab_new)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-tabnew" ); set = xset_set( "evt_tab_chdir", "lbl", _("_Change Dir") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Tab Change Dir Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a tab changes to a different directory:\n\nUse:\n\t%%e\tevent type (evt_tab_chdir)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\t%%d\tnew directory\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-tabchdir" ); set = xset_set( "evt_tab_focus", "lbl", C_("View|Events|Tab|", "_Focus") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Tab Focus Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a tab gets focus:\n\nUse:\n\t%%e\tevent type (evt_tab_focus)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\ttab\n\nExported bash variables (eg $fm_pwd, etc) can be used in this command.") ); set->line = g_strdup( "#sockets-events-tabfoc" ); set = xset_set( "evt_tab_close", "lbl", C_("View|Events|Tab|", "_Close") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Tab Close Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a tab is closed:\n\nUse:\n\t%%e\tevent type (evt_tab_close)\n\t%%w\twindow id (see spacefm -s help)\n\t%%p\tpanel\n\t%%t\tclosed tab") ); set->line = g_strdup( "#sockets-events-tabcls" ); set = xset_set( "evt_device", "lbl", C_("View|Events|", "_Device") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Device Command") ); xset_set_set( set, "desc", _("Enter program or bash command line to be run automatically whenever a device state changes:\n\nUse:\n\t%%e\tevent type (evt_device)\n\t%%f\tdevice file\n\t%%v\tchange (added|removed|changed)\n") ); set->line = g_strdup( "#sockets-events-device" ); set = xset_set( "main_title", "lbl", _("Wi_ndow Title") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Set Window Title Format") ); xset_set_set( set, "desc", _("Set window title format:\n\nUse:\n\t%%n\tcurrent folder name (eg bin)\n\t%%d\tcurrent folder path (eg /usr/bin)\n\t%%p\tcurrent panel number (1-4)\n\t%%t\tcurrent tab number\n\t%%P\ttotal number of panels visible\n\t%%T\ttotal number of tabs in current panel\n\t*\tasterisk shown if tasks running in window") ); xset_set_set( set, "s", "%d" ); xset_set_set( set, "z", "%d" ); set = xset_set( "main_icon", "lbl", _("_Window Icon") ); set->menu_style = XSET_MENU_ICON; // Note: xset_text_dialog uses the title passed to know this is an // icon chooser, so it adds a Choose button. If you change the title, // change xset_text_dialog. set->title = g_strdup( _("Set Window Icon") ); set->desc = g_strdup( _("Enter an icon name, icon file path, or stock item name:\n\nOr click Choose to select an icon. Not all icons may work properly due to various issues.\n\nProvided alternate SpaceFM icons:\n\tspacefm-[48|128]-[cube|pyramid]-[blue|green|red]\n\tspacefm-48-folder-[blue|red]\n\nFor example: spacefm-48-pyramid-green") ); // x and y store global icon chooser dialog size set = xset_set( "main_full", "lbl", _("_Fullscreen") ); set->menu_style = XSET_MENU_CHECK; set = xset_set( "main_design_mode", "lbl", _("_Design Mode") ); xset_set_set( set, "icn", "gtk-help" ); set = xset_set( "main_prefs", "lbl", _("_Preferences") ); xset_set_set( set, "icn", "gtk-preferences" ); set = xset_set( "main_tool", "lbl", _("_Tool") ); set->menu_style = XSET_MENU_SUBMENU; set = xset_get( "root_bar" ); // in Preferences set->b = XSET_B_TRUE; set = xset_set( "view_thumb", "lbl", _("_Thumbnails (global)") ); // in View|Panel View|Style set->menu_style = XSET_MENU_CHECK; // Plugins set = xset_set( "plug_install", "lbl", _("_Install") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "plug_ifile plug_iurl" ); xset_set_set( set, "icn", "gtk-add" ); set->line = g_strdup( "#plugins-install" ); set = xset_set( "plug_ifile", "lbl", _("_File") ); xset_set_set( set, "icn", "gtk-file" ); set->line = g_strdup( "#plugins-install" ); set = xset_set( "plug_iurl", "lbl", _("_URL") ); xset_set_set( set, "icn", "gtk-network" ); set->line = g_strdup( "#plugins-install" ); set = xset_get( "sep_p1" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "plug_copy", "lbl", _("_Import") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "plug_cfile plug_curl sep_p1 plug_cverb" ); xset_set_set( set, "icn", "gtk-copy" ); set->line = g_strdup( "#plugins-import" ); set = xset_set( "plug_cfile", "lbl", _("_File") ); xset_set_set( set, "icn", "gtk-file" ); set->line = g_strdup( "#plugins-import" ); set = xset_set( "plug_curl", "lbl", _("_URL") ); xset_set_set( set, "icn", "gtk-network" ); set->line = g_strdup( "#plugins-import" ); set = xset_set( "plug_cverb", "lbl", _("_Verbose") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#plugins-import" ); set = xset_set( "plug_browse", "lbl", _("_Browse") ); set = xset_set( "plug_inc", "lbl", _("In_cluded") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "icn", "gtk-media-play" ); // Help set = xset_get( "sep_h1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_h2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_h3" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "main_help", "lbl", _("_User's Manual") ); xset_set_set( set, "icn", "gtk-help" ); set = xset_set( "main_faq", "lbl", _("_FAQ") ); xset_set_set( set, "icn", "gtk-help" ); set = xset_set( "main_homepage", "lbl", _("_Homepage") ); xset_set_set( set, "icn", "spacefm" ); set = xset_set( "main_news", "lbl", _("SpaceFM _News") ); xset_set_set( set, "icn", "spacefm" ); set = xset_set( "main_getplug", "lbl", _("_Get Plugins") ); xset_set_set( set, "icn", "spacefm" ); set = xset_set( "main_help_opt", "lbl", _("_Options") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "main_help_browser main_help_url" ); xset_set_set( set, "icn", "gtk-properties" ); set = xset_set( "main_help_browser", "lbl", _("_Browser") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Choose HTML Browser") ); xset_set_set( set, "desc", _("Enter browser name or bash command line to be used to display HTML files and URLs:\n\nUse:\n\t%%u\turl\n\n(Leave blank for automatic browser detection)") ); xset_set_set( set, "icn", "gtk-edit" ); set = xset_set( "main_help_url", "lbl", _("_Manual Location") ); set->menu_style = XSET_MENU_STRING; xset_set_set( set, "title", _("Choose User's Manual Location") ); xset_set_set( set, "desc", _("Enter local file path or remote URL for the SpaceFM User's Manual:\n\n(Leave blank for default)\n") ); xset_set_set( set, "icn", "gtk-edit" ); set = xset_set( "main_about", "lbl", _("_About") ); xset_set_set( set, "icn", "gtk-about" ); set = xset_set( "main_dev", "lbl", _("_Show Devices") ); xset_set_set( set, "shared_key", "panel1_show_devmon" ); set->menu_style = XSET_MENU_CHECK; set = xset_get( "main_dev_sep" ); set->menu_style = XSET_MENU_SEP; // Tasks set = xset_get( "sep_t1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_t2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_t3" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_t4" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_t5" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_t6" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "main_tasks", "lbl", _("_Task Manager") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "task_show_manager task_hide_manager sep_t1 task_columns task_popups task_errors task_queue" ); set->line = g_strdup( "#tasks" ); set = xset_set( "task_col_status", "lbl", _("_Status") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup( "0" ); // column position set->y = g_strdup( "130" ); // column width set = xset_set( "task_col_count", "lbl", _("_Count") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 1 ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_path", "lbl", _("_Folder") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 2 ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_file", "lbl", _("_Item") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 3 ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_to", "lbl", _("_To") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 4 ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_progress", "lbl", _("_Progress") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 5 ); set->y = g_strdup( "100" ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_total", "lbl", _("T_otal") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 6 ); set->y = g_strdup( "120" ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_started", "lbl", _("Sta_rted") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 7 ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_elapsed", "lbl", _("_Elapsed") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 8 ); set->y = g_strdup( "70" ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_curspeed", "lbl", _("C_urrent Speed") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 9 ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_curest", "lbl", _("Current Re_main") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 10 ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_avgspeed", "lbl", _("_Average Speed") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 11 ); set->y = g_strdup( "60" ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_avgest", "lbl", _("A_verage Remain") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 12 ); set->y = g_strdup( "65" ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_col_reorder", "lbl", _("Reor_der") ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_stop", "lbl", _("_Stop") ); xset_set_set( set, "icn", "gtk-stop" ); set->line = g_strdup( "#tasks-menu-stop" ); set = xset_set( "task_pause", "lbl", _("Pa_use") ); xset_set_set( set, "icn", "gtk-media-pause" ); set->line = g_strdup( "#tasks-menu-pause" ); set = xset_set( "task_que", "lbl", _("_Queue") ); xset_set_set( set, "icn", "gtk-add" ); set->line = g_strdup( "#tasks-menu-queue" ); set = xset_set( "task_resume", "lbl", _("_Resume") ); xset_set_set( set, "icn", "gtk-media-play" ); set->line = g_strdup( "#tasks-menu-resume" ); set = xset_set( "task_showout", "lbl", _("Sho_w Output") ); set->line = g_strdup( "#tasks-menu-showout" ); set = xset_set( "task_all", "lbl", _("_All Tasks") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "task_stop_all task_pause_all task_que_all task_resume_all" ); set->line = g_strdup( "#tasks-menu-all" ); set = xset_set( "task_stop_all", "lbl", _("_Stop") ); xset_set_set( set, "icn", "gtk-stop" ); set->line = g_strdup( "#tasks-menu-all" ); set = xset_set( "task_pause_all", "lbl", _("Pa_use") ); xset_set_set( set, "icn", "gtk-media-pause" ); set->line = g_strdup( "#tasks-menu-all" ); set = xset_set( "task_que_all", "lbl", _("_Queue") ); xset_set_set( set, "icn", "gtk-add" ); set->line = g_strdup( "#tasks-menu-all" ); set = xset_set( "task_resume_all", "lbl", _("_Resume") ); xset_set_set( set, "icn", "gtk-media-play" ); set->line = g_strdup( "#tasks-menu-all" ); set = xset_set( "task_show_manager", "lbl", _("Show _Manager") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-show" ); //set->x used for task man height >=0.9.4 set = xset_set( "task_hide_manager", "lbl", _("Auto-_Hide Manager") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_TRUE; set->line = g_strdup( "#tasks-menu-auto" ); set = xset_set( "font_task", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); xset_set_set( set, "title", _("Task Manager Font") ); xset_set_set( set, "desc", _("copying File 1:15 65.2 M 30.2 M/s") ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_columns", "lbl", _("_Columns") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "task_col_count task_col_path task_col_file task_col_to task_col_progress task_col_total task_col_started task_col_elapsed task_col_curspeed task_col_curest task_col_avgspeed task_col_avgest sep_t2 task_col_reorder font_task" ); set->line = g_strdup( "#tasks-menu-col" ); set = xset_set( "task_popups", "lbl", _("_Popups") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "task_pop_all task_pop_top task_pop_above task_pop_stick sep_t6 task_pop_detail task_pop_over task_pop_err task_pop_font" ); set->line = g_strdup( "#tasks-menu-popall" ); set = xset_set( "task_pop_all", "lbl", _("Popup _All Tasks") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-popall" ); set = xset_set( "task_pop_top", "lbl", _("Stay On _Top") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-poptop" ); set = xset_set( "task_pop_above", "lbl", _("A_bove Others") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-popabove" ); set = xset_set( "task_pop_stick", "lbl", _("All _Workspaces") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-popstick" ); set = xset_set( "task_pop_detail", "lbl", _("_Detailed Stats") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-popdet" ); set = xset_set( "task_pop_over", "lbl", _("_Overwrite Option") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#tasks-menu-popover" ); set = xset_set( "task_pop_err", "lbl", _("_Error Option") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#tasks-menu-poperropt" ); set = xset_set( "task_pop_font", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); xset_set_set( set, "title", _("Task Popup Font (affects new tasks)") ); xset_set_set( set, "desc", _("Example Output 0123456789") ); set->s = g_strdup( "Monospace 11" ); set->line = g_strdup( "#tasks-menu-popfont" ); set = xset_set( "task_errors", "lbl", _("Err_ors") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "task_err_first task_err_any task_err_cont" ); set->line = g_strdup( "#tasks-menu-poperr" ); set = xset_set( "task_err_first", "lbl", _("Stop If _First") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_TRUE; set->line = g_strdup( "#tasks-menu-poperr" ); set = xset_set( "task_err_any", "lbl", _("Stop On _Any") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-poperr" ); set = xset_set( "task_err_cont", "lbl", _("_Continue") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_FALSE; set->line = g_strdup( "#tasks-menu-poperr" ); set = xset_set( "task_queue", "lbl", _("Qu_eue") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "task_q_new task_q_smart task_q_pause" ); set->line = g_strdup( "#tasks-menu-new" ); set = xset_set( "task_q_new", "lbl", _("_Queue New Tasks") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#tasks-menu-new" ); set = xset_set( "task_q_smart", "lbl", _("_Smart Queue") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#tasks-menu-smart" ); set = xset_set( "task_q_pause", "lbl", _("_Pause On Error") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#tasks-menu-qpause" ); // Desktop set = xset_get( "sep_desk1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_desk2" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "desk_icons", "lbl", _("Arrange _Icons") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "icn", "gtk-sort-ascending" ); xset_set_set( set, "desc", "desk_sort_name desk_sort_type desk_sort_date desk_sort_size desk_sort_cust sep_desk1 desk_sort_ascend desk_sort_descend" ); set = xset_set( "desk_sort_name", "lbl", _("By _Name") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "desk_sort_type", "lbl", _("By _Type") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "desk_sort_date", "lbl", _("By _Date") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "desk_sort_size", "lbl", _("By _Size") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "desk_sort_cust", "lbl", _("_Custom") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "desk_sort_ascend", "lbl", _("_Ascending") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "desk_sort_descend", "lbl", _("D_escending") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "desk_pref", "lbl", _("Desktop _Settings") ); xset_set_set( set, "icn", "gtk-preferences" ); // set->b keeps desktop prefs compositing wm info has been shown set = xset_set( "desk_dev", "lbl", _("De_vices") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "icn", "gtk-harddisk" ); set = xset_set( "desk_book", "lbl", _("_Bookmarks") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "icn", "gtk-jump-to" ); set = xset_set( "desk_open", "lbl", _("_Desktop Folder") ); xset_set_set( set, "icn", "gtk-open" ); // Menu Item Properties set = xset_get( "sep_ctxt" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "context_dlg", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); xset_set_set( set, "title", _("Editor Font") ); xset_set_set( set, "desc", _("Example Input 0123456789") ); set->s = g_strdup( "Monospace 11" ); // set->b reserved for Ignore Context // PANELS COMMON set = xset_get( "sep_new" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_edit" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_tab" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_entry" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_mopt1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_mopt2" ); set->menu_style = XSET_MENU_SEP; xset_set( "date_format", "s", "%Y-%m-%d %H:%M" ); set = xset_set( "input_font", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); xset_set_set( set, "title", _("Input Font") ); xset_set_set( set, "desc", _("Example Input 0123456789") ); set = xset_set( "con_open", "lbl", _("_Open") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "icn", "gtk-open" ); set = xset_set( "open_execute", "lbl", _("E_xecute") ); xset_set_set( set, "icn", "gtk-execute" ); set = xset_set( "open_edit", "lbl", _("Edi_t") ); xset_set_set( set, "icn", "gtk-edit" ); set = xset_set( "open_edit_root", "lbl", _("Edit As _Root") ); xset_set_set( set, "icn", "gtk-dialog-warning" ); set = xset_set( "open_other", "lbl", _("_Choose...") ); xset_set_set( set, "icn", "gtk-open" ); set = xset_set( "open_hand", "lbl", _("File _Handlers...") ); xset_set_set( set, "icn", "gtk-preferences" ); set->line = g_strdup( "#handlers-fil" ); set = xset_set( "open_all", "lbl", _("Open With _Default") );//virtual set = xset_set( "open_in_tab", "lbl", _("In _Tab") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "opentab_new opentab_prev opentab_next opentab_1 opentab_2 opentab_3 opentab_4 opentab_5 opentab_6 opentab_7 opentab_8 opentab_9 opentab_10" ); xset_set( "opentab_new", "lbl", _("N_ew") ); xset_set( "opentab_prev", "lbl", _("_Prev") ); xset_set( "opentab_next", "lbl", _("_Next") ); xset_set( "opentab_1", "lbl", _("Tab _1") ); xset_set( "opentab_2", "lbl", _("Tab _2") ); xset_set( "opentab_3", "lbl", _("Tab _3") ); xset_set( "opentab_4", "lbl", _("Tab _4") ); xset_set( "opentab_5", "lbl", _("Tab _5") ); xset_set( "opentab_6", "lbl", _("Tab _6") ); xset_set( "opentab_7", "lbl", _("Tab _7") ); xset_set( "opentab_8", "lbl", _("Tab _8") ); xset_set( "opentab_9", "lbl", _("Tab _9") ); xset_set( "opentab_10", "lbl", _("Tab 1_0") ); set = xset_set( "open_in_panel", "lbl", _("In _Panel") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "open_in_panelprev open_in_panelnext open_in_panel1 open_in_panel2 open_in_panel3 open_in_panel4" ); xset_set( "open_in_panelprev", "lbl", _("_Prev") ); xset_set( "open_in_panelnext", "lbl", _("_Next") ); xset_set( "open_in_panel1", "lbl", _("Panel _1") ); xset_set( "open_in_panel2", "lbl", _("Panel _2") ); xset_set( "open_in_panel3", "lbl", _("Panel _3") ); xset_set( "open_in_panel4", "lbl", _("Panel _4") ); set = xset_set( "arc_extract", "lbl", _("_Extract") ); xset_set_set( set, "icn", "gtk-convert" ); set->line = g_strdup( "#handlers-arc" ); set = xset_set( "arc_extractto", "lbl", _("Extract _To") ); xset_set_set( set, "icn", "gtk-convert" ); set->line = g_strdup( "#handlers-arc" ); set = xset_set( "arc_list", "lbl", _("_List Contents") ); xset_set_set( set, "icn", "gtk-file" ); set->line = g_strdup( "#handlers-arc" ); set = xset_get( "sep_arc1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_arc2" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "arc_default", "lbl", _("_Archive Defaults") ); set->line = g_strdup( "#handlers-arc-arcdef" ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "arc_conf2 sep_arc2 arc_def_open arc_def_ex arc_def_exto arc_def_list sep_arc1 arc_def_parent arc_def_write" ); set = xset_set( "arc_def_open", "lbl", _("_Open With App") ); set->menu_style = XSET_MENU_RADIO; set->line = g_strdup( "#handlers-arc-arcdef" ); set = xset_set( "arc_def_ex", "lbl", _("_Extract") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_TRUE; set->line = g_strdup( "#handlers-arc-arcdef" ); set = xset_set( "arc_def_exto", "lbl", _("Extract _To") ); set->menu_style = XSET_MENU_RADIO; set->line = g_strdup( "#handlers-arc-arcdef" ); set = xset_set( "arc_def_list", "lbl", _("_List Contents") ); set->menu_style = XSET_MENU_RADIO; set->line = g_strdup( "#handlers-arc-arcdef" ); set = xset_set( "arc_def_parent", "lbl", _("_Create Subfolder") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#handlers-arc-arcdef" ); set = xset_set( "arc_def_write", "lbl", _("_Write Access") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#handlers-arc-arcdef" ); set = xset_set( "arc_conf2", "label", _("Archive _Handlers") ); xset_set_set( set, "icon", "gtk-preferences" ); set->line = g_strdup( "#handlers-arc" ); /* used in < 0.9.4 set = xset_set( "iso_mount", "label", _("_Mount ISO") ); xset_set_set( set, "icon", "gtk-cdrom" ); set = xset_set( "iso_auto", "lbl", _("_Auto-Mount ISO") ); set->menu_style = XSET_MENU_CHECK; */ set = xset_get( "sep_o1" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "open_new", "lbl", _("_New") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "new_file new_folder new_link new_archive sep_o1 tab_new tab_new_here new_bookmark" ); xset_set_set( set, "icn", "gtk-new" ); set = xset_set( "new_file", "lbl", _("_File") ); xset_set_set( set, "icn", "gtk-file" ); set->line = g_strdup( "#gui-newf" ); set = xset_set( "new_folder", "lbl", _("Fol_der") ); xset_set_set( set, "icn", "gtk-directory" ); set->line = g_strdup( "#gui-newf" ); set = xset_set( "new_link", "lbl", _("_Link") ); xset_set_set( set, "icn", "gtk-file" ); set->line = g_strdup( "#gui-newf" ); set = xset_set( "new_bookmark", "lbl", C_("New|", "_Bookmark") ); xset_set_set( set, "shared_key", "book_add" ); xset_set_set( set, "icn", "gtk-jump-to" ); set = xset_set( "new_archive", "lbl", _("_Archive") ); xset_set_set( set, "icn", "gtk-save-as" ); set = xset_get( "arc_dlg" ); set->b = XSET_B_TRUE; // Extract To - Create Subfolder set->z = g_strdup( "1" ); // Extract To - Write Access set = xset_set( "tab_new", "lbl", C_("New|", "_Tab") ); xset_set_set( set, "icn", "gtk-add" ); set = xset_set( "tab_new_here", "lbl", _("Tab _Here") ); xset_set_set( set, "icn", "gtk-add" ); set = xset_set( "new_app", "lbl", _("_Desktop Application") ); xset_set_set( set, "icn", "gtk-add" ); set = xset_get( "sep_g1" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "con_go", "lbl", _("_Go") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "go_back go_forward go_up go_home go_default go_set_default edit_canon sep_g1 go_tab go_focus" ); xset_set_set( set, "icn", "gtk-go-forward" ); set = xset_set( "go_back", "lbl", _("_Back") ); xset_set_set( set, "icn", "gtk-go-back" ); set = xset_set( "go_forward", "lbl", _("_Forward") ); xset_set_set( set, "icn", "gtk-go-forward" ); set = xset_set( "go_up", "lbl", _("_Up") ); xset_set_set( set, "icn", "gtk-go-up" ); set = xset_set( "go_home", "lbl", _("_Home") ); xset_set_set( set, "icn", "gtk-home" ); set = xset_set( "go_default", "lbl", _("_Default") ); xset_set_set( set, "icn", "gtk-home" ); set = xset_set( "go_set_default", "lbl", _("_Set Default") ); xset_set_set( set, "icn", "gtk-save" ); set = xset_set( "edit_canon", "lbl", _("Re_al Path") ); set = xset_set( "go_focus", "lbl", _("Fo_cus") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "focus_path_bar focus_filelist focus_dirtree focus_book focus_device" ); set = xset_set( "focus_path_bar", "lbl", _("_Path Bar") ); xset_set_set( set, "icn", "gtk-dialog-question" ); set = xset_set( "focus_filelist", "lbl", _("_File List") ); xset_set_set( set, "icn", "gtk-file" ); set = xset_set( "focus_dirtree", "lbl", _("_Tree") ); xset_set_set( set, "icn", "gtk-directory" ); set = xset_set( "focus_book", "lbl", _("_Bookmarks") ); xset_set_set( set, "icn", "gtk-jump-to" ); set = xset_set( "focus_device", "lbl", _("De_vices") ); xset_set_set( set, "icn", "gtk-harddisk" ); set = xset_set( "go_tab", "lbl", C_("Go|", "_Tab") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "tab_prev tab_next tab_close tab_1 tab_2 tab_3 tab_4 tab_5 tab_6 tab_7 tab_8 tab_9 tab_10" ); xset_set( "tab_prev", "lbl", _("_Prev") ); xset_set( "tab_next", "lbl", _("_Next") ); set = xset_set( "tab_close", "lbl", _("_Close") ); xset_set_set( set, "icn", "gtk-close" ); xset_set( "tab_1", "lbl", _("Tab _1") ); xset_set( "tab_2", "lbl", _("Tab _2") ); xset_set( "tab_3", "lbl", _("Tab _3") ); xset_set( "tab_4", "lbl", _("Tab _4") ); xset_set( "tab_5", "lbl", _("Tab _5") ); xset_set( "tab_6", "lbl", _("Tab _6") ); xset_set( "tab_7", "lbl", _("Tab _7") ); xset_set( "tab_8", "lbl", _("Tab _8") ); xset_set( "tab_9", "lbl", _("Tab _9") ); xset_set( "tab_10", "lbl", _("Tab 1_0") ); set = xset_set( "con_view", "lbl", _("_View") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "icn", "gtk-preferences" ); set = xset_set( "view_list_style", "lbl", _("Styl_e") ); set->menu_style = XSET_MENU_SUBMENU; set = xset_set( "view_columns", "lbl", _("C_olumns") ); set->menu_style = XSET_MENU_SUBMENU; set = xset_set( "view_reorder_col", "lbl", _("_Reorder") ); set = xset_set( "rubberband", "lbl", _("_Rubberband Select") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set = xset_get( "sep_s1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_s2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_s3" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_s4" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "view_sortby", "lbl", _("_Sort") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "sortby_name sortby_size sortby_type sortby_perm sortby_owner sortby_date sep_s1 sortby_ascend sortby_descend sep_s2 sortx_natural sortx_case sep_s3 sortx_folders sortx_files sortx_mix sep_s4 sortx_hidfirst sortx_hidlast" ); set = xset_set( "sortby_name", "lbl", _("_Name") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortby_size", "lbl", _("_Size") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortby_type", "lbl", _("_Type") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortby_perm", "lbl", _("_Permission") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortby_owner", "lbl", _("_Owner") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortby_date", "lbl", _("_Modified") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortby_ascend", "lbl", _("_Ascending") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortby_descend", "lbl", _("_Descending") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortx_natural", "lbl", _("Nat_ural") ); set->menu_style = XSET_MENU_CHECK; set = xset_set( "sortx_case", "lbl", _("_Case Sensitive") ); set->menu_style = XSET_MENU_CHECK; set = xset_set( "sortx_folders", "lbl", _("Folders Fi_rst") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortx_files", "lbl", _("F_iles First") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortx_mix", "lbl", _("Mi_xed") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortx_hidfirst", "lbl", _("_Hidden First") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "sortx_hidlast", "lbl", _("Hidden _Last") ); set->menu_style = XSET_MENU_RADIO; set = xset_set( "view_refresh", "lbl", _("Re_fresh") ); xset_set_set( set, "icn", "gtk-refresh" ); set = xset_set( "path_seek", "lbl", _("Auto See_k") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#gui-pathbar-seek" ); set = xset_set( "path_hand", "lbl", _("_Protocol Handlers") ); xset_set_set( set, "icn", "gtk-preferences" ); set->line = g_strdup( "#handlers-pro" ); xset_set_set( set, "shared_key", "dev_net_cnf" ); // set->s was custom protocol handler in sfm<=0.9.3 - retained set = xset_set( "path_help", "lbl", _("Path Bar _Help") ); xset_set_set( set, "icn", "gtk-help" ); // EDIT set = xset_set( "edit_cut", "lbl", _("Cu_t") ); xset_set_set( set, "icn", "gtk-cut" ); set = xset_set( "edit_copy", "lbl", _("_Copy") ); xset_set_set( set, "icn", "gtk-copy" ); set = xset_set( "edit_paste", "lbl", _("_Paste") ); xset_set_set( set, "icn", "gtk-paste" ); set = xset_set( "edit_rename", "lbl", _("_Rename") ); xset_set_set( set, "icn", "gtk-edit" ); set->line = g_strdup( "#gui-rename" ); set = xset_set( "edit_delete", "lbl", _("_Delete") ); xset_set_set( set, "icn", "gtk-delete" ); set = xset_get( "sep_e1" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_e2" ); set->menu_style = XSET_MENU_SEP; set = xset_get( "sep_e3" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "edit_submenu", "lbl", _("_Actions") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "copy_name copy_parent copy_path sep_e1 paste_link paste_target paste_as sep_e2 copy_to move_to edit_root edit_hide sep_e3 select_all select_patt select_invert select_un" ); xset_set_set( set, "icn", "gtk-edit" ); set = xset_set( "copy_name", "lbl", _("Copy _Name") ); xset_set_set( set, "icn", "gtk-copy" ); set = xset_set( "copy_path", "lbl", _("Copy _Path") ); xset_set_set( set, "icn", "gtk-copy" ); set = xset_set( "copy_parent", "lbl", _("Copy Pa_rent") ); xset_set_set( set, "icn", "gtk-copy" ); set = xset_set( "paste_link", "lbl", _("Paste _Link") ); xset_set_set( set, "icn", "gtk-paste" ); set = xset_set( "paste_target", "lbl", _("Paste _Target") ); xset_set_set( set, "icn", "gtk-paste" ); set = xset_set( "paste_as", "lbl", _("Paste _As") ); xset_set_set( set, "icn", "gtk-paste" ); set = xset_get( "sep_c1" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "copy_to", "lbl", _("_Copy To") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "copy_loc copy_loc_last sep_c1 copy_tab copy_panel" ); set = xset_set( "copy_loc", "lbl", _("L_ocation") ); set = xset_set( "copy_loc_last", "lbl", _("L_ast Location") ); xset_set_set( set, "icn", "gtk-redo" ); set = xset_set( "copy_tab", "lbl", C_("Edit|CopyTo|", "_Tab") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "copy_tab_prev copy_tab_next copy_tab_1 copy_tab_2 copy_tab_3 copy_tab_4 copy_tab_5 copy_tab_6 copy_tab_7 copy_tab_8 copy_tab_9 copy_tab_10" ); xset_set( "copy_tab_prev", "lbl", _("_Prev") ); xset_set( "copy_tab_next", "lbl", _("_Next") ); xset_set( "copy_tab_1", "lbl", _("Tab _1") ); xset_set( "copy_tab_2", "lbl", _("Tab _2") ); xset_set( "copy_tab_3", "lbl", _("Tab _3") ); xset_set( "copy_tab_4", "lbl", _("Tab _4") ); xset_set( "copy_tab_5", "lbl", _("Tab _5") ); xset_set( "copy_tab_6", "lbl", _("Tab _6") ); xset_set( "copy_tab_7", "lbl", _("Tab _7") ); xset_set( "copy_tab_8", "lbl", _("Tab _8") ); xset_set( "copy_tab_9", "lbl", _("Tab _9") ); xset_set( "copy_tab_10", "lbl", _("Tab 1_0") ); set = xset_set( "copy_panel", "lbl", C_("Edit|CopyTo|", "_Panel") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "copy_panel_prev copy_panel_next copy_panel_1 copy_panel_2 copy_panel_3 copy_panel_4" ); xset_set( "copy_panel_prev", "lbl", _("_Prev") ); xset_set( "copy_panel_next", "lbl", _("_Next") ); xset_set( "copy_panel_1", "lbl", _("Panel _1") ); xset_set( "copy_panel_2", "lbl", _("Panel _2") ); xset_set( "copy_panel_3", "lbl", _("Panel _3") ); xset_set( "copy_panel_4", "lbl", _("Panel _4") ); set = xset_get( "sep_c2" ); set->menu_style = XSET_MENU_SEP; set = xset_set( "move_to", "lbl", _("_Move To") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "move_loc move_loc_last sep_c2 move_tab move_panel" ); set = xset_set( "move_loc", "lbl", _("_Location") ); set = xset_set( "move_loc_last", "lbl", _("L_ast Location") ); xset_set_set( set, "icn", "gtk-redo" ); set = xset_set( "move_tab", "lbl", C_("Edit|MoveTo|", "_Tab") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "move_tab_prev move_tab_next move_tab_1 move_tab_2 move_tab_3 move_tab_4 move_tab_5 move_tab_6 move_tab_7 move_tab_8 move_tab_9 move_tab_10" ); xset_set( "move_tab_prev", "lbl", _("_Prev") ); xset_set( "move_tab_next", "lbl", _("_Next") ); xset_set( "move_tab_1", "lbl", _("Tab _1") ); xset_set( "move_tab_2", "lbl", _("Tab _2") ); xset_set( "move_tab_3", "lbl", _("Tab _3") ); xset_set( "move_tab_4", "lbl", _("Tab _4") ); xset_set( "move_tab_5", "lbl", _("Tab _5") ); xset_set( "move_tab_6", "lbl", _("Tab _6") ); xset_set( "move_tab_7", "lbl", _("Tab _7") ); xset_set( "move_tab_8", "lbl", _("Tab _8") ); xset_set( "move_tab_9", "lbl", _("Tab _9") ); xset_set( "move_tab_10", "lbl", _("Tab 1_0") ); set = xset_set( "move_panel", "lbl", C_("Edit|MoveTo|", "_Panel") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "move_panel_prev move_panel_next move_panel_1 move_panel_2 move_panel_3 move_panel_4" ); xset_set( "move_panel_prev", "lbl", _("_Prev") ); xset_set( "move_panel_next", "lbl", _("_Next") ); xset_set( "move_panel_1", "lbl", _("Panel _1") ); xset_set( "move_panel_2", "lbl", _("Panel _2") ); xset_set( "move_panel_3", "lbl", _("Panel _3") ); xset_set( "move_panel_4", "lbl", _("Panel _4") ); set = xset_set( "edit_hide", "lbl", _("_Hide") ); set = xset_set( "select_all", "lbl", _("_Select All") ); xset_set_set( set, "icn", "gtk-select-all" ); set = xset_set( "select_un", "lbl", _("_Unselect All") ); set = xset_set( "select_invert", "lbl", _("_Invert Selection") ); set = xset_set( "select_patt", "lbl", _("S_elect By Pattern") ); set = xset_set( "edit_root", "lbl", _("R_oot") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "root_copy_loc root_move2 root_delete" ); xset_set_set( set, "icn", "gtk-dialog-warning" ); set = xset_set( "root_copy_loc", "lbl", _("_Copy To") ); set = xset_set( "root_move2", "lbl", _("Move _To") ); set = xset_set( "root_delete", "lbl", _("_Delete") ); xset_set_set( set, "icn", "gtk-delete" ); // Properties set = xset_set( "con_prop", "lbl", _("Propert_ies") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "" ); xset_set_set( set, "icn", "gtk-properties" ); set = xset_set( "prop_info", "lbl", _("_Info") ); xset_set_set( set, "icn", "gtk-dialog-info" ); set = xset_set( "prop_perm", "lbl", _("_Permissions") ); xset_set_set( set, "icn", "GTK_STOCK_DIALOG_AUTHENTICATION" ); set = xset_set( "prop_quick", "lbl", _("_Quick") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "perm_r perm_rw perm_rwx perm_r_r perm_rw_r perm_rw_rw perm_rwxr_x perm_rwxrwx perm_r_r_r perm_rw_r_r perm_rw_rw_rw perm_rwxr_r perm_rwxr_xr_x perm_rwxrwxrwx perm_rwxrwxrwt perm_unstick perm_stick perm_recurs" ); xset_set( "perm_r", "lbl", "r--------" ); xset_set( "perm_rw", "lbl", "rw-------" ); xset_set( "perm_rwx", "lbl", "rwx------" ); xset_set( "perm_r_r", "lbl", "r--r-----" ); xset_set( "perm_rw_r", "lbl", "rw-r-----" ); xset_set( "perm_rw_rw", "lbl", "rw-rw----" ); xset_set( "perm_rwxr_x", "lbl", "rwxr-x---" ); xset_set( "perm_rwxrwx", "lbl", "rwxrwx---" ); xset_set( "perm_r_r_r", "lbl", "r--r--r--" ); xset_set( "perm_rw_r_r", "lbl", "rw-r--r--" ); xset_set( "perm_rw_rw_rw", "lbl", "rw-rw-rw-" ); xset_set( "perm_rwxr_r", "lbl", "rwxr--r--" ); xset_set( "perm_rwxr_xr_x", "lbl", "rwxr-xr-x" ); xset_set( "perm_rwxrwxrwx", "lbl", "rwxrwxrwx" ); xset_set( "perm_rwxrwxrwt", "lbl", "rwxrwxrwt" ); xset_set( "perm_unstick", "lbl", "-t" ); xset_set( "perm_stick", "lbl", "+t" ); set = xset_set( "perm_recurs", "lbl", _("_Recursive") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "perm_go_w perm_go_rwx perm_ugo_w perm_ugo_rx perm_ugo_rwx" ); xset_set( "perm_go_w", "lbl", "go-w" ); xset_set( "perm_go_rwx", "lbl", "go-rwx" ); xset_set( "perm_ugo_w", "lbl", "ugo+w" ); xset_set( "perm_ugo_rx", "lbl", "ugo+rX" ); xset_set( "perm_ugo_rwx", "lbl", "ugo+rwX" ); set = xset_set( "prop_root", "lbl", _("_Root") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "rperm_rw rperm_rwx rperm_rw_r rperm_rw_rw rperm_rwxr_x rperm_rwxrwx rperm_rw_r_r rperm_rw_rw_rw rperm_rwxr_r rperm_rwxr_xr_x rperm_rwxrwxrwx rperm_rwxrwxrwt rperm_unstick rperm_stick rperm_recurs rperm_own" ); xset_set_set( set, "icn", "gtk-dialog-warning" ); xset_set( "rperm_rw", "lbl", "rw-------" ); xset_set( "rperm_rwx", "lbl", "rwx------" ); xset_set( "rperm_rw_r", "lbl", "rw-r-----" ); xset_set( "rperm_rw_rw", "lbl", "rw-rw----" ); xset_set( "rperm_rwxr_x", "lbl", "rwxr-x---" ); xset_set( "rperm_rwxrwx", "lbl", "rwxrwx---" ); xset_set( "rperm_rw_r_r", "lbl", "rw-r--r--" ); xset_set( "rperm_rw_rw_rw", "lbl", "rw-rw-rw-" ); xset_set( "rperm_rwxr_r", "lbl", "rwxr--r--" ); xset_set( "rperm_rwxr_xr_x", "lbl", "rwxr-xr-x" ); xset_set( "rperm_rwxrwxrwx", "lbl", "rwxrwxrwx" ); xset_set( "rperm_rwxrwxrwt", "lbl", "rwxrwxrwt" ); xset_set( "rperm_unstick", "lbl", "-t" ); xset_set( "rperm_stick", "lbl", "+t" ); set = xset_set( "rperm_recurs", "lbl", _("_Recursive") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "rperm_go_w rperm_go_rwx rperm_ugo_w rperm_ugo_rx rperm_ugo_rwx" ); xset_set( "rperm_go_w", "lbl", "go-w" ); xset_set( "rperm_go_rwx", "lbl", "go-rwx" ); xset_set( "rperm_ugo_w", "lbl", "ugo+w" ); xset_set( "rperm_ugo_rx", "lbl", "ugo+rX" ); xset_set( "rperm_ugo_rwx", "lbl", "ugo+rwX" ); set = xset_set( "rperm_own", "lbl", _("_Owner") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "own_myuser own_myuser_users own_user1 own_user1_users own_user2 own_user2_users own_root own_root_users own_root_myuser own_root_user1 own_root_user2 own_recurs" ); xset_set( "own_myuser", "lbl", "myuser" ); xset_set( "own_myuser_users", "lbl", "myuser:users" ); xset_set( "own_user1", "lbl", "user1" ); xset_set( "own_user1_users", "lbl", "user1:users" ); xset_set( "own_user2", "lbl", "user2" ); xset_set( "own_user2_users", "lbl", "user2:users" ); xset_set( "own_root", "lbl", "root" ); xset_set( "own_root_users", "lbl", "root:users" ); xset_set( "own_root_myuser", "lbl", "root:myuser" ); xset_set( "own_root_user1", "lbl", "root:user1" ); xset_set( "own_root_user2", "lbl", "root:user2" ); set = xset_set( "own_recurs", "lbl", _("_Recursive") ); set->menu_style = XSET_MENU_SUBMENU; xset_set_set( set, "desc", "rown_myuser rown_myuser_users rown_user1 rown_user1_users rown_user2 rown_user2_users rown_root rown_root_users rown_root_myuser rown_root_user1 rown_root_user2" ); xset_set( "rown_myuser", "lbl", "myuser" ); xset_set( "rown_myuser_users", "lbl", "myuser:users" ); xset_set( "rown_user1", "lbl", "user1" ); xset_set( "rown_user1_users", "lbl", "user1:users" ); xset_set( "rown_user2", "lbl", "user2" ); xset_set( "rown_user2_users", "lbl", "user2:users" ); xset_set( "rown_root", "lbl", "root" ); xset_set( "rown_root_users", "lbl", "root:users" ); xset_set( "rown_root_myuser", "lbl", "root:myuser" ); xset_set( "rown_root_user1", "lbl", "root:user1" ); xset_set( "rown_root_user2", "lbl", "root:user2" ); // PANELS int p, i; for ( p = 1; p < 5; p++ ) { set = xset_set_panel( p, "show_toolbox", "lbl", _("_Toolbar") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_show_toolbox" ); set = xset_set_panel( p, "show_devmon", "lbl", _("_Devices") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_UNSET; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_show_devmon" ); set = xset_set_panel( p, "show_dirtree", "lbl", _("T_ree") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_show_dirtree" ); set = xset_set_panel( p, "show_book", "lbl", _("_Bookmarks") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_UNSET; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_show_book" ); set = xset_set_panel( p, "show_sidebar", "lbl", _("_Side Toolbar") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_UNSET; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_show_sidebar" ); set = xset_set_panel( p, "list_detailed", "lbl", _("_Detailed") ); set->menu_style = XSET_MENU_RADIO; set->b = XSET_B_TRUE; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_list_detailed" ); set = xset_set_panel( p, "list_icons", "lbl", _("_Icons") ); set->menu_style = XSET_MENU_RADIO; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_list_icons" ); set = xset_set_panel( p, "list_compact", "lbl", _("_Compact") ); set->menu_style = XSET_MENU_RADIO; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_list_compact" ); set = xset_set_panel( p, "list_large", "lbl", _("_Large Icons") ); set->menu_style = XSET_MENU_CHECK; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_list_large" ); set = xset_set_panel( p, "show_hidden", "lbl", _("_Hidden Files") ); set->menu_style = XSET_MENU_CHECK; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_show_hidden" ); set = xset_set_panel( p, "font_file", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); set->title = g_strdup_printf( _("File List Font (Panel %d)"), p ); xset_set_set( set, "desc", _("Example 1.1 M file -rwxr--r-- user:group 2011-01-01 01:11") ); set = xset_set_panel( p, "font_dev", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); set->title = g_strdup_printf( _("Devices Font (Panel %d)"), p ); xset_set_set( set, "desc", _("sr0 [no media] :EXAMPLE") ); set->line = g_strdup( "#devices-settings-font" ); set = xset_set_panel( p, "font_book", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); set->title = g_strdup_printf( _("Bookmarks Font (Panel %d)"), p ); xset_set_set( set, "desc", _("Example Bookmark Name") ); set->line = g_strdup( "#gui-book-side" ); set = xset_set_panel( p, "font_path", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); set->title = g_strdup_printf( _("Path Bar Font (Panel %d)"), p ); xset_set_set( set, "desc", _("$ cat /home/user/example") ); set->line = g_strdup( "#gui-pathbar-font" ); set = xset_set_panel( p, "font_tab", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); set->title = g_strdup_printf( _("Tab Font (Panel %d)"), p ); xset_set_set( set, "desc", "/usr/bin" ); set = xset_set_panel( p, "icon_tab", "lbl", _("_Icon") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-directory" ); set = xset_set_panel( p, "font_status", "lbl", _("_Font") ); set->menu_style = XSET_MENU_FONTDLG; xset_set_set( set, "icn", "gtk-select-font" ); set->title = g_strdup_printf( _("Status Bar Font (Panel %d)"), p ); xset_set_set( set, "desc", _("12 G free / 200 G 52 items") ); if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_font_status" ); set = xset_set_panel( p, "icon_status", "lbl", _("_Icon") ); set->menu_style = XSET_MENU_ICON; xset_set_set( set, "icn", "gtk-yes" ); if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_icon_status" ); set = xset_set_panel( p, "detcol_name", "lbl", _("_Name") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; // visible set->x = g_strdup_printf( "%d", 0 ); // position set = xset_set_panel( p, "detcol_size", "lbl", _("_Size") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->x = g_strdup_printf( "%d", 1 ); if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_detcol_size" ); set = xset_set_panel( p, "detcol_type", "lbl", _("_Type") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 2 ); if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_detcol_type" ); set = xset_set_panel( p, "detcol_perm", "lbl", _("_Permission") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 3 ); if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_detcol_perm" ); set = xset_set_panel( p, "detcol_owner", "lbl", _("_Owner") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 4 ); if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_detcol_owner" ); set = xset_set_panel( p, "detcol_date", "lbl", _("_Modified") ); set->menu_style = XSET_MENU_CHECK; set->x = g_strdup_printf( "%d", 5 ); if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_detcol_date" ); set = xset_get_panel( p, "sort_extra" ); set->b = XSET_B_TRUE; //sort_natural set->x = g_strdup_printf( "%d", XSET_B_FALSE ); // sort_case set->y = g_strdup( "1" ); //PTK_LIST_SORT_DIR_FIRST from ptk-file-list.h set->z = g_strdup_printf( "%d", XSET_B_TRUE ); // sort_hidden_first set = xset_set_panel( p, "book_fol", "lbl", _("Follow _Dir") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; if ( p != 1 ) xset_set_set( set, "shared_key", "panel1_book_fol" ); set->line = g_strdup( "#gui-book-side" ); } //speed set = xset_set( "book_newtab", "lbl", _("_New Tab") ); set->menu_style = XSET_MENU_CHECK; set->line = g_strdup( "#gui-book-side" ); set = xset_set( "book_single", "lbl", _("_Single Click") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#gui-book-side" ); set = xset_set( "dev_newtab", "lbl", _("_New Tab") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#devices-settings-newtab" ); set = xset_set( "dev_single", "lbl", _("_Single Click") ); set->menu_style = XSET_MENU_CHECK; set->b = XSET_B_TRUE; set->line = g_strdup( "#devices-settings-single" ); // mark all labels and icons as default GList* l; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->lock ) { if ( ((XSet*)l->data)->in_terminal == XSET_B_TRUE ) ((XSet*)l->data)->in_terminal = XSET_B_UNSET; if ( ((XSet*)l->data)->keep_terminal == XSET_B_TRUE ) ((XSet*)l->data)->keep_terminal = XSET_B_UNSET; } } } void def_key( char* name, int key, int keymod ) { XSet* set = xset_get( name ); // key already set or unset? if ( set->key != 0 || key == 0 ) return; // key combo already in use? GList* l; for ( l = keysets; l; l = l->next ) { if ( ((XSet*)l->data)->key == key && ((XSet*)l->data)->keymod == keymod ) return; } set->key = key; set->keymod = keymod; } void xset_default_keys() { XSet* set; GList* l; // read all currently set or unset keys keysets = NULL; for ( l = xsets; l; l = l->next ) { if ( ((XSet*)l->data)->key ) keysets = g_list_prepend( keysets, (XSet*)l->data ); } def_key( "tab_prev", 65056, 5 ); // ctrl-tab or use ctrl-pgdn?? def_key( "tab_next", 65289, 4 ); def_key( "tab_close", 119, 4 ); def_key( "tab_new", 116, 4 ); def_key( "tab_1", 0x31, 8 ); // Alt-1 def_key( "tab_2", 0x32, 8 ); def_key( "tab_3", 0x33, 8 ); def_key( "tab_4", 0x34, 8 ); def_key( "tab_5", 0x35, 8 ); def_key( "tab_6", 0x36, 8 ); def_key( "tab_7", 0x37, 8 ); def_key( "tab_8", 0x38, 8 ); def_key( "tab_9", 0x39, 8 ); // Alt-9 def_key( "tab_10", 0x30, 8 ); // Alt-0 def_key( "edit_cut", 120, 4 ); def_key( "edit_copy", 99, 4 ); def_key( "edit_paste", 118, 4 ); def_key( "edit_rename", 65471, 0 ); def_key( "edit_delete", 65535, 0 ); def_key( "copy_name", 67, 9 ); def_key( "copy_path", 67, 5 ); def_key( "paste_link", 86, 5 ); def_key( "paste_as", 65, 5 ); def_key( "select_all", 97, 4 ); def_key( "main_terminal", 65473, 0 ); //F4 def_key( "go_default", 65307, 0 ); def_key( "go_back", 65361, 8 ); def_key( "go_forward", 65363, 8 ); def_key( "go_up", 65362, 8 ); def_key( "focus_path_bar", 0x6c, 4 ); // Ctrl-L def_key( "view_refresh", 65474, 0 ); def_key( "prop_info", 0xff0d, 8 ); def_key( "prop_perm", 112, 4 ); def_key( "panel1_show_hidden", 104, 4 ); def_key( "book_new", 100, 4 ); def_key( "new_folder", 102, 4 ); def_key( "new_file", 70, 5 ); def_key( "main_new_window", 110, 4 ); def_key( "open_all", 65475, 0 ); //F6 def_key( "main_full", 0xffc8, 0 ); //F11 def_key( "panel1_show", 0x31, 4 ); def_key( "panel2_show", 0x32, 4 ); def_key( "panel3_show", 0x33, 4 ); def_key( "panel4_show", 0x34, 4 ); def_key( "main_help", 0xffbe, 0 ); //F1 def_key( "main_exit", 0x71, 4 ); // Ctrl-Q def_key( "book_add", 0x64, 4 ); // Ctrl-D if ( keysets ) g_list_free( keysets ); } spacefm-1.0.5/src/settings.h000066400000000000000000000357421264770501700157570ustar00rootroot00000000000000/* * SpaceFM settings.h * * Copyright (C) 2015 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #ifndef _SETTINGS_H_ #define _SETTINGS_H_ #include #include #include #include "ptk-file-browser.h" #include "desktop-window.h" // this determines time before item is selected by hover in single-click mode #define SINGLE_CLICK_TIMEOUT 150 // This limits the small icon size for side panes and task list #define PANE_MAX_ICON_SIZE 48 typedef enum { WPM_STRETCH, WPM_FULL, WPM_CENTER, WPM_TILE, WPM_ZOOM, WPM_TRANSPARENT }WallpaperMode; typedef struct { /* General Settings */ char encoding[ 32 ]; //gboolean show_hidden_files; //gboolean show_side_pane; //int side_pane_mode; gboolean show_thumbnail; int max_thumb_size; int big_icon_size; int small_icon_size; int tool_icon_size; gboolean use_trash_can; gboolean single_click; gboolean no_single_hover; /* char* iconTheme; */ //char* terminal; //gboolean show_location_bar; gboolean no_execute; //MOD gboolean no_confirm; //MOD gboolean sdebug; //sfm gboolean load_saved_tabs; //sfm char* date_format; //MOD for speed dupe of xset //int open_bookmark_method; /* 1: current tab, 2: new tab, 3: new window */ //int view_mode; /* icon view or detailed list view */ int sort_order; /* Sort by name, size, time */ int sort_type; /* ascending, descending */ /* Window State */ //int splitter_pos; int width; int height; gboolean maximized; /* Desktop */ //gboolean show_desktop; gboolean show_wallpaper; char* wallpaper; WallpaperMode wallpaper_mode; int desktop_sort_by; int desktop_sort_type; gboolean show_wm_menu; gboolean desk_single_click; gboolean desk_no_single_hover; gboolean desk_open_mime; PangoFontDescription* desk_font; GdkColor desktop_bg1; GdkColor desktop_bg2; GdkColor desktop_text; GdkColor desktop_shadow; int margin_top; int margin_left; int margin_right; int margin_bottom; int margin_pad; /* Interface */ gboolean always_show_tabs; gboolean hide_close_tab_buttons; //gboolean hide_side_pane_buttons; //gboolean hide_folder_content_border; /* Units */ gboolean use_si_prefix; } AppSettings; extern AppSettings app_settings; void load_conf(); void load_settings( char* config_dir ); char* save_settings( gpointer main_window_ptr ); void free_settings(); const char* xset_get_config_dir(); const char* xset_get_tmp_dir(); const char* xset_get_shared_tmp_dir(); const char* xset_get_user_tmp_dir(); /////////////////////////////////////////////////////////////////////////////// //MOD extra settings below GList* xsets; enum { XSET_B_UNSET, XSET_B_TRUE, XSET_B_FALSE }; enum { XSET_CMD_LINE, XSET_CMD_SCRIPT, XSET_CMD_APP, XSET_CMD_BOOKMARK }; enum { // do not renumber - these values are saved in session files XSET_MENU_NORMAL, XSET_MENU_CHECK, XSET_MENU_STRING, XSET_MENU_RADIO, XSET_MENU_FILEDLG, XSET_MENU_FONTDLG, XSET_MENU_ICON, XSET_MENU_COLORDLG, XSET_MENU_CONFIRM, XSET_MENU_DUMMY3, XSET_MENU_DUMMY4, XSET_MENU_DUMMY5, XSET_MENU_DUMMY6, XSET_MENU_DUMMY7, XSET_MENU_DUMMY8, XSET_MENU_DUMMY9, XSET_MENU_DUMMY10, XSET_MENU_SUBMENU, // add new before submenu XSET_MENU_SEP }; enum { // do not reorder - these values are saved in session files // also update builtin_tool_name builtin_tool_icon in settings.c XSET_TOOL_NOT, XSET_TOOL_CUSTOM, XSET_TOOL_DEVICES, XSET_TOOL_BOOKMARKS, XSET_TOOL_TREE, XSET_TOOL_HOME, XSET_TOOL_DEFAULT, XSET_TOOL_UP, XSET_TOOL_BACK, XSET_TOOL_BACK_MENU, XSET_TOOL_FWD, XSET_TOOL_FWD_MENU, XSET_TOOL_REFRESH, XSET_TOOL_NEW_TAB, XSET_TOOL_NEW_TAB_HERE, XSET_TOOL_SHOW_HIDDEN, XSET_TOOL_SHOW_THUMB, XSET_TOOL_LARGE_ICONS, XSET_TOOL_INVALID // keep this always last }; enum { XSET_JOB_KEY, XSET_JOB_ICON, XSET_JOB_LABEL, XSET_JOB_EDIT, XSET_JOB_EDIT_ROOT, XSET_JOB_LINE, XSET_JOB_SCRIPT, XSET_JOB_CUSTOM, XSET_JOB_TERM, XSET_JOB_KEEP, XSET_JOB_USER, XSET_JOB_TASK, XSET_JOB_POP, XSET_JOB_ERR, XSET_JOB_OUT, XSET_JOB_BOOKMARK, XSET_JOB_APP, XSET_JOB_COMMAND, XSET_JOB_SUBMENU, XSET_JOB_SUBMENU_BOOK, XSET_JOB_SEP, XSET_JOB_ADD_TOOL, XSET_JOB_IMPORT_FILE, XSET_JOB_IMPORT_URL, XSET_JOB_IMPORT_GTK, XSET_JOB_CUT, XSET_JOB_COPY, XSET_JOB_PASTE, XSET_JOB_REMOVE, XSET_JOB_REMOVE_BOOK, XSET_JOB_NORMAL, XSET_JOB_CHECK, XSET_JOB_CONFIRM, XSET_JOB_DIALOG, XSET_JOB_MESSAGE, XSET_JOB_COPYNAME, XSET_JOB_PROP, XSET_JOB_PROP_CMD, XSET_JOB_IGNORE_CONTEXT, XSET_JOB_SCROLL, XSET_JOB_EXPORT, XSET_JOB_BROWSE_FILES, XSET_JOB_BROWSE_DATA, XSET_JOB_BROWSE_PLUGIN, XSET_JOB_HELP, XSET_JOB_HELP_NEW, XSET_JOB_HELP_ADD, XSET_JOB_HELP_BROWSE, XSET_JOB_HELP_STYLE, XSET_JOB_HELP_BOOK, XSET_JOB_TOOLTIPS }; enum { PLUGIN_JOB_INSTALL, PLUGIN_JOB_COPY, PLUGIN_JOB_REMOVE }; enum { PLUGIN_USE_HAND_ARC, PLUGIN_USE_HAND_FS, PLUGIN_USE_HAND_NET, PLUGIN_USE_HAND_FILE, PLUGIN_USE_BOOKMARKS, PLUGIN_USE_NORMAL }; typedef struct { char* name; char b; // tri-state 0=unset(false) 1=true 2=false char* s; char* x; char* y; char* z; // for menu_string locked, stores default gboolean disable; // not saved, default false char* menu_label; int menu_style; // not saved or read if locked char* icon; void (*cb_func) (); // not saved gpointer cb_data; // not saved char* ob1; // not saved gpointer ob1_data; // not saved char* ob2; // not saved gpointer ob2_data; // not saved PtkFileBrowser* browser;// not saved - set automatically DesktopWindow* desktop; // not saved - set automatically int key; int keymod; char* shared_key; // not saved char* desc; // not saved or read if locked char* title; // not saved or read if locked char* next; char* context; char tool; // 0=not 1=true 2=false gboolean lock; // not saved, default true // Custom Command ( !lock ) char* prev; char* parent; char* child; char* line; // or help if lock // x = XSET_CMD_LINE..XSET_CMD_BOOKMARK // y = user // z = custom executable char task; char task_pop; char task_err; char task_out; char in_terminal; // or save menu_label if lock char keep_terminal; // or save icon if lock char scroll_lock; char opener; // Plugin (not saved at all) gboolean plugin; gboolean plugin_top; char* plug_name; char* plug_dir; } XSet; typedef struct { GtkMenuItem* item; char* name; } XMenuItem; // cache these for speed in event handlers XSet* evt_win_focus; XSet* evt_win_move; XSet* evt_win_click; XSet* evt_win_key; XSet* evt_win_close; XSet* evt_pnl_show; XSet* evt_pnl_focus; XSet* evt_pnl_sel; XSet* evt_tab_new; XSet* evt_tab_chdir; XSet* evt_tab_focus; XSet* evt_tab_close; XSet* evt_device; // instance-wide command history GList* xset_cmd_history; static const char* terminal_programs[] = //for pref-dialog.c { "roxterm", "terminal", "xfce4-terminal", "gnome-terminal", "aterm", "Eterm", "konsole", "lxterminal", "mlterm", "mrxvt", "rxvt", "sakura", "terminator", "urxvt", "xterm", "x-terminal-emulator", "lilyterm", "qterminal" }; static const char* su_commands[] = // order and contents must match prefdlg.ui { "/bin/su", "/usr/bin/sudo", "/usr/bin/su-to-root" }; static const char* gsu_commands[] = // order and contents must match prefdlg.ui { "/usr/bin/gksu", "/usr/bin/gksudo", "/usr/bin/gnomesu", "/usr/bin/xdg-su", "/usr/bin/kdesu", // may be translated to "$(kde4-config --path libexec)/kdesu" "/usr/bin/kdesudo", "/usr/bin/ktsuss", "/usr/bin/lxqt-sudo", "/usr/bin/lxsu", "/usr/bin/su-to-root", "/bin/su", "/usr/bin/sudo" }; // These will contain the su and gsu settings from /etc/spacefm/spacefm.conf char* settings_terminal_su; char* settings_graphical_su; typedef struct { gboolean valid; char* var[40]; } XSetContext; char* randhex8(); char* replace_string( const char* orig, const char* str, const char* replace, gboolean quote ); char* replace_line_subs( const char* line ); char* bash_quote( const char* str ); void string_copy_free( char** s, const char* src ); gboolean is_alphanum( char* str ); char* get_name_extension( char* full_name, gboolean is_dir, char** ext ); char* unescape( const char* t ); void xset_autosave( gboolean force, gboolean delay ); void xset_autosave_cancel(); void open_in_prog( const char* path ); void xset_set_window_icon( GtkWindow* win ); char* get_valid_su(); char* get_valid_gsu(); gboolean xset_copy_file( char* src, char* dest ); gboolean dir_has_files( const char* path ); XSet* xset_get( const char* name ); char* xset_get_s( const char* name ); gboolean xset_get_bool( const char* name, const char* var ); gboolean xset_get_b( const char* name ); XSet* xset_get_panel( int panel, const char* name ); char* xset_get_s_panel( int panel, const char* name ); gboolean xset_get_b_panel( int panel, const char* name ); gboolean xset_get_bool_panel( int panel, const char* name, const char* var ); XSet* xset_set_b( const char* name, gboolean bval ); XSet* xset_set_b_panel( int panel, const char* name, gboolean bval ); int xset_get_int( const char* name, const char* var ); int xset_get_int_panel( int panel, const char* name, const char* var ); XSet* xset_set_panel( int panel, const char* name, const char* var, const char* value ); XSet* xset_set_cb_panel( int panel, const char* name, void (*cb_func) (), gpointer cb_data ); gboolean xset_get_b_set( XSet* set ); XSet* xset_get_panel_mode( int panel, const char* name, char mode ); gboolean xset_get_b_panel_mode( int panel, const char* name, char mode ); XSet* xset_set_panel_mode( int panel, const char* name, char mode, const char* var, const char* value ); XSet* xset_set_b_panel_mode( int panel, const char* name, char mode, gboolean bval ); XSetContext* xset_context_new(); XSet* xset_get_plugin_mirror( XSet* set ); void write_src_functions( FILE* file ); char* xset_custom_get_script( XSet* set, gboolean create ); gboolean have_rw_access( const char* path ); gboolean have_x_access( const char* path ); char* xset_get_keyname( XSet* set, int key_val, int key_mod ); void xset_set_key( GtkWidget* parent, XSet* set ); XSet* xset_set( const char* name, const char* var, const char* value ); XSet* xset_set_set( XSet* set, const char* var, const char* value ); void xset_custom_delete( XSet* set, gboolean delete_next ); void xset_custom_activate( GtkWidget* item, XSet* set ); XSet* xset_custom_remove( XSet* set ); char* xset_custom_get_app_name_icon( XSet* set, GdkPixbuf** icon, int icon_size ); GdkPixbuf* xset_custom_get_bookmark_icon( XSet* set, int icon_size ); void xset_custom_export( GtkWidget* parent, PtkFileBrowser* file_browser, XSet* set ); GtkWidget* xset_design_show_menu( GtkWidget* menu, XSet* set, XSet* book_insert, guint button, guint32 time ); void xset_add_menu( DesktopWindow* desktop, PtkFileBrowser* file_browser, GtkWidget* menu, GtkAccelGroup *accel_group, char* elements ); GtkWidget* xset_add_menuitem( DesktopWindow* desktop, PtkFileBrowser* file_browser, GtkWidget* menu, GtkAccelGroup *accel_group, XSet* set ); GtkWidget* xset_get_image( const char* icon, int icon_size ); XSet* xset_set_cb( const char* name, void (*cb_func) (), gpointer cb_data ); XSet* xset_set_ob1_int( XSet* set, const char* ob1, int ob1_int ); XSet* xset_set_ob1( XSet* set, const char* ob1, gpointer ob1_data ); XSet* xset_set_ob2( XSet* set, const char* ob2, gpointer ob2_data ); XSet* xset_is( const char* name ); XSet* xset_find_custom( const char* search ); void xset_menu_cb( GtkWidget* item, XSet* set ); gboolean xset_menu_keypress( GtkWidget* widget, GdkEventKey* event, gpointer user_data ); gboolean xset_text_dialog( GtkWidget* parent, const char* title, GtkWidget* image, gboolean large, const char* msg1, const char* msg2, const char* defstring, char** answer, const char* defreset, gboolean edit_care, const char* help ); char* xset_file_dialog( GtkWidget* parent, GtkFileChooserAction action, const char* title, const char* deffolder, const char* deffile ); char* xset_font_dialog( GtkWidget* parent, const char* title, const char* preview, const char* deffont ); void xset_edit( GtkWidget* parent, const char* path, gboolean force_root, gboolean no_root ); void xset_open_url( GtkWidget* parent, const char* url ); void xset_fill_toolbar( GtkWidget* parent, PtkFileBrowser* file_browser, GtkWidget* toolbar, XSet* set_parent, gboolean show_tooltips ); int xset_msg_dialog( GtkWidget* parent, int action, const char* title, GtkWidget* image, int buttons, const char* msg1, const char* msg2, const char* help ); GtkTextView* multi_input_new( GtkScrolledWindow* scrolled, const char* text, gboolean def_font ); void multi_input_select_region( GtkWidget* input, int start, int end ); char* multi_input_get_text( GtkWidget* input ); XSet* xset_custom_new(); gboolean write_root_settings( FILE* file, const char* path ); GList* xset_get_plugins( gboolean included ); void install_plugin_file( gpointer main_win, GtkWidget* handler_dlg, const char* path, const char* plug_dir, int type, int job, XSet* insert_set ); XSet* xset_import_plugin( const char* plug_dir, gboolean* is_bookmarks ); void clean_plugin_mirrors(); char* plain_ascii_name( const char* orig_name ); char* clean_label( const char* menu_label, gboolean kill_special, gboolean convert_amp ); void xset_show_help( GtkWidget* parent, XSet* set, const char* anchor ); gboolean xset_opener( DesktopWindow* desktop, PtkFileBrowser* file_browser, char job ); const char* xset_get_builtin_toolitem_label( char tool_type ); char* xset_icon_chooser_dialog( GtkWindow* parent, const char* def_icon ); #endif spacefm-1.0.5/src/spacefm-auth000077500000000000000000000020531264770501700162360ustar00rootroot00000000000000#!/bin/bash # This script (spacefm-auth) is used internally by spacefm to authenticate # temporary scripts run as another user. This file should not be modified # or run directly. if [ "$1" = "root" ]; then shift fm_root=1 else fm_root=0 fi if [ "$2" = "" ]; then echo "spacefm-auth: This script is used internally by spacefm and is not" 1>&2 echo " designed to be run directly." 1>&2 exit 1 fi fm_source="$1" fm_sum="$2" if [ ! -f "$fm_source" ]; then echo "spacefm-auth: error: missing file" exit 1 fi if [ ${#fm_sum} -eq 64 ]; then fm_sha=/usr/bin/sha256sum elif [ ${#fm_sum} -eq 128 ]; then fm_sha=/usr/bin/sha512sum else echo "spacefm-auth: error: invalid sum" 1>&2 exit 1 fi if (( fm_root == 1 )); then chown root:root "$(dirname "$fm_source")" || exit 1 chmod ugo+rwx,+t "$(dirname "$fm_source")" || exit 1 chmod go-rwx "$fm_source" || exit 1 fi if [ "$($fm_sha "$fm_source")" != "$fm_sum $fm_source" ]; then echo "spacefm-auth: error: $fm_sha mismatch" 1>&2 exit 1 fi export fm_sum /bin/bash "$fm_source" run exit $? spacefm-1.0.5/src/spacefm-auth.bash000077500000000000000000000020531264770501700171520ustar00rootroot00000000000000#!/bin/bash # This script (spacefm-auth) is used internally by spacefm to authenticate # temporary scripts run as another user. This file should not be modified # or run directly. if [ "$1" = "root" ]; then shift fm_root=1 else fm_root=0 fi if [ "$2" = "" ]; then echo "spacefm-auth: This script is used internally by spacefm and is not" 1>&2 echo " designed to be run directly." 1>&2 exit 1 fi fm_source="$1" fm_sum="$2" if [ ! -f "$fm_source" ]; then echo "spacefm-auth: error: missing file" exit 1 fi if [ ${#fm_sum} -eq 64 ]; then fm_sha=/usr/bin/sha256sum elif [ ${#fm_sum} -eq 128 ]; then fm_sha=/usr/bin/sha512sum else echo "spacefm-auth: error: invalid sum" 1>&2 exit 1 fi if (( fm_root == 1 )); then chown root:root "$(dirname "$fm_source")" || exit 1 chmod ugo+rwx,+t "$(dirname "$fm_source")" || exit 1 chmod go-rwx "$fm_source" || exit 1 fi if [ "$($fm_sha "$fm_source")" != "$fm_sum $fm_source" ]; then echo "spacefm-auth: error: $fm_sha mismatch" 1>&2 exit 1 fi export fm_sum /bin/bash "$fm_source" run exit $? spacefm-1.0.5/src/vfs/000077500000000000000000000000001264770501700145315ustar00rootroot00000000000000spacefm-1.0.5/src/vfs/vfs-app-desktop.c000066400000000000000000000461641264770501700177330ustar00rootroot00000000000000/* * C Implementation: vfs-app-desktop * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "vfs-app-desktop.h" #include #include "glib-mem.h" #include #include "vfs-execute.h" #include "vfs-utils.h" /* for vfs_load_icon */ #include "ptk-file-task.h" //sfm breaks vfs independence for exec_in_terminal const char desktop_entry_name[] = "Desktop Entry"; /* * If file_name is not a full path, this function searches default paths * for the desktop file. */ VFSAppDesktop* vfs_app_desktop_new( const char* file_name ) { GKeyFile* file; gboolean load; char* relative_path; VFSAppDesktop* app = g_slice_new0( VFSAppDesktop ); app->n_ref = 1; file = g_key_file_new(); if( !file_name ) { g_key_file_free( file ); return app; } if( g_path_is_absolute( file_name ) ) { app->file_name = g_path_get_basename( file_name ); app->full_path = g_strdup( file_name ); load = g_key_file_load_from_file( file, file_name, G_KEY_FILE_NONE, NULL ); } else { app->file_name = g_strdup( file_name ); relative_path = g_build_filename( "applications", app->file_name, NULL ); load = g_key_file_load_from_data_dirs( file, relative_path, &app->full_path, G_KEY_FILE_NONE, NULL ); g_free( relative_path ); if ( !load ) { // some desktop files are in subdirs of data dirs (out of spec) if ( app->full_path = mime_type_locate_desktop_file( NULL, file_name ) ) load = g_key_file_load_from_file( file, app->full_path, G_KEY_FILE_NONE, NULL ); } } if( load ) { app->disp_name = g_key_file_get_locale_string ( file, desktop_entry_name, "Name", NULL, NULL); app->comment = g_key_file_get_locale_string ( file, desktop_entry_name, "Comment", NULL, NULL); app->exec = g_key_file_get_string ( file, desktop_entry_name, "Exec", NULL); app->icon_name = g_key_file_get_string ( file, desktop_entry_name, "Icon", NULL); app->terminal = g_key_file_get_boolean( file, desktop_entry_name, "Terminal", NULL ); app->hidden = g_key_file_get_boolean( file, desktop_entry_name, "NoDisplay", NULL ); app->startup = g_key_file_get_boolean( file, desktop_entry_name, "StartupNotify", NULL ); app->path = g_key_file_get_string ( file, desktop_entry_name, "Path", NULL); } g_key_file_free( file ); return app; } static void vfs_app_desktop_free( VFSAppDesktop* app ) { g_free( app->disp_name ); g_free( app->comment ); g_free( app->exec ); g_free( app->icon_name ); g_free( app->path ); g_free( app->full_path ); g_slice_free( VFSAppDesktop, app ); } void vfs_app_desktop_ref( VFSAppDesktop* app ) { g_atomic_int_inc( &app->n_ref ); } void vfs_app_desktop_unref( gpointer data ) { VFSAppDesktop* app = (VFSAppDesktop*)data; if( g_atomic_int_dec_and_test(&app->n_ref) ) vfs_app_desktop_free( app ); } gboolean vfs_app_desktop_rename( char* desktop_file_path, char* new_name ) //sfm { if ( !desktop_file_path || !new_name ) return FALSE; GKeyFile* kfile = g_key_file_new(); // load if ( !g_key_file_load_from_file( kfile, desktop_file_path, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, NULL ) ) { g_key_file_free( kfile ); return FALSE; } // get user's locale const char* locale = NULL; const char* const * langs = g_get_language_names(); char* dot = strchr( langs[0], '.' ); if( dot ) locale = g_strndup( langs[0], (size_t)(dot - langs[0]) ); else locale = langs[0]; if ( !locale || locale[0] == '\0' ) locale = "en"; char* l = g_strdup( locale ); char* ll = strchr( l, '_' ); if ( ll ) ll[0] = '\0'; // update keyfile g_key_file_set_locale_string( kfile, desktop_entry_name, "Name", l, new_name ); if ( strcmp( l, locale ) ) g_key_file_set_locale_string( kfile, desktop_entry_name, "Name", locale, new_name ); g_free( l ); // get keyfile as string char* data = g_key_file_to_data( kfile, NULL, NULL ); g_key_file_free( kfile ); // overwrite desktop file if ( data ) { FILE* file = fopen( desktop_file_path, "w" ); if ( file ) { int result = fputs( data, file ); g_free( data ); fclose( file ); if ( result < 0 ) return FALSE; } else { g_free( data ); return FALSE; } } else return FALSE; return TRUE; } const char* vfs_app_desktop_get_name( VFSAppDesktop* app ) { return app->file_name; } const char* vfs_app_desktop_get_disp_name( VFSAppDesktop* app ) { if( G_LIKELY(app->disp_name) ) return app->disp_name; return app->file_name; } const char* vfs_app_desktop_get_exec( VFSAppDesktop* app ) { return app->exec; } const char* vfs_app_desktop_get_icon_name( VFSAppDesktop* app ) { return app->icon_name; } static GdkPixbuf* load_icon_file( const char* file_name, int size ) { GdkPixbuf* icon = NULL; char* file_path; const gchar** dirs = (const gchar**) g_get_system_data_dirs(); const gchar** dir; for( dir = dirs; *dir; ++dir ) { file_path = g_build_filename( *dir, "pixmaps", file_name, NULL ); icon = gdk_pixbuf_new_from_file_at_scale( file_path, size, size, TRUE, NULL ); g_free( file_path ); if( icon ) break; } return icon; } GdkPixbuf* vfs_app_desktop_get_icon( VFSAppDesktop* app, int size, gboolean use_fallback ) { GtkIconTheme* theme; char *icon_name = NULL, *suffix; GdkPixbuf* icon = NULL; if( app->icon_name ) { if( g_path_is_absolute( app->icon_name) ) { icon = gdk_pixbuf_new_from_file_at_scale( app->icon_name, size, size, TRUE, NULL ); } else { theme = gtk_icon_theme_get_default(); suffix = strchr( app->icon_name, '.' ); if( suffix ) /* has file extension, it's a basename of icon file */ { /* try to find it in pixmaps dirs */ icon = load_icon_file( app->icon_name, size ); if( G_UNLIKELY( ! icon ) ) /* unfortunately, not found */ { /* Let's remove the suffix, and see if this name can match an icon in current icon theme */ icon_name = g_strndup( app->icon_name, (suffix - app->icon_name) ); icon = vfs_load_icon( theme, icon_name, size ); g_free( icon_name ); } } else /* no file extension, it could be an icon name in the icon theme */ { icon = vfs_load_icon( theme, app->icon_name, size ); } } } if( G_UNLIKELY( ! icon ) && use_fallback ) /* fallback to generic icon */ { theme = gtk_icon_theme_get_default(); icon = vfs_load_icon( theme, "application-x-executable", size ); if( G_UNLIKELY( ! icon ) ) /* fallback to generic icon */ { icon = vfs_load_icon( theme, "gnome-mime-application-x-executable", size ); } } return icon; } gboolean vfs_app_desktop_open_multiple_files( VFSAppDesktop* app ) { char* p; if( app->exec ) { if ( strstr( app->exec, "%U" ) || strstr( app->exec, "%F" ) || strstr( app->exec, "%N" ) || strstr( app->exec, "%D" ) ) return TRUE; /* this is broken for( p = app->exec; *p; ++p ) { if( *p == '%' ) { ++p; switch( *p ) { case 'U': case 'F': case 'N': case 'D': return TRUE; case '\0': return FALSE; } } return TRUE; } */ } return FALSE; } gboolean vfs_app_desktop_open_in_terminal( VFSAppDesktop* app ) { return app->terminal; } gboolean vfs_app_desktop_is_hidden( VFSAppDesktop* app ) { return app->hidden; } gboolean vfs_app_desktop_uses_startup_notify( VFSAppDesktop* app ) { return app->startup; } /* * Parse Exec command line of app desktop file, and translate * it into a real command which can be passed to g_spawn_command_line_async(). * file_list is a null-terminated file list containing full * paths of the files passed to app. * returned char* should be freed when no longer needed. */ static char* translate_app_exec_to_command_line( VFSAppDesktop* app, GList* file_list ) { const char* pexec = vfs_app_desktop_get_exec( app ); char* file; GList* l; gchar *tmp; GString* cmd = g_string_new(""); gboolean add_files = FALSE; for( ; *pexec; ++pexec ) { if( *pexec == '%' ) { ++pexec; switch( *pexec ) { /* 0.9.4: Treat %u/%U as %f/%F acceptable for local files per spec at * http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#exec-variables * This seems to be more common behavior among file managers and * some common .desktop files erroneously make this assumption. case 'U': for( l = file_list; l; l = l->next ) { tmp = g_filename_to_uri( (char*)l->data, NULL, NULL ); file = g_shell_quote( tmp ); g_free( tmp ); g_string_append( cmd, file ); g_string_append_c( cmd, ' ' ); g_free( file ); } add_files = TRUE; break; case 'u': if( file_list && file_list->data ) { file = (char*)file_list->data; tmp = g_filename_to_uri( file, NULL, NULL ); file = g_shell_quote( tmp ); g_free( tmp ); g_string_append( cmd, file ); g_free( file ); add_files = TRUE; } break; */ case 'F': case 'N': case 'U': for( l = file_list; l; l = l->next ) { file = (char*)l->data; tmp = g_shell_quote( file ); g_string_append( cmd, tmp ); g_string_append_c( cmd, ' ' ); g_free( tmp ); } add_files = TRUE; break; case 'f': case 'n': case 'u': if( file_list && file_list->data ) { file = (char*)file_list->data; tmp = g_shell_quote( file ); g_string_append( cmd, tmp ); g_free( tmp ); add_files = TRUE; } break; case 'D': for( l = file_list; l; l = l->next ) { tmp = g_path_get_dirname( (char*)l->data ); file = g_shell_quote( tmp ); g_free( tmp ); g_string_append( cmd, file ); g_string_append_c( cmd, ' ' ); g_free( file ); } add_files = TRUE; break; case 'd': if( file_list && file_list->data ) { tmp = g_path_get_dirname( (char*)file_list->data ); file = g_shell_quote( tmp ); g_free( tmp ); g_string_append( cmd, file ); g_free( tmp ); add_files = TRUE; } break; case 'c': g_string_append( cmd, vfs_app_desktop_get_disp_name( app ) ); break; case 'i': /* Add icon name */ if( vfs_app_desktop_get_icon_name( app ) ) { g_string_append( cmd, "--icon " ); g_string_append( cmd, vfs_app_desktop_get_icon_name( app ) ); } break; case 'k': /* Location of the desktop file */ break; case 'v': /* Device name */ break; case '%': g_string_append_c ( cmd, '%' ); break; case '\0': goto _finish; break; } } else /* not % escaped part */ { g_string_append_c ( cmd, *pexec ); } } _finish: if( ! add_files ) { g_string_append_c ( cmd, ' ' ); for( l = file_list; l; l = l->next ) { file = (char*)l->data; tmp = g_shell_quote( file ); g_string_append( cmd, tmp ); g_string_append_c( cmd, ' ' ); g_free( tmp ); } } return g_string_free( cmd, FALSE ); } void exec_in_terminal( const char* app_name, const char* cwd, const char* cmd ) { // task PtkFileTask* task = ptk_file_exec_new( app_name, cwd, NULL, NULL ); task->task->exec_command = strdup( cmd ); task->task->exec_terminal = TRUE; // task->task->exec_keep_terminal = TRUE; // for test only task->task->exec_sync = FALSE; task->task->exec_export = FALSE; ptk_file_task_run( task ); } gboolean vfs_app_desktop_open_files( GdkScreen* screen, const char* working_dir, VFSAppDesktop* app, GList* file_paths, GError** err ) { char* exec = NULL; char* cmd; GList* l; gchar** argv = NULL; gint argc = 0; const char* sn_desc; if( vfs_app_desktop_get_exec( app ) ) { if ( ! strchr( vfs_app_desktop_get_exec( app ), '%' ) ) { /* No filename parameters */ exec = g_strconcat( vfs_app_desktop_get_exec( app ), " %f", NULL ); } else { exec = g_strdup( vfs_app_desktop_get_exec( app ) ); } } if ( exec ) { if( !screen ) screen = gdk_screen_get_default(); sn_desc = vfs_app_desktop_get_disp_name( app ); if( !sn_desc ) sn_desc = exec; if( vfs_app_desktop_open_multiple_files( app ) ) { cmd = translate_app_exec_to_command_line( app, file_paths ); if ( cmd ) { if ( vfs_app_desktop_open_in_terminal( app ) ) exec_in_terminal( sn_desc, app->path && app->path[0] ? app->path : working_dir, cmd ); else { /* g_debug( "Execute %s\n", cmd ); */ if( g_shell_parse_argv( cmd, &argc, &argv, NULL ) ) { vfs_exec_on_screen( screen, app->path && app->path[0] ? app->path : working_dir, argv, NULL, sn_desc, VFS_EXEC_DEFAULT_FLAGS, vfs_app_desktop_uses_startup_notify( app ), err ); g_strfreev( argv ); } } g_free( cmd ); } } else { // app does not accept multiple files, so run multiple times GList* single; l = file_paths; do { if ( l ) { // just pass a single file path to translate single = g_list_append( NULL, l->data ); } else { // there are no files being passed, just run once single = NULL; } cmd = translate_app_exec_to_command_line( app, single ); g_list_free( single ); if ( cmd ) { if ( vfs_app_desktop_open_in_terminal( app ) ) exec_in_terminal( sn_desc, app->path && app->path[0] ? app->path : working_dir, cmd ); else { /* g_debug( "Execute %s\n", cmd ); */ if( g_shell_parse_argv( cmd, &argc, &argv, NULL ) ) { vfs_exec_on_screen( screen, app->path && app->path[0] ? app->path : working_dir, argv, NULL, sn_desc, G_SPAWN_SEARCH_PATH| G_SPAWN_STDOUT_TO_DEV_NULL| G_SPAWN_STDERR_TO_DEV_NULL, vfs_app_desktop_uses_startup_notify( app ), err ); g_strfreev( argv ); } } g_free( cmd ); } } while ( l = l ? l->next : NULL ); } g_free( exec ); return TRUE; } g_set_error( err, G_SPAWN_ERROR, G_SPAWN_ERROR_FAILED, "%s\n\n%s", _("Command not found"), app->file_name ); return FALSE; } spacefm-1.0.5/src/vfs/vfs-app-desktop.h000066400000000000000000000035151264770501700177310ustar00rootroot00000000000000/* * C Interface: vfs-app-desktop * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _VFS_APP_DESKTOP_H_ #define _VFS_APP_DESKTOP_H_ #include #include G_BEGIN_DECLS typedef struct _VFSAppDesktop VFSAppDesktop; struct _VFSAppDesktop { char* file_name; char* disp_name; char* comment; char* exec; char* icon_name; char* path; // working dir char* full_path; // path of desktop file gboolean terminal : 1; gboolean hidden : 1; gboolean startup : 1; /* */ int n_ref; }; /* * If file_name is not a full path, this function searches default paths * for the desktop file. */ VFSAppDesktop* vfs_app_desktop_new( const char* file_name ); void vfs_app_desktop_ref( VFSAppDesktop* app ); void vfs_app_desktop_unref( gpointer data ); const char* vfs_app_desktop_get_name( VFSAppDesktop* app ); const char* vfs_app_desktop_get_disp_name( VFSAppDesktop* app ); const char* vfs_app_desktop_get_exec( VFSAppDesktop* app ); GdkPixbuf* vfs_app_desktop_get_icon( VFSAppDesktop* app, int size, gboolean use_fallback ); const char* vfs_app_desktop_get_icon_name( VFSAppDesktop* app ); gboolean vfs_app_desktop_open_multiple_files( VFSAppDesktop* app ); gboolean vfs_app_desktop_open_in_terminal( VFSAppDesktop* app ); gboolean vfs_app_desktop_is_hidden( VFSAppDesktop* app ); gboolean vfs_app_desktop_open_files( GdkScreen* screen, const char* working_dir, VFSAppDesktop* app, GList* file_paths, GError** err ); gboolean vfs_app_desktop_rename( char* desktop_file_path, char* new_name ); //sfm G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-async-task.c000066400000000000000000000161171264770501700175540ustar00rootroot00000000000000/* * vfs-async-task.c * * Copyright 2008 PCMan * * 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 3 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. */ #include "vfs-async-task.h" #include static void vfs_async_task_class_init (VFSAsyncTaskClass *klass); static void vfs_async_task_init (VFSAsyncTask *task); static void vfs_async_task_finalize (GObject *object); static void vfs_async_task_finish( VFSAsyncTask* task, gboolean is_cancelled ); static void vfs_async_thread_cleanup( VFSAsyncTask* task, gboolean finalize ); void vfs_async_task_real_cancel( VFSAsyncTask* task, gboolean finalize ); /* Local data */ static GObjectClass *parent_class = NULL; enum { FINISH_SIGNAL, N_SIGNALS }; static guint signals[ N_SIGNALS ] = { 0 }; GType vfs_async_task_get_type(void) { static GType self_type = 0; if (! self_type) { static const GTypeInfo self_info = { sizeof(VFSAsyncTaskClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc)vfs_async_task_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(VFSAsyncTask), 0, (GInstanceInitFunc)vfs_async_task_init, NULL /* value_table */ }; self_type = g_type_register_static(G_TYPE_OBJECT, "VFSAsyncTask", &self_info, 0); } return self_type; } static void vfs_async_task_class_init(VFSAsyncTaskClass *klass) { GObjectClass *g_object_class; g_object_class = G_OBJECT_CLASS(klass); g_object_class->finalize = vfs_async_task_finalize; parent_class = (GObjectClass*)g_type_class_peek(G_TYPE_OBJECT); klass->finish = vfs_async_task_finish; signals[ FINISH_SIGNAL ] = g_signal_new ( "finish", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET ( VFSAsyncTaskClass, finish ), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN ); } static void vfs_async_task_init(VFSAsyncTask *task) { task->lock = g_mutex_new(); } VFSAsyncTask* vfs_async_task_new( VFSAsyncFunc task_func, gpointer user_data ) { VFSAsyncTask* task = (VFSAsyncTask*)g_object_new(VFS_ASYNC_TASK_TYPE, NULL); task->func = task_func; task->user_data = user_data; return (VFSAsyncTask*)task; } gpointer vfs_async_task_get_data( VFSAsyncTask* task ) { return task->user_data; } void vfs_async_task_set_data( VFSAsyncTask* task, gpointer user_data ) { task->user_data = user_data; } gpointer vfs_async_task_get_return_value( VFSAsyncTask* task ) { return task->ret_val; } void vfs_async_task_finalize(GObject *object) { VFSAsyncTask *task; /* FIXME: destroying the object without calling vfs_async_task_cancel currently induces unknown errors. */ task = (VFSAsyncTask*)object; /* finalize = TRUE, inhibit the emission of signals */ vfs_async_task_real_cancel( task, TRUE ); vfs_async_thread_cleanup( task, TRUE ); g_mutex_free( task->lock ); task->lock = NULL; if (G_OBJECT_CLASS(parent_class)->finalize) (* G_OBJECT_CLASS(parent_class)->finalize)(object); } gboolean on_idle( gpointer _task ) { VFSAsyncTask *task = VFS_ASYNC_TASK(_task); //GDK_THREADS_ENTER(); // not needed because this runs in main thread vfs_async_thread_cleanup( task, FALSE ); //GDK_THREADS_LEAVE(); return TRUE; /* the idle handler is removed in vfs_async_thread_cleanup. */ } gpointer vfs_async_task_thread( gpointer _task ) { VFSAsyncTask *task = VFS_ASYNC_TASK(_task); gpointer ret = NULL; ret = task->func( task, task->user_data ); vfs_async_task_lock( task ); task->idle_id = g_idle_add( on_idle, task ); // runs in main loop thread task->ret_val = ret; task->finished = TRUE; vfs_async_task_unlock( task ); return ret; } void vfs_async_task_execute( VFSAsyncTask* task ) { task->thread = g_thread_create( vfs_async_task_thread, task, TRUE, NULL ); } void vfs_async_thread_cleanup( VFSAsyncTask* task, gboolean finalize ) { if( task->idle_id ) { g_source_remove( task->idle_id ); task->idle_id = 0; } if( G_LIKELY( task->thread ) ) { g_thread_join( task->thread ); task->thread = NULL; task->finished = TRUE; /* Only emit the signal when we are not finalizing. Emitting signal on an object during destruction is not allowed. */ if( G_LIKELY( ! finalize ) ) g_signal_emit( task, signals[ FINISH_SIGNAL ], 0, task->cancelled ); } } void vfs_async_task_real_cancel( VFSAsyncTask* task, gboolean finalize ) { if( ! task->thread ) return; /* * NOTE: Well, this dirty hack is needed. Since the function is always * called from main thread, the GTK+ main loop may have this gdk lock locked * when this function gets called. However, our task running in another thread * might need to use GTK+, too. If we don't release the gdk lock in main thread * temporarily, the task in another thread will be blocked due to waiting for * the gdk lock locked by our main thread, and hence cannot be finished. * Then we'll end up in endless waiting for that thread to finish, the so-called deadlock. * * The doc of GTK+ really sucks. GTK+ use this GTK_THREADS_ENTER everywhere internally, * but the behavior of the lock is not well-documented. So it's very difficult for use * to get things right. */ //sfm this deadlocks on quick dir change //GDK_THREADS_LEAVE(); vfs_async_task_lock( task ); task->cancel = TRUE; vfs_async_task_unlock( task ); vfs_async_thread_cleanup( task, finalize ); task->cancelled = TRUE; //GDK_THREADS_ENTER(); } void vfs_async_task_cancel( VFSAsyncTask* task ) { vfs_async_task_real_cancel( task, FALSE ); } void vfs_async_task_lock( VFSAsyncTask* task ) { g_mutex_lock( task->lock ); } void vfs_async_task_unlock( VFSAsyncTask* task ) { g_mutex_unlock( task->lock ); } void vfs_async_task_finish( VFSAsyncTask* task, gboolean is_cancelled ) { /* default handler of "finish" signal. */ } gboolean vfs_async_task_is_finished( VFSAsyncTask* task ) { return task->finished; } gboolean vfs_async_task_is_cancelled( VFSAsyncTask* task ) { return task->cancel; } spacefm-1.0.5/src/vfs/vfs-async-task.h000066400000000000000000000055541264770501700175640ustar00rootroot00000000000000/* * vfs-async-task.h * * Copyright 2008 PCMan * * 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 3 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. */ #ifndef __VFS_ASYNC_TASK_H__ #define __VFS_ASYNC_TASK_H__ #include #include G_BEGIN_DECLS #define VFS_ASYNC_TASK_TYPE (vfs_async_task_get_type()) #define VFS_ASYNC_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\ VFS_ASYNC_TASK_TYPE, VFSAsyncTask)) #define VFS_ASYNC_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),\ VFS_ASYNC_TASK_TYPE, VFSAsyncTaskClass)) #define VFS_IS_ASYNC_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),\ VFS_ASYNC_TASK_TYPE)) #define VFS_IS_ASYNC_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),\ VFS_ASYNC_TASK_TYPE)) typedef struct _VFSAsyncTask VFSAsyncTask; typedef struct _VFSAsyncTaskClass VFSAsyncTaskClass; typedef gpointer (*VFSAsyncFunc)( VFSAsyncTask*, gpointer ); struct _VFSAsyncTask { GObject parent; VFSAsyncFunc func; gpointer user_data; gpointer ret_val; GThread* thread; GMutex* lock; guint idle_id; gboolean cancel : 1; gboolean cancelled : 1; gboolean finished : 1; }; struct _VFSAsyncTaskClass { GObjectClass parent_class; void (*finish)( VFSAsyncTask* task, gboolean is_cancelled ); }; GType vfs_async_task_get_type (void); VFSAsyncTask* vfs_async_task_new ( VFSAsyncFunc task_func, gpointer user_data ); gpointer vfs_async_task_get_data( VFSAsyncTask* task ); void vfs_async_task_set_data( VFSAsyncTask* task, gpointer user_data ); gpointer vfs_async_task_get_return_value( VFSAsyncTask* task ); /* Execute the async task */ void vfs_async_task_execute( VFSAsyncTask* task ); gboolean vfs_async_task_is_finished( VFSAsyncTask* task ); gboolean vfs_async_task_is_cancelled( VFSAsyncTask* task ); /* * Cancel the async task running in another thread. * NOTE: Only can be called from main thread. */ void vfs_async_task_cancel( VFSAsyncTask* task ); void vfs_async_task_lock( VFSAsyncTask* task ); void vfs_async_task_unlock( VFSAsyncTask* task ); G_END_DECLS #endif /* __VFS_ASYNC_TASK_H__ */ spacefm-1.0.5/src/vfs/vfs-dir.c000066400000000000000000001153131264770501700162530ustar00rootroot00000000000000/* * C Implementation: vfs-dir * * Description: Object used to present a directory * * * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _GNU_SOURCE #define _GNU_SOURCE // euidaccess #endif #include "vfs-dir.h" #include "vfs-thumbnail-loader.h" #include "glib-mem.h" #include #include #include /* for open() */ #if defined (__GLIBC__) #include /* for malloc_trim */ #endif #include /* for read */ #include "vfs-volume.h" static void vfs_dir_class_init( VFSDirClass* klass ); static void vfs_dir_init( VFSDir* dir ); static void vfs_dir_finalize( GObject *obj ); static void vfs_dir_set_property ( GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec ); static void vfs_dir_get_property ( GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec ); char* gethidden( const char* path ); //MOD added gboolean ishidden( const char* hidden, const char* file_name ); //MOD added /* constructor is private */ static VFSDir* vfs_dir_new( const char* path ); static void vfs_dir_load( VFSDir* dir ); static gpointer vfs_dir_load_thread( VFSAsyncTask* task, VFSDir* dir ); static void vfs_dir_monitor_callback( VFSFileMonitor* fm, VFSFileMonitorEvent event, const char* file_name, gpointer user_data ); #if 0 static gpointer load_thumbnail_thread( gpointer user_data ); #endif static void on_mime_type_reload( gpointer user_data ); static void update_changed_files( gpointer key, gpointer data, gpointer user_data ); static gboolean notify_file_change( gpointer user_data ); static gboolean update_file_info( VFSDir* dir, VFSFileInfo* file ); #if 0 static gboolean is_dir_desktop( const char* path ); #endif static void on_list_task_finished( VFSAsyncTask* task, gboolean is_cancelled, VFSDir* dir ); enum { FILE_CREATED_SIGNAL = 0, FILE_DELETED_SIGNAL, FILE_CHANGED_SIGNAL, THUMBNAIL_LOADED_SIGNAL, FILE_LISTED_SIGNAL, N_SIGNALS }; static guint signals[ N_SIGNALS ] = { 0 }; static GObjectClass *parent_class = NULL; static GHashTable* dir_hash = NULL; static GList* mime_cb = NULL; static guint change_notify_timeout = 0; static guint theme_change_notify = 0; static char* desktop_dir = NULL; static char* home_trash_dir = NULL; static size_t home_trash_dir_len = 0; static gboolean is_desktop_set = FALSE; GType vfs_dir_get_type() { static GType type = G_TYPE_INVALID; if ( G_UNLIKELY ( type == G_TYPE_INVALID ) ) { static const GTypeInfo info = { sizeof ( VFSDirClass ), NULL, NULL, ( GClassInitFunc ) vfs_dir_class_init, NULL, NULL, sizeof ( VFSDir ), 0, ( GInstanceInitFunc ) vfs_dir_init, NULL, }; type = g_type_register_static ( G_TYPE_OBJECT, "VFSDir", &info, 0 ); } return type; } void vfs_dir_class_init( VFSDirClass* klass ) { GObjectClass * object_class; object_class = ( GObjectClass * ) klass; parent_class = g_type_class_peek_parent ( klass ); object_class->set_property = vfs_dir_set_property; object_class->get_property = vfs_dir_get_property; object_class->finalize = vfs_dir_finalize; /* signals */ // klass->file_created = on_vfs_dir_file_created; // klass->file_deleted = on_vfs_dir_file_deleted; // klass->file_changed = on_vfs_dir_file_changed; /* * file-created is emitted when there is a new file created in the dir. * The param is VFSFileInfo of the newly created file. */ signals[ FILE_CREATED_SIGNAL ] = g_signal_new ( "file-created", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET ( VFSDirClass, file_created ), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER ); /* * file-deleted is emitted when there is a file deleted in the dir. * The param is VFSFileInfo of the newly created file. */ signals[ FILE_DELETED_SIGNAL ] = g_signal_new ( "file-deleted", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET ( VFSDirClass, file_deleted ), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER ); /* * file-changed is emitted when there is a file changed in the dir. * The param is VFSFileInfo of the newly created file. */ signals[ FILE_CHANGED_SIGNAL ] = g_signal_new ( "file-changed", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET ( VFSDirClass, file_changed ), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER ); signals[ THUMBNAIL_LOADED_SIGNAL ] = g_signal_new ( "thumbnail-loaded", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET ( VFSDirClass, thumbnail_loaded ), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER ); signals[ FILE_LISTED_SIGNAL ] = g_signal_new ( "file-listed", G_TYPE_FROM_CLASS ( klass ), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET ( VFSDirClass, file_listed ), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN ); /* FIXME: Is there better way to do this? */ if( G_UNLIKELY( ! is_desktop_set ) ) vfs_get_desktop_dir(); if( ! home_trash_dir ) vfs_get_trash_dir(); } /* constructor */ void vfs_dir_init( VFSDir* dir ) { dir->mutex = g_mutex_new(); } /* destructor */ void vfs_dir_finalize( GObject *obj ) { VFSDir * dir = VFS_DIR( obj ); //printf("vfs_dir_finalize %s\n", dir->path ); do{} while( g_source_remove_by_user_data( dir ) ); if( G_UNLIKELY( dir->task ) ) { g_signal_handlers_disconnect_by_func( dir->task, on_list_task_finished, dir ); /* FIXME: should we generate a "file-list" signal to indicate the dir loading was cancelled? */ //printf("spacefm: vfs_dir_finalize -> vfs_async_task_cancel\n"); vfs_async_task_cancel( dir->task ); g_object_unref( dir->task ); dir->task = NULL; } if ( dir->monitor ) { vfs_file_monitor_remove( dir->monitor, vfs_dir_monitor_callback, dir ); } if ( dir->path ) { if( G_LIKELY( dir_hash ) ) { g_hash_table_remove( dir_hash, dir->path ); /* There is no VFSDir instance */ if ( 0 == g_hash_table_size( dir_hash ) ) { g_hash_table_destroy( dir_hash ); dir_hash = NULL; vfs_mime_type_remove_reload_cb( mime_cb ); mime_cb = NULL; if( change_notify_timeout ) { g_source_remove( change_notify_timeout ); change_notify_timeout = 0; } g_signal_handler_disconnect( gtk_icon_theme_get_default(), theme_change_notify ); theme_change_notify = 0; } } g_free( dir->path ); g_free( dir->disp_path ); dir->path = dir->disp_path = NULL; } /* g_debug( "dir->thumbnail_loader: %p", dir->thumbnail_loader ); */ if( G_UNLIKELY( dir->thumbnail_loader ) ) { /* g_debug( "FREE THUMBNAIL LOADER IN VFSDIR" ); */ vfs_thumbnail_loader_free( dir->thumbnail_loader ); dir->thumbnail_loader = NULL; } if ( dir->file_list ) { g_list_foreach( dir->file_list, ( GFunc ) vfs_file_info_unref, NULL ); g_list_free( dir->file_list ); dir->file_list = NULL; dir->n_files = 0; } if( dir->changed_files ) { g_slist_foreach( dir->changed_files, (GFunc)vfs_file_info_unref, NULL ); g_slist_free( dir->changed_files ); dir->changed_files = NULL; } if( dir->created_files ) { g_slist_foreach( dir->created_files, (GFunc)g_free, NULL ); g_slist_free( dir->created_files ); dir->created_files = NULL; } g_mutex_free( dir->mutex ); G_OBJECT_CLASS( parent_class ) ->finalize( obj ); } void vfs_dir_get_property ( GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec ) {} void vfs_dir_set_property ( GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec ) {} static GList* vfs_dir_find_file( VFSDir* dir, const char* file_name, VFSFileInfo* file ) { GList * l; VFSFileInfo* file2; for ( l = dir->file_list; l; l = l->next ) { file2 = ( VFSFileInfo* ) l->data; if( G_UNLIKELY( file == file2 ) ) return l; if ( file2->name && 0 == strcmp( file2->name, file_name ) ) { return l; } } return NULL; } /* signal handlers */ void vfs_dir_emit_file_created( VFSDir* dir, const char* file_name, gboolean force ) { GList* l; // Ignore avoid_changes for creation of files //if ( !force && dir->avoid_changes ) // return; if ( G_UNLIKELY( 0 == strcmp(file_name, dir->path) ) ) { // Special Case: The directory itself was created? return; } dir->created_files = g_slist_append( dir->created_files, g_strdup( file_name ) ); if ( 0 == change_notify_timeout ) { change_notify_timeout = g_timeout_add_full( G_PRIORITY_LOW, 200, notify_file_change, NULL, NULL ); } } void vfs_dir_emit_file_deleted( VFSDir* dir, const char* file_name, VFSFileInfo* file ) { GList* l; VFSFileInfo* file_found; if( G_UNLIKELY( 0 == strcmp(file_name, dir->path) ) ) { /* Special Case: The directory itself was deleted... */ file = NULL; /* clear the whole list */ g_mutex_lock( dir->mutex ); g_list_foreach( dir->file_list, (GFunc)vfs_file_info_unref, NULL ); g_list_free( dir->file_list ); dir->file_list = NULL; g_mutex_unlock( dir->mutex ); g_signal_emit( dir, signals[ FILE_DELETED_SIGNAL ], 0, file ); return; } l = vfs_dir_find_file( dir, file_name, file ); if ( G_LIKELY( l ) ) { file_found = vfs_file_info_ref( ( VFSFileInfo* ) l->data ); if( !g_slist_find( dir->changed_files, file_found ) ) { dir->changed_files = g_slist_prepend( dir->changed_files, file_found ); if ( 0 == change_notify_timeout ) { change_notify_timeout = g_timeout_add_full( G_PRIORITY_LOW, 200, notify_file_change, NULL, NULL ); } } else vfs_file_info_unref( file_found ); } } void vfs_dir_emit_file_changed( VFSDir* dir, const char* file_name, VFSFileInfo* file, gboolean force ) { GList* l; //printf("vfs_dir_emit_file_changed dir=%s file_name=%s avoid=%s\n", dir->path, file_name, dir->avoid_changes ? "TRUE" : "FALSE" ); if ( !force && dir->avoid_changes ) return; if ( G_UNLIKELY( 0 == strcmp(file_name, dir->path) ) ) { // Special Case: The directory itself was changed g_signal_emit( dir, signals[ FILE_CHANGED_SIGNAL ], 0, NULL ); return; } g_mutex_lock( dir->mutex ); l = vfs_dir_find_file( dir, file_name, file ); if ( G_LIKELY( l ) ) { file = vfs_file_info_ref( ( VFSFileInfo* ) l->data ); if( !g_slist_find( dir->changed_files, file ) ) { if ( force ) { dir->changed_files = g_slist_prepend( dir->changed_files, file ); if ( 0 == change_notify_timeout ) { change_notify_timeout = g_timeout_add_full( G_PRIORITY_LOW, 100, notify_file_change, NULL, NULL ); } } else if( G_LIKELY( update_file_info( dir, file ) ) ) // update file info the first time { dir->changed_files = g_slist_prepend( dir->changed_files, file ); if ( 0 == change_notify_timeout ) { change_notify_timeout = g_timeout_add_full( G_PRIORITY_LOW, 500, notify_file_change, NULL, NULL ); } g_signal_emit( dir, signals[ FILE_CHANGED_SIGNAL ], 0, file ); } } else vfs_file_info_unref( file ); } g_mutex_unlock( dir->mutex ); } void vfs_dir_emit_thumbnail_loaded( VFSDir* dir, VFSFileInfo* file ) { GList* l; g_mutex_lock( dir->mutex ); l = vfs_dir_find_file( dir, file->name, file ); if( l ) { g_assert( file == (VFSFileInfo*)l->data ); file = vfs_file_info_ref( (VFSFileInfo*)l->data ); } else file = NULL; g_mutex_unlock( dir->mutex ); if ( G_LIKELY( file ) ) { g_signal_emit( dir, signals[ THUMBNAIL_LOADED_SIGNAL ], 0, file ); vfs_file_info_unref( file ); } } /* methods */ VFSDir* vfs_dir_new( const char* path ) { VFSDir * dir; dir = ( VFSDir* ) g_object_new( VFS_TYPE_DIR, NULL ); dir->path = g_strdup( path ); #ifdef HAVE_HAL dir->avoid_changes = FALSE; #else dir->avoid_changes = vfs_volume_dir_avoid_changes( path ); #endif //printf("vfs_dir_new %s avoid_changes=%s\n", dir->path, dir->avoid_changes ? "TRUE" : "FALSE" ); return dir; } void on_list_task_finished( VFSAsyncTask* task, gboolean is_cancelled, VFSDir* dir ) { g_object_unref( dir->task ); dir->task = NULL; g_signal_emit( dir, signals[FILE_LISTED_SIGNAL], 0, is_cancelled ); dir->file_listed = 1; dir->load_complete = 1; } static gboolean is_dir_trash( const char* path ) { /* FIXME: Temporarily disable trash support since it's not finished */ #if 0 /* FIXME: Only support home trash now */ if( strncmp( path, home_trash_dir, home_trash_dir_len ) == 0 ) { if( strcmp( path + home_trash_dir_len, "/files" ) == 0 ) { return TRUE; } } #endif return FALSE; } static gboolean is_dir_mount_point( const char* path ) { return FALSE; /* FIXME: not implemented */ } static gboolean is_dir_remote( const char* path ) { return FALSE; /* FIXME: not implemented */ } static gboolean is_dir_virtual( const char* path ) { return FALSE; /* FIXME: not implemented */ } char* gethidden( const char* path ) //MOD added { // Read .hidden into string char* hidden_path = g_build_filename( path, ".hidden", NULL ); // test access first because open() on missing file may cause // long delay on nfs int acc; #if defined(HAVE_EUIDACCESS) acc = euidaccess( hidden_path, R_OK ); #elif defined(HAVE_EACCESS) acc = eaccess( hidden_path, R_OK ); #else acc = 0; #endif if ( acc != 0 ) { g_free( hidden_path ); return NULL; } int fd = open( hidden_path, O_RDONLY ); g_free( hidden_path ); if ( fd != -1 ) { struct stat s; // skip stat64 if ( G_LIKELY( fstat( fd, &s ) != -1 ) ) { char* buf = g_malloc( s.st_size + 1 ); if( (s.st_size = read( fd, buf, s.st_size )) != -1 ) { buf[ s.st_size ] = 0; close( fd ); return buf; } else g_free( buf ); } close( fd ); } return NULL; } gboolean ishidden( const char* hidden, const char* file_name ) //MOD added { // assumes hidden,file_name != NULL char* str; char c; str = strstr( hidden, file_name ); while ( str ) { if ( str == hidden ) { // file_name is at start of buffer c = hidden[ strlen( file_name ) ]; if ( c == '\n' || c == '\0' ) return TRUE; } else { c = str[ strlen( file_name ) ]; if ( str[-1] == '\n' && ( c == '\n' || c == '\0' ) ) return TRUE; } str = strstr( ++str, file_name ); } return FALSE; } gboolean vfs_dir_add_hidden( const char* path, const char* file_name ) { gboolean ret = TRUE; char* hidden = gethidden( path ); if ( !( hidden && ishidden( hidden, file_name ) ) ) { char* buf = g_strdup_printf( "%s\n", file_name ); char* file_path = g_build_filename( path, ".hidden", NULL ); int fd = open( file_path, O_WRONLY | O_CREAT | O_APPEND, 0644 ); g_free( file_path ); if ( fd != -1 ) { if ( write( fd, buf, strlen( buf ) ) == -1 ) ret = FALSE; close( fd ); } else ret = FALSE; g_free( buf ); } if ( hidden ) g_free( hidden ); return ret; } void vfs_dir_load( VFSDir* dir ) { if ( G_LIKELY(dir->path) ) { dir->disp_path = g_filename_display_name( dir->path ); dir->flags = 0; /* FIXME: We should check access here! */ if( G_UNLIKELY( strcmp( dir->path, vfs_get_desktop_dir() ) == 0 ) ) dir->is_desktop = TRUE; else if( G_UNLIKELY( strcmp( dir->path, g_get_home_dir() ) == 0 ) ) dir->is_home = TRUE; if( G_UNLIKELY(is_dir_trash(dir->path)) ) { // g_free( dir->disp_path ); // dir->disp_path = g_strdup( _("Trash") ); dir->is_trash = TRUE; } if( G_UNLIKELY( is_dir_mount_point(dir->path)) ) dir->is_mount_point = TRUE; if( G_UNLIKELY( is_dir_remote(dir->path)) ) dir->is_remote = TRUE; if( G_UNLIKELY( is_dir_virtual(dir->path)) ) dir->is_virtual = TRUE; dir->task = vfs_async_task_new( (VFSAsyncFunc)vfs_dir_load_thread, dir ); g_signal_connect( dir->task, "finish", G_CALLBACK(on_list_task_finished), dir ); vfs_async_task_execute( dir->task ); } } #if 0 gboolean is_dir_desktop( const char* path ) { return (desktop_dir && 0 == strcmp(path, desktop_dir)); } #endif gpointer vfs_dir_load_thread( VFSAsyncTask* task, VFSDir* dir ) { const gchar * file_name; char* full_path; GDir* dir_content; VFSFileInfo* file; char* hidden = NULL; //MOD added dir->file_listed = 0; dir->load_complete = 0; dir->xhidden_count = 0; //MOD if ( dir->path ) { /* Install file alteration monitor */ dir->monitor = vfs_file_monitor_add_dir( dir->path, vfs_dir_monitor_callback, dir ); dir_content = g_dir_open( dir->path, 0, NULL ); if ( dir_content ) { GKeyFile* kf; if( G_UNLIKELY(dir->is_trash) ) kf = g_key_file_new(); // MOD dir contains .hidden file? hidden = gethidden( dir->path ); while ( ! vfs_async_task_is_cancelled( dir->task ) && ( file_name = g_dir_read_name( dir_content ) ) ) { full_path = g_build_filename( dir->path, file_name, NULL ); if ( !full_path ) continue; //MOD ignore if in .hidden if ( hidden && ishidden( hidden, file_name ) ) { dir->xhidden_count++; continue; } /* FIXME: Is locking GDK needed here? */ /* GDK_THREADS_ENTER(); */ file = vfs_file_info_new(); if ( G_LIKELY( vfs_file_info_get( file, full_path, file_name ) ) ) { g_mutex_lock( dir->mutex ); /* Special processing for desktop folder */ vfs_file_info_load_special_info( file, full_path ); /* FIXME: load info, too when new file is added to trash dir */ if( G_UNLIKELY( dir->is_trash ) ) /* load info of trashed files */ { gboolean info_loaded; char* info = g_strconcat( home_trash_dir, "/info/", file_name, ".trashinfo", NULL ); info_loaded = g_key_file_load_from_file( kf, info, 0, NULL ); g_free( info ); if( info_loaded ) { char* ori_path = g_key_file_get_string( kf, "Trash Info", "Path", NULL ); if( ori_path ) { /* Thanks to the stupid freedesktop.org spec, the filename is encoded * like a URL, which is insane. This add nothing more than overhead. */ char* fake_uri = g_strconcat( "file://", ori_path, NULL ); g_free( ori_path ); ori_path = g_filename_from_uri( fake_uri, NULL, NULL ); /* g_debug( ori_path ); */ if( file->disp_name && file->disp_name != file->name ) g_free( file->disp_name ); file->disp_name = g_filename_display_basename( ori_path ); g_free( ori_path ); } } } dir->file_list = g_list_prepend( dir->file_list, file ); g_mutex_unlock( dir->mutex ); ++dir->n_files; } else { vfs_file_info_unref( file ); } /* GDK_THREADS_LEAVE(); */ g_free( full_path ); } g_dir_close( dir_content ); if ( hidden ) g_free( hidden ); if( G_UNLIKELY(dir->is_trash) ) g_key_file_free( kf ); } } return NULL; } gboolean vfs_dir_is_loading( VFSDir* dir ) { return dir->task ? TRUE : FALSE; } gboolean vfs_dir_is_file_listed( VFSDir* dir ) { return dir->file_listed; } void vfs_cancel_load( VFSDir* dir ) { dir->cancel = TRUE; if ( dir->task ) { printf("spacefm: vfs_cancel_load -> vfs_async_task_cancel\n"); vfs_async_task_cancel( dir->task ); /* don't do g_object_unref on task here since this is done in the handler of "finish" signal. */ dir->task = NULL; } } gboolean update_file_info( VFSDir* dir, VFSFileInfo* file ) { char* full_path; char* file_name; gboolean ret = FALSE; /* gboolean is_desktop = is_dir_desktop(dir->path); */ /* FIXME: Dirty hack: steal the string to prevent memory allocation */ file_name = file->name; if( file->name == file->disp_name ) file->disp_name = NULL; file->name = NULL; full_path = g_build_filename( dir->path, file_name, NULL ); if ( G_LIKELY( full_path ) ) { if( G_LIKELY( vfs_file_info_get( file, full_path, file_name ) ) ) { ret = TRUE; /* if( G_UNLIKELY(is_desktop) ) */ vfs_file_info_load_special_info( file, full_path ); } else /* The file doesn't exist */ { GList* l; l = g_list_find( dir->file_list, file ); if( G_UNLIKELY(l) ) { dir->file_list = g_list_delete_link( dir->file_list, l ); --dir->n_files; if ( file ) { g_signal_emit( dir, signals[ FILE_DELETED_SIGNAL ], 0, file ); vfs_file_info_unref( file ); } } ret = FALSE; } g_free( full_path ); } g_free( file_name ); return ret; } void update_changed_files( gpointer key, gpointer data, gpointer user_data ) { VFSDir* dir = (VFSDir*)data; GSList* l; VFSFileInfo* file; if ( dir->changed_files ) { g_mutex_lock( dir->mutex ); for ( l = dir->changed_files; l; l = l->next ) { file = vfs_file_info_ref( ( VFSFileInfo* ) l->data ); /// if ( update_file_info( dir, file ) ) { g_signal_emit( dir, signals[ FILE_CHANGED_SIGNAL ], 0, file ); vfs_file_info_unref( file ); } // else was deleted, signaled, and unrefed in update_file_info } g_slist_free( dir->changed_files ); dir->changed_files = NULL; g_mutex_unlock( dir->mutex ); } } void update_created_files( gpointer key, gpointer data, gpointer user_data ) { VFSDir* dir = (VFSDir*)data; GSList* l; char* full_path; VFSFileInfo* file; GList* ll; if ( dir->created_files ) { g_mutex_lock( dir->mutex ); for ( l = dir->created_files; l; l = l->next ) { if ( !( ll = vfs_dir_find_file( dir, (char*)l->data, NULL ) ) ) { // file is not in dir file_list full_path = g_build_filename( dir->path, (char*)l->data, NULL ); file = vfs_file_info_new(); if ( vfs_file_info_get( file, full_path, NULL ) ) { // add new file to dir file_list vfs_file_info_load_special_info( file, full_path ); dir->file_list = g_list_prepend( dir->file_list, vfs_file_info_ref( file ) ); ++dir->n_files; g_signal_emit( dir, signals[ FILE_CREATED_SIGNAL ], 0, file ); } // else file doesn't exist in filesystem vfs_file_info_unref( file ); g_free( full_path ); } else { // file already exists in dir file_list file = vfs_file_info_ref( (VFSFileInfo*)ll->data ); if ( update_file_info( dir, file ) ) { g_signal_emit( dir, signals[ FILE_CHANGED_SIGNAL ], 0, file ); vfs_file_info_unref( file ); } // else was deleted, signaled, and unrefed in update_file_info } g_free( (char*)l->data ); // free file_name string } g_slist_free( dir->created_files ); dir->created_files = NULL; g_mutex_unlock( dir->mutex ); } } gboolean notify_file_change( gpointer user_data ) { //GDK_THREADS_ENTER(); //sfm not needed because in main thread? g_hash_table_foreach( dir_hash, update_changed_files, NULL ); g_hash_table_foreach( dir_hash, update_created_files, NULL ); /* remove the timeout */ change_notify_timeout = 0; //GDK_THREADS_LEAVE(); return FALSE; } void vfs_dir_flush_notify_cache() { if ( change_notify_timeout ) g_source_remove( change_notify_timeout ); change_notify_timeout = 0; g_hash_table_foreach( dir_hash, update_changed_files, NULL ); g_hash_table_foreach( dir_hash, update_created_files, NULL ); } /* Callback function which will be called when monitored events happen */ void vfs_dir_monitor_callback( VFSFileMonitor* fm, VFSFileMonitorEvent event, const char* file_name, gpointer user_data ) { VFSDir* dir = ( VFSDir* ) user_data; GDK_THREADS_ENTER(); switch ( event ) { case VFS_FILE_MONITOR_CREATE: vfs_dir_emit_file_created( dir, file_name, FALSE ); break; case VFS_FILE_MONITOR_DELETE: vfs_dir_emit_file_deleted( dir, file_name, NULL ); break; case VFS_FILE_MONITOR_CHANGE: vfs_dir_emit_file_changed( dir, file_name, NULL, FALSE ); break; default: g_warning("Error: unrecognized file monitor signal!"); } GDK_THREADS_LEAVE(); } /* called on every VFSDir when icon theme got changed */ static void reload_icons( const char* path, VFSDir* dir, gpointer user_data ) { GList* l; for( l = dir->file_list; l; l = l->next ) { VFSFileInfo* fi = (VFSFileInfo*)l->data; /* It's a desktop entry file */ if( fi->flags & VFS_FILE_INFO_DESKTOP_ENTRY ) { char* file_path = g_build_filename( path, fi->name,NULL ); if( fi->big_thumbnail ) { g_object_unref( fi->big_thumbnail ); fi->big_thumbnail = NULL; } if( fi->small_thumbnail ) { g_object_unref( fi->small_thumbnail ); fi->small_thumbnail = NULL; } vfs_file_info_load_special_info( fi, file_path ); g_free( file_path ); } } } static void on_theme_changed( GtkIconTheme *icon_theme, gpointer user_data ) { g_hash_table_foreach( dir_hash, (GHFunc)reload_icons, NULL ); } VFSDir* vfs_dir_get_by_path_soft( const char* path ) { if ( G_UNLIKELY( !dir_hash || !path ) ) return NULL; VFSDir * dir = g_hash_table_lookup( dir_hash, path ); if ( dir ) g_object_ref( dir ); return dir; } VFSDir* vfs_dir_get_by_path( const char* path ) { VFSDir * dir = NULL; g_return_val_if_fail( G_UNLIKELY(path), NULL ); if ( G_UNLIKELY( ! dir_hash ) ) { dir_hash = g_hash_table_new_full( g_str_hash, g_str_equal, NULL, NULL ); if( 0 == theme_change_notify ) theme_change_notify = g_signal_connect( gtk_icon_theme_get_default(), "changed", G_CALLBACK( on_theme_changed ), NULL ); } else { dir = g_hash_table_lookup( dir_hash, path ); } if( G_UNLIKELY( !mime_cb ) ) mime_cb = vfs_mime_type_add_reload_cb( on_mime_type_reload, NULL ); if ( dir ) { g_object_ref( dir ); } else { dir = vfs_dir_new( path ); vfs_dir_load( dir ); /* asynchronous operation */ g_hash_table_insert( dir_hash, (gpointer)dir->path, (gpointer)dir ); } return dir; } static void reload_mime_type( char* key, VFSDir* dir, gpointer user_data ) { GList* l; VFSFileInfo* file; char* full_path; if( G_UNLIKELY( ! dir || ! dir->file_list ) ) return; g_mutex_lock( dir->mutex ); for( l = dir->file_list; l; l = l->next ) { file = (VFSFileInfo*)l->data; full_path = g_build_filename( dir->path, vfs_file_info_get_name( file ), NULL ); vfs_file_info_reload_mime_type( file, full_path ); /* g_debug( "reload %s", full_path ); */ g_free( full_path ); } for( l = dir->file_list; l; l = l->next ) { file = (VFSFileInfo*)l->data; g_signal_emit( dir, signals[FILE_CHANGED_SIGNAL], 0, file ); } g_mutex_unlock( dir->mutex ); } static void on_mime_type_reload( gpointer user_data ) { if( ! dir_hash ) return; /* g_debug( "reload mime-type" ); */ g_hash_table_foreach( dir_hash, (GHFunc)reload_mime_type, NULL ); } /* Thanks to the freedesktop.org, things are much more complicated now... */ const char* vfs_get_desktop_dir() { char* def; if( G_LIKELY(is_desktop_set) ) return desktop_dir; /* glib provides API for this since ver. 2.14, but I think my implementation is better. */ #if GLIB_CHECK_VERSION( 2, 14, 0 ) && 0 /* Delete && 0 to use the one provided by glib */ desktop_dir = g_get_user_special_dir( G_USER_DIRECTORY_DESKTOP ); #else def = g_build_filename( g_get_user_config_dir(), "user-dirs.dirs", NULL ); if( def ) { int fd = open( def, O_RDONLY ); g_free( def ); if( G_LIKELY( fd != -1 ) ) { struct stat s; // skip stat64 if( G_LIKELY( fstat( fd, &s ) != -1 ) ) { char* buf = g_malloc( s.st_size + 1 ); if( (s.st_size = read( fd, buf, s.st_size )) != -1 ) { char* line; buf[ s.st_size ] = 0; line = strstr( buf, "XDG_DESKTOP_DIR=" ); if( G_LIKELY( line ) ) { char* eol; line += 16; if( G_LIKELY( ( eol = strchr( line, '\n' ) ) ) ) *eol = '\0'; line = g_shell_unquote( line, NULL ); if( g_str_has_prefix(line, "$HOME") ) { desktop_dir = g_build_filename( g_get_home_dir(), line + 5, NULL ); g_free( line ); } else desktop_dir = line; } } g_free( buf ); } close( fd ); } } if( ! desktop_dir ) desktop_dir = g_build_filename( g_get_home_dir(), "Desktop", NULL ); #endif #if 0 /* FIXME: what should we do if the user has no desktop dir? */ if( ! g_file_test( desktop_dir, G_FILE_TEST_IS_DIR ) ) { g_free( desktop_dir ); desktop_dir = NULL; } #endif is_desktop_set = TRUE; return desktop_dir; } const char* vfs_get_trash_dir() { if( G_UNLIKELY( ! home_trash_dir ) ) { home_trash_dir = g_build_filename( g_get_user_data_dir(), "Trash", NULL ); home_trash_dir_len = strlen( home_trash_dir ); } return home_trash_dir; } void vfs_dir_foreach( GHFunc func, gpointer user_data ) { if( ! dir_hash ) return; /* g_debug( "reload mime-type" ); */ g_hash_table_foreach( dir_hash, (GHFunc)func, user_data ); } void vfs_dir_unload_thumbnails( VFSDir* dir, gboolean is_big ) { GList* l; VFSFileInfo* file; char* file_path; g_mutex_lock( dir->mutex ); if( is_big ) { for( l = dir->file_list; l; l = l->next ) { file = (VFSFileInfo*)l->data; if( file->big_thumbnail ) { g_object_unref( file->big_thumbnail ); file->big_thumbnail = NULL; } /* This is a desktop entry file, so the icon needs reload FIXME: This is not a good way to do things, but there is no better way now. */ if( file->flags & VFS_FILE_INFO_DESKTOP_ENTRY ) { file_path = g_build_filename( dir->path, file->name, NULL ); vfs_file_info_load_special_info( file, file_path ); g_free( file_path ); } } } else { for( l = dir->file_list; l; l = l->next ) { file = (VFSFileInfo*)l->data; if( file->small_thumbnail ) { g_object_unref( file->small_thumbnail ); file->small_thumbnail = NULL; } /* This is a desktop entry file, so the icon needs reload FIXME: This is not a good way to do things, but there is no better way now. */ if( file->flags & VFS_FILE_INFO_DESKTOP_ENTRY ) { file_path = g_build_filename( dir->path, file->name, NULL ); vfs_file_info_load_special_info( file, file_path ); g_free( file_path ); } } } g_mutex_unlock( dir->mutex ); /* Ensuring free space at the end of the heap is freed to the OS, * mainly to deal with the possibility thousands of large thumbnails * have been freed but the memory not actually released by SpaceFM */ #if defined (__GLIBC__) malloc_trim(0); #endif } //sfm added mime change timer guint mime_change_timer = 0; VFSDir* mime_dir = NULL; gboolean on_mime_change_timer( gpointer user_data ) { //printf("MIME-UPDATE on_timer\n" ); char* cmd = g_strdup_printf( "update-mime-database %s/mime", g_get_user_data_dir() ); g_spawn_command_line_async( cmd, NULL ); g_free( cmd ); cmd = g_strdup_printf( "update-desktop-database %s/applications", g_get_user_data_dir() ); g_spawn_command_line_async( cmd, NULL ); g_free( cmd ); g_source_remove( mime_change_timer ); mime_change_timer = 0; return FALSE; } void mime_change( gpointer user_data ) { if ( mime_change_timer ) { // timer is already running, so ignore request //printf("MIME-UPDATE already set\n" ); return; } if ( mime_dir ) { // update mime database in 2 seconds mime_change_timer = g_timeout_add_seconds( 2, ( GSourceFunc ) on_mime_change_timer, NULL ); //printf("MIME-UPDATE timer started\n" ); } } void vfs_dir_monitor_mime() { // start watching for changes if ( mime_dir ) return; char* path = g_build_filename( g_get_user_data_dir(), "mime/packages", NULL ); if ( g_file_test( path, G_FILE_TEST_IS_DIR ) ) { mime_dir = vfs_dir_get_by_path( path ); if ( mime_dir ) { g_signal_connect( mime_dir, "file-listed", G_CALLBACK( mime_change ), NULL ); g_signal_connect( mime_dir, "file-created", G_CALLBACK( mime_change ), NULL ); g_signal_connect( mime_dir, "file-deleted", G_CALLBACK( mime_change ), NULL ); g_signal_connect( mime_dir, "file-changed", G_CALLBACK( mime_change ), NULL ); } //printf("MIME-UPDATE watch started\n" ); } g_free( path ); } spacefm-1.0.5/src/vfs/vfs-dir.h000066400000000000000000000076001264770501700162570ustar00rootroot00000000000000/* * C Interface: vfs-dir * * Description: Object used to present a directory * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _VFS_DIR_H_ #define _VFS_DIR_H_ #include #include #include "vfs-file-monitor.h" #include "vfs-file-info.h" #include "vfs-async-task.h" G_BEGIN_DECLS #define VFS_TYPE_DIR (vfs_dir_get_type()) #define VFS_DIR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), VFS_TYPE_DIR, VFSDir)) #define VFS_DIR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VFS_TYPE_DIR, VFSDirClass)) #define VFS_IS_DIR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VFS_TYPE_DIR)) #define VFS_IS_DIR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VFS_TYPE_DIR)) #define VFS_DIR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VFS_TYPE_DIR, VFSDirClass)) typedef struct _VFSDir VFSDir; typedef struct _VFSDirClass VFSDirClass; struct _VFSDir { GObject parent; char* path; char* disp_path; GList* file_list; int n_files; union { int flags; struct { gboolean is_home : 1; gboolean is_desktop : 1; gboolean is_trash : 1; gboolean is_mount_point : 1; gboolean is_remote : 1; gboolean is_virtual : 1; }; }; /**/ VFSFileMonitor* monitor; GMutex* mutex; /* Used to guard file_list */ VFSAsyncTask* task; gboolean file_listed : 1; gboolean load_complete : 1; gboolean cancel: 1; gboolean show_hidden : 1; gboolean avoid_changes : 1; //sfm struct _VFSThumbnailLoader* thumbnail_loader; GSList* changed_files; GSList* created_files; //MOD glong xhidden_count; //MOD }; struct _VFSDirClass { GObjectClass parent; /* Default signal handlers */ void ( *file_created ) ( VFSDir* dir, VFSFileInfo* file ); void ( *file_deleted ) ( VFSDir* dir, VFSFileInfo* file ); void ( *file_changed ) ( VFSDir* dir, VFSFileInfo* file ); void ( *thumbnail_loaded ) ( VFSDir* dir, VFSFileInfo* file ); void ( *file_listed ) ( VFSDir* dir ); void ( *load_complete ) ( VFSDir* dir ); /* void (*need_reload) ( VFSDir* dir ); */ /* void (*update_mime) ( VFSDir* dir ); */ }; typedef void ( *VFSDirStateCallback ) ( VFSDir* dir, int state, gpointer user_data ); GType vfs_dir_get_type ( void ); VFSDir* vfs_dir_get_by_path( const char* path ); VFSDir* vfs_dir_get_by_path_soft( const char* path ); gboolean vfs_dir_is_loading( VFSDir* dir ); void vfs_dir_cancel_load( VFSDir* dir ); gboolean vfs_dir_is_file_listed( VFSDir* dir ); void vfs_dir_unload_thumbnails( VFSDir* dir, gboolean is_big ); /* emit signals */ void vfs_dir_emit_file_created( VFSDir* dir, const char* file_name, gboolean force ); void vfs_dir_emit_file_deleted( VFSDir* dir, const char* file_name, VFSFileInfo* file ); void vfs_dir_emit_file_changed( VFSDir* dir, const char* file_name, VFSFileInfo* file, gboolean force ); void vfs_dir_emit_thumbnail_loaded( VFSDir* dir, VFSFileInfo* file ); void vfs_dir_flush_notify_cache(); /* get the path of desktop dir */ const char* vfs_get_desktop_dir(); gboolean vfs_dir_add_hidden( const char* path, const char* file_name ); //MOD added /* Get the path of user's trash dir under home dir. * NOTE: * According to the spec, there are many legal trash dirs on the system * located at various places. However, because that spec is poor and try * very hard to make simple things more complicated, we only support * home trash dir instead. They are good at making things complicated and * hard to implement. This time, they did it again. */ const char* vfs_get_trash_dir(); /* call function "func" for every VFSDir instances */ void vfs_dir_foreach( GHFunc func, gpointer user_data ); void vfs_dir_monitor_mime(); G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-execute.c000066400000000000000000000157611264770501700171450ustar00rootroot00000000000000/* * C Implementation: vfs-execute * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "vfs-execute.h" #ifdef HAVE_SN /* FIXME: Startup notification may cause problems */ #define SN_API_NOT_YET_FROZEN #include #include #include #include #include #endif #include #include gboolean vfs_exec( const char* work_dir, char** argv, char** envp, const char* disp_name, GSpawnFlags flags, GError **err ) { return vfs_exec_on_screen( gdk_screen_get_default(), work_dir, argv, envp, disp_name, flags, TRUE, err ); } #ifdef HAVE_SN static gboolean sn_timeout( gpointer user_data ) { SnLauncherContext * ctx = ( SnLauncherContext* ) user_data; gdk_threads_enter(); /* FIXME: startup notification, is this correct? */ sn_launcher_context_complete ( ctx ); sn_launcher_context_unref ( ctx ); gdk_threads_leave(); return FALSE; } /* This function is taken from the code of thunar, written by Benedikt Meurer */ static gint tvsn_get_active_workspace_number ( GdkScreen *screen ) { GdkWindow * root; gulong bytes_after_ret = 0; gulong nitems_ret = 0; guint *prop_ret = NULL; Atom _NET_CURRENT_DESKTOP; Atom _WIN_WORKSPACE; Atom type_ret = None; gint format_ret; gint ws_num = 0; gdk_error_trap_push (); root = gdk_screen_get_root_window ( screen ); /* determine the X atom values */ _NET_CURRENT_DESKTOP = XInternAtom ( GDK_WINDOW_XDISPLAY ( root ), "_NET_CURRENT_DESKTOP", False ); _WIN_WORKSPACE = XInternAtom ( GDK_WINDOW_XDISPLAY ( root ), "_WIN_WORKSPACE", False ); if ( XGetWindowProperty ( GDK_WINDOW_XDISPLAY ( root ), GDK_WINDOW_XID ( root ), _NET_CURRENT_DESKTOP, 0, 32, False, XA_CARDINAL, &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, ( gpointer ) & prop_ret ) != Success ) { if ( XGetWindowProperty ( GDK_WINDOW_XDISPLAY ( root ), GDK_WINDOW_XID ( root ), _WIN_WORKSPACE, 0, 32, False, XA_CARDINAL, &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, ( gpointer ) & prop_ret ) != Success ) { if ( G_UNLIKELY ( prop_ret != NULL ) ) { XFree ( prop_ret ); prop_ret = NULL; } } } if ( G_LIKELY ( prop_ret != NULL ) ) { if ( G_LIKELY ( type_ret != None && format_ret != 0 ) ) ws_num = *prop_ret; XFree ( prop_ret ); } gint err = gdk_error_trap_pop (); return ws_num; } #endif gboolean vfs_exec_on_screen( GdkScreen* screen, const char* work_dir, char** argv, char** envp, const char* disp_name, GSpawnFlags flags, gboolean use_startup_notify, GError **err ) { #ifdef HAVE_SN SnLauncherContext * ctx = NULL; SnDisplay* display; #endif gboolean ret; GSpawnChildSetupFunc setup_func = NULL; extern char **environ; char** new_env = envp; int i, n_env = 0; char* display_name; int display_index = -1, startup_id_index = -1; if ( ! envp ) envp = environ; n_env = g_strv_length(envp); new_env = g_new0( char*, n_env + 4 ); for ( i = 0; i < n_env; ++i ) { /* g_debug( "old envp[%d] = \"%s\"" , i, envp[i]); */ if ( 0 == strncmp( envp[ i ], "DISPLAY=", 8 ) ) display_index = i; else { if ( 0 == strncmp( envp[ i ], "DESKTOP_STARTUP_ID=", 19 ) ) startup_id_index = i; new_env[i] = g_strdup( envp[ i ] ); } } #ifdef HAVE_SN if ( use_startup_notify ) display = sn_display_new ( GDK_SCREEN_XDISPLAY ( screen ), ( SnDisplayErrorTrapPush ) gdk_error_trap_push, ( SnDisplayErrorTrapPush ) gdk_error_trap_pop ); else display = NULL; if ( G_LIKELY ( display ) ) { if ( !disp_name ) disp_name = argv[ 0 ]; ctx = sn_launcher_context_new( display, gdk_screen_get_number( screen ) ); sn_launcher_context_set_description( ctx, disp_name ); sn_launcher_context_set_name( ctx, g_get_prgname() ); sn_launcher_context_set_binary_name( ctx, argv[ 0 ] ); sn_launcher_context_set_workspace ( ctx, tvsn_get_active_workspace_number( screen ) ); /* FIXME: I don't think this is correct, other people seem to use CurrentTime here. However, using CurrentTime causes problems, so I so it like this. Maybe this is incorrect, but it works, so, who cares? */ /* time( &cur_time ); */ sn_launcher_context_initiate( ctx, g_get_prgname(), argv[ 0 ], gtk_get_current_event_time() /*cur_time*/ ); setup_func = (GSpawnChildSetupFunc) sn_launcher_context_setup_child_process; if( startup_id_index >= 0 ) g_free( new_env[i] ); else startup_id_index = i++; new_env[ startup_id_index ] = g_strconcat( "DESKTOP_STARTUP_ID=", sn_launcher_context_get_startup_id ( ctx ), NULL ); } #endif /* This is taken from gdk_spawn_on_screen */ display_name = gdk_screen_make_display_name ( screen ); if ( display_index >= 0 ) new_env[ display_index ] = g_strconcat( "DISPLAY=", display_name, NULL ); else new_env[ i++ ] = g_strconcat( "DISPLAY=", display_name, NULL ); g_free( display_name ); new_env[ i ] = NULL; ret = g_spawn_async( work_dir, argv, new_env, flags, NULL, NULL, NULL, err ); /* for debugging */ #if 0 g_debug( "debug vfs_execute_on_screen(): flags: %d, display_index=%d", flags, display_index ); for( i = 0; argv[i]; ++i ) { g_debug( "argv[%d] = \"%s\"" , i, argv[i] ); } for( i = 0; i < n_env /*new_env[i]*/; ++i ) { g_debug( "new_env[%d] = \"%s\"" , i, new_env[i] ); } if( ret ) g_debug( "the program was executed without error" ); else g_debug( "launch failed: %s", (*err)->message ); #endif g_strfreev( new_env ); #ifdef HAVE_SN if ( G_LIKELY ( ctx ) ) { if ( G_LIKELY ( ret ) ) g_timeout_add ( 20 * 1000, sn_timeout, ctx ); else { sn_launcher_context_complete ( ctx ); sn_launcher_context_unref ( ctx ); } } if ( G_LIKELY ( display ) ) sn_display_unref ( display ); #endif return ret; } spacefm-1.0.5/src/vfs/vfs-execute.h000066400000000000000000000017351264770501700171460ustar00rootroot00000000000000/* * C Interface: vfs-execute * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _VFS_EXECUTE_H_ #define _VFS_EXECUTE_H_ #include #include G_BEGIN_DECLS #define VFS_EXEC_DEFAULT_FLAGS (G_SPAWN_SEARCH_PATH | G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL) gboolean vfs_exec( const char* work_dir, char** argv, char** envp, const char* disp_name, GSpawnFlags flags, GError **err ); gboolean vfs_exec_on_screen( GdkScreen* screen, const char* work_dir, char** argv, char** envp, const char* disp_name, GSpawnFlags flags, gboolean use_startup_notify, GError **err ); G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-file-info.c000066400000000000000000000624011264770501700173440ustar00rootroot00000000000000/* * C Implementation: vfs-file-info * * Description: File information * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "vfs-file-info.h" #include #include "glib-mem.h" #include #include /* Query group name */ #include /* Query user name */ #include #include "settings.h" #include "vfs-app-desktop.h" #include "vfs-thumbnail-loader.h" #include "vfs-utils.h" /* for vfs_load_icon */ static int big_thumb_size = 48, small_thumb_size = 20; static gboolean utf8_file_name = FALSE; static const char* desktop_dir = NULL; //MOD added void vfs_file_info_set_utf8_filename( gboolean is_utf8 ) { utf8_file_name = is_utf8; } VFSFileInfo* vfs_file_info_new () { VFSFileInfo * fi = g_slice_new0( VFSFileInfo ); fi->n_ref = 1; return fi; } static void vfs_file_info_clear( VFSFileInfo* fi ) { if ( fi->disp_name && fi->disp_name != fi->name ) { g_free( fi->disp_name ); fi->disp_name = NULL; } if ( fi->name ) { g_free( fi->name ); fi->name = NULL; } if ( fi->collate_key ) //sfm { g_free( fi->collate_key ); fi->collate_key = NULL; } if ( fi->collate_icase_key ) //sfm { g_free( fi->collate_icase_key ); fi->collate_icase_key = NULL; } if ( fi->disp_size ) { g_free( fi->disp_size ); fi->disp_size = NULL; } if ( fi->disp_owner ) { g_free( fi->disp_owner ); fi->disp_owner = NULL; } if ( fi->disp_mtime ) { g_free( fi->disp_mtime ); fi->disp_mtime = NULL; } if ( fi->big_thumbnail ) { g_object_unref( fi->big_thumbnail ); fi->big_thumbnail = NULL; } if ( fi->small_thumbnail ) { g_object_unref( fi->small_thumbnail ); fi->small_thumbnail = NULL; } fi->disp_perm[ 0 ] = '\0'; if ( fi->mime_type ) { vfs_mime_type_unref( fi->mime_type ); fi->mime_type = NULL; } fi->flags = VFS_FILE_INFO_NONE; } VFSFileInfo* vfs_file_info_ref( VFSFileInfo* fi ) { g_atomic_int_inc( &fi->n_ref ); return fi; } void vfs_file_info_unref( VFSFileInfo* fi ) { if ( g_atomic_int_dec_and_test( &fi->n_ref) ) { vfs_file_info_clear( fi ); g_slice_free( VFSFileInfo, fi ); } } gboolean vfs_file_info_get( VFSFileInfo* fi, const char* file_path, const char* base_name ) { struct stat64 file_stat; vfs_file_info_clear( fi ); if ( base_name ) fi->name = g_strdup( base_name ); else fi->name = g_path_get_basename( file_path ); if ( lstat64( file_path, &file_stat ) == 0 ) { /* This is time-consuming but can save much memory */ fi->mode = file_stat.st_mode; fi->dev = file_stat.st_dev; fi->uid = file_stat.st_uid; fi->gid = file_stat.st_gid; fi->size = file_stat.st_size; //printf("size %s %llu\n", fi->name, fi->size ); fi->mtime = file_stat.st_mtime; fi->atime = file_stat.st_atime; fi->blksize = file_stat.st_blksize; fi->blocks = file_stat.st_blocks; if ( G_LIKELY( utf8_file_name && g_utf8_validate ( fi->name, -1, NULL ) ) ) { fi->disp_name = fi->name; /* Don't duplicate the name and save memory */ } else { fi->disp_name = g_filename_display_name( fi->name ); } fi->mime_type = vfs_mime_type_get_from_file( file_path, fi->disp_name, &file_stat ); //sfm get collate keys fi->collate_key = g_utf8_collate_key_for_filename( fi->disp_name, -1 ); char* str = g_utf8_casefold( fi->disp_name, -1 ); fi->collate_icase_key = g_utf8_collate_key_for_filename( str, -1 ); g_free( str ); return TRUE; } else fi->mime_type = vfs_mime_type_get_from_type( XDG_MIME_TYPE_UNKNOWN ); return FALSE; } const char* vfs_file_info_get_name( VFSFileInfo* fi ) { return fi->name; } /* Get displayed name encoded in UTF-8 */ const char* vfs_file_info_get_disp_name( VFSFileInfo* fi ) { return fi->disp_name; } void vfs_file_info_set_disp_name( VFSFileInfo* fi, const char* name ) { if ( fi->disp_name && fi->disp_name != fi->name ) g_free( fi->disp_name ); fi->disp_name = g_strdup( name ); //sfm get new collate keys g_free( fi->collate_key ); g_free( fi->collate_icase_key ); fi->collate_key = g_utf8_collate_key_for_filename( fi->disp_name, -1 ); char* str = g_utf8_casefold( fi->disp_name, -1 ); fi->collate_icase_key = g_utf8_collate_key_for_filename( str, -1 ); g_free( str ); } void vfs_file_info_set_name( VFSFileInfo* fi, const char* name ) { g_free( fi->name ); fi->name = g_strdup( name ); } off_t vfs_file_info_get_size( VFSFileInfo* fi ) { return fi->size; } const char* vfs_file_info_get_disp_size( VFSFileInfo* fi ) { if ( G_UNLIKELY( !fi->disp_size ) ) { char buf[ 64 ]; vfs_file_size_to_string( buf, fi->size ); fi->disp_size = g_strdup( buf ); } return fi->disp_size; } off_t vfs_file_info_get_blocks( VFSFileInfo* fi ) { return fi->blocks; } VFSMimeType* vfs_file_info_get_mime_type( VFSFileInfo* fi ) { vfs_mime_type_ref( fi->mime_type ); return fi->mime_type; } void vfs_file_info_reload_mime_type( VFSFileInfo* fi, const char* full_path ) { VFSMimeType * old_mime_type; struct stat64 file_stat; /* convert VFSFileInfo to struct stat */ /* In current implementation, only st_mode is used in mime-type detection, so let's save some CPU cycles and don't copy unused fields. */ file_stat.st_mode = fi->mode; /* file_stat.st_dev = fi->dev; file_stat.st_uid = fi->uid; file_stat.st_gid = fi->gid; file_stat.st_size = fi->size; file_stat.st_mtime = fi->mtime; file_stat.st_atime = fi->atime; file_stat.st_blksize = fi->blksize; file_stat.st_blocks = fi->blocks; */ old_mime_type = fi->mime_type; fi->mime_type = vfs_mime_type_get_from_file( full_path, fi->name, &file_stat ); vfs_file_info_load_special_info( fi, full_path ); vfs_mime_type_unref( old_mime_type ); /* FIXME: is vfs_mime_type_unref needed ?*/ } const char* vfs_file_info_get_mime_type_desc( VFSFileInfo* fi ) { return vfs_mime_type_get_description( fi->mime_type ); } GdkPixbuf* vfs_file_info_get_big_icon( VFSFileInfo* fi ) { /* get special icons for special files, especially for some desktop icons */ if ( G_UNLIKELY( fi->flags != VFS_FILE_INFO_NONE ) ) { int w, h; int icon_size; vfs_mime_type_get_icon_size( &icon_size, NULL ); if ( fi->big_thumbnail ) { w = gdk_pixbuf_get_width( fi->big_thumbnail ); h = gdk_pixbuf_get_height( fi->big_thumbnail ); } else w = h = 0; if ( ABS( MAX( w, h ) - icon_size ) > 2 ) { char * icon_name = NULL; if ( fi->big_thumbnail ) { icon_name = ( char* ) g_object_steal_data( G_OBJECT(fi->big_thumbnail), "name" ); g_object_unref( fi->big_thumbnail ); fi->big_thumbnail = NULL; } if ( G_LIKELY( icon_name ) ) { if ( G_UNLIKELY( icon_name[ 0 ] == '/' ) ) fi->big_thumbnail = gdk_pixbuf_new_from_file( icon_name, NULL ); else fi->big_thumbnail = vfs_load_icon( gtk_icon_theme_get_default(), icon_name, icon_size ); } if ( fi->big_thumbnail ) g_object_set_data_full( G_OBJECT(fi->big_thumbnail), "name", icon_name, g_free ); else g_free( icon_name ); } return fi->big_thumbnail ? g_object_ref( fi->big_thumbnail ) : NULL; } if( G_UNLIKELY(!fi->mime_type) ) return NULL; return vfs_mime_type_get_icon( fi->mime_type, TRUE ); } GdkPixbuf* vfs_file_info_get_small_icon( VFSFileInfo* fi ) { if ( fi->flags & VFS_FILE_INFO_DESKTOP_ENTRY && fi->small_thumbnail ) //sfm return g_object_ref( fi->small_thumbnail ); if( G_UNLIKELY(!fi->mime_type) ) return NULL; return vfs_mime_type_get_icon( fi->mime_type, FALSE ); } GdkPixbuf* vfs_file_info_get_big_thumbnail( VFSFileInfo* fi ) { return fi->big_thumbnail ? g_object_ref( fi->big_thumbnail ) : NULL; } GdkPixbuf* vfs_file_info_get_small_thumbnail( VFSFileInfo* fi ) { return fi->small_thumbnail ? g_object_ref( fi->small_thumbnail ) : NULL; } const char* vfs_file_info_get_disp_owner( VFSFileInfo* fi ) { struct passwd * puser; struct group* pgroup; char uid_str_buf[ 32 ]; char* user_name; char gid_str_buf[ 32 ]; char* group_name; /* FIXME: user names should be cached */ if ( ! fi->disp_owner ) { puser = getpwuid( fi->uid ); if ( puser && puser->pw_name && *puser->pw_name ) user_name = puser->pw_name; else { sprintf( uid_str_buf, "%d", fi->uid ); user_name = uid_str_buf; } pgroup = getgrgid( fi->gid ); if ( pgroup && pgroup->gr_name && *pgroup->gr_name ) group_name = pgroup->gr_name; else { sprintf( gid_str_buf, "%d", fi->gid ); group_name = gid_str_buf; } fi->disp_owner = g_strdup_printf ( "%s:%s", user_name, group_name ); } return fi->disp_owner; } const char* vfs_file_info_get_disp_mtime( VFSFileInfo* fi ) { if ( ! fi->disp_mtime ) { char buf[ 64 ]; strftime( buf, sizeof( buf ), app_settings.date_format, //"%Y-%m-%d %H:%M", localtime( &fi->mtime ) ); fi->disp_mtime = g_strdup( buf ); } return fi->disp_mtime; } time_t* vfs_file_info_get_mtime( VFSFileInfo* fi ) { return & fi->mtime; } time_t* vfs_file_info_get_atime( VFSFileInfo* fi ) { return & fi->atime; } static void get_file_perm_string( char* perm, mode_t mode ) { if ( S_ISREG( mode ) ) //sfm perm[0] = '-'; else if ( S_ISDIR( mode ) ) perm[0] = 'd'; else if ( S_ISLNK( mode ) ) perm[0] = 'l'; else if ( G_UNLIKELY( S_ISCHR( mode ) ) ) perm[0] = 'c'; else if ( G_UNLIKELY( S_ISBLK( mode ) ) ) perm[0] = 'b'; else if ( G_UNLIKELY( S_ISFIFO( mode ) ) ) perm[0] = 'p'; else if ( G_UNLIKELY( S_ISSOCK( mode ) ) ) perm[0] = 's'; else perm[0] = '-'; perm[ 1 ] = ( mode & S_IRUSR ) ? 'r' : '-'; perm[ 2 ] = ( mode & S_IWUSR ) ? 'w' : '-'; if ( G_UNLIKELY( mode & S_ISUID ) ) //sfm { if ( G_LIKELY( mode & S_IXUSR ) ) perm[ 3 ] = 's'; else perm[ 3 ] = 'S'; } else perm[ 3 ] = ( mode & S_IXUSR ) ? 'x' : '-'; perm[ 4 ] = ( mode & S_IRGRP ) ? 'r' : '-'; perm[ 5 ] = ( mode & S_IWGRP ) ? 'w' : '-'; if ( G_UNLIKELY( mode & S_ISGID ) ) //sfm { if ( G_LIKELY( mode & S_IXGRP ) ) perm[ 6 ] = 's'; else perm[ 6 ] = 'S'; } else perm[ 6 ] = ( mode & S_IXGRP ) ? 'x' : '-'; perm[ 7 ] = ( mode & S_IROTH ) ? 'r' : '-'; perm[ 8 ] = ( mode & S_IWOTH ) ? 'w' : '-'; if ( G_UNLIKELY( mode & S_ISVTX ) ) //MOD { if ( G_LIKELY( mode & S_IXOTH ) ) perm[ 9 ] = 't'; else perm[ 9 ] = 'T'; } else perm[ 9 ] = ( mode & S_IXOTH ) ? 'x' : '-'; perm[ 10 ] = '\0'; } const char* vfs_file_info_get_disp_perm( VFSFileInfo* fi ) { if ( ! fi->disp_perm[ 0 ] ) get_file_perm_string( fi->disp_perm, fi->mode ); return fi->disp_perm; } void vfs_file_size_to_string_format( char* buf, guint64 size, char* format ) //MOD added { // if format == NULL uses automatic format based on size char * unit; gfloat val; /* FIXME: Is floating point calculation slower than integer division? Some profiling is needed here. */ if ( size > ( ( guint64 ) 1 ) << 30 ) { if ( size > ( ( guint64 ) 1 ) << 40 ) { /* size /= ( ( ( guint64 ) 1 << 40 ) / 10 ); point = ( guint ) ( size % 10 ); size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000000000000 ); unit = _("T"); } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 40 ); unit = _("T"); //MOD was TiB } } else { /* size /= ( ( 1 << 30 ) / 10 ); point = ( guint ) ( size % 10 ); size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000000000 ); unit = _("G"); } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 30 ); unit = _("G"); //MOD was GiB } } } else if ( size > ( 1 << 20 ) ) { /* size /= ( ( 1 << 20 ) / 10 ); point = ( guint ) ( size % 10 ); size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000000 ); unit = _("M"); } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 20 ); unit = _("M"); //MOD was MiB } } else if ( size > ( 1 << 10 ) ) { /* size /= ( ( 1 << 10 ) / 10 ); point = size % 10; size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000 ); unit = _("K"); //MOD was KB } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 10 ); unit = _("K"); //MOD was KiB } } else { unit = _("B"); //size > 1 ? _("B") : _("B"); sprintf( buf, "%u %s", ( guint ) size, unit ); return ; } if ( format ) sprintf( buf, format, val, unit ); // "%.0f%s" else if ( val < 10 ) sprintf( buf, "%.1f %s", val, unit ); else sprintf( buf, "%.0f %s", val, unit ); } void vfs_file_size_to_string( char* buf, guint64 size ) { char * unit; /* guint point; */ gfloat val; /* FIXME: Is floating point calculation slower than integer division? Some profiling is needed here. */ if ( size > ( ( guint64 ) 1 ) << 30 ) { if ( size > ( ( guint64 ) 1 ) << 40 ) { /* size /= ( ( ( guint64 ) 1 << 40 ) / 10 ); point = ( guint ) ( size % 10 ); size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000000000000 ); unit = _("T"); } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 40 ); unit = _("T"); //MOD was TiB } } else { /* size /= ( ( 1 << 30 ) / 10 ); point = ( guint ) ( size % 10 ); size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000000000 ); unit = _("G"); } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 30 ); unit = _("G"); //MOD was GiB } } } else if ( size > ( 1 << 20 ) ) { /* size /= ( ( 1 << 20 ) / 10 ); point = ( guint ) ( size % 10 ); size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000000 ); unit = _("M"); } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 20 ); unit = _("M"); //MOD was MiB } } else if ( size > ( 1 << 10 ) ) { /* size /= ( ( 1 << 10 ) / 10 ); point = size % 10; size /= 10; */ if (app_settings.use_si_prefix==TRUE) { val = ((gfloat)size) / (( guint64 ) 1000 ); unit = _("K"); //MOD was KB } else { val = ((gfloat)size) / ( ( guint64 ) 1 << 10 ); unit = _("K"); //MOD was KiB } } else { //unit = size > 1 ? "Bytes" : "Byte"; unit = _("B"); sprintf( buf, "%u %s", ( guint ) size, unit ); return ; } /* sprintf( buf, "%llu.%u %s", size, point, unit ); */ sprintf( buf, "%.1f %s", val, unit ); } gboolean vfs_file_info_is_dir( VFSFileInfo* fi ) { if ( S_ISDIR( fi->mode ) ) return TRUE; if ( S_ISLNK( fi->mode ) && 0 == strcmp( vfs_mime_type_get_type( fi->mime_type ), XDG_MIME_TYPE_DIRECTORY ) ) { return TRUE; } return FALSE; } gboolean vfs_file_info_is_symlink( VFSFileInfo* fi ) { return S_ISLNK( fi->mode ) ? TRUE : FALSE; } gboolean vfs_file_info_is_image( VFSFileInfo* fi ) { /* FIXME: We had better use functions of xdg_mime to check this */ if ( ! strncmp( "image/", vfs_mime_type_get_type( fi->mime_type ), 6 ) ) return TRUE; return FALSE; } gboolean vfs_file_info_is_video( VFSFileInfo* fi ) { /* FIXME: We had better use functions of xdg_mime to check this */ #ifdef HAVE_FFMPEG if ( ! strncmp( "video/", vfs_mime_type_get_type( fi->mime_type ), 6 ) ) return TRUE; #endif return FALSE; } gboolean vfs_file_info_is_desktop_entry( VFSFileInfo* fi ) { return 0 != (fi->flags & VFS_FILE_INFO_DESKTOP_ENTRY); } gboolean vfs_file_info_is_unknown_type( VFSFileInfo* fi ) { if ( ! strcmp( XDG_MIME_TYPE_UNKNOWN, vfs_mime_type_get_type( fi->mime_type ) ) ) return TRUE; return FALSE; } /* full path of the file is required by this function */ gboolean vfs_file_info_is_executable( VFSFileInfo* fi, const char* file_path ) { return mime_type_is_executable_file( file_path, fi->mime_type->type ); } /* full path of the file is required by this function */ gboolean vfs_file_info_is_text( VFSFileInfo* fi, const char* file_path ) { return mime_type_is_text_file( file_path, fi->mime_type->type ); } /* * Run default action of specified file. * Full path of the file is required by this function. */ gboolean vfs_file_info_open_file( VFSFileInfo* fi, const char* file_path, GError** err ) { VFSMimeType * mime_type; char* app_name; VFSAppDesktop* app; GList* files = NULL; gboolean ret = FALSE; char* argv[ 2 ]; if ( vfs_file_info_is_executable( fi, file_path ) ) { argv[ 0 ] = (char *) file_path; argv[ 1 ] = '\0'; ret = g_spawn_async( NULL, argv, NULL, G_SPAWN_STDOUT_TO_DEV_NULL| G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, err ); } else { mime_type = vfs_file_info_get_mime_type( fi ); app_name = vfs_mime_type_get_default_action( mime_type ); if ( app_name ) { app = vfs_app_desktop_new( app_name ); if ( ! vfs_app_desktop_get_exec( app ) ) app->exec = g_strdup( app_name ); /* FIXME: app->exec */ files = g_list_prepend( files, (gpointer) file_path ); /* FIXME: working dir is needed */ ret = vfs_app_desktop_open_files( gdk_screen_get_default(), NULL, app, files, err ); g_list_free( files ); vfs_app_desktop_unref( app ); g_free( app_name ); } vfs_mime_type_unref( mime_type ); } return ret; } mode_t vfs_file_info_get_mode( VFSFileInfo* fi ) { return fi->mode; } gboolean vfs_file_info_is_thumbnail_loaded( VFSFileInfo* fi, gboolean big ) { if ( big ) return ( fi->big_thumbnail != NULL ); return ( fi->small_thumbnail != NULL ); } gboolean vfs_file_info_load_thumbnail( VFSFileInfo* fi, const char* full_path, gboolean big ) { GdkPixbuf* thumbnail; if ( big ) { if ( fi->big_thumbnail ) return TRUE; } else { if ( fi->small_thumbnail ) return TRUE; } thumbnail = vfs_thumbnail_load_for_file( full_path, big ? big_thumb_size : small_thumb_size , fi->mtime ); if( G_LIKELY( thumbnail ) ) { if ( big ) fi->big_thumbnail = thumbnail; else fi->small_thumbnail = thumbnail; } else /* fallback to mime_type icon */ { if ( big ) fi->big_thumbnail = vfs_file_info_get_big_icon( fi ); else fi->small_thumbnail = vfs_file_info_get_small_icon( fi ); } return ( thumbnail != NULL ); } void vfs_file_info_set_thumbnail_size( int big, int small ) { big_thumb_size = big; small_thumb_size = small; } void vfs_file_info_load_special_info( VFSFileInfo* fi, const char* file_path ) { /*if ( G_LIKELY(fi->type) && G_UNLIKELY(fi->type->name, "application/x-desktop") ) */ if ( G_UNLIKELY( g_str_has_suffix( fi->name, ".desktop") ) ) { VFSAppDesktop * desktop; const char* icon_name; if ( !desktop_dir ) desktop_dir = vfs_get_desktop_dir(); char* file_dir = g_path_get_dirname( file_path ); fi->flags |= VFS_FILE_INFO_DESKTOP_ENTRY; desktop = vfs_app_desktop_new( file_path ); //MOD display real filenames of .desktop files not in desktop folder if ( desktop_dir && !strcmp( file_dir, desktop_dir ) ) { if ( vfs_app_desktop_get_disp_name( desktop ) ) { vfs_file_info_set_disp_name( fi, vfs_app_desktop_get_disp_name( desktop ) ); } } if ( (icon_name = vfs_app_desktop_get_icon_name( desktop )) ) { GdkPixbuf* icon; int big_size, small_size; vfs_mime_type_get_icon_size( &big_size, &small_size ); if( ! fi->big_thumbnail ) { icon = vfs_app_desktop_get_icon( desktop, big_size, FALSE ); if( G_LIKELY(icon) ) fi->big_thumbnail =icon; } if( ! fi->small_thumbnail ) { icon = vfs_app_desktop_get_icon( desktop, small_size, FALSE ); if( G_LIKELY(icon) ) fi->small_thumbnail =icon; } } vfs_app_desktop_unref( desktop ); g_free( file_dir ); } } void vfs_file_info_list_free( GList* list ) { g_list_foreach( list, (GFunc)vfs_file_info_unref, NULL ); g_list_free( list ); } char* vfs_file_resolve_path( const char* cwd, const char* relative_path ) { GString* ret = g_string_sized_new( 4096 ); int len; gboolean strip_tail; g_return_val_if_fail( G_LIKELY(relative_path), NULL ); len = strlen( relative_path ); strip_tail = (0 == len || relative_path[len-1] != '/'); if( G_UNLIKELY(*relative_path != '/') ) /* relative path */ { if( G_UNLIKELY(relative_path[0] == '~') ) /* home dir */ { g_string_append( ret, g_get_home_dir()); ++relative_path; } else { if( ! cwd ) { char *cwd_new; cwd_new = g_get_current_dir(); g_string_append( ret, cwd_new ); g_free( cwd_new ); } else g_string_append( ret, cwd ); } } if( relative_path[0] != '/' && (0 == ret->len || ret->str[ ret->len - 1 ] != '/' ) ) g_string_append_c( ret, '/' ); while( G_LIKELY( *relative_path ) ) { if( G_UNLIKELY(*relative_path == '.') ) { if( relative_path[1] == '/' || relative_path[1] == '\0' ) /* current dir */ { relative_path += relative_path[1] ? 2 : 1; continue; } if( relative_path[1] == '.' && ( relative_path[2] == '/' || relative_path[2] == '\0') ) /* parent dir */ { gsize len = ret->len - 2; while( ret->str[ len ] != '/' ) --len; g_string_truncate( ret, len + 1 ); relative_path += relative_path[2] ? 3 : 2; continue; } } do { g_string_append_c( ret, *relative_path ); }while( G_LIKELY( *(relative_path++) != '/' && *relative_path ) ); } /* if original path contains tailing '/', preserve it; otherwise, remove it. */ if( strip_tail && G_LIKELY( ret->len > 1 ) && G_UNLIKELY( ret->str[ ret->len - 1 ] == '/' ) ) g_string_truncate( ret, ret->len - 1 ); return g_string_free( ret, FALSE ); } spacefm-1.0.5/src/vfs/vfs-file-info.h000066400000000000000000000122511264770501700173470ustar00rootroot00000000000000/* * C Interface: vfs-file-info * * Description: File information * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _VFS_FILE_INFO_H_ #define _VFS_FILE_INFO_H_ #include #include #include #include "vfs-mime-type.h" #include #ifdef __OpenBSD__ #ifdef CONFIG_LSF typedef u64 blkcnt_t; #else typedef unsigned long blkcnt_t; #endif #endif G_BEGIN_DECLS typedef enum { VFS_FILE_INFO_NONE = 0, VFS_FILE_INFO_HOME_DIR = (1 << 0), VFS_FILE_INFO_DESKTOP_DIR = (1 << 1), VFS_FILE_INFO_DESKTOP_ENTRY = (1 << 2), VFS_FILE_INFO_MOUNT_POINT = (1 << 3), VFS_FILE_INFO_REMOTE = (1 << 4), VFS_FILE_INFO_VIRTUAL = (1 << 5) }VFSFileInfoFlag; /* For future use, not all supported now */ typedef struct _VFSFileInfo VFSFileInfo; struct _VFSFileInfo { /* struct stat64 file_stat; */ /* Only use some members of struct stat64 to reduce memory usage */ mode_t mode; dev_t dev; uid_t uid; gid_t gid; off64_t size; //sfm was off_t time_t mtime; time_t atime; long blksize; //sfm was long then blksize_t but blksize_t not defined for squeeze gcc blkcnt64_t blocks; //sfm was blkcnt_t char* name; /* real name on file system */ char* disp_name; /* displayed name (in UTF-8) */ char* collate_key; //sfm sort key char* collate_icase_key; //sfm case folded sort key char* disp_size; /* displayed human-readable file size */ char* disp_owner; /* displayed owner:group pair */ char* disp_mtime; /* displayed last modification time */ char disp_perm[ 12 ]; /* displayed permission in string form */ VFSMimeType* mime_type; /* mime type related information */ GdkPixbuf* big_thumbnail; /* thumbnail of the file */ GdkPixbuf* small_thumbnail; /* thumbnail of the file */ VFSFileInfoFlag flags; /* if it's a special file */ /**/ int n_ref; }; void vfs_file_info_set_utf8_filename( gboolean is_utf8 ); VFSFileInfo* vfs_file_info_new (); VFSFileInfo* vfs_file_info_ref( VFSFileInfo* fi ); void vfs_file_info_unref( VFSFileInfo* fi ); gboolean vfs_file_info_get( VFSFileInfo* fi, const char* file_path, const char* base_name ); const char* vfs_file_info_get_name( VFSFileInfo* fi ); const char* vfs_file_info_get_disp_name( VFSFileInfo* fi ); void vfs_file_info_set_name( VFSFileInfo* fi, const char* name ); void vfs_file_info_set_disp_name( VFSFileInfo* fi, const char* name ); off_t vfs_file_info_get_size( VFSFileInfo* fi ); const char* vfs_file_info_get_disp_size( VFSFileInfo* fi ); off_t vfs_file_info_get_blocks( VFSFileInfo* fi ); mode_t vfs_file_info_get_mode( VFSFileInfo* fi ); VFSMimeType* vfs_file_info_get_mime_type( VFSFileInfo* fi ); void vfs_file_info_reload_mime_type( VFSFileInfo* fi, const char* full_path ); const char* vfs_file_info_get_mime_type_desc( VFSFileInfo* fi ); const char* vfs_file_info_get_disp_owner( VFSFileInfo* fi ); const char* vfs_file_info_get_disp_mtime( VFSFileInfo* fi ); const char* vfs_file_info_get_disp_perm( VFSFileInfo* fi ); time_t* vfs_file_info_get_mtime( VFSFileInfo* fi ); time_t* vfs_file_info_get_atime( VFSFileInfo* fi ); void vfs_file_info_set_thumbnail_size( int big, int small ); gboolean vfs_file_info_load_thumbnail( VFSFileInfo* fi, const char* full_path, gboolean big ); gboolean vfs_file_info_is_thumbnail_loaded( VFSFileInfo* fi, gboolean big ); GdkPixbuf* vfs_file_info_get_big_icon( VFSFileInfo* fi ); GdkPixbuf* vfs_file_info_get_small_icon( VFSFileInfo* fi ); GdkPixbuf* vfs_file_info_get_big_thumbnail( VFSFileInfo* fi ); GdkPixbuf* vfs_file_info_get_small_thumbnail( VFSFileInfo* fi ); void vfs_file_size_to_string_format( char* buf, guint64 size, char* format ); void vfs_file_size_to_string( char* buf, guint64 size ); gboolean vfs_file_info_is_dir( VFSFileInfo* fi ); gboolean vfs_file_info_is_symlink( VFSFileInfo* fi ); gboolean vfs_file_info_is_image( VFSFileInfo* fi ); gboolean vfs_file_info_is_video( VFSFileInfo* fi ); gboolean vfs_file_info_is_desktop_entry( VFSFileInfo* fi ); gboolean vfs_file_info_is_unknown_type( VFSFileInfo* fi ); /* Full path of the file is required by this function */ gboolean vfs_file_info_is_executable( VFSFileInfo* fi, const char* file_path ); /* Full path of the file is required by this function */ gboolean vfs_file_info_is_text( VFSFileInfo* fi, const char* file_path ); /* * Run default action of specified file. * Full path of the file is required by this function. */ gboolean vfs_file_info_open_file( VFSFileInfo* fi, const char* file_path, GError** err ); void vfs_file_info_load_special_info( VFSFileInfo* fi, const char* file_path ); void vfs_file_info_list_free( GList* list ); /* resolve file path name */ char* vfs_file_resolve_path( const char* cwd, const char* relative_path ); G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-file-monitor.c000066400000000000000000000416151264770501700201040ustar00rootroot00000000000000/* * C Implementation: vfs-monitor * * Description: File alteration monitor * * * Copyright (C) 2014 IgnorantGuru * Original Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * * Most of the inotify parts are taken from "menu-monitor-inotify.c" of * gnome-menus, which is licensed under GNU Lesser General Public License. * * Copyright (C) 2005 Red Hat, Inc. * Copyright (C) 2006 Mark McLoughlin */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "vfs-file-monitor.h" #include "vfs-file-info.h" #include /* for stat */ #include #include #include #include #include "glib-mem.h" typedef struct { VFSFileMonitorCallback callback; gpointer user_data; } VFSFileMonitorCallbackEntry; static GHashTable* monitor_hash = NULL; static GIOChannel* fam_io_channel = NULL; static guint fam_io_watch = 0; #ifdef USE_INOTIFY static int inotify_fd = -1; #else static FAMConnection fam; #endif /* event handler of all FAM events */ static gboolean on_fam_event( GIOChannel *channel, GIOCondition cond, gpointer user_data ); static gboolean connect_to_fam() { #ifdef USE_INOTIFY inotify_fd = inotify_init (); if ( inotify_fd < 0 ) { fam_io_channel = NULL; g_warning( "failed to initialize inotify." ); return FALSE; } fam_io_channel = g_io_channel_unix_new( inotify_fd ); #else /* use FAM|gamin */ if ( FAMOpen( &fam ) ) { fam_io_channel = NULL; fam.fd = -1; g_warning( "There is no FAM/gamin server\n" ); return FALSE; } #if HAVE_FAMNOEXISTS /* * Disable the initital directory content loading. * This can greatly speed up directory loading, but * unfortunately, it's not compatible with original FAM. */ FAMNoExists( &fam ); /* This is an extension of gamin */ #endif fam_io_channel = g_io_channel_unix_new( FAMCONNECTION_GETFD( &fam ) ); #endif /* set fam socket to non-blocking */ /* fcntl( FAMCONNECTION_GETFD( &fam ),F_SETFL,O_NONBLOCK); */ g_io_channel_set_encoding( fam_io_channel, NULL, NULL ); g_io_channel_set_buffered( fam_io_channel, FALSE ); g_io_channel_set_flags( fam_io_channel, G_IO_FLAG_NONBLOCK, NULL ); fam_io_watch = g_io_add_watch( fam_io_channel, G_IO_IN | G_IO_PRI | G_IO_HUP|G_IO_ERR, on_fam_event, NULL ); return TRUE; } static void disconnect_from_fam() { if ( fam_io_channel ) { g_io_channel_unref( fam_io_channel ); fam_io_channel = NULL; g_source_remove( fam_io_watch ); #ifdef USE_INOTIFY close( inotify_fd ); inotify_fd = -1; #else FAMClose( &fam ); #endif } } /* final cleanup */ void vfs_file_monitor_clean() { disconnect_from_fam(); if ( monitor_hash ) { g_hash_table_destroy( monitor_hash ); monitor_hash = NULL; } } /* * Init monitor: * Establish connection with gamin/fam. */ gboolean vfs_file_monitor_init() { monitor_hash = g_hash_table_new( g_str_hash, g_str_equal ); if ( ! connect_to_fam() ) return FALSE; return TRUE; } VFSFileMonitor* vfs_file_monitor_add( char* path, gboolean is_dir, VFSFileMonitorCallback cb, gpointer user_data ) { VFSFileMonitor * monitor; VFSFileMonitorCallbackEntry cb_ent; struct stat file_stat; // skip stat64 char resolved_path[PATH_MAX]; char* real_path; //printf( "vfs_file_monitor_add %s\n", path ); if ( ! monitor_hash ) return NULL; // Since gamin, FAM and inotify don't follow symlinks, need to get real path if ( strlen( path ) > PATH_MAX - 1 ) { g_warning ( "PATH_MAX exceeded on %s", path ); real_path = path; //fallback } else if ( realpath( path, resolved_path ) == NULL ) { g_warning ( "realpath failed on %s", path ); real_path = path; //fallback } else real_path = resolved_path; monitor = ( VFSFileMonitor* ) g_hash_table_lookup ( monitor_hash, real_path ); if ( ! monitor ) { monitor = g_slice_new0( VFSFileMonitor ); monitor->path = g_strdup( real_path ); monitor->callbacks = g_array_new ( FALSE, FALSE, sizeof( VFSFileMonitorCallbackEntry ) ); g_hash_table_insert ( monitor_hash, monitor->path, monitor ); /* OLD METHOD - removes wrong dir due to symlinks // NOTE: Since gamin, FAM and inotify don't follow symlinks, we need to do some special processing here. if ( lstat( path, &file_stat ) == 0 ) { const char* link_file = path; while( G_UNLIKELY( S_ISLNK(file_stat.st_mode) ) ) { char* link = g_file_read_link( link_file, NULL ); char* dirname = g_path_get_dirname( link_file ); real_path = vfs_file_resolve_path( dirname, link ); g_free( link ); g_free( dirname ); if( lstat( real_path, &file_stat ) == -1 ) break; link_file = real_path; } } */ #ifdef USE_INOTIFY /* Linux inotify */ monitor->wd = inotify_add_watch ( inotify_fd, real_path, IN_MODIFY | IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE | IN_MOVE_SELF | IN_UNMOUNT | IN_ATTRIB ); if ( monitor->wd < 0 ) { char* msg; switch ( errno ) { case EACCES: msg = "EACCES Read access to the given directory is not permitted."; break; case EBADF: msg = "EBADF The given file descriptor is not valid."; break; case EFAULT: msg = "EFAULT Pathname points outside of the process's accessible address space."; break; case EINVAL: msg = "EINVAL The given event mask contains no valid events; or fd is not an inotify file descriptor."; break; case ENOENT: msg = "ENOENT A directory component in pathname does not exist or is a dangling symbolic link."; break; case ENOMEM: msg = "ENOMEM Insufficient kernel memory was available."; break; case ENOSPC: msg = "ENOSPC The user limit on the total number of inotify watches (cat /proc/sys/fs/inotify/max_user_watches) was reached or the kernel failed to allocate a needed resource."; break; default: msg = "??? Unknown error."; break; } g_warning ( "Failed to add watch on '%s' ('%s'): inotify_add_watch errno %d %s", real_path, path, errno, msg ); return NULL; } //printf("vfs_file_monitor_add %s (%s) %d\n", real_path, path, monitor->wd ); #else /* Use FAM|gamin */ //MOD see NOTE1 in vfs-mime-type.c - what happens here if path doesn't exist? // inotify returns NULL - does fam? if ( fam_io_channel ) { if ( is_dir ) { FAMMonitorDirectory( &fam, real_path, &monitor->request, monitor ); } else { FAMMonitorFile( &fam, real_path, &monitor->request, monitor ); } } else { g_warning( "FAM/gamin server is not running ?" ); return NULL; } #endif } if( G_LIKELY(monitor) ) { /* g_debug( "monitor installed: %s, %p", path, monitor ); */ if ( cb ) { /* Install a callback */ cb_ent.callback = cb; cb_ent.user_data = user_data; monitor->callbacks = g_array_append_val( monitor->callbacks, cb_ent ); } g_atomic_int_inc( &monitor->n_ref ); } return monitor; } void vfs_file_monitor_remove( VFSFileMonitor * fm, VFSFileMonitorCallback cb, gpointer user_data ) { int i; VFSFileMonitorCallbackEntry* callbacks; //printf( "vfs_file_monitor_remove\n" ); if ( cb && fm && fm->callbacks ) { callbacks = ( VFSFileMonitorCallbackEntry* ) fm->callbacks->data; for ( i = 0; i < fm->callbacks->len; ++i ) { if ( callbacks[ i ].callback == cb && callbacks[ i ].user_data == user_data ) { fm->callbacks = g_array_remove_index_fast ( fm->callbacks, i ); break; } } } if ( fm && g_atomic_int_dec_and_test( &fm->n_ref ) ) //MOD added "fm &&" { #ifdef USE_INOTIFY /* Linux inotify */ //printf( "vfs_file_monitor_remove %d\n", fm->wd ); inotify_rm_watch ( inotify_fd, fm->wd ); #else /* Use FAM|gamin */ if ( fam_io_channel ) FAMCancelMonitor( &fam, &fm->request ); else g_warning( "FAM/gamin server is not running ?" ); #endif g_hash_table_remove( monitor_hash, fm->path ); g_free( fm->path ); g_array_free( fm->callbacks, TRUE ); g_slice_free( VFSFileMonitor, fm ); } //printf( "vfs_file_monitor_remove DONE\n" ); } static void reconnect_fam( gpointer key, gpointer value, gpointer user_data ) { struct stat file_stat; // skip stat64 VFSFileMonitor* monitor = ( VFSFileMonitor* ) value; const char* path = ( const char* ) key; if ( lstat( path, &file_stat ) != -1 ) { #ifdef USE_INOTIFY /* Linux inotify */ monitor->wd = inotify_add_watch ( inotify_fd, path, IN_MODIFY | IN_CREATE | IN_DELETE | IN_MOVE ); if ( monitor->wd < 0 ) { /* * FIXME: add monitor to an ancestor which does actually exist, * or do the equivalent of inotify-missing.c by maintaining * a list of monitors on non-existent files/directories * which you retry in a timeout. */ g_warning ( "Failed to add monitor on '%s': %s", path, g_strerror ( errno ) ); return ; } #else if ( S_ISDIR( file_stat.st_mode ) ) { FAMMonitorDirectory( &fam, path, &monitor->request, monitor ); } else { FAMMonitorFile( &fam, path, &monitor->request, monitor ); } #endif } } #ifdef USE_INOTIFY static gboolean find_monitor( gpointer key, gpointer value, gpointer user_data ) { int wd = GPOINTER_TO_INT( user_data ); VFSFileMonitor* monitor = ( VFSFileMonitor* ) value; return ( monitor->wd == wd ); } static VFSFileMonitorEvent translate_inotify_event( int inotify_mask ) { if ( inotify_mask & ( IN_CREATE | IN_MOVED_TO ) ) return VFS_FILE_MONITOR_CREATE; else if ( inotify_mask & ( IN_DELETE | IN_MOVED_FROM | IN_DELETE_SELF | IN_UNMOUNT ) ) return VFS_FILE_MONITOR_DELETE; else if ( inotify_mask & ( IN_MODIFY | IN_ATTRIB ) ) return VFS_FILE_MONITOR_CHANGE; else { //IN_IGNORED not handled //g_warning( "translate_inotify_event mask not handled %d", inotify_mask ); return VFS_FILE_MONITOR_CHANGE; } } #endif static void dispatch_event( VFSFileMonitor * monitor, VFSFileMonitorEvent evt, const char * file_name ) { VFSFileMonitorCallbackEntry * cb; VFSFileMonitorCallback func; int i; /* Call the callback functions */ if ( monitor->callbacks && monitor->callbacks->len ) { cb = ( VFSFileMonitorCallbackEntry* ) monitor->callbacks->data; for ( i = 0; i < monitor->callbacks->len; ++i ) { func = cb[ i ].callback; func( monitor, evt, file_name, cb[ i ].user_data ); } } } /* event handler of all FAM events */ static gboolean on_fam_event( GIOChannel * channel, GIOCondition cond, gpointer user_data ) { #ifdef USE_INOTIFY /* Linux inootify */ #define BUF_LEN (1024 * (sizeof (struct inotify_event) + 16)) char buf[ BUF_LEN ]; int i, len; #else /* FAM|gamin */ FAMEvent evt; #endif VFSFileMonitor* monitor = NULL; if ( cond & (G_IO_HUP | G_IO_ERR) ) { disconnect_from_fam(); if ( g_hash_table_size ( monitor_hash ) > 0 ) { /* Disconnected from FAM server, but there are still monitors. This may be caused by crash of FAM server. So we have to reconnect to FAM server. */ if ( connect_to_fam() ) g_hash_table_foreach( monitor_hash, ( GHFunc ) reconnect_fam, NULL ); } return TRUE; /* don't need to remove the event source since it has been removed by disconnect_from_fam(). */ } #ifdef USE_INOTIFY /* Linux inotify */ while ( ( len = read ( inotify_fd, buf, BUF_LEN ) ) < 0 && errno == EINTR ); if ( len < 0 ) { g_warning ( "Error reading inotify event: %s", g_strerror ( errno ) ); /* goto error_cancel; */ return FALSE; } if ( len == 0 ) { /* * FIXME: handle this better? */ g_warning ( "Error reading inotify event: supplied buffer was too small" ); /* goto error_cancel; */ return FALSE; } i = 0; while ( i < len ) { struct inotify_event * ievent = ( struct inotify_event * ) & buf [ i ]; /* FIXME: 2 different paths can have the same wd because of link * This was fixed in spacefm 0.8.7 ?? */ monitor = ( VFSFileMonitor* ) g_hash_table_find( monitor_hash, find_monitor, GINT_TO_POINTER( ievent->wd ) ); if( G_LIKELY(monitor) ) { const char* file_name; file_name = ievent->len > 0 ? ievent->name : monitor->path; /* //MOD for debug output only char* desc; if ( ievent->mask & ( IN_CREATE | IN_MOVED_TO ) ) desc = "CREATE"; else if ( ievent->mask & ( IN_DELETE | IN_MOVED_FROM | IN_DELETE_SELF | IN_UNMOUNT ) ) desc = "DELETE"; else if ( ievent->mask & ( IN_MODIFY | IN_ATTRIB ) ) desc = "CHANGE"; if ( !strcmp( monitor->path, "/tmp" ) && g_str_has_prefix( file_name, "vte" ) ) { } // due to current vte scroll problems creating and deleting massive numbers of // /tmp/vte8CBO7V types of files, ignore these (creates feedback loop when // spacefm is run in terminal because each printf triggers a scroll, // which triggers another printf below, which triggers another file change) // https://bugs.launchpad.net/ubuntu/+source/vte/+bug/778872 else printf("inotify-event %s: %s///%s\n", desc, monitor->path, file_name); //g_debug("inotify (%d) :%s", ievent->mask, file_name); */ dispatch_event( monitor, translate_inotify_event( ievent->mask ), file_name ); } i += sizeof ( struct inotify_event ) + ievent->len; } #else /* FAM|gamin */ while ( FAMPending( &fam ) ) { if ( FAMNextEvent( &fam, &evt ) > 0 ) { monitor = ( VFSFileMonitor* ) evt.userdata; switch ( evt.code ) { case FAMCreated: case FAMDeleted: case FAMChanged: /* FIXME: There exists a possibility that a file can accidentally become a directory, and a directory can become a file when using chmod. Should we delete original request, and create a new one when this happens? */ /* g_debug("FAM event(%d): %s", evt.code, evt.filename); */ /* Call the callback functions */ dispatch_event( monitor, evt.code, evt.filename ); break; /* Other events are not supported */ default: break; } } } #endif return TRUE; } spacefm-1.0.5/src/vfs/vfs-file-monitor.h000066400000000000000000000062121264770501700201030ustar00rootroot00000000000000/* * C Interface: vfs-monitor * * Description: File alteration monitor * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H #include #endif /* FIXME: VFSFileMonitor can support at most 1024 monitored files. This is caused by the limit of FAM/gamin itself. Maybe using inotify directly can solve this? */ #ifndef _VFS_FILE_MONITOR_H_ #define _VFS_FILE_MONITOR_H_ #include #ifdef USE_INOTIFY #include #include #else /* Use FAM|gamin */ #include #endif G_BEGIN_DECLS #ifdef USE_INOTIFY typedef enum{ VFS_FILE_MONITOR_CREATE, VFS_FILE_MONITOR_DELETE, VFS_FILE_MONITOR_CHANGE }VFSFileMonitorEvent; #else typedef enum{ VFS_FILE_MONITOR_CREATE = FAMCreated, VFS_FILE_MONITOR_DELETE = FAMDeleted, VFS_FILE_MONITOR_CHANGE = FAMChanged }VFSFileMonitorEvent; #endif typedef struct _VFSFileMonitor VFSFileMonitor; struct _VFSFileMonitor{ gchar* path; /**/ int n_ref; #ifdef USE_INOTIFY int wd; #else FAMRequest request; #endif GArray* callbacks; }; /* Callback function which will be called when monitored events happen * NOTE: GDK_THREADS_ENTER and GDK_THREADS_LEAVE might be needed * if gtk+ APIs are called in this callback, since the callback is called from * IO channel handler. */ typedef void (*VFSFileMonitorCallback)( VFSFileMonitor* fm, VFSFileMonitorEvent event, const char* file_name, gpointer user_data ); /* * Init monitor: * Establish connection with gamin/fam. */ gboolean vfs_file_monitor_init(); /* * Monitor changes of a file or directory. * * Parameters: * path: the file/dir to be monitored * cb: callback function to be called when file event happens. * user_data: user data to be passed to callback function. */ VFSFileMonitor* vfs_file_monitor_add( char* path, gboolean is_dir, VFSFileMonitorCallback cb, gpointer user_data ); /* * Monitor changes of a file. * * Parameters: * path: the file/dir to be monitored * cb: callback function to be called when file event happens. * user_data: user data to be passed to callback function. */ #define vfs_file_monitor_add_file( path, cb, user_data ) \ vfs_file_monitor_add(path, FALSE, cb, user_data ) /* * Monitor changes of a directory. * * Parameters: * path: the file/dir to be monitored * cb: callback function to be called when file event happens. * user_data: user data to be passed to callback function. */ #define vfs_file_monitor_add_dir( path, cb, user_data ) \ vfs_file_monitor_add(path, TRUE, cb, user_data ) /* * Remove previously installed monitor. */ void vfs_file_monitor_remove( VFSFileMonitor* fm, VFSFileMonitorCallback cb, gpointer user_data ); /* * Clearn up and shutdown file alteration monitor. */ void vfs_file_monitor_clean(); G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-file-task.c000066400000000000000000002445661264770501700173710ustar00rootroot00000000000000/* * C Implementation: vfs-file-task * * Description: modified and redesigned for SpaceFM * * * * Copyright: See COPYING file that comes with this distribution * */ #ifdef HAVE_CONFIG_H #include #endif #include "vfs-file-task.h" #include #include #include #include #include #include #include "glib-mem.h" #include "glib-utils.h" #include #include #include /* for mkstemp, realpath */ #include #include #include "vfs-dir.h" #include "settings.h" #include //MOD for exec #include "main-window.h" #include "desktop-window.h" #include "vfs-volume.h" const mode_t chmod_flags[] = { S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_ISUID, S_ISGID, S_ISVTX }; /* * void get_total_size_of_dir( const char* path, off_t* size ) * Recursively count total size of all files in the specified directory. * If the path specified is a file, the size of the file is directly returned. * cancel is used to cancel the operation. This function will check the value * pointed by cancel in every iteration. If cancel is set to TRUE, the * calculation is cancelled. * NOTE: *size should be set to zero before calling this function. */ static void get_total_size_of_dir( VFSFileTask* task, const char* path, off_t* size, struct stat64* have_stat ); void vfs_file_task_error( VFSFileTask* task, int errnox, const char* action, const char* target ); void vfs_file_task_exec_error( VFSFileTask* task, int errnox, char* action ); void add_task_dev( VFSFileTask* task, dev_t dev ); static gboolean should_abort( VFSFileTask* task ); void gx_free( gpointer x ) {} // dummy free - test only void append_add_log( VFSFileTask* task, const char* msg, gint msg_len ) { g_mutex_lock( task->mutex ); GtkTextIter iter; gtk_text_buffer_get_iter_at_mark( task->add_log_buf, &iter, task->add_log_end ); gtk_text_buffer_insert( task->add_log_buf, &iter, msg, msg_len ); g_mutex_unlock( task->mutex ); } static void call_state_callback( VFSFileTask* task, VFSFileTaskState state ) { task->state = state; if ( task->state_cb ) { if ( !task->state_cb( task, state, NULL, task->state_cb_data ) ) { task->abort = TRUE; if ( task->type == VFS_FILE_TASK_EXEC && task->exec_cond ) { // this is used only if exec task run in non-main loop thread g_mutex_lock( task->mutex ); g_cond_broadcast( task->exec_cond ); g_mutex_unlock( task->mutex ); } } else task->state = VFS_FILE_TASK_RUNNING; } } static gboolean should_abort( VFSFileTask* task ) { if ( task->state_pause != VFS_FILE_TASK_RUNNING ) { // paused or queued - suspend thread g_mutex_lock( task->mutex ); g_timer_stop( task->timer ); task->pause_cond = g_cond_new(); g_cond_wait( task->pause_cond, task->mutex ); // resume g_cond_free( task->pause_cond ); task->pause_cond = NULL; task->last_elapsed = g_timer_elapsed( task->timer, NULL ); task->last_progress = task->progress; task->last_speed = 0; g_timer_continue( task->timer ); task->state_pause = VFS_FILE_TASK_RUNNING; g_mutex_unlock( task->mutex ); } return task->abort; } char* vfs_file_task_get_unique_name( const char* dest_dir, const char* base_name, const char* ext ) { // returns NULL if all names used; otherwise newly allocated string struct stat64 dest_stat; char* new_name = g_strdup_printf( "%s%s%s", base_name, ext && ext[0] ? "." : "", ext ? ext : "" ); char* new_dest_file = g_build_filename( dest_dir, new_name, NULL ); g_free( new_name ); uint n = 1; while ( n && lstat64( new_dest_file, &dest_stat ) == 0 ) { g_free( new_dest_file ); new_name = g_strdup_printf( "%s-%s%d%s%s", base_name, _("copy"), ++n, ext && ext[0] ? "." : "", ext ? ext : "" ); new_dest_file = g_build_filename( dest_dir, new_name, NULL ); g_free( new_name ); } if ( n == 0 ) { g_free( new_dest_file ); return NULL; } return new_dest_file; } /* * Check if the destination file exists. * If the dest_file exists, let the user choose a new destination, * skip/overwrite/auto-rename/all, pause, or cancel. * The returned string is the new destination file chosen by the user */ static gboolean check_overwrite( VFSFileTask* task, const gchar* dest_file, gboolean* dest_exists, char** new_dest_file ) { struct stat64 dest_stat; const char* use_dest_file; char* new_dest; while ( 1 ) { *new_dest_file = NULL; if ( task->overwrite_mode == VFS_FILE_TASK_OVERWRITE_ALL ) { *dest_exists = !lstat64( dest_file, &dest_stat ); if ( !g_strcmp0( task->current_file, task->current_dest ) ) { // src and dest are same file - don't overwrite (truncates) // occurs if user pauses task and changes overwrite mode return FALSE; } return TRUE; } if ( task->overwrite_mode == VFS_FILE_TASK_SKIP_ALL ) { *dest_exists = !lstat64( dest_file, &dest_stat ); return !*dest_exists; } if ( task->overwrite_mode == VFS_FILE_TASK_AUTO_RENAME ) { *dest_exists = !lstat64( dest_file, &dest_stat ); if ( !*dest_exists ) return !task->abort; // auto-rename char* ext; char* old_name = g_path_get_basename( dest_file ); char* dest_dir = g_path_get_dirname( dest_file ); char* base_name = get_name_extension( old_name, S_ISDIR( dest_stat.st_mode ), &ext ); g_free( old_name ); *new_dest_file = vfs_file_task_get_unique_name( dest_dir, base_name, ext ); *dest_exists = FALSE; g_free( dest_dir ); g_free( base_name ); g_free( ext ); if ( *new_dest_file ) return !task->abort; // else ran out of names - fall through to query user } *dest_exists = !lstat64( dest_file, &dest_stat ); if ( !*dest_exists ) return !task->abort; // dest exists - query user if ( !task->state_cb ) // failsafe return FALSE; use_dest_file = dest_file; do { // destination file exists *dest_exists = TRUE; task->state = VFS_FILE_TASK_QUERY_OVERWRITE; new_dest = NULL; // query user if ( !task->state_cb( task, VFS_FILE_TASK_QUERY_OVERWRITE, &new_dest, task->state_cb_data ) ) // task->abort is actually set in query_overwrite_response // VFS_FILE_TASK_QUERY_OVERWRITE never returns FALSE task->abort = TRUE; task->state = VFS_FILE_TASK_RUNNING; // may pause here - user may change overwrite mode if ( should_abort( task ) ) { g_free( new_dest ); return FALSE; } if ( task->overwrite_mode != VFS_FILE_TASK_RENAME ) { g_free( new_dest ); new_dest = NULL; if( task->overwrite_mode == VFS_FILE_TASK_OVERWRITE || task->overwrite_mode == VFS_FILE_TASK_OVERWRITE_ALL ) { *dest_exists = !lstat64( dest_file, &dest_stat ); if ( !g_strcmp0( task->current_file, task->current_dest ) ) { // src and dest are same file - don't overwrite (truncates) // occurs if user pauses task and changes overwrite mode return FALSE; } return TRUE; } else if ( task->overwrite_mode == VFS_FILE_TASK_AUTO_RENAME ) break; else return FALSE; } // user renamed file or pressed Pause btn if ( new_dest ) // user renamed file - test if new name exists use_dest_file = new_dest; } while ( lstat64( use_dest_file, &dest_stat ) != -1 ); if ( new_dest ) { // user renamed file to unique name *dest_exists = FALSE; *new_dest_file = new_dest; return !task->abort; } } } gboolean check_dest_in_src( VFSFileTask* task, const char* src_dir ) { char real_src_path[PATH_MAX]; char real_dest_path[PATH_MAX]; int len; if ( !( task->dest_dir && realpath( task->dest_dir, real_dest_path ) ) ) return FALSE; if ( realpath( src_dir, real_src_path ) && g_str_has_prefix( real_dest_path, real_src_path ) && ( len = strlen( real_src_path ) ) && ( real_dest_path[len] == '/' || real_dest_path[len] == '\0' ) ) { // source is contained in destination dir char* disp_src = g_filename_display_name( src_dir ); char* disp_dest = g_filename_display_name( task->dest_dir ); char* err = g_strdup_printf( _("Destination directory \"%1$s\" is contained in source \"%2$s\""), disp_dest, disp_src ); append_add_log( task, err, -1 ); g_free( err ); g_free( disp_src ); g_free( disp_dest ); if ( task->state_cb ) task->state_cb( task, VFS_FILE_TASK_ERROR, NULL, task->state_cb_data ); task->state = VFS_FILE_TASK_RUNNING; return TRUE; } return FALSE; } void update_file_display( const char* path ) { // for devices like nfs, emit created and flush to avoid a // blocking stat call in GUI thread during writes GDK_THREADS_ENTER(); char* dir_path = g_path_get_dirname( path ); VFSDir* vdir = vfs_dir_get_by_path_soft( dir_path ); g_free( dir_path ); if ( vdir && vdir->avoid_changes ) { VFSFileInfo* file = vfs_file_info_new(); vfs_file_info_get( file, path, NULL ); vfs_dir_emit_file_created( vdir, vfs_file_info_get_name( file ), TRUE ); vfs_file_info_unref( file ); vfs_dir_flush_notify_cache(); } if ( vdir ) g_object_unref( vdir ); GDK_THREADS_LEAVE(); } /* void update_file_display( const char* path ) { // for devices like nfs, emit instant changed GDK_THREADS_ENTER(); char* dir_path = g_path_get_dirname( path ); VFSDir* vdir = vfs_dir_get_by_path_soft( dir_path ); g_free( dir_path ); if ( vdir && vdir->avoid_changes ) { char* filename = g_path_get_basename( path ); vfs_dir_emit_file_changed( vdir, filename, NULL, TRUE ); g_free( filename ); } if ( vdir ) g_object_unref( vdir ); GDK_THREADS_LEAVE(); } */ static gboolean vfs_file_task_do_copy( VFSFileTask* task, const char* src_file, const char* dest_file ) { GDir * dir; const gchar* file_name; gchar* sub_src_file; gchar* sub_dest_file; struct stat64 file_stat; char buffer[ 4096 ]; int rfd; int wfd; ssize_t rsize; char* new_dest_file = NULL; gboolean dest_exists; gboolean copy_fail = FALSE; int result; GError *error; if ( should_abort( task ) ) return FALSE; //printf("vfs_file_task_do_copy( %s, %s )\n", src_file, dest_file ); g_mutex_lock( task->mutex ); string_copy_free( &task->current_file, src_file ); string_copy_free( &task->current_dest, dest_file ); task->current_item++; g_mutex_unlock( task->mutex ); if ( lstat64( src_file, &file_stat ) == -1 ) { vfs_file_task_error( task, errno, _("Accessing"), src_file ); return FALSE; } result = 0; if ( S_ISDIR( file_stat.st_mode ) ) { if ( check_dest_in_src( task, src_file ) ) goto _return_; if ( ! check_overwrite( task, dest_file, &dest_exists, &new_dest_file ) ) goto _return_; if ( new_dest_file ) { dest_file = new_dest_file; g_mutex_lock( task->mutex ); string_copy_free( &task->current_dest, dest_file ); g_mutex_unlock( task->mutex ); } if ( ! dest_exists ) result = mkdir( dest_file, file_stat.st_mode | 0700 ); if ( result == 0 ) { struct utimbuf times; g_mutex_lock( task->mutex ); task->progress += file_stat.st_size; g_mutex_unlock( task->mutex ); error = NULL; dir = g_dir_open( src_file, 0, &error ); if ( dir ) { while ( (file_name = g_dir_read_name( dir )) ) { if ( should_abort( task ) ) break; sub_src_file = g_build_filename( src_file, file_name, NULL ); sub_dest_file = g_build_filename( dest_file, file_name, NULL ); if ( !vfs_file_task_do_copy( task, sub_src_file, sub_dest_file ) && !copy_fail ) copy_fail = TRUE; g_free(sub_dest_file ); g_free(sub_src_file ); } g_dir_close( dir ); } else if ( error ) { char* msg = g_strdup_printf( "\n%s\n", error->message ); g_error_free( error ); vfs_file_task_exec_error( task, 0, msg ); g_free( msg ); copy_fail = TRUE; if ( should_abort( task ) ) goto _return_; } chmod( dest_file, file_stat.st_mode ); times.actime = file_stat.st_atime; times.modtime = file_stat.st_mtime; utime( dest_file, × ); if ( task->avoid_changes ) update_file_display( dest_file ); /* Move files to different device: Need to delete source dir */ if ( ( task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_TRASH ) && !should_abort( task ) && !copy_fail ) { if ( (result = rmdir( src_file )) ) { vfs_file_task_error( task, errno, _("Removing"), src_file ); copy_fail = TRUE; if ( should_abort( task ) ) goto _return_; } } } else { vfs_file_task_error( task, errno, _("Creating Dir"), dest_file ); copy_fail = TRUE; } } else if ( S_ISLNK( file_stat.st_mode ) ) { if ( ( rfd = readlink( src_file, buffer, sizeof( buffer ) - 1 ) ) > 0 ) { buffer[rfd] = '\0'; //MOD terminate buffer string if ( ! check_overwrite( task, dest_file, &dest_exists, &new_dest_file ) ) goto _return_; if ( new_dest_file ) { dest_file = new_dest_file; g_mutex_lock( task->mutex ); string_copy_free( &task->current_dest, dest_file ); g_mutex_unlock( task->mutex ); } //MOD delete it first to prevent exists error if ( dest_exists ) { result = unlink( dest_file ); if ( result && errno != 2 /* no such file */ ) { vfs_file_task_error( task, errno, _("Removing"), dest_file ); goto _return_; } } if ( ( wfd = symlink( buffer, dest_file ) ) == 0 ) { //MOD don't chmod link because it changes target //chmod( dest_file, file_stat.st_mode ); /* Move files to different device: Need to delete source files */ if ( ( task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_TRASH ) && !copy_fail ) { result = unlink( src_file ); if ( result ) { vfs_file_task_error( task, errno, _("Removing"), src_file ); copy_fail = TRUE; } } g_mutex_lock( task->mutex ); task->progress += file_stat.st_size; g_mutex_unlock( task->mutex ); } else { vfs_file_task_error( task, errno, _("Creating Link"), dest_file ); copy_fail = TRUE; } } else { vfs_file_task_error( task, errno, _("Accessing"), src_file ); copy_fail = TRUE; } } else { if ( ( rfd = open( src_file, O_RDONLY ) ) >= 0 ) { if ( ! check_overwrite( task, dest_file, &dest_exists, &new_dest_file ) ) { close( rfd ); goto _return_; } if ( new_dest_file ) { dest_file = new_dest_file; g_mutex_lock( task->mutex ); string_copy_free( &task->current_dest, dest_file ); g_mutex_unlock( task->mutex ); } //MOD if dest is a symlink, delete it first to prevent overwriting target! if ( g_file_test( dest_file, G_FILE_TEST_IS_SYMLINK ) ) { result = unlink( dest_file ); if ( result ) { vfs_file_task_error( task, errno, _("Removing"), dest_file ); close( rfd ); goto _return_; } } if ( ( wfd = creat( dest_file, file_stat.st_mode | S_IWUSR ) ) >= 0 ) { // sshfs becomes unresponsive with this, nfs is okay with it //if ( task->avoid_changes ) // emit_created( dest_file ); struct utimbuf times; while ( ( rsize = read( rfd, buffer, sizeof( buffer ) ) ) > 0 ) { if ( should_abort( task ) ) { copy_fail = TRUE; break; } if ( write( wfd, buffer, rsize ) > 0 ) { g_mutex_lock( task->mutex ); task->progress += rsize; g_mutex_unlock( task->mutex ); } else { vfs_file_task_error( task, errno, _("Writing"), dest_file ); copy_fail = TRUE; break; } } close( wfd ); if ( copy_fail ) { result = unlink( dest_file ); if ( result && errno != 2 /* no such file */ ) { vfs_file_task_error( task, errno, _("Removing"), dest_file ); copy_fail = TRUE; } } else { //MOD don't chmod link if ( ! g_file_test( dest_file, G_FILE_TEST_IS_SYMLINK ) ) { chmod( dest_file, file_stat.st_mode ); times.actime = file_stat.st_atime; times.modtime = file_stat.st_mtime; utime( dest_file, × ); } if ( task->avoid_changes ) update_file_display( dest_file ); /* Move files to different device: Need to delete source files */ if ( (task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_TRASH) && !should_abort( task ) ) { result = unlink( src_file ); if ( result ) { vfs_file_task_error( task, errno, _("Removing"), src_file ); copy_fail = TRUE; } } } } else { vfs_file_task_error( task, errno, _("Creating"), dest_file ); copy_fail = TRUE; } close( rfd ); } else { vfs_file_task_error( task, errno, _("Accessing"), src_file ); copy_fail = TRUE; } } if ( new_dest_file ) g_free( new_dest_file ); if ( !copy_fail && task->error_first ) task->error_first = FALSE; return !copy_fail; _return_: if ( new_dest_file ) g_free( new_dest_file ); return FALSE; } static void vfs_file_task_copy( char* src_file, VFSFileTask* task ) { gchar * file_name; gchar* dest_file; file_name = g_path_get_basename( src_file ); dest_file = g_build_filename( task->dest_dir, file_name, NULL ); g_free(file_name ); vfs_file_task_do_copy( task, src_file, dest_file ); g_free(dest_file ); } static int vfs_file_task_do_move ( VFSFileTask* task, const char* src_file, const char* dest_file ) //MOD void to int { gchar* new_dest_file = NULL; gboolean dest_exists; struct stat64 file_stat; GDir* dir; int result; GError* error; if ( should_abort( task ) ) return 0; g_mutex_lock( task->mutex ); string_copy_free( &task->current_file, src_file ); string_copy_free( &task->current_dest, dest_file ); task->current_item++; g_mutex_unlock( task->mutex ); /* g_debug( "move \"%s\" to \"%s\"\n", src_file, dest_file ); */ if ( lstat64( src_file, &file_stat ) == -1 ) { vfs_file_task_error( task, errno, _("Accessing"), src_file ); return 0; } if ( should_abort( task ) ) return 0; if ( S_ISDIR( file_stat.st_mode ) && check_dest_in_src( task, src_file ) ) return 0; if ( ! check_overwrite( task, dest_file, &dest_exists, &new_dest_file ) ) return 0; if ( new_dest_file ) { dest_file = new_dest_file; g_mutex_lock( task->mutex ); string_copy_free( &task->current_dest, dest_file ); g_mutex_unlock( task->mutex ); } if ( S_ISDIR( file_stat.st_mode ) && g_file_test( dest_file, G_FILE_TEST_IS_DIR ) ) { // moving a directory onto a directory that exists error = NULL; dir = g_dir_open( src_file, 0, &error ); if ( dir ) { const gchar* file_name; gchar* sub_src_file; gchar* sub_dest_file; while ( ( file_name = g_dir_read_name( dir ) ) ) { if ( should_abort( task ) ) break; sub_src_file = g_build_filename( src_file, file_name, NULL ); sub_dest_file = g_build_filename( dest_file, file_name, NULL ); vfs_file_task_do_move( task, sub_src_file, sub_dest_file ); g_free( sub_dest_file ); g_free( sub_src_file ); } g_dir_close( dir ); // remove moved src dir if empty if ( !should_abort( task ) ) rmdir( src_file ); } else if ( error ) { char* msg = g_strdup_printf( "\n%s\n", error->message ); g_error_free( error ); vfs_file_task_exec_error( task, 0, msg ); g_free( msg ); } return 0; } result = rename( src_file, dest_file ); if ( result != 0 ) { if ( result == -1 && errno == EXDEV ) //MOD Invalid cross-link device return 18; vfs_file_task_error( task, errno, _("Renaming"), src_file ); if ( should_abort( task ) ) { g_free( new_dest_file ); return 0; } } //MOD don't chmod link else if ( ! g_file_test( dest_file, G_FILE_TEST_IS_SYMLINK ) ) chmod( dest_file, file_stat.st_mode ); g_mutex_lock( task->mutex ); task->progress += file_stat.st_size; if ( task->error_first ) task->error_first = FALSE; g_mutex_unlock( task->mutex ); if ( new_dest_file ) g_free( new_dest_file ); return 0; } static void vfs_file_task_move( char* src_file, VFSFileTask* task ) { struct stat64 src_stat; struct stat64 dest_stat; gchar* file_name; gchar* dest_file; GKeyFile* kf; /* for trash info */ int tmpfd = -1; if ( should_abort( task ) ) return ; g_mutex_lock( task->mutex ); string_copy_free( &task->current_file, src_file ); g_mutex_unlock( task->mutex ); file_name = g_path_get_basename( src_file ); if( task->type == VFS_FILE_TASK_TRASH ) { dest_file = g_strconcat( task->dest_dir, "/", file_name, "XXXXXX", NULL ); tmpfd = mkstemp( dest_file ); if( tmpfd < 0 ) { goto on_error; } g_debug( dest_file, NULL ); } else dest_file = g_build_filename( task->dest_dir, file_name, NULL ); g_free(file_name ); if ( lstat64( src_file, &src_stat ) == 0 && stat64( task->dest_dir, &dest_stat ) == 0 ) { /* Not on the same device */ if ( src_stat.st_dev != dest_stat.st_dev ) { /* g_print("not on the same dev: %s\n", src_file); */ vfs_file_task_do_copy( task, src_file, dest_file ); } /* else if ( S_ISDIR( src_stat.st_mode ) && g_file_test( dest_file, G_FILE_TEST_IS_DIR) ) { // moving a directory onto a directory that exists } */ else { /* g_print("on the same dev: %s\n", src_file); */ if ( vfs_file_task_do_move( task, src_file, dest_file ) == EXDEV ) //MOD { //MOD Invalid cross-device link (st_dev not always accurate test) // so now redo move as copy vfs_file_task_do_copy( task, src_file, dest_file ); } } } else vfs_file_task_error( task, errno, _("Accessing"), src_file ); on_error: if( tmpfd >= 0 ) { close( tmpfd ); unlink( dest_file ); } g_free(dest_file ); } static void vfs_file_task_delete( char* src_file, VFSFileTask* task ) { GDir * dir; const gchar* file_name; gchar* sub_src_file; struct stat64 file_stat; int result; GError *error; if ( should_abort( task ) ) return ; g_mutex_lock( task->mutex ); string_copy_free( &task->current_file, src_file ); task->current_item++; g_mutex_unlock( task->mutex ); if ( lstat64( src_file, &file_stat ) == -1 ) { vfs_file_task_error( task, errno, _("Accessing"), src_file ); return; } if ( S_ISDIR( file_stat.st_mode ) ) { error = NULL; dir = g_dir_open( src_file, 0, &error ); if ( dir ) { while ( (file_name = g_dir_read_name( dir )) ) { if ( should_abort( task ) ) break; sub_src_file = g_build_filename( src_file, file_name, NULL ); vfs_file_task_delete( sub_src_file, task ); g_free(sub_src_file ); } g_dir_close( dir ); } else if ( error ) { char* msg = g_strdup_printf( "\n%s\n", error->message ); g_error_free( error ); vfs_file_task_exec_error( task, 0, msg ); g_free( msg ); } if ( should_abort( task ) ) return ; result = rmdir( src_file ); if ( result != 0 ) { vfs_file_task_error( task, errno, _("Removing"), src_file ); return ; } } else { result = unlink( src_file ); if ( result != 0 ) { vfs_file_task_error( task, errno, _("Removing"), src_file ); return ; } } g_mutex_lock( task->mutex ); task->progress += file_stat.st_size; if ( task->error_first ) task->error_first = FALSE; g_mutex_unlock( task->mutex ); } static void vfs_file_task_link( char* src_file, VFSFileTask* task ) { struct stat64 src_stat; int result; gchar* old_dest_file; gchar* dest_file; gchar* file_name; gboolean dest_exists; //MOD char* new_dest_file = NULL; //MOD if ( should_abort( task ) ) return ; file_name = g_path_get_basename( src_file ); old_dest_file = g_build_filename( task->dest_dir, file_name, NULL ); g_free(file_name ); dest_file = old_dest_file; //MOD setup task for check overwrite if ( should_abort( task ) ) return ; g_mutex_lock( task->mutex ); string_copy_free( &task->current_file, src_file ); string_copy_free( &task->current_dest, old_dest_file ); task->current_item++; g_mutex_unlock( task->mutex ); if ( stat64( src_file, &src_stat ) == -1 ) { //MOD allow link to broken symlink if ( errno != 2 || ! g_file_test( src_file, G_FILE_TEST_IS_SYMLINK ) ) //MOD { vfs_file_task_error( task, errno, _("Accessing"), src_file ); if ( should_abort( task ) ) return ; } } /* FIXME: Check overwrite!! */ //MOD added check overwrite if ( ! check_overwrite( task, dest_file, &dest_exists, &new_dest_file ) ) return; if ( new_dest_file ) { dest_file = new_dest_file; g_mutex_lock( task->mutex ); string_copy_free( &task->current_dest, dest_file ); g_mutex_unlock( task->mutex ); } //MOD if dest exists, delete it first to prevent exists error if ( dest_exists ) { result = unlink( dest_file ); if ( result ) { vfs_file_task_error( task, errno, _("Removing"), dest_file ); return; } } result = symlink( src_file, dest_file ); if ( result ) { vfs_file_task_error( task, errno, _("Creating Link"), dest_file ); if ( should_abort( task ) ) return ; } g_mutex_lock( task->mutex ); task->progress += src_stat.st_size; if ( task->error_first ) task->error_first = FALSE; g_mutex_unlock( task->mutex ); if ( new_dest_file ) g_free( new_dest_file ); g_free( old_dest_file ); } static void vfs_file_task_chown_chmod( char* src_file, VFSFileTask* task ) { struct stat64 src_stat; int i; GDir* dir; gchar* sub_src_file; const gchar* file_name; mode_t new_mode; int result; GError* error; if( should_abort( task ) ) return ; g_mutex_lock( task->mutex ); string_copy_free( &task->current_file, src_file ); task->current_item++; g_mutex_unlock( task->mutex ); /* g_debug("chmod_chown: %s\n", src_file); */ if ( lstat64( src_file, &src_stat ) == 0 ) { /* chown */ if ( task->uid != -1 || task->gid != -1 ) { result = chown( src_file, task->uid, task->gid ); if ( result != 0 ) { vfs_file_task_error( task, errno, "chown", src_file ); if ( should_abort( task ) ) return ; } } /* chmod */ if ( task->chmod_actions ) { new_mode = src_stat.st_mode; for ( i = 0; i < N_CHMOD_ACTIONS; ++i ) { if ( task->chmod_actions[ i ] == 2 ) /* Don't change */ continue; if ( task->chmod_actions[ i ] == 0 ) /* Remove this bit */ new_mode &= ~chmod_flags[ i ]; else /* Add this bit */ new_mode |= chmod_flags[ i ]; } if ( new_mode != src_stat.st_mode ) { result = chmod( src_file, new_mode ); if ( result != 0 ) { vfs_file_task_error( task, errno, "chmod", src_file ); if ( should_abort( task ) ) return ; } } } g_mutex_lock( task->mutex ); task->progress += src_stat.st_size; g_mutex_unlock( task->mutex ); if ( task->avoid_changes ) update_file_display( src_file ); if ( S_ISDIR( src_stat.st_mode ) && task->recursive ) { error = NULL; dir = g_dir_open( src_file, 0, &error ); if ( dir ) { while ( (file_name = g_dir_read_name( dir )) ) { if ( should_abort( task ) ) break; sub_src_file = g_build_filename( src_file, file_name, NULL ); vfs_file_task_chown_chmod( sub_src_file, task ); g_free(sub_src_file ); } g_dir_close( dir ); } else if ( error ) { char* msg = g_strdup_printf( "\n%s\n", error->message ); g_error_free( error ); vfs_file_task_exec_error( task, 0, msg ); g_free( msg ); if ( should_abort( task ) ) return ; } else { vfs_file_task_error( task, errno, _("Accessing"), src_file ); if ( should_abort( task ) ) return ; } } } if ( task->error_first ) task->error_first = FALSE; } char* vfs_file_task_get_cpids( GPid pid ) { // get child pids recursively as multi-line string char* nl; char* pids; char* pida; GPid pidi; char* stdout = NULL; char* cpids; char* gcpids; char* old_cpids; if ( !pid ) return NULL; char* command = g_strdup_printf( "/bin/ps h --ppid %d -o pid", pid ); gboolean ret = g_spawn_command_line_sync( command, &stdout, NULL, NULL, NULL ); g_free(command ); if ( ret && stdout && stdout[0] != '\0' && strchr( stdout, '\n' ) ) { cpids = g_strdup( stdout ); // get grand cpids recursively pids = stdout; while ( nl = strchr( pids, '\n' ) ) { nl[0] = '\0'; pida = g_strdup( pids ); nl[0] = '\n'; pids = nl + 1; pidi = atoi( pida ); g_free(pida ); if ( pidi ) { if ( gcpids = vfs_file_task_get_cpids( pidi ) ) { old_cpids = cpids; cpids = g_strdup_printf( "%s%s", old_cpids, gcpids ); g_free(old_cpids ); g_free(gcpids ); } } } g_free(stdout ); //printf("vfs_file_task_get_cpids %d\n[\n%s]\n", pid, cpids ); return cpids; } if ( stdout ) g_free(stdout ); return NULL; } void vfs_file_task_kill_cpids( char* cpids, int signal ) { char* nl; char* pids; char* pida; GPid pidi; if ( !signal || !cpids || cpids[0] == '\0' ) return; pids = cpids; while ( nl = strchr( pids, '\n' ) ) { nl[0] = '\0'; pida = g_strdup( pids ); nl[0] = '\n'; pids = nl + 1; pidi = atoi( pida ); g_free(pida ); if ( pidi ) { //printf("KILL_CPID %d %d\n", pidi, signal ); kill( pidi, signal ); } } } static void cb_exec_child_cleanup( GPid pid, gint status, char* tmp_file ) { // delete tmp files after async task terminates //printf("cb_exec_child_cleanup pid=%d status=%d file=%s\n", pid, status, tmp_file ); g_spawn_close_pid( pid ); if ( tmp_file ) { unlink( tmp_file ); g_free( tmp_file ); } printf("async child finished pid=%d\n", pid ); //printf("cb_exec_child_cleanup DONE\n", pid, status); } static void cb_exec_child_watch( GPid pid, gint status, VFSFileTask* task ) { gboolean bad_status = FALSE; g_spawn_close_pid( pid ); task->exec_pid = 0; task->child_watch = 0; if ( status ) { if ( WIFEXITED( status ) ) task->exec_exit_status = WEXITSTATUS( status ); else { bad_status = TRUE; task->exec_exit_status = -1; } } else task->exec_exit_status = 0; if ( !task->exec_keep_tmp ) { if ( task->exec_script ) unlink( task->exec_script ); } printf("child finished pid=%d exit_status=%d\n", pid, bad_status ? -1 : task->exec_exit_status ); if ( !task->exec_exit_status && !bad_status ) { if ( !task->custom_percent ) task->percent = 100; } else call_state_callback( task, VFS_FILE_TASK_ERROR ); if ( bad_status || ( !task->exec_channel_out && !task->exec_channel_err ) ) call_state_callback( task, VFS_FILE_TASK_FINISH ); } static gboolean cb_exec_out_watch( GIOChannel *channel, GIOCondition cond, VFSFileTask* task ) { /* printf("cb_exec_out_watch %p\n", channel); if ( cond & G_IO_IN ) printf(" G_IO_IN\n"); if ( cond & G_IO_OUT ) printf(" G_IO_OUT\n"); if ( cond & G_IO_PRI ) printf(" G_IO_PRI\n"); if ( cond & G_IO_ERR ) printf(" G_IO_ERR\n"); if ( cond & G_IO_HUP ) printf(" G_IO_HUP\n"); if ( cond & G_IO_NVAL ) printf(" G_IO_NVAL\n"); if ( !( cond & G_IO_NVAL ) ) { gint fd = g_io_channel_unix_get_fd( channel ); printf(" fd=%d\n", fd); if ( fcntl(fd, F_GETFL) != -1 || errno != EBADF ) { int flags = g_io_channel_get_flags( channel ); if ( flags & G_IO_FLAG_IS_READABLE ) printf( " G_IO_FLAG_IS_READABLE\n"); } else printf(" Invalid FD\n"); } */ gchar *line; gsize size; GtkTextIter iter; if ( ( cond & G_IO_NVAL ) ) { g_io_channel_unref( channel ); return FALSE; } else if ( !( cond & G_IO_IN ) ) { if ( ( cond & G_IO_HUP ) ) goto _unref_channel; else return TRUE; } else if ( !( fcntl( g_io_channel_unix_get_fd( channel ), F_GETFL ) != -1 || errno != EBADF ) ) { // bad file descriptor - occurs with stop on fast output goto _unref_channel; } //GError *error = NULL; gchar buf[2048]; if ( g_io_channel_read_chars( channel, buf, sizeof( buf ), &size, NULL ) == G_IO_STATUS_NORMAL && size > 0 ) { //gtk_text_buffer_get_iter_at_mark( task->exec_err_buf, &iter, // task->exec_mark_end ); if ( task->exec_type == VFS_EXEC_UDISKS && task->exec_show_error //prevent progress_cb opening taskmanager && g_strstr_len( buf, size, "ount failed:" ) ) { // bug in udisks - exit status not set if ( size > 81 && !strncmp( buf, "Mount failed: Error mounting: mount exited with exit code 1: helper failed with:\n", 81 ) ) //cleanup output - useless line //gtk_text_buffer_insert( task->exec_err_buf, &iter, buf + 81, size - 81 ); append_add_log( task, buf + 81, size - 81 ); else //gtk_text_buffer_insert( task->exec_err_buf, &iter, buf, size ); append_add_log( task, buf, size ); call_state_callback( task, VFS_FILE_TASK_ERROR ); } else // no error //gtk_text_buffer_insert( task->exec_err_buf, &iter, buf, size ); append_add_log( task, buf, size ); //task->err_count++; //notify of new output - does not indicate error for exec } else printf("cb_exec_out_watch: g_io_channel_read_chars != G_IO_STATUS_NORMAL\n"); /* // this hangs ???? GError *error = NULL; gchar* buf; printf("g_io_channel_read_to_end\n"); if ( g_io_channel_read_to_end( channel, &buf, &size, &error ) == G_IO_STATUS_NORMAL ) { gtk_text_buffer_get_iter_at_mark( task->exec_err_buf, &iter, task->exec_mark_end ); gtk_text_buffer_insert( task->exec_err_buf, &iter, buf, size ); g_free(buf ); task->err_count++; task->ticks = 10000; } else printf("cb_exec_out_watch: g_io_channel_read_to_end != G_IO_STATUS_NORMAL\n"); printf("g_io_channel_read_to_end DONE\n"); */ /* // this works except that it blocks when a linefeed is not in buffer // eg echo -n aaaa unless NONBLOCK set if ( g_io_channel_read_line( channel, &line, &size, NULL, NULL ) == G_IO_STATUS_NORMAL ) { //printf(" line=%s", line ); gtk_text_buffer_get_iter_at_mark( task->exec_err_buf, &iter, task->exec_mark_end ); if ( task->exec_type == VFS_EXEC_UDISKS && strstr( line, "ount failed:" ) ) { // bug in udisks - exit status not set call_state_callback( task, VFS_FILE_TASK_ERROR ); if ( !strstr( line, "helper failed with:" ) ) //cleanup udisks output gtk_text_buffer_insert( task->exec_err_buf, &iter, line, -1 ); } else gtk_text_buffer_insert( task->exec_err_buf, &iter, line, -1 ); g_free(line ); task->err_count++; //signal new output task->ticks = 10000; } else printf("cb_exec_out_watch: g_io_channel_read_line != G_IO_STATUS_NORMAL\n"); */ // don't enable this or last lines are lost //if ( ( cond & G_IO_HUP ) ) // put here in case both G_IO_IN and G_IO_HUP // goto _unref_channel; return TRUE; _unref_channel: g_io_channel_unref( channel ); if ( channel == task->exec_channel_out ) task->exec_channel_out = 0; else if ( channel == task->exec_channel_err ) task->exec_channel_err = 0; if ( !task->exec_channel_out && !task->exec_channel_err && !task->exec_pid ) call_state_callback( task, VFS_FILE_TASK_FINISH ); return FALSE; } char* get_sha256sum( char* path ) { char* sha256sum = g_find_program_in_path( "/usr/bin/sha256sum" ); if ( !sha256sum ) { g_warning( _("Please install /usr/bin/sha256sum so I can improve your security while running root commands\n") ); return NULL; } char* stdout; char* sum; char* cmd = g_strdup_printf( "%s %s", sha256sum, path ); if ( g_spawn_command_line_sync( cmd, &stdout, NULL, NULL, NULL ) ) { sum = g_strndup( stdout, 64 ); g_free( stdout ); if ( strlen( sum ) != 64 ) { g_free( sum ); sum = NULL; } } g_free( cmd ); return sum; } void vfs_file_task_exec_error( VFSFileTask* task, int errnox, char* action ) { char* msg; if ( errnox ) msg = g_strdup_printf( "%s\n%s\n", action, g_strerror( errnox ) ); else msg = g_strdup_printf( "%s\n", action ); append_add_log( task, msg, -1 ); g_free( msg ); call_state_callback( task, VFS_FILE_TASK_ERROR ); } static void vfs_file_task_exec( char* src_file, VFSFileTask* task ) { // this function is now thread safe but is not currently run in // another thread because gio adds watches to main loop thread anyway char* su = NULL; char* gsu = NULL; char* str; const char* tmp; char* hex8; char* hexname; int result; FILE* file; char* terminal = NULL; char** terminalv = NULL; const char* value; char* sum_script = NULL; GtkWidget* parent = NULL; gboolean success; int i; char buf[ PATH_MAX + 1 ]; //printf("vfs_file_task_exec\n"); //task->exec_keep_tmp = TRUE; g_mutex_lock( task->mutex ); value = task->current_dest; // variable value temp storage task->current_dest = NULL; if ( task->exec_browser ) parent = gtk_widget_get_toplevel( task->exec_browser ); else if ( task->exec_desktop ) parent = gtk_widget_get_toplevel( task->exec_desktop ); task->state = VFS_FILE_TASK_RUNNING; string_copy_free( &task->current_file, src_file ); task->total_size = 0; task->percent = 0; g_mutex_unlock( task->mutex ); if ( should_abort( task ) ) return; // need su? if ( task->exec_as_user ) { if ( geteuid() == 0 && !strcmp( task->exec_as_user, "root" ) ) { // already root so no su g_free( task->exec_as_user ); task->exec_as_user = NULL; } else { // get su programs su = get_valid_su(); if ( !su ) { str = _("Please configure a valid Terminal SU command in View|Preferences|Advanced"); g_warning ( str, NULL ); // do not use xset_msg_dialog if non-main thread //vfs_file_task_exec_error( task, 0, str ); xset_msg_dialog( parent, GTK_MESSAGE_ERROR, _("Terminal SU Not Available"), NULL, 0, str, NULL, NULL ); goto _exit_with_error_lean; } gsu = get_valid_gsu(); if ( !gsu ) { str = _("Please configure a valid Graphical SU command in View|Preferences|Advanced"); g_warning ( str, NULL ); // do not use xset_msg_dialog if non-main thread //vfs_file_task_exec_error( task, 0, str ); xset_msg_dialog( parent, GTK_MESSAGE_ERROR, _("Graphical SU Not Available"), NULL, 0, str, NULL, NULL ); goto _exit_with_error_lean; } } } // make tmpdir if ( geteuid() != 0 && task->exec_as_user && !strcmp( task->exec_as_user, "root" ) ) tmp = xset_get_shared_tmp_dir(); else tmp = xset_get_user_tmp_dir(); if ( !tmp || ( tmp && !g_file_test( tmp, G_FILE_TEST_IS_DIR ) ) ) { str = _("Cannot create temporary directory"); g_warning ( str, NULL ); // do not use xset_msg_dialog if non-main thread //vfs_file_task_exec_error( task, 0, str ); xset_msg_dialog( parent, GTK_MESSAGE_ERROR, _("Error"), NULL, 0, str, NULL, NULL ); goto _exit_with_error_lean; } // get terminal if needed if ( !task->exec_terminal && task->exec_as_user ) { if ( !strcmp( gsu, "/bin/su" ) || !strcmp( gsu, "/usr/bin/sudo" ) ) { // using a non-GUI gsu so run in terminal if ( su ) g_free( su ); su = strdup( gsu ); task->exec_terminal = TRUE; } } if ( task->exec_terminal ) { // get terminal str = g_strdup( xset_get_s( "main_terminal" ) ); g_strstrip( str ); terminalv = g_strsplit( str, " ", 0 ); g_free( str ); if ( terminalv && terminalv[0] && terminalv[0][0] != '\0' ) terminal = g_find_program_in_path( terminalv[0] ); if ( !( terminal && terminal[0] == '/' ) ) { str = _("Please set a valid terminal program in View|Preferences|Advanced"); g_warning ( str, NULL ); // do not use xset_msg_dialog if non-main thread //vfs_file_task_exec_error( task, 0, str ); xset_msg_dialog( parent, GTK_MESSAGE_ERROR, _("Terminal Not Available"), NULL, 0, str, NULL, NULL ); goto _exit_with_error_lean; } // resolve x-terminal-emulator link (may be recursive link) else if ( strstr( terminal, "x-terminal-emulator" ) && realpath( terminal, buf ) != NULL ) { g_free( terminal ); g_free( terminalv[0] ); terminal = g_strdup( buf ); terminalv[0] = g_strdup( buf ); } } // Build exec script if ( !task->exec_direct ) { // get script name do { if ( task->exec_script ) g_free( task->exec_script ); hex8 = randhex8(); hexname = g_strdup_printf( "%s-tmp.sh", hex8 ); task->exec_script = g_build_filename( tmp, hexname, NULL ); g_free( hexname ); g_free( hex8 ); } while ( g_file_test( task->exec_script, G_FILE_TEST_EXISTS ) ); // open file file = fopen( task->exec_script, "w" ); if ( !file ) goto _exit_with_error; // build - header result = fprintf( file, "#!%s\n#\n# Temporary SpaceFM exec script - it is safe to delete this file\n\n", BASHPATH ); if ( result < 0 ) goto _exit_with_error; // build - exports if ( task->exec_export && ( task->exec_browser || task->exec_desktop ) ) { if ( task->exec_browser ) success = main_write_exports( task, value, file ); else #ifdef DESKTOP_INTEGRATION success = desktop_write_exports( task, value, file ); #else success = FALSE; #endif if ( !success ) goto _exit_with_error; } else { if ( task->exec_export && !task->exec_browser && !task->exec_desktop ) { task->exec_export = FALSE; g_warning( "exec_export set without exec_browser/exec_desktop" ); } } // build - run result = fprintf( file, "# run\n\nif [ \"$1\" == \"run\" ]; then\n\n" ); if ( result < 0 ) goto _exit_with_error; // build - write root settings if ( task->exec_write_root && geteuid() != 0 ) { const char* this_user = g_get_user_name(); if ( this_user && this_user[0] != '\0' ) { char* root_set_path= g_strdup_printf( "%s/spacefm/%s-as-root", SYSCONFDIR, this_user ); write_root_settings( file, root_set_path ); g_free( root_set_path ); //g_free( this_user ); DON'T } else { char* root_set_path= g_strdup_printf( "%s/spacefm/%d-as-root", SYSCONFDIR, geteuid() ); write_root_settings( file, root_set_path ); g_free( root_set_path ); } } // build - export vars if ( task->exec_export ) result = fprintf( file, "export fm_import='source %s'\n", task->exec_script ); else result = fprintf( file, "export fm_import=''\n" ); if ( result < 0 ) goto _exit_with_error; result = fprintf( file, "export fm_source='%s'\n\n", task->exec_script ); if ( result < 0 ) goto _exit_with_error; // build - trap rm /* These terminals provide no option to start a new instance, child * exit occurs immediately so can't delete tmp files. So keep files * and let trap delete on exit. * These terminals will not work properly with Run As Task. * ! WHEN CHANGING THIS LIST, also see similar checks in pref-dialog.c * and ptk-location-view.c. * Note for konsole: if you create a link to it and execute the * link, it will start a new instance (might also work for lxterminal?) * http://www.linuxjournal.com/content/start-and-control-konsole-dbus * * gnome-terminal removed --disable-factory option as of 3.10 * https://github.com/IgnorantGuru/spacefm/issues/428 */ if ( !task->exec_keep_tmp && terminal && ( strstr( terminal, "lxterminal" ) || strstr( terminal, "urxvtc" ) || // sure no option avail? strstr( terminal, "konsole" ) || strstr( terminal, "gnome-terminal" ) ) ) /* when changing this list adjust also * ptk-location-view.c:ptk_location_view_mount_network() * pref-dialog.c Line ~777 */ { result = fprintf( file, "trap \"rm -f %s; exit\" EXIT SIGINT SIGTERM SIGQUIT SIGHUP\n\n", task->exec_script ); if ( result < 0 ) goto _exit_with_error; task->exec_keep_tmp = TRUE; } else if ( !task->exec_keep_tmp && geteuid() != 0 && task->exec_as_user && !strcmp( task->exec_as_user, "root" ) ) { // run as root command, clean up result = fprintf( file, "trap \"rm -f %s; exit\" EXIT SIGINT SIGTERM SIGQUIT SIGHUP\n\n", task->exec_script ); if ( result < 0 ) goto _exit_with_error; } // build - command printf("\nTASK_COMMAND(%p)=%s\n", task->exec_ptask, task->exec_command ); result = fprintf( file, "%s\nfm_err=$?\n", task->exec_command ); if ( result < 0 ) goto _exit_with_error; // build - press enter to close if ( terminal && task->exec_keep_terminal ) { if ( geteuid() == 0 || ( task->exec_as_user && !strcmp( task->exec_as_user, "root" ) ) ) result = fprintf( file, "\necho\necho -n '%s: '\nread s", "[ Finished ] Press Enter to close" ); else { result = fprintf( file, "\necho\necho -n '%s: '\nread s\nif [ \"$s\" = 's' ]; then\n if [ \"$(whoami)\" = \"root\" ]; then\n echo\n echo '[ %s ]'\n fi\n echo\n %s\nfi\n\n", "[ Finished ] Press Enter to close or s + Enter for a shell", "You are ROOT", BASHPATH ); } if ( result < 0 ) goto _exit_with_error; } result = fprintf( file, "\nexit $fm_err\nfi\n" ); if ( result < 0 ) goto _exit_with_error; // close file result = fclose( file ); file = NULL; if ( result ) goto _exit_with_error; // set permissions if ( task->exec_as_user && strcmp( task->exec_as_user, "root" ) ) // run as a non-root user chmod( task->exec_script, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH ); else // run as self or as root chmod( task->exec_script, S_IRWXU ); // use checksum if ( geteuid() != 0 && ( task->exec_as_user || task->exec_checksum ) ) sum_script = get_sha256sum( task->exec_script ); } task->percent = 50; // Spawn GPid pid; gchar *argv[35]; gint out, err; int a = 0; char* use_su; gboolean single_arg = FALSE; char* auth = NULL; if ( terminal ) { // terminal argv[a++] = terminal; // terminal options - add <=9 options for ( i = 0; terminalv[i]; i++ ) { if ( i == 0 || a > 9 || terminalv[i][0] == '\0' ) g_free( terminalv[i] ); else argv[a++] = terminalv[i]; // steal } g_free( terminalv ); // all strings freed or stolen terminalv = NULL; // automatic terminal options if ( strstr( terminal, "roxterm" ) ) { argv[a++] = g_strdup_printf( "--disable-sm" ); argv[a++] = g_strdup_printf( "--separate" ); } else if ( strstr( terminal, "lilyterm" ) ) argv[a++] = g_strdup_printf( "--separate" ); else if ( strstr( terminal, "xfce4-terminal" ) || g_str_has_suffix( terminal, "/terminal" ) ) argv[a++] = g_strdup_printf( "--disable-server" ); // add option to execute command in terminal if ( strstr( terminal, "xfce4-terminal" ) || strstr( terminal, "gnome-terminal" ) || strstr( terminal, "terminator" ) || g_str_has_suffix( terminal, "/terminal" ) ) // xfce argv[a++] = g_strdup( "-x" ); else if ( strstr( terminal, "sakura" ) ) { argv[a++] = g_strdup( "-x" ); single_arg = TRUE; } else /* Note: Some terminals accept multiple arguments to -e, whereas * others needs the entire command quoted and passed as a single * argument to -e. SpaceFM uses spacefm-auth to run commands, * so only a single argument is ever used as the command. */ argv[a++] = g_strdup( "-e" ); use_su = su; } else use_su = gsu; if ( task->exec_as_user ) { // su argv[a++] = g_strdup( use_su ); if ( strcmp( task->exec_as_user, "root" ) ) { if ( !strcmp( use_su, "/usr/bin/su-to-root" ) ) argv[a++] = g_strdup( "-p" ); else if ( strcmp( use_su, "/bin/su" ) ) argv[a++] = g_strdup( "-u" ); argv[a++] = g_strdup( task->exec_as_user ); } if ( !strcmp( use_su, "/usr/bin/gksu" ) || !strcmp( use_su, "/usr/bin/gksudo" ) ) { // gksu* argv[a++] = g_strdup( "-g" ); argv[a++] = g_strdup( "-D" ); argv[a++] = g_strdup( "SpaceFM Command" ); single_arg = TRUE; } else if ( strstr( use_su, "kdesu" ) ) { // kdesu kdesudo argv[a++] = g_strdup( "-d" ); argv[a++] = g_strdup( "-c" ); single_arg = TRUE; } else if ( !strcmp( use_su, "/bin/su" ) ) { // /bin/su argv[a++] = g_strdup( "-s" ); argv[a++] = g_strdup( BASHPATH ); //shell spec argv[a++] = g_strdup( "-c" ); single_arg = TRUE; } else if ( !strcmp( use_su, "/usr/bin/gnomesu" ) || !strcmp( use_su, "/usr/bin/xdg-su" ) ) { // gnomesu argv[a++] = g_strdup( "-c" ); single_arg = TRUE; } else if ( !strcmp( use_su, "/usr/bin/su-to-root" ) ) { // su-to-root if ( !terminal ) argv[a++] = g_strdup( "-X" ); // command is a X11 program argv[a++] = g_strdup( "-c" ); single_arg = TRUE; } } if ( sum_script ) { // spacefm-auth exists? auth = g_find_program_in_path( "spacefm-auth" ); if ( !auth ) { g_free( sum_script ); sum_script = NULL; g_warning( _("spacefm-auth not found in path - this reduces your security") ); } } if ( sum_script && auth ) { // spacefm-auth if ( single_arg ) { argv[a++] = g_strdup_printf( "%s %s%s %s %s", BASHPATH, auth, !g_strcmp0( task->exec_as_user, "root" ) ? " root" : "", task->exec_script, sum_script ); g_free( auth ); } else { argv[a++] = g_strdup( BASHPATH ); argv[a++] = auth; if ( !g_strcmp0( task->exec_as_user, "root" ) ) argv[a++] = g_strdup( "root" ); argv[a++] = g_strdup( task->exec_script ); argv[a++] = g_strdup( sum_script ); } g_free( sum_script ); } else if ( task->exec_direct ) { // add direct args - not currently used if ( single_arg ) { argv[a++] = g_strjoinv( " ", &task->exec_argv[0] ); for ( i = 0; i < 7; i++ ) { if ( !task->exec_argv[i] ) break; g_free( task->exec_argv[i] ); } } else { for ( i = 0; i < 7; i++ ) { if ( !task->exec_argv[i] ) break; argv[a++] = task->exec_argv[i]; } } } else { if ( single_arg ) { argv[a++] = g_strdup_printf( "%s %s run", BASHPATH, task->exec_script ); } else { argv[a++] = g_strdup( BASHPATH ); argv[a++] = g_strdup( task->exec_script ); argv[a++] = g_strdup( "run" ); } } argv[a++] = NULL; if ( su ) g_free( su ); if ( gsu ) g_free( gsu ); printf( "SPAWN=" ); i = 0; while ( argv[i] ) { printf( "%s%s", i == 0 ? "" : " ", argv[i] ); i++; } printf( "\n" ); char* first_arg = g_strdup( argv[0] ); if ( task->exec_sync ) { result = g_spawn_async_with_pipes( task->dest_dir, argv, NULL, G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &pid, NULL, &out, &err, NULL ); } else { result = g_spawn_async_with_pipes( task->dest_dir, argv, NULL, G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &pid, NULL, NULL, NULL, NULL ); } if( !result ) { printf(" result=%d ( %s )\n", errno, g_strerror( errno )); if ( !task->exec_keep_tmp && task->exec_sync ) { if ( task->exec_script ) unlink( task->exec_script ); } str = g_strdup_printf( _("Error executing '%s'\nSee stdout (run spacefm in a terminal) for debug info"), first_arg ); g_free( first_arg ); vfs_file_task_exec_error( task, errno, str ); g_free( str ); call_state_callback( task, VFS_FILE_TASK_FINISH ); return; } else printf( " pid = %d\n", pid ); g_free( first_arg ); if ( !task->exec_sync ) { // catch termination to waitpid and delete tmp if needed // task can be destroyed while this watch is still active g_child_watch_add( pid, (GChildWatchFunc)cb_exec_child_cleanup, !task->exec_keep_tmp && !task->exec_direct && task->exec_script ? g_strdup( task->exec_script ) : NULL ); call_state_callback( task, VFS_FILE_TASK_FINISH ); return; } task->exec_pid = pid; // catch termination (always is run in the main loop thread) task->child_watch = g_child_watch_add( pid, (GChildWatchFunc)cb_exec_child_watch, task ); // create channels for output fcntl( out, F_SETFL,O_NONBLOCK ); fcntl( err, F_SETFL,O_NONBLOCK ); task->exec_channel_out = g_io_channel_unix_new( out ); task->exec_channel_err = g_io_channel_unix_new( err ); g_io_channel_set_close_on_unref( task->exec_channel_out, TRUE ); g_io_channel_set_close_on_unref( task->exec_channel_err, TRUE ); // Add watches to channels // These are run in the main loop thread so use G_PRIORITY_LOW to not // interfere with g_idle_add in vfs-dir/vfs-async-task etc // "Use this for very low priority background tasks. It is not used within // GLib or GTK+." g_io_add_watch_full( task->exec_channel_out, G_PRIORITY_LOW, G_IO_IN | G_IO_HUP | G_IO_NVAL | G_IO_ERR, //want ERR? (GIOFunc)cb_exec_out_watch, task, NULL ); g_io_add_watch_full( task->exec_channel_err, G_PRIORITY_LOW, G_IO_IN | G_IO_HUP | G_IO_NVAL | G_IO_ERR, //want ERR? (GIOFunc)cb_exec_out_watch, task, NULL ); // running task->state = VFS_FILE_TASK_RUNNING; /* enable if this function is not in main loop thread // wait task->exec_cond = g_cond_new(); g_mutex_lock( task->mutex ); g_cond_wait( task->exec_cond, task->mutex ); g_cond_free( task->exec_cond ); task->exec_cond = NULL; g_source_remove( child_watch ); g_mutex_unlock( task->mutex ); */ //printf("vfs_file_task_exec DONE\n"); return; // exit thread // out and err can/should be closed too? _exit_with_error: vfs_file_task_exec_error( task, errno, _("Error writing temporary file") ); if ( file ) fclose( file ); if ( !task->exec_keep_tmp ) { if ( task->exec_script ) unlink( task->exec_script ); } _exit_with_error_lean: g_strfreev( terminalv ); g_free( terminal ); g_free( su ); g_free( gsu ); call_state_callback( task, VFS_FILE_TASK_FINISH ); //printf("vfs_file_task_exec DONE ERROR\n"); } gboolean on_size_timeout( VFSFileTask* task ) { if ( !task->abort ) task->state = VFS_FILE_TASK_SIZE_TIMEOUT; return FALSE; } static gpointer vfs_file_task_thread ( VFSFileTask* task ) //void * vfs_file_task_thread ( void * ptr ) { GList * l; struct stat64 file_stat; dev_t dest_dev = 0; off64_t size; GFunc funcs[] = {( GFunc ) vfs_file_task_move, ( GFunc ) vfs_file_task_copy, ( GFunc ) vfs_file_task_move, /* trash */ ( GFunc ) vfs_file_task_delete, ( GFunc ) vfs_file_task_link, ( GFunc ) vfs_file_task_chown_chmod, ( GFunc ) vfs_file_task_exec}; //VFSFileTask* task = (VFSFileTask*)ptr; if ( task->type < VFS_FILE_TASK_MOVE || task->type >= VFS_FILE_TASK_LAST ) goto _exit_thread; g_mutex_lock( task->mutex ); task->state = VFS_FILE_TASK_RUNNING; string_copy_free( &task->current_file, task->src_paths ? (char*)task->src_paths->data : NULL ); task->total_size = 0; if( task->type == VFS_FILE_TASK_TRASH ) { task->dest_dir = g_build_filename( vfs_get_trash_dir(), "files", NULL ); /* Create the trash dir if it doesn't exist */ if( ! g_file_test( task->dest_dir, G_FILE_TEST_EXISTS ) ) g_mkdir_with_parents( task->dest_dir, 0700 ); } g_mutex_unlock( task->mutex ); if ( task->abort ) goto _exit_thread; /* Calculate total size of all files */ guint size_timeout = 0; if ( task->recursive ) { // start timer to limit the amount of time to spend on this - can be // VERY slow for network filesystems size_timeout = g_timeout_add_seconds( 5, ( GSourceFunc ) on_size_timeout, task ); for ( l = task->src_paths; l; l = l->next ) { if ( lstat64( (char*)l->data, &file_stat ) == -1 ) { // don't report error here since its reported later //vfs_file_task_error( task, errno, _("Accessing"), (char*)l->data ); } else { size = 0; get_total_size_of_dir( task, ( char* ) l->data, &size, &file_stat ); g_mutex_lock( task->mutex ); task->total_size += size; g_mutex_unlock( task->mutex ); } if ( task->abort ) goto _exit_thread; if ( task->state == VFS_FILE_TASK_SIZE_TIMEOUT ) break; } } else if ( task->type != VFS_FILE_TASK_EXEC ) { // start timer to limit the amount of time to spend on this - can be // VERY slow for network filesystems size_timeout = g_timeout_add_seconds( 5, ( GSourceFunc ) on_size_timeout, task ); if ( task->type != VFS_FILE_TASK_CHMOD_CHOWN ) { if ( !( task->dest_dir && stat64( task->dest_dir, &file_stat ) == 0 ) ) { vfs_file_task_error( task, errno, _("Accessing"), task->dest_dir ); task->abort = TRUE; goto _exit_thread; } dest_dev = file_stat.st_dev; } for ( l = task->src_paths; l; l = l->next ) { if ( lstat64( ( char* ) l->data, &file_stat ) == -1 ) { // don't report error here since it's reported later //vfs_file_task_error( task, errno, _("Accessing"), ( char* ) l->data ); } else { /* // sfm why does this code change task->recursive back and forth? if ( S_ISLNK( file_stat.st_mode ) ) // Don't do deep copy for symlinks task->recursive = FALSE; else if ( task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_TRASH ) task->recursive = ( file_stat.st_dev != dest_dev ); else task->recursive = FALSE; if ( task->recursive ) */ if ( ( task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_TRASH ) && file_stat.st_dev != dest_dev ) { // recursive size size = 0; get_total_size_of_dir( task, ( char* ) l->data, &size, &file_stat ); g_mutex_lock( task->mutex ); task->total_size += size; g_mutex_unlock( task->mutex ); } else { g_mutex_lock( task->mutex ); task->total_size += file_stat.st_size; g_mutex_unlock( task->mutex ); } } if ( task->abort ) goto _exit_thread; if ( task->state == VFS_FILE_TASK_SIZE_TIMEOUT ) break; } } if ( task->dest_dir && stat64( task->dest_dir, &file_stat ) != -1 ) add_task_dev( task, file_stat.st_dev ); if ( task->abort ) goto _exit_thread; // cancel the timer if ( size_timeout ) g_source_remove_by_user_data( task ); if ( task->state_pause == VFS_FILE_TASK_QUEUE ) { if ( task->state != VFS_FILE_TASK_SIZE_TIMEOUT && xset_get_b( "task_q_smart" ) ) { // make queue exception for smaller tasks off64_t exlimit; if ( task->type == VFS_FILE_TASK_MOVE || task->type == VFS_FILE_TASK_COPY ) exlimit = 10485760; // 10M else if ( task->type == VFS_FILE_TASK_DELETE || task->type == VFS_FILE_TASK_TRASH ) exlimit = 5368709120; // 5G else exlimit = 0; // always exception for other types if ( !exlimit || task->total_size < exlimit ) task->state_pause = VFS_FILE_TASK_RUNNING; } // device list is populated so signal queue start task->queue_start = TRUE; } if ( task->state == VFS_FILE_TASK_SIZE_TIMEOUT ) { append_add_log( task, _("Timed out calculating total size\n"), -1 ); task->total_size = 0; } task->state = VFS_FILE_TASK_RUNNING; if ( should_abort( task ) ) goto _exit_thread; g_list_foreach( task->src_paths, funcs[ task->type ], task ); _exit_thread: task->state = VFS_FILE_TASK_RUNNING; if ( size_timeout ) g_source_remove_by_user_data( task ); if ( task->state_cb ) { call_state_callback( task, VFS_FILE_TASK_FINISH ); } /* else { // FIXME: Will this cause any problem? task->thread = NULL; vfs_file_task_free( task ); } */ return NULL; } /* * source_files sould be a newly allocated list, and it will be * freed after file operation has been completed */ VFSFileTask* vfs_task_new ( VFSFileTaskType type, GList* src_files, const char* dest_dir ) { VFSFileTask * task; task = g_slice_new0( VFSFileTask ); task->type = type; task->src_paths = src_files; task->dest_dir = g_strdup( dest_dir ); task->current_file = NULL; task->current_dest = NULL; task->recursive = ( task->type == VFS_FILE_TASK_COPY || task->type == VFS_FILE_TASK_DELETE ); task->err_count = 0; task->abort = FALSE; task->error_first = TRUE; task->custom_percent = FALSE; task->exec_type = VFS_EXEC_NORMAL; task->exec_action = NULL; task->exec_command = NULL; task->exec_sync = TRUE; task->exec_popup = FALSE; task->exec_show_output = FALSE; task->exec_show_error = FALSE; task->exec_terminal = FALSE; task->exec_keep_terminal = FALSE; task->exec_export = FALSE; task->exec_direct = FALSE; task->exec_as_user = NULL; task->exec_icon = NULL; task->exec_script = NULL; task->exec_keep_tmp = FALSE; task->exec_browser = NULL; task->exec_desktop = NULL; task->exec_pid = 0; task->child_watch = 0; task->exec_is_error = FALSE; task->exec_scroll_lock = FALSE; task->exec_write_root = FALSE; task->exec_checksum = FALSE; task->exec_set = NULL; task->exec_cond = NULL; task->exec_ptask = NULL; task->pause_cond = NULL; task->state_pause = VFS_FILE_TASK_RUNNING; task->queue_start = FALSE; task->devs = NULL; task->mutex = g_mutex_new(); GtkTextIter iter; task->add_log_buf = gtk_text_buffer_new( NULL ); task->add_log_end = gtk_text_mark_new( NULL, FALSE ); gtk_text_buffer_get_end_iter( task->add_log_buf, &iter); gtk_text_buffer_add_mark( task->add_log_buf, task->add_log_end, &iter ); task->start_time = time( NULL ); task->last_speed = 0; task->last_progress = 0; task->current_item = 0; task->timer = g_timer_new(); task->last_elapsed = 0; return task; } /* Set some actions for chmod, this array will be copied * and stored in VFSFileTask */ void vfs_file_task_set_chmod( VFSFileTask* task, guchar* chmod_actions ) { task->chmod_actions = g_slice_alloc( sizeof( guchar ) * N_CHMOD_ACTIONS ); memcpy( ( void* ) task->chmod_actions, ( void* ) chmod_actions, sizeof( guchar ) * N_CHMOD_ACTIONS ); } void vfs_file_task_set_chown( VFSFileTask* task, uid_t uid, gid_t gid ) { task->uid = uid; task->gid = gid; } void vfs_file_task_run ( VFSFileTask* task ) { if ( task->type != VFS_FILE_TASK_EXEC ) { #ifdef HAVE_HAL task->avoid_changes = FALSE; #else if ( task->type == VFS_FILE_TASK_CHMOD_CHOWN && task->src_paths->data ) { char* dir = g_path_get_dirname( (char*)task->src_paths->data ); task->avoid_changes = vfs_volume_dir_avoid_changes( dir ); g_free( dir ); } else task->avoid_changes = vfs_volume_dir_avoid_changes( task->dest_dir ); #endif task->thread = g_thread_create( ( GThreadFunc ) vfs_file_task_thread, task, TRUE, NULL ); //task->thread = g_thread_create_full( ( GThreadFunc ) vfs_file_task_thread, // task, 0, TRUE, TRUE, G_THREAD_PRIORITY_NORMAL, NULL ); //pthread_t tid; //task->thread = pthread_create( &tid, NULL, vfs_file_task_thread, task ); } else { // don't use another thread for exec since gio adds watches to main // loop thread anyway task->thread = NULL; vfs_file_task_exec( (char*)task->src_paths->data, task ); } } void vfs_file_task_try_abort ( VFSFileTask* task ) { task->abort = TRUE; if ( task->pause_cond ) { g_mutex_lock( task->mutex ); g_cond_broadcast( task->pause_cond ); task->last_elapsed = g_timer_elapsed( task->timer, NULL ); task->last_progress = task->progress; task->last_speed = 0; g_mutex_unlock( task->mutex ); } else { g_mutex_lock( task->mutex ); task->last_elapsed = g_timer_elapsed( task->timer, NULL ); task->last_progress = task->progress; task->last_speed = 0; g_mutex_unlock( task->mutex ); } task->state_pause = VFS_FILE_TASK_RUNNING; } void vfs_file_task_abort ( VFSFileTask* task ) { task->abort = TRUE; /* Called from another thread */ if ( task->thread && g_thread_self() != task->thread && task->type != VFS_FILE_TASK_EXEC ) { g_thread_join( task->thread ); task->thread = NULL; } } void vfs_file_task_free ( VFSFileTask* task ) { if ( task->src_paths ) { g_list_foreach( task->src_paths, ( GFunc ) g_free, NULL ); g_list_free( task->src_paths ); } g_free( task->dest_dir ); g_free( task->current_file ); g_free( task->current_dest ); g_slist_free( task->devs ); if ( task->chmod_actions ) g_slice_free1( sizeof( guchar ) * N_CHMOD_ACTIONS, task->chmod_actions ); if ( task->exec_action ) g_free(task->exec_action ); if ( task->exec_as_user ) g_free(task->exec_as_user ); if ( task->exec_command ) g_free(task->exec_command ); if ( task->exec_script ) g_free(task->exec_script ); g_mutex_free( task->mutex ); gtk_text_buffer_set_text( task->add_log_buf, "", -1 ); g_object_unref( task->add_log_buf ); g_timer_destroy( task->timer ); g_slice_free( VFSFileTask, task ); } void add_task_dev( VFSFileTask* task, dev_t dev ) { dev_t parent = 0; if ( !g_slist_find( task->devs, GUINT_TO_POINTER( dev ) ) ) { #ifndef HAVE_HAL parent = get_device_parent( dev ); #endif //printf("add_task_dev %d:%d\n", major(dev), minor(dev) ); g_mutex_lock( task->mutex ); task->devs = g_slist_append( task->devs, GUINT_TO_POINTER( dev ) ); if ( parent && !g_slist_find( task->devs, GUINT_TO_POINTER( parent ) ) ) { //printf("add_task_dev PARENT %d:%d\n", major(parent), minor(parent) ); task->devs = g_slist_append( task->devs, GUINT_TO_POINTER( parent ) ); } g_mutex_unlock( task->mutex ); } } /* * void get_total_size_of_dir( const char* path, off_t* size ) * Recursively count total size of all files in the specified directory. * If the path specified is a file, the size of the file is directly returned. * cancel is used to cancel the operation. This function will check the value * pointed by cancel in every iteration. If cancel is set to TRUE, the * calculation is cancelled. * NOTE: *size should be set to zero before calling this function. */ void get_total_size_of_dir( VFSFileTask* task, const char* path, off64_t* size, struct stat64* have_stat ) { GDir * dir; const char* name; char* full_path; struct stat64 file_stat; if ( task->abort ) return; if ( have_stat ) file_stat = *have_stat; else if ( lstat64( path, &file_stat ) == -1 ) return; *size += file_stat.st_size; // remember device for smart queue if ( !task->devs ) add_task_dev( task, file_stat.st_dev ); else if ( (uint)file_stat.st_dev != GPOINTER_TO_UINT( task->devs->data ) ) add_task_dev( task, file_stat.st_dev ); // Don't follow symlinks if ( S_ISLNK( file_stat.st_mode ) || !S_ISDIR( file_stat.st_mode ) ) return; dir = g_dir_open( path, 0, NULL ); if ( dir ) { while ( (name = g_dir_read_name( dir )) ) { if ( task->state == VFS_FILE_TASK_SIZE_TIMEOUT || task->abort ) break; full_path = g_build_filename( path, name, NULL ); if ( lstat64( full_path, &file_stat ) != -1 ) { if ( S_ISDIR( file_stat.st_mode ) ) get_total_size_of_dir( task, full_path, size, &file_stat ); else *size += file_stat.st_size; } g_free(full_path ); } g_dir_close( dir ); } } void vfs_file_task_set_recursive( VFSFileTask* task, gboolean recursive ) { task->recursive = recursive; } void vfs_file_task_set_overwrite_mode( VFSFileTask* task, VFSFileTaskOverwriteMode mode ) { task->overwrite_mode = mode; } void vfs_file_task_set_progress_callback( VFSFileTask* task, VFSFileTaskProgressCallback cb, gpointer user_data ) { task->progress_cb = cb; task->progress_cb_data = user_data; } void vfs_file_task_set_state_callback( VFSFileTask* task, VFSFileTaskStateCallback cb, gpointer user_data ) { task->state_cb = cb; task->state_cb_data = user_data; } void vfs_file_task_error( VFSFileTask* task, int errnox, const char* action, const char* target ) { task->error = errnox; char* msg = g_strdup_printf( _("\n%s %s\nError: %s\n"), action, target, g_strerror( errnox ) ); append_add_log( task, msg, -1 ); g_free( msg ); call_state_callback( task, VFS_FILE_TASK_ERROR ); } spacefm-1.0.5/src/vfs/vfs-file-task.h000066400000000000000000000147771264770501700173750ustar00rootroot00000000000000/* * C Interface: vfs-file-task * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2005 * * Copyright: See COPYING file that comes with this distribution * */ #ifndef _VFS_FILE_TASK_H #define _VFS_FILE_TASK_H #include #include #include typedef enum { VFS_FILE_TASK_MOVE = 0, VFS_FILE_TASK_COPY, VFS_FILE_TASK_TRASH, VFS_FILE_TASK_DELETE, VFS_FILE_TASK_LINK, VFS_FILE_TASK_CHMOD_CHOWN, /* These two kinds of operation have lots in common, * so put them together to reduce duplicated disk I/O */ VFS_FILE_TASK_EXEC, //MOD VFS_FILE_TASK_LAST }VFSFileTaskType; typedef enum { OWNER_R = 0, OWNER_W, OWNER_X, GROUP_R, GROUP_W, GROUP_X, OTHER_R, OTHER_W, OTHER_X, SET_UID, SET_GID, STICKY, N_CHMOD_ACTIONS }ChmodActionType; extern const mode_t chmod_flags[]; struct _VFSFileTask; typedef enum { VFS_FILE_TASK_RUNNING, VFS_FILE_TASK_SIZE_TIMEOUT, VFS_FILE_TASK_QUERY_OVERWRITE, VFS_FILE_TASK_ERROR, VFS_FILE_TASK_PAUSE, VFS_FILE_TASK_QUEUE, VFS_FILE_TASK_FINISH }VFSFileTaskState; typedef enum { // do not reposition first four values VFS_FILE_TASK_OVERWRITE, /* Overwrite current dest file / Ask */ VFS_FILE_TASK_OVERWRITE_ALL, /* Overwrite all existing files without prompt */ VFS_FILE_TASK_SKIP_ALL, /* Don't try to overwrite any files */ VFS_FILE_TASK_AUTO_RENAME, /* Assign a new unique name */ VFS_FILE_TASK_SKIP, /* Don't overwrite current file */ VFS_FILE_TASK_RENAME /* Rename file */ }VFSFileTaskOverwriteMode; typedef enum { VFS_EXEC_NORMAL, VFS_EXEC_CUSTOM, VFS_EXEC_UDISKS }VFSExecType; typedef struct _VFSFileTask VFSFileTask; typedef void ( *VFSFileTaskProgressCallback ) ( VFSFileTask* task ); typedef gboolean ( *VFSFileTaskStateCallback ) ( VFSFileTask*, VFSFileTaskState state, gpointer state_data, gpointer user_data ); struct _VFSFileTask { VFSFileTaskType type; GList* src_paths; /* All source files. This list will be freed after file operation is completed. */ char* dest_dir; /* Destinaton directory */ gboolean avoid_changes; GSList* devs; VFSFileTaskOverwriteMode overwrite_mode ; gboolean recursive; /* Apply operation to all files under folders * recursively. This is default to copy/delete, * and should be set manually for chown/chmod. */ /* For chown */ uid_t uid; gid_t gid; /* For chmod */ guchar *chmod_actions; /* If chmod is not needed, this should be NULL */ off64_t total_size; /* Total size of the files to be processed, in bytes */ off64_t progress; /* Total size of current processed files, in btytes */ int percent; /* progress (percentage) */ gboolean custom_percent; time_t start_time; off64_t last_speed; off64_t last_progress; GTimer* timer; gdouble last_elapsed; guint current_item; int err_count; char* current_file; /* copy of Current processed file */ char* current_dest; /* copy of Current destination file */ int error; gboolean error_first; GThread* thread; VFSFileTaskState state; VFSFileTaskState state_pause; gboolean abort; GCond* pause_cond; gboolean queue_start; VFSFileTaskProgressCallback progress_cb; gpointer progress_cb_data; VFSFileTaskStateCallback state_cb; gpointer state_cb_data; GMutex* mutex; //sfm write directly to gtk buffer for speed GtkTextBuffer* add_log_buf; GtkTextMark* add_log_end; //MOD run task VFSExecType exec_type; char* exec_action; char* exec_command; gboolean exec_sync; gboolean exec_popup; gboolean exec_show_output; gboolean exec_show_error; gboolean exec_terminal; gboolean exec_keep_terminal; gboolean exec_export; gboolean exec_direct; char* exec_argv[7]; // for exec_direct, command ignored // for su commands, must use bash -c // as su does not execute binaries char* exec_script; gboolean exec_keep_tmp; // diagnostic to keep temp files gpointer exec_browser; gpointer exec_desktop; char* exec_as_user; char* exec_icon; GPid exec_pid; int exec_exit_status; guint child_watch; gboolean exec_is_error; GIOChannel* exec_channel_out; GIOChannel* exec_channel_err; //GtkTextBuffer* exec_err_buf; //copy from ptk task //GtkTextMark* exec_mark_end; //copy from ptk task gboolean exec_scroll_lock; gboolean exec_write_root; gboolean exec_checksum; gpointer exec_set; GCond* exec_cond; gpointer exec_ptask; }; /* * source_files sould be a newly allocated list, and it will be * freed after file operation has been completed */ VFSFileTask* vfs_task_new ( VFSFileTaskType task_type, GList* src_files, const char* dest_dir ); /* Set some actions for chmod, this array will be copied * and stored in VFSFileTask */ void vfs_file_task_set_chmod( VFSFileTask* task, guchar* chmod_actions ); void vfs_file_task_set_chown( VFSFileTask* task, uid_t uid, gid_t gid ); void vfs_file_task_set_progress_callback( VFSFileTask* task, VFSFileTaskProgressCallback cb, gpointer user_data ); void vfs_file_task_set_state_callback( VFSFileTask* task, VFSFileTaskStateCallback cb, gpointer user_data ); void vfs_file_task_set_recursive( VFSFileTask* task, gboolean recursive ); void vfs_file_task_set_overwrite_mode( VFSFileTask* task, VFSFileTaskOverwriteMode mode ); void vfs_file_task_run ( VFSFileTask* task ); void vfs_file_task_try_abort ( VFSFileTask* task ); void vfs_file_task_abort ( VFSFileTask* task ); void vfs_file_task_free ( VFSFileTask* task ); char* vfs_file_task_get_cpids( GPid pid ); void vfs_file_task_kill_cpids( char* cpids, int signal ); char* vfs_file_task_get_unique_name( const char* dest_dir, const char* base_name, const char* ext ); #endif spacefm-1.0.5/src/vfs/vfs-mime-type.c000066400000000000000000000444761264770501700174160ustar00rootroot00000000000000/* * C Implementation: vfs-mime_type-type * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING file that comes with this distribution * */ #include "vfs-mime-type.h" #include "mime-action.h" #include "vfs-file-monitor.h" #include #include #include #include #include #include #include "glib-mem.h" #include "vfs-utils.h" /* for vfs_load_icon */ static GHashTable *mime_hash = NULL; GStaticRWLock mime_hash_lock = G_STATIC_RW_LOCK_INIT; /* mutex lock is needed */ static guint reload_callback_id = 0; static GList* reload_cb = NULL; static int big_icon_size = 32, small_icon_size = 16; static VFSFileMonitor** mime_caches_monitor = NULL; static guint theme_change_notify = 0; static void on_icon_theme_changed( GtkIconTheme *icon_theme, gpointer user_data ); typedef struct { GFreeFunc cb; gpointer user_data; }VFSMimeReloadCbEnt; static gboolean vfs_mime_type_reload( gpointer user_data ) { GList* l; /* FIXME: process mime database reloading properly. */ /* Remove all items in the hash table */ GDK_THREADS_ENTER(); g_static_rw_lock_writer_lock( &mime_hash_lock ); g_hash_table_foreach_remove ( mime_hash, ( GHRFunc ) gtk_true, NULL ); g_static_rw_lock_writer_unlock( &mime_hash_lock ); g_source_remove( reload_callback_id ); reload_callback_id = 0; /* g_debug( "reload mime-types" ); */ /* call all registered callbacks */ for( l = reload_cb; l; l = l->next ) { VFSMimeReloadCbEnt* ent = (VFSMimeReloadCbEnt*)l->data; ent->cb( ent->user_data ); } GDK_THREADS_LEAVE(); return FALSE; } static void on_mime_cache_changed( VFSFileMonitor* fm, VFSFileMonitorEvent event, const char* file_name, gpointer user_data ) { MimeCache* cache = (MimeCache*)user_data; switch( event ) { case VFS_FILE_MONITOR_CREATE: case VFS_FILE_MONITOR_DELETE: /* NOTE: FAM sometimes generate incorrect "delete" notification for non-existent files. * So if the cache is not loaded originally (the cache file is non-existent), we skip it. */ if( ! cache->buffer ) return; case VFS_FILE_MONITOR_CHANGE: mime_cache_reload( cache ); /* g_debug( "reload cache: %s", file_name ); */ if( 0 == reload_callback_id ) reload_callback_id = g_idle_add( vfs_mime_type_reload, NULL ); } } void vfs_mime_type_init() { GtkIconTheme * theme; MimeCache** caches; int i, n_caches; VFSFileMonitor* fm; mime_type_init(); /* install file alteration monitor for mime-cache */ caches = mime_type_get_caches( &n_caches ); mime_caches_monitor = g_new0( VFSFileMonitor*, n_caches ); for( i = 0; i < n_caches; ++i ) { //MOD NOTE1 check to see if path exists - otherwise it later tries to // remove NULL fm with inotify which caused segfault if ( g_file_test( caches[i]->file_path, G_FILE_TEST_EXISTS ) ) fm = vfs_file_monitor_add_file( caches[i]->file_path, on_mime_cache_changed, caches[i] ); else fm = NULL; mime_caches_monitor[i] = fm; } mime_hash = g_hash_table_new_full( g_str_hash, g_str_equal, NULL, vfs_mime_type_unref ); theme = gtk_icon_theme_get_default(); theme_change_notify = g_signal_connect( theme, "changed", G_CALLBACK( on_icon_theme_changed ), NULL ); } void vfs_mime_type_clean() { GtkIconTheme * theme; MimeCache** caches; int i, n_caches; theme = gtk_icon_theme_get_default(); g_signal_handler_disconnect( theme, theme_change_notify ); /* remove file alteration monitor for mime-cache */ caches = mime_type_get_caches( &n_caches ); for( i = 0; i < n_caches; ++i ) { if ( mime_caches_monitor[i] ) //MOD added if !NULL - see NOTE1 above vfs_file_monitor_remove( mime_caches_monitor[i], on_mime_cache_changed, caches[i] ); } g_free( mime_caches_monitor ); mime_type_finalize(); g_hash_table_destroy( mime_hash ); } VFSMimeType* vfs_mime_type_get_from_file_name( const char* ufile_name ) { const char * type; /* type = xdg_mime_get_mime_type_from_file_name( ufile_name ); */ type = mime_type_get_by_filename( ufile_name, NULL ); return vfs_mime_type_get_from_type( type ); } VFSMimeType* vfs_mime_type_get_from_file( const char* file_path, const char* base_name, struct stat64* pstat ) { const char * type; type = mime_type_get_by_file( file_path, pstat, base_name ); return vfs_mime_type_get_from_type( type ); } VFSMimeType* vfs_mime_type_get_from_type( const char* type ) { VFSMimeType * mime_type; g_static_rw_lock_reader_lock( &mime_hash_lock ); mime_type = g_hash_table_lookup( mime_hash, type ); g_static_rw_lock_reader_unlock( &mime_hash_lock ); if ( !mime_type ) { mime_type = vfs_mime_type_new( type ); g_static_rw_lock_writer_lock( &mime_hash_lock ); g_hash_table_insert( mime_hash, mime_type->type, mime_type ); g_static_rw_lock_writer_unlock( &mime_hash_lock ); } vfs_mime_type_ref( mime_type ); return mime_type; } VFSMimeType* vfs_mime_type_new( const char* type_name ) { VFSMimeType * mime_type = g_slice_new0( VFSMimeType ); mime_type->type = g_strdup( type_name ); mime_type->n_ref = 1; return mime_type; } void vfs_mime_type_ref( VFSMimeType* mime_type ) { g_atomic_int_inc(&mime_type->n_ref); } void vfs_mime_type_unref( gpointer mime_type_ ) { VFSMimeType* mime_type = (VFSMimeType*)mime_type_; if ( g_atomic_int_dec_and_test(&mime_type->n_ref) ) { g_free( mime_type->type ); if ( mime_type->big_icon ) g_object_unref( mime_type->big_icon ); if ( mime_type->small_icon ) g_object_unref( mime_type->small_icon ); /* g_strfreev( mime_type->actions ); */ g_slice_free( VFSMimeType, mime_type ); } } GdkPixbuf* vfs_mime_type_get_icon( VFSMimeType* mime_type, gboolean big ) { GdkPixbuf * icon = NULL; const char* sep; char icon_name[ 100 ]; GtkIconTheme *icon_theme; int size; if ( big ) { if ( G_LIKELY( mime_type->big_icon ) ) /* big icon */ return g_object_ref( mime_type->big_icon ); size = big_icon_size; } else /* small icon */ { if ( G_LIKELY( mime_type->small_icon ) ) return g_object_ref( mime_type->small_icon ); size = small_icon_size; } icon_theme = gtk_icon_theme_get_default (); if ( G_UNLIKELY( 0 == strcmp( mime_type->type, XDG_MIME_TYPE_DIRECTORY ) ) ) { icon = vfs_load_icon ( icon_theme, "folder", size ); if( G_UNLIKELY( !icon) ) icon = vfs_load_icon ( icon_theme, "gnome-fs-directory", size ); if( G_UNLIKELY( !icon) ) icon = vfs_load_icon ( icon_theme, "gtk-directory", size ); if ( big ) mime_type->big_icon = icon; else mime_type->small_icon = icon; return icon ? g_object_ref( icon ) : NULL; } // get description and icon from freedesktop XML - these are fetched // together for performance. char* xml_icon = NULL; char* xml_desc = mime_type_get_desc_icon( mime_type->type, NULL, &xml_icon ); if ( xml_icon ) { if ( xml_icon[0] ) icon = vfs_load_icon( icon_theme, xml_icon, size ); g_free( xml_icon ); } if ( xml_desc ) { if ( !mime_type->description && xml_desc[0] ) mime_type->description = xml_desc; else g_free( xml_desc ); } if ( !mime_type->description ) { g_warning( "mime-type %s has no description (comment)", mime_type->type ); VFSMimeType* vfs_mime = vfs_mime_type_get_from_type( XDG_MIME_TYPE_UNKNOWN ); if ( vfs_mime ) { mime_type->description = g_strdup( vfs_mime_type_get_description( vfs_mime ) ); vfs_mime_type_unref( vfs_mime ); } } if ( !icon ) { // guess icon sep = strchr( mime_type->type, '/' ); if ( sep ) { /* convert mime-type foo/bar to foo-bar */ strcpy( icon_name, mime_type->type ); icon_name[ (sep - mime_type->type) ] = '-'; /* is there an icon named foo-bar? */ icon = vfs_load_icon ( icon_theme, icon_name, size ); if ( ! icon ) { /* maybe we can find a legacy icon named gnome-mime-foo-bar */ strcpy( icon_name, "gnome-mime-" ); strncat( icon_name, mime_type->type, ( sep - mime_type->type ) ); strcat( icon_name, "-" ); strcat( icon_name, sep + 1 ); icon = vfs_load_icon ( icon_theme, icon_name, size ); } // hack for x-xz-compressed-tar missing icon if ( !icon && strstr( mime_type->type, "compressed" ) ) { icon = vfs_load_icon ( icon_theme, "application-x-archive", size ); if ( !icon ) icon = vfs_load_icon ( icon_theme, "gnome-mime-application-x-archive", size ); } /* try gnome-mime-foo */ if ( G_UNLIKELY( ! icon ) ) { icon_name[ 11 ] = '\0'; /* strlen("gnome-mime-") = 11 */ strncat( icon_name, mime_type->type, ( sep - mime_type->type ) ); icon = vfs_load_icon ( icon_theme, icon_name, size ); } /* try foo-x-generic */ if ( G_UNLIKELY( ! icon ) ) { strncpy( icon_name, mime_type->type, ( sep - mime_type->type ) ); icon_name[ (sep - mime_type->type) ] = '\0'; strcat( icon_name, "-x-generic" ); icon = vfs_load_icon ( icon_theme, icon_name, size ); } } } if( G_UNLIKELY( !icon ) ) { /* prevent endless recursion of XDG_MIME_TYPE_UNKNOWN */ if( G_LIKELY( strcmp(mime_type->type, XDG_MIME_TYPE_UNKNOWN) ) ) { /* FIXME: fallback to icon of parent mime-type */ VFSMimeType* unknown; unknown = vfs_mime_type_get_from_type( XDG_MIME_TYPE_UNKNOWN ); icon = vfs_mime_type_get_icon( unknown, big ); vfs_mime_type_unref( unknown ); } else /* unknown */ { icon = vfs_load_icon ( icon_theme, "unknown", size ); } } if ( big ) mime_type->big_icon = icon; else mime_type->small_icon = icon; return icon ? g_object_ref( icon ) : NULL; } static void free_cached_icons ( gpointer key, gpointer value, gpointer user_data ) { VFSMimeType * mime_type = ( VFSMimeType* ) value; gboolean big = GPOINTER_TO_INT( user_data ); if ( big ) { if ( mime_type->big_icon ) { g_object_unref( mime_type->big_icon ); mime_type->big_icon = NULL; } } else { if ( mime_type->small_icon ) { g_object_unref( mime_type->small_icon ); mime_type->small_icon = NULL; } } } void vfs_mime_type_set_icon_size( int big, int small ) { g_static_rw_lock_writer_lock( &mime_hash_lock ); if ( big != big_icon_size ) { big_icon_size = big; /* Unload old cached icons */ g_hash_table_foreach( mime_hash, free_cached_icons, GINT_TO_POINTER( 1 ) ); } if ( small != small_icon_size ) { small_icon_size = small; /* Unload old cached icons */ g_hash_table_foreach( mime_hash, free_cached_icons, GINT_TO_POINTER( 0 ) ); } g_static_rw_lock_writer_unlock( &mime_hash_lock ); } void vfs_mime_type_get_icon_size( int* big, int* small ) { if ( big ) * big = big_icon_size; if ( small ) * small = small_icon_size; } const char* vfs_mime_type_get_type( VFSMimeType* mime_type ) { return mime_type->type; } /* Get human-readable description of mime type */ const char* vfs_mime_type_get_description( VFSMimeType* mime_type ) { if ( G_UNLIKELY( ! mime_type->description ) ) { mime_type->description = mime_type_get_desc_icon( mime_type->type, NULL, NULL ); if ( G_UNLIKELY( !mime_type->description || !*mime_type->description ) ) { g_warning( "mime-type %s has no description (comment)", mime_type->type ); VFSMimeType* vfs_mime = vfs_mime_type_get_from_type( XDG_MIME_TYPE_UNKNOWN ); if ( vfs_mime ) { mime_type->description = g_strdup( vfs_mime_type_get_description( vfs_mime ) ); vfs_mime_type_unref( vfs_mime ); } } } return mime_type->description; } /* * Join two string vector containing app lists to generate a new one. * Duplicated app will be removed. */ char** vfs_mime_type_join_actions( char** list1, gsize len1, char** list2, gsize len2 ) { gchar **ret = NULL; int i, j, k; if ( len1 > 0 || len2 > 0 ) ret = g_new0( char*, len1 + len2 + 1 ); for ( i = 0; i < len1; ++i ) { ret[ i ] = g_strdup( list1[ i ] ); } for ( j = 0, k = 0; j < len2; ++j ) { for ( i = 0; i < len1; ++i ) { if ( 0 == strcmp( ret[ i ], list2[ j ] ) ) break; } if ( i >= len1 ) { ret[ len1 + k ] = g_strdup( list2[ j ] ); ++k; } } return ret; } char** vfs_mime_type_get_actions( VFSMimeType* mime_type ) { return (char**)mime_type_get_actions( mime_type->type ); } char* vfs_mime_type_get_default_action( VFSMimeType* mime_type ) { char* def = (char*)mime_type_get_default_action( mime_type->type ); /* FIXME: * If default app is not set, choose one from all availble actions. * Is there any better way to do this? * Should we put this fallback handling here, or at API of higher level? */ if( ! def ) { char** actions = mime_type_get_actions( mime_type->type ); if( actions ) { def = g_strdup( actions[0] ); g_strfreev( actions ); } } return def; } /* * Set default app.desktop for specified file. * app can be the name of the desktop file or a command line. */ void vfs_mime_type_set_default_action( VFSMimeType* mime_type, const char* desktop_id ) { char* cust_desktop = NULL; /* if( ! g_str_has_suffix( desktop_id, ".desktop" ) ) return; */ vfs_mime_type_add_action( mime_type, desktop_id, &cust_desktop ); if( cust_desktop ) desktop_id = cust_desktop; mime_type_update_association( mime_type->type, desktop_id, MIME_TYPE_ACTION_DEFAULT ); g_free( cust_desktop ); } void vfs_mime_type_remove_action( VFSMimeType* mime_type, const char* desktop_id ) { mime_type_update_association( mime_type->type, desktop_id, MIME_TYPE_ACTION_REMOVE ); } /* If user-custom desktop file is created, it's returned in custom_desktop. */ void vfs_mime_type_add_action( VFSMimeType* mime_type, const char* desktop_id, char** custom_desktop ) { //MOD don't create custom desktop file if desktop_id is not a command if ( !g_str_has_suffix( desktop_id, ".desktop" ) ) mime_type_add_action( mime_type->type, desktop_id, custom_desktop ); else if ( custom_desktop ) //sfm *custom_desktop = g_strdup( desktop_id ); } /* * char** vfs_mime_type_get_all_known_apps(): * * Get all app.desktop files for all mime types. * The returned string array contains a list of *.desktop file names, * and should be freed when no longer needed. */ #if 0 static void hash_to_strv ( gpointer key, gpointer value, gpointer user_data ) { char***all_apps = ( char*** ) user_data; **all_apps = ( char* ) key; ++*all_apps; } #endif void on_icon_theme_changed( GtkIconTheme *icon_theme, gpointer user_data ) { /* reload_mime_icons */ g_static_rw_lock_writer_lock( &mime_hash_lock ); g_hash_table_foreach( mime_hash, free_cached_icons, GINT_TO_POINTER( 1 ) ); g_hash_table_foreach( mime_hash, free_cached_icons, GINT_TO_POINTER( 0 ) ); g_static_rw_lock_writer_unlock( &mime_hash_lock ); } GList* vfs_mime_type_add_reload_cb( GFreeFunc cb, gpointer user_data ) { VFSMimeReloadCbEnt* ent = g_slice_new( VFSMimeReloadCbEnt ); ent->cb = cb; ent->user_data = user_data; reload_cb = g_list_append( reload_cb, ent ); return g_list_last( reload_cb ); } void vfs_mime_type_remove_reload_cb( GList* cb ) { g_slice_free( VFSMimeReloadCbEnt, cb->data ); reload_cb = g_list_delete_link( reload_cb, cb ); } char* vfs_mime_type_locate_desktop_file( const char* dir, const char* desktop_id ) { return mime_type_locate_desktop_file( dir, desktop_id ); } void vfs_mime_type_append_action( const char* type, const char* desktop_id ) { mime_type_update_association( type, desktop_id, MIME_TYPE_ACTION_APPEND ); } spacefm-1.0.5/src/vfs/vfs-mime-type.h000066400000000000000000000060531264770501700174100ustar00rootroot00000000000000/* * C Interface: vfs-mime_type-type * * Description: * * * Author: Hong Jen Yee (PCMan) , (C) 2006 * * Copyright: See COPYING mimele that comes with this distribution * */ #ifndef _VFS_MIME_TYPE_H_ #define _VFS_MIME_TYPE_H_ #include #include "mime-type.h" G_BEGIN_DECLS typedef struct _VFSMimeType VFSMimeType; struct _VFSMimeType { char* type; /* mime_type-type string */ char* description; /* description of the mimele type */ GdkPixbuf* big_icon; GdkPixbuf* small_icon; /**/ int n_ref; /* FIXME: Don't cache mime actions char** actions; */ }; void vfs_mime_type_init(); void vfs_mime_type_clean(); /* file name used in this API should be encoded in UTF-8 */ VFSMimeType* vfs_mime_type_get_from_file_name( const char* ufile_name ); VFSMimeType* vfs_mime_type_get_from_file( const char* file_path, /* Should be on-disk encoding */ const char* base_name, /* Should be in UTF-8 */ struct stat64* pstat ); /* Can be NULL */ VFSMimeType* vfs_mime_type_get_from_type( const char* type ); VFSMimeType* vfs_mime_type_new( const char* type_name ); void vfs_mime_type_ref( VFSMimeType* mime_type ); void vfs_mime_type_unref( gpointer mime_type_ ); GdkPixbuf* vfs_mime_type_get_icon( VFSMimeType* mime_type, gboolean big ); void vfs_mime_type_set_icon_size( int big, int small ); void vfs_mime_type_get_icon_size( int* big, int* small ); /* Get mime-type string */ const char* vfs_mime_type_get_type( VFSMimeType* mime_type ); /* Get human-readable description of mime-type */ const char* vfs_mime_type_get_description( VFSMimeType* mime_type ); /* * Get available actions (applications) for this mime-type * returned vector should be freed with g_strfreev when not needed. */ char** vfs_mime_type_get_actions( VFSMimeType* mime_type ); /* returned string should be freed with g_strfreev when not needed. */ char* vfs_mime_type_get_default_action( VFSMimeType* mime_type ); void vfs_mime_type_set_default_action( VFSMimeType* mime_type, const char* desktop_id ); void vfs_mime_type_remove_action( VFSMimeType* mime_type, const char* desktop_id ); /* If user-custom desktop file is created, it's returned in custom_desktop. */ void vfs_mime_type_add_action( VFSMimeType* mime_type, const char* desktop_id, char** custom_desktop ); void vfs_mime_type_append_action( const char* type, const char* desktop_id ); char** vfs_mime_type_get_all_known_apps(); char** vfs_mime_type_join_actions( char** list1, gsize len1, char** list2, gsize len2 ); GList* vfs_mime_type_add_reload_cb( GFreeFunc cb, gpointer user_data ); void vfs_mime_type_remove_reload_cb( GList* cb ); char* vfs_mime_type_locate_desktop_file( const char* dir, const char* desktop_id ); gboolean vfs_mime_type_is_iso( VFSMimeType* vfs_mime_type, const char* path ); G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-thumbnail-loader.c000066400000000000000000000426441264770501700207320ustar00rootroot00000000000000/* * vfs-thumbnail-loader.c * * Copyright 2008 PCMan * Copyright 2015 OmegaPhil * * 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 3 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. */ #include "vfs-mime-type.h" #include "vfs-thumbnail-loader.h" #include "glib-mem.h" /* for g_slice API */ #include "glib-utils.h" /* for g_mkdir_with_parents() */ #include #include #include #ifdef HAVE_FFMPEG #include #endif #if GLIB_CHECK_VERSION(2, 16, 0) #include "md5.h" /* for thumbnails */ #endif struct _VFSThumbnailLoader { VFSDir* dir; GQueue* queue; VFSAsyncTask* task; guint idle_handler; GQueue* update_queue; }; enum { LOAD_BIG_THUMBNAIL, LOAD_SMALL_THUMBNAIL, N_LOAD_TYPES }; typedef struct _ThumbnailRequest { int n_requests[ N_LOAD_TYPES ]; VFSFileInfo* file; } ThumbnailRequest; static gpointer thumbnail_loader_thread( VFSAsyncTask* task, VFSThumbnailLoader* loader ); /* static void on_load_finish( VFSAsyncTask* task, gboolean is_cancelled, VFSThumbnailLoader* loader ); */ static void thumbnail_request_free( ThumbnailRequest* req ); static gboolean on_thumbnail_idle( VFSThumbnailLoader* loader ); VFSThumbnailLoader* vfs_thumbnail_loader_new( VFSDir* dir ) { VFSThumbnailLoader* loader = g_slice_new0( VFSThumbnailLoader ); loader->idle_handler = 0; loader->dir = g_object_ref( dir ); loader->queue = g_queue_new(); loader->update_queue = g_queue_new(); loader->task = vfs_async_task_new( (VFSAsyncFunc)thumbnail_loader_thread, loader ); /* g_signal_connect( loader->task, "finish", G_CALLBACK(on_load_finish), loader ); */ return loader; } void vfs_thumbnail_loader_free( VFSThumbnailLoader* loader ) { if( loader->idle_handler ) { g_source_remove( loader->idle_handler ); loader->idle_handler = 0; } /* g_signal_handlers_disconnect_by_func( loader->task, on_load_finish, loader ); */ /* stop the running thread, if any. */ vfs_async_task_cancel( loader->task ); if( loader->idle_handler ) { g_source_remove( loader->idle_handler ); loader->idle_handler = 0; } g_object_unref( loader->task ); if( loader->queue ) { g_queue_foreach( loader->queue, (GFunc) thumbnail_request_free, NULL ); g_queue_free( loader->queue ); } if( loader->update_queue ) { g_queue_foreach( loader->update_queue, (GFunc) vfs_file_info_unref, NULL ); g_queue_free( loader->update_queue ); } /* g_debug( "FREE THUMBNAIL LOADER" ); */ /* prevent recursive unref called from vfs_dir_finalize */ loader->dir->thumbnail_loader = NULL; g_object_unref( loader->dir ); } #if 0 /* This is not used in the program. For debug only */ void on_load_finish( VFSAsyncTask* task, gboolean is_cancelled, VFSThumbnailLoader* loader ) { g_debug( "TASK FINISHED" ); } #endif void thumbnail_request_free( ThumbnailRequest* req ) { vfs_file_info_unref( req->file ); g_slice_free( ThumbnailRequest, req ); /* g_debug( "FREE REQUEST!" ); */ } gboolean on_thumbnail_idle( VFSThumbnailLoader* loader ) { VFSFileInfo* file; /* g_debug( "ENTER ON_THUMBNAIL_IDLE" ); */ vfs_async_task_lock( loader->task ); while( ( file = (VFSFileInfo*)g_queue_pop_head(loader->update_queue) ) ) { GDK_THREADS_ENTER(); vfs_dir_emit_thumbnail_loaded( loader->dir, file ); vfs_file_info_unref( file ); GDK_THREADS_LEAVE(); } loader->idle_handler = 0; vfs_async_task_unlock( loader->task ); if( vfs_async_task_is_finished( loader->task ) ) { /* g_debug( "FREE LOADER IN IDLE HANDLER" ); */ loader->dir->thumbnail_loader = NULL; vfs_thumbnail_loader_free(loader); } /* g_debug( "LEAVE ON_THUMBNAIL_IDLE" ); */ return FALSE; } #if 0 //#ifdef HAVE_FFMPEG /* Do nothing on ffmpeg thumbnailer library messages to silence them - note that * from v2.0.11, messages are silenced by default */ void on_video_thumbnailer_log_message(ThumbnailerLogLevel lvl, const char* msg) { } #endif gpointer thumbnail_loader_thread( VFSAsyncTask* task, VFSThumbnailLoader* loader ) { ThumbnailRequest* req; int i; gboolean load_big, need_update; while( G_LIKELY( ! vfs_async_task_is_cancelled(task) )) { vfs_async_task_lock( task ); req = (ThumbnailRequest*)g_queue_pop_head( loader->queue ); vfs_async_task_unlock( task ); if( G_UNLIKELY( ! req ) ) break; /* g_debug("pop: %s", req->file->name); */ /* Only we have the reference. That means, no body is using the file */ if( req->file->n_ref == 1 ) { thumbnail_request_free( req ); continue; } need_update = FALSE; for ( i = 0; i < 2; ++i ) { if ( 0 == req->n_requests[ i ] ) continue; load_big = ( i == LOAD_BIG_THUMBNAIL ); if ( ! vfs_file_info_is_thumbnail_loaded( req->file, load_big ) ) { char* full_path; full_path = g_build_filename( loader->dir->path, vfs_file_info_get_name( req->file ), NULL ); vfs_file_info_load_thumbnail( req->file, full_path, load_big ); g_free( full_path ); /* Slow donwn for debugging. g_debug( "DELAY!!" ); g_usleep(G_USEC_PER_SEC/2); */ /* g_debug( "thumbnail loaded: %s", req->file ); */ } need_update = TRUE; } if( ! vfs_async_task_is_cancelled(task) && need_update ) { vfs_async_task_lock( task ); g_queue_push_tail( loader->update_queue, vfs_file_info_ref(req->file) ); if( 0 == loader->idle_handler) { loader->idle_handler = g_idle_add_full( G_PRIORITY_LOW, (GSourceFunc) on_thumbnail_idle, loader, NULL ); } vfs_async_task_unlock( task ); } /* g_debug( "NEED_UPDATE: %d", need_update ); */ thumbnail_request_free( req ); } if( vfs_async_task_is_cancelled(task) ) { /* g_debug( "THREAD CANCELLED!!!" ); */ vfs_async_task_lock( task ); if( loader->idle_handler) { g_source_remove( loader->idle_handler ); loader->idle_handler = 0; } vfs_async_task_unlock( task ); } else { if( 0 == loader->idle_handler) { /* g_debug( "ADD IDLE HANDLER BEFORE THREAD ENDING" ); */ /* FIXME: add2 This source always causes a "Source ID was not * found" critical warning if removed in vfs_thumbnail_loader_free. * Where is this being removed? See comment in * vfs_thumbnail_loader_cancel_all_requests. */ loader->idle_handler = g_idle_add_full( G_PRIORITY_LOW, (GSourceFunc) on_thumbnail_idle, loader, NULL ); } } /* g_debug("THREAD ENDED!"); */ return NULL; } void vfs_thumbnail_loader_request( VFSDir* dir, VFSFileInfo* file, gboolean is_big ) { VFSThumbnailLoader* loader; ThumbnailRequest* req; gboolean new_task = FALSE; GList* l; /* g_debug( "request thumbnail: %s, is_big: %d", file->name, is_big ); */ if( G_UNLIKELY( ! dir->thumbnail_loader ) ) { dir->thumbnail_loader = vfs_thumbnail_loader_new( dir ); new_task = TRUE; } loader = dir->thumbnail_loader; if( G_UNLIKELY( ! loader->task ) ) { loader->task = vfs_async_task_new( (VFSAsyncFunc)thumbnail_loader_thread, loader ); new_task = TRUE; } vfs_async_task_lock( loader->task ); /* Check if the request is already scheduled */ for( l = loader->queue->head; l; l = l->next ) { req = (ThumbnailRequest*)l->data; /* If file with the same name is already in our queue */ if( req->file == file || 0 == strcmp( req->file->name, file->name ) ) break; } if( l ) { req = (ThumbnailRequest*)l->data; } else { req = g_slice_new0( ThumbnailRequest ); req->file = vfs_file_info_ref(file); g_queue_push_tail( dir->thumbnail_loader->queue, req ); } ++req->n_requests[ is_big ? LOAD_BIG_THUMBNAIL : LOAD_SMALL_THUMBNAIL ]; vfs_async_task_unlock( loader->task ); if( new_task ) vfs_async_task_execute( loader->task ); } void vfs_thumbnail_loader_cancel_all_requests( VFSDir* dir, gboolean is_big ) { GList* l; VFSThumbnailLoader* loader; ThumbnailRequest* req; if( G_UNLIKELY( (loader=dir->thumbnail_loader) ) ) { vfs_async_task_lock( loader->task ); /* g_debug( "TRY TO CANCEL REQUESTS!!" ); */ for( l = loader->queue->head; l; ) { req = (ThumbnailRequest*)l->data; --req->n_requests[ is_big ? LOAD_BIG_THUMBNAIL : LOAD_SMALL_THUMBNAIL ]; if( req->n_requests[0] <= 0 && req->n_requests[1] <= 0 ) /* nobody needs this */ { GList* next = l->next; g_queue_delete_link( loader->queue, l ); l = next; } else l = l->next; } if( g_queue_get_length( loader->queue ) == 0 ) { /* g_debug( "FREE LOADER IN vfs_thumbnail_loader_cancel_all_requests!" ); */ vfs_async_task_unlock( loader->task ); loader->dir->thumbnail_loader = NULL; /* FIXME: added idle_handler = 0 to prevent idle_handler being * removed in vfs_thumbnail_loader_free - BUT causes a segfault * in vfs_async_task_lock ?? * If source is removed here or in vfs_thumbnail_loader_free * it causes a "GLib-CRITICAL **: Source ID N was not found when * attempting to remove it" warning. Such a source ID is always * the one added in thumbnail_loader_thread at the "add2" comment. */ //loader->idle_handler = 0; vfs_thumbnail_loader_free( loader ); return; } vfs_async_task_unlock( loader->task ); } } static GdkPixbuf* _vfs_thumbnail_load( const char* file_path, const char* uri, int size, time_t mtime ) { #if GLIB_CHECK_VERSION(2, 16, 0) GChecksum *cs; #else md5_state_t md5_state; md5_byte_t md5[ 16 ]; #endif char file_name[ 40 ]; char* thumbnail_file; char mtime_str[ 32 ]; const char* thumb_mtime; int i, w, h; struct stat statbuf; GdkPixbuf* thumbnail, *result = NULL; int create_size; if ( size > 256 ) create_size = 512; else if ( size > 128 ) create_size = 256; else create_size = 128; gboolean file_is_video = FALSE; #ifdef HAVE_FFMPEG VFSMimeType* mimetype = vfs_mime_type_get_from_file_name( file_path ); if ( mimetype ) { if ( strncmp( vfs_mime_type_get_type( mimetype ), "video/", 6 ) == 0 ) file_is_video = TRUE; vfs_mime_type_unref( mimetype ); } #endif if ( file_is_video == FALSE ) { if ( !gdk_pixbuf_get_file_info( file_path, &w, &h ) ) return NULL; /* image format cannot be recognized */ /* If the image itself is very small, we should load it directly */ if ( w <= create_size && h <= create_size ) { if( w <= size && h <= size ) return gdk_pixbuf_new_from_file( file_path, NULL ); return gdk_pixbuf_new_from_file_at_size( file_path, size, size, NULL ); } } #if GLIB_CHECK_VERSION(2, 16, 0) cs = g_checksum_new(G_CHECKSUM_MD5); g_checksum_update(cs, uri, strlen(uri)); memcpy( file_name, g_checksum_get_string(cs), 32 ); g_checksum_free(cs); #else md5_init( &md5_state ); md5_append( &md5_state, ( md5_byte_t * ) uri, strlen( uri ) ); md5_finish( &md5_state, md5 ); for ( i = 0; i < 16; ++i ) sprintf( ( file_name + i * 2 ), "%02x", md5[ i ] ); #endif strcpy( ( file_name + 32 ), ".png" ); thumbnail_file = g_build_filename( g_get_home_dir(), ".thumbnails/normal", file_name, NULL ); if( G_UNLIKELY( 0 == mtime ) ) { if( stat( file_path, &statbuf ) != -1 ) mtime = statbuf.st_mtime; } if ( file_is_video && time( NULL ) - mtime < 5 ) /* if mod time of video being thumbnailed is less than 5 sec ago, * don't create a thumbnail (is copying?) * FIXME: This means that a newly saved file may not show a thumbnail * until refresh. */ return NULL; /* load existing thumbnail */ thumbnail = gdk_pixbuf_new_from_file( thumbnail_file, NULL ); if ( thumbnail ) { w = gdk_pixbuf_get_width( thumbnail ); h = gdk_pixbuf_get_height( thumbnail ); } if ( !thumbnail || ( w < size && h < size ) || !( thumb_mtime = gdk_pixbuf_get_option( thumbnail, "tEXt::Thumb::MTime" ) ) || atol( thumb_mtime ) != mtime ) { if( thumbnail ) g_object_unref( thumbnail ); /* create new thumbnail */ if ( file_is_video == FALSE ) { thumbnail = gdk_pixbuf_new_from_file_at_size( file_path, create_size, create_size, NULL ); if ( thumbnail ) { // Note: gdk_pixbuf_apply_embedded_orientation returns a new // pixbuf or same with incremented ref count, so unref GdkPixbuf* thumbnail_old = thumbnail; thumbnail = gdk_pixbuf_apply_embedded_orientation( thumbnail ); g_object_unref( thumbnail_old ); sprintf( mtime_str, "%lu", mtime ); gdk_pixbuf_save( thumbnail, thumbnail_file, "png", NULL, "tEXt::Thumb::URI", uri, "tEXt::Thumb::MTime", mtime_str, NULL ); chmod( thumbnail_file, 0600 ); /* only the owner can read it. */ } } #ifdef HAVE_FFMPEG else { video_thumbnailer* video_thumb = video_thumbnailer_create(); /* Setting a callback to allow silencing of stdout/stderr messages * from the library. This is no longer required since v2.0.11, where * silence is the default. It can be used for debugging in 2.0.11 * and later. */ //video_thumbnailer_set_log_callback(on_video_thumbnailer_log_message); if ( video_thumb ) { video_thumb->seek_percentage = 25; video_thumb->overlay_film_strip = 1; video_thumb->thumbnail_size = create_size; video_thumbnailer_generate_thumbnail_to_file( video_thumb, file_path, thumbnail_file ); video_thumbnailer_destroy( video_thumb ); chmod( thumbnail_file, 0600 ); /* only the owner can read it. */ thumbnail = gdk_pixbuf_new_from_file( thumbnail_file, NULL ); } } #endif } if ( thumbnail ) { w = gdk_pixbuf_get_width( thumbnail ); h = gdk_pixbuf_get_height( thumbnail ); if ( w > h ) { h = h * size / w; w = size; } else if ( h > w ) { w = w * size / h; h = size; } else { w = h = size; } if ( w > 0 && h > 0 ) result = gdk_pixbuf_scale_simple( thumbnail, w, h, GDK_INTERP_BILINEAR ); g_object_unref( thumbnail ); } g_free( thumbnail_file ); return result; } GdkPixbuf* vfs_thumbnail_load_for_uri( const char* uri, int size, time_t mtime ) { GdkPixbuf* ret; char* file = g_filename_from_uri( uri, NULL, NULL ); ret = _vfs_thumbnail_load( file, uri, size, mtime ); g_free( file ); return ret; } GdkPixbuf* vfs_thumbnail_load_for_file( const char* file, int size, time_t mtime ) { GdkPixbuf* ret; char* uri = g_filename_to_uri( file, NULL, NULL ); ret = _vfs_thumbnail_load( file, uri, size, mtime ); g_free( uri ); return ret; } /* Ensure the thumbnail dirs exist and have proper file permission. */ void vfs_thumbnail_init() { char* dir; dir = g_build_filename( g_get_home_dir(), ".thumbnails/normal", NULL ); if( G_LIKELY( g_file_test( dir, G_FILE_TEST_IS_DIR ) ) ) chmod( dir, 0700 ); else g_mkdir_with_parents( dir, 0700 ); g_free( dir ); } spacefm-1.0.5/src/vfs/vfs-thumbnail-loader.h000066400000000000000000000040251264770501700207260ustar00rootroot00000000000000/* * vfs-thumbnail-loader.h * * Copyright 2008 PCMan * * 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 3 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. */ #ifndef _VFS_THUMBNAIL_LOADER_H_ #define _VFS_THUMBNAIL_LOADER_H_ #include #include #include "vfs-dir.h" #include "vfs-file-info.h" #include "vfs-async-task.h" G_BEGIN_DECLS typedef struct _VFSThumbnailLoader VFSThumbnailLoader; VFSThumbnailLoader* vfs_thumbnail_loader_new( VFSDir* dir ); void vfs_thumbnail_loader_free( VFSThumbnailLoader* loader ); void vfs_thumbnail_loader_request( VFSDir* dir, VFSFileInfo* file, gboolean is_big ); void vfs_thumbnail_loader_cancel_all_requests( VFSDir* dir, gboolean is_big ); /* Load thumbnail for the specified file * If the caller knows mtime of the file, it should pass mtime to this function to * prevent unnecessary disk I/O and this can speed up the loading. * Otherwise, it should pass 0 for mtime, and the function will do stat() on the file * to get mtime. */ GdkPixbuf* vfs_thumbnail_load_for_uri( const char* uri, int size, time_t mtime ); GdkPixbuf* vfs_thumbnail_load_for_file( const char* file, int size, time_t mtime ); void vfs_thumbnail_init(); /* void vfs_thumbnail_delete_for _file(); void vfs_thumbnail_delete_for _uri(); void vfs_thumbnail_delete_all(); */ G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-utils.c000066400000000000000000000113401264770501700166300ustar00rootroot00000000000000/* * vfs-utils.c * * Copyright 2008 PCMan * * 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 3 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. */ #include #include #include "vfs-utils.h" #include "settings.h" //MOD GdkPixbuf* vfs_load_icon( GtkIconTheme* theme, const char* icon_name, int size ) { GdkPixbuf* icon = NULL; const char* file; if ( !icon_name ) return NULL; GtkIconInfo* inf = gtk_icon_theme_lookup_icon( theme, icon_name, size, GTK_ICON_LOOKUP_USE_BUILTIN | GTK_ICON_LOOKUP_FORCE_SIZE ); if ( !inf && icon_name[0] == '/' ) return gdk_pixbuf_new_from_file_at_size ( icon_name, size, size, NULL ); if( G_UNLIKELY( ! inf ) ) return NULL; file = gtk_icon_info_get_filename( inf ); if( G_LIKELY( file ) ) icon = gdk_pixbuf_new_from_file_at_size( file, size, size, NULL ); else { icon = gtk_icon_info_get_builtin_pixbuf( inf ); g_object_ref( icon ); } gtk_icon_info_free( inf ); /* if( G_LIKELY( icon ) ) { // scale down the icon if it's too big int width, height; height = gdk_pixbuf_get_height(icon); width = gdk_pixbuf_get_width(icon); if( G_UNLIKELY( height > size || width > size ) ) { GdkPixbuf* scaled; if( height > width ) { width = size * height / width; height = size; } else if( height < width ) { height = size * width / height; width = size; } else height = width = size; scaled = gdk_pixbuf_scale_simple( icon, width, height, GDK_INTERP_BILINEAR ); g_object_unref( icon ); icon = scaled; } } */ return icon; } #ifdef HAVE_HAL static char* find_su_program( GError** err ) { char* su = NULL; #ifdef PREFERABLE_SUDO_PROG su = g_find_program_in_path( PREFERABLE_SUDO_PROG ); #endif // Use default search rules if ( ! su ) su = get_valid_gsu(); if ( ! su ) su = g_find_program_in_path( "ktsuss" ); if ( ! su ) su = g_find_program_in_path( "gksudo" ); if ( ! su ) su = g_find_program_in_path( "gksu" ); if ( ! su ) su = g_find_program_in_path( "kdesu" ); if ( ! su ) g_set_error( err, G_SPAWN_ERROR, G_SPAWN_ERROR_FAILED, _( "su command not found" ) ); //MOD return su; } gboolean vfs_sudo_cmd_sync( const char* cwd, char* argv[], int* exit_status, char** pstdout, char** pstderr, GError** err ) //MOD { char *su; //MOD gboolean ret; if ( ! ( su = find_su_program( err ) ) ) return FALSE; argv[0] = su; if ( ! strstr( su, "ktsuss" ) ) //MOD { // Combine arguments for gksu, kdesu, etc but not for ktsuss argv[1] = g_strdup_printf( "%s %s '%s'", argv[1], argv[2], argv[3] ); argv[2] = NULL; } ret = g_spawn_sync( cwd, argv, NULL, G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, pstdout, pstderr, exit_status, err ); return ret; } #endif /* gboolean vfs_sudo_cmd_async( const char* cwd, const char* cmd, GError** err ) { char *su, *argv[3]; gboolean ret; if ( ! ( su = find_su_program( err ) ) ) return FALSE; argv[0] = su; argv[1] = g_strdup( cmd ); argv[2] = NULL; ret = g_spawn_async( cwd, argv, NULL, G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, NULL, err ); return ret; } static char* argv_to_cmdline( char** argv ) { GString* cmd; char* quoted; cmd = g_string_new(NULL); while( *argv ) { quoted = g_shell_quote( *argv ); g_string_append( cmd, quoted ); g_free( quoted ); } return g_string_free( cmd, FALSE ); } */ spacefm-1.0.5/src/vfs/vfs-utils.h000066400000000000000000000025111264770501700166350ustar00rootroot00000000000000/* * vfs-utils.h * * Copyright 2008 PCMan * * 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 3 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. */ #ifndef _VFS_UTILS_H_ #define _VFS_UTILS_H_ #include GdkPixbuf* vfs_load_icon( GtkIconTheme* theme, const char* icon_name, int size ); /* execute programs with sudo */ #ifdef HAVE_HAL gboolean vfs_sudo_cmd_sync( const char* cwd, char* argv[], int* exit_status, char** pstdout, char** pstderr, GError** err ); //MOD //gboolean vfs_sudo_cmd_async( const char* cwd, char* argv[], GError** err ); //MOD #endif #endif spacefm-1.0.5/src/vfs/vfs-volume-hal-options.c000066400000000000000000000033311264770501700212330ustar00rootroot00000000000000#ifdef HAVE_CONFIG_H #include #endif #include "vfs-volume-hal-options.h" #include #include /* for getuid() */ #include #include /* for setlocale() */ #define CONFIG_FILE PACKAGE_DATA_DIR "/mount.rules" gboolean vfs_volume_hal_get_options( const char* fs, VFSVolumeOptions* ret ) { GKeyFile* f; if( fs == NULL || ! *fs) return FALSE; g_return_val_if_fail( ret != NULL, FALSE ); f = g_key_file_new(); if( g_key_file_load_from_file( f, CONFIG_FILE, 0, NULL) ) { gsize n = 0; int i; ret->mount_options = g_key_file_get_string_list( f, fs, "mount_options", &n, NULL ); ret->fstype_override = g_key_file_get_string(f, fs, "fstype_override", NULL ); for( i = 0; i < n; ++i ) { /* replace "uid=" with "uid=" */ #ifndef __FreeBSD__ if (strcmp (ret->mount_options[i], "uid=") == 0) { g_free (ret->mount_options[i]); ret->mount_options[i] = g_strdup_printf ("uid=%u", getuid ()); } #else if (strcmp (ret->mount_options[i], "-u=") == 0) { g_free (ret->mount_options[i]); ret->mount_options[i] = g_strdup_printf ("-u=%u", getuid ()); } #endif /* for ntfs-3g */ if (strcmp (ret->mount_options[i], "locale=") == 0) { g_free (ret->mount_options[i]); ret->mount_options[i] = g_strdup_printf ("locale=%s", setlocale (LC_ALL, "")); } } } else { ret->mount_options = NULL; ret->fstype_override = NULL; } g_key_file_free(f); return (ret->mount_options || ret->fstype_override); } spacefm-1.0.5/src/vfs/vfs-volume-hal-options.h000066400000000000000000000004711264770501700212420ustar00rootroot00000000000000#ifndef _VFS_VOLUME_HAL_OPTIONS_H_ #define _VFS_VOLUME_HAL_OPTIONS_H_ #include G_BEGIN_DECLS typedef struct _VFSVolumeOptions { char** mount_options; char* fstype_override; }VFSVolumeOptions; gboolean vfs_volume_hal_get_options( const char* fs, VFSVolumeOptions* ret ); G_END_DECLS #endif spacefm-1.0.5/src/vfs/vfs-volume-hal.c000066400000000000000000003017461264770501700175550ustar00rootroot00000000000000/* * SpaceFM vfs-volume-hal.c - Support volume management with HAL * * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2008 PCMan * Copyright (c) 2005-2007 Benedikt Meurer * Copyright (C) 2004-2005 Red Hat, Inc, David Zeuthen * * This file contains source code from other projects: * * The icon-name and volume display name parts are taken from * gnome-vfs-hal-mounts.c of libgnomevfs by David Zeuthen . * * The HAL volume listing and updating-related parts are taken from * thunar-vfs-volume-hal.c of Thunar by Benedikt Meurer . * * The mount/umount/eject-related source code is modified from exo-mount.c * taken from libexo. It's originally written by Benedikt Meurer . * * The fstab-related mount/umount/eject code is modified from gnome-mount.c * taken from gnome-mount. The original author is David Zeuthen, . * * License: See COPYING file */ /* * NOTE: * Originally, I want to use source code from gnome-vfs-hal-mounts.c of gnomevfs * because its implementation is more complete and *might* be more correct. * Unfortunately, it's poorly-written, and thanks to the complicated and * poorly-documented HAL, the readability of most source code in * gnome-vfs-hal-mounts.c is very poor. So I decided to use the implementation * provided in Thunar and libexo, which are much cleaner IMHO. */ #ifdef HAVE_CONFIG_H #include #endif #ifdef HAVE_HAL /* uncomment to get helpful debug messages */ /* #define HAL_SHOW_DEBUG */ #include #include #include #include #ifdef HAVE_SYS_SYSMACROS_H #include #endif #include #include #include #include #include #include #include #include #include "vfs-volume.h" #include "glib-mem.h" #include "vfs-file-info.h" #include "vfs-volume-hal-options.h" #include "vfs-utils.h" /* for vfs_sudo_cmd() */ #include "main-window.h" //sfm for main_window_event #include #include #include #ifndef PATHNAME_MAX # define PATHNAME_MAX 1024 #endif /* For fstab related things */ #if !defined(sun) && !defined(__FreeBSD__) #include #elif defined(__FreeBSD__) #include #include #include #include #elif defined(sun) #include #endif typedef enum { HAL_ICON_DRIVE_REMOVABLE_DISK = 0x10000, HAL_ICON_DRIVE_REMOVABLE_DISK_IDE = 0x10001, HAL_ICON_DRIVE_REMOVABLE_DISK_SCSI = 0x10002, HAL_ICON_DRIVE_REMOVABLE_DISK_USB = 0x10003, HAL_ICON_DRIVE_REMOVABLE_DISK_IEEE1394 = 0x10004, HAL_ICON_DRIVE_REMOVABLE_DISK_CCW = 0x10005, HAL_ICON_DRIVE_DISK = 0x10100, HAL_ICON_DRIVE_DISK_IDE = 0x10101, HAL_ICON_DRIVE_DISK_SCSI = 0x10102, HAL_ICON_DRIVE_DISK_USB = 0x10103, HAL_ICON_DRIVE_DISK_IEEE1394 = 0x10104, HAL_ICON_DRIVE_DISK_CCW = 0x10105, HAL_ICON_DRIVE_CDROM = 0x10200, HAL_ICON_DRIVE_CDWRITER = 0x102ff, HAL_ICON_DRIVE_FLOPPY = 0x10300, HAL_ICON_DRIVE_TAPE = 0x10400, HAL_ICON_DRIVE_COMPACT_FLASH = 0x10500, HAL_ICON_DRIVE_MEMORY_STICK = 0x10600, HAL_ICON_DRIVE_SMART_MEDIA = 0x10700, HAL_ICON_DRIVE_SD_MMC = 0x10800, HAL_ICON_DRIVE_CAMERA = 0x10900, HAL_ICON_DRIVE_PORTABLE_AUDIO_PLAYER = 0x10a00, HAL_ICON_DRIVE_ZIP = 0x10b00, HAL_ICON_DRIVE_JAZ = 0x10c00, HAL_ICON_DRIVE_FLASH_KEY = 0x10d00, HAL_ICON_VOLUME_REMOVABLE_DISK = 0x20000, HAL_ICON_VOLUME_REMOVABLE_DISK_IDE = 0x20001, HAL_ICON_VOLUME_REMOVABLE_DISK_SCSI = 0x20002, HAL_ICON_VOLUME_REMOVABLE_DISK_USB = 0x20003, HAL_ICON_VOLUME_REMOVABLE_DISK_IEEE1394 = 0x20004, HAL_ICON_VOLUME_REMOVABLE_DISK_CCW = 0x20005, HAL_ICON_VOLUME_DISK = 0x20100, HAL_ICON_VOLUME_DISK_IDE = 0x20101, HAL_ICON_VOLUME_DISK_SCSI = 0x20102, HAL_ICON_VOLUME_DISK_USB = 0x20103, HAL_ICON_VOLUME_DISK_IEEE1394 = 0x20104, HAL_ICON_VOLUME_DISK_CCW = 0x20105, /* specifically left out as we use icons based on media type in the optical drive HAL_ICON_VOLUME_CDROM = 0x20200 */ HAL_ICON_VOLUME_FLOPPY = 0x20300, HAL_ICON_VOLUME_TAPE = 0x20400, HAL_ICON_VOLUME_COMPACT_FLASH = 0x20500, HAL_ICON_VOLUME_MEMORY_STICK = 0x20600, HAL_ICON_VOLUME_SMART_MEDIA = 0x20700, HAL_ICON_VOLUME_SD_MMC = 0x20800, HAL_ICON_VOLUME_CAMERA = 0x20900, HAL_ICON_VOLUME_PORTABLE_AUDIO_PLAYER = 0x20a00, HAL_ICON_VOLUME_ZIP = 0x20b00, HAL_ICON_VOLUME_JAZ = 0x20c00, HAL_ICON_VOLUME_FLASH_KEY = 0x20d00, HAL_ICON_DISC_CDROM = 0x30000, HAL_ICON_DISC_CDR = 0x30001, HAL_ICON_DISC_CDRW = 0x30002, HAL_ICON_DISC_DVDROM = 0x30003, HAL_ICON_DISC_DVDRAM = 0x30004, HAL_ICON_DISC_DVDR = 0x30005, HAL_ICON_DISC_DVDRW = 0x30006, HAL_ICON_DISC_DVDPLUSR = 0x30007, HAL_ICON_DISC_DVDPLUSRW = 0x30008, HAL_ICON_DISC_DVDPLUSR_DL = 0x30009 } HalIcon; typedef struct { HalIcon icon; const char *icon_path; } HalIconPair; static const char gnome_dev_removable[] = "gnome-dev-removable"; static const char gnome_dev_removable_usb[] = "gnome-dev-removable-usb"; static const char gnome_dev_removable_1394[] = "gnome-dev-removable-1394"; static const char gnome_dev_harddisk[] = "gnome-dev-harddisk"; static const char gnome_dev_harddisk_usb[] = "gnome-dev-harddisk-usb"; static const char gnome_dev_harddisk_1394[] = "gnome-dev-harddisk-1394"; /* by design, the enums are laid out so we can do easy computations */ static const HalIconPair hal_icon_mapping[] = { {HAL_ICON_DRIVE_REMOVABLE_DISK, gnome_dev_removable}, {HAL_ICON_DRIVE_REMOVABLE_DISK_IDE, gnome_dev_removable}, {HAL_ICON_DRIVE_REMOVABLE_DISK_SCSI, gnome_dev_removable}, {HAL_ICON_DRIVE_REMOVABLE_DISK_USB, gnome_dev_removable_usb}, {HAL_ICON_DRIVE_REMOVABLE_DISK_IEEE1394, gnome_dev_removable_1394}, {HAL_ICON_DRIVE_REMOVABLE_DISK_CCW, gnome_dev_removable}, {HAL_ICON_DRIVE_DISK, gnome_dev_removable}, {HAL_ICON_DRIVE_DISK_IDE, gnome_dev_removable}, {HAL_ICON_DRIVE_DISK_SCSI, gnome_dev_removable}, /* TODO: gnome-dev-removable-scsi */ {HAL_ICON_DRIVE_DISK_USB, gnome_dev_removable_usb}, {HAL_ICON_DRIVE_DISK_IEEE1394, gnome_dev_removable_1394}, {HAL_ICON_DRIVE_DISK_CCW, gnome_dev_removable}, {HAL_ICON_DRIVE_CDROM, gnome_dev_removable}, /* TODO: gnome-dev-removable-cdrom */ {HAL_ICON_DRIVE_CDWRITER, gnome_dev_removable}, /* TODO: gnome-dev-removable-cdwriter */ {HAL_ICON_DRIVE_FLOPPY, gnome_dev_removable}, /* TODO: gnome-dev-removable-floppy */ {HAL_ICON_DRIVE_TAPE, gnome_dev_removable}, /* TODO: gnome-dev-removable-tape */ {HAL_ICON_DRIVE_COMPACT_FLASH, gnome_dev_removable}, /* TODO: gnome-dev-removable-cf */ {HAL_ICON_DRIVE_MEMORY_STICK, gnome_dev_removable}, /* TODO: gnome-dev-removable-ms */ {HAL_ICON_DRIVE_SMART_MEDIA, gnome_dev_removable}, /* TODO: gnome-dev-removable-sm */ {HAL_ICON_DRIVE_SD_MMC, gnome_dev_removable}, /* TODO: gnome-dev-removable-sdmmc */ {HAL_ICON_DRIVE_CAMERA, gnome_dev_removable}, /* TODO: gnome-dev-removable-camera */ {HAL_ICON_DRIVE_PORTABLE_AUDIO_PLAYER, gnome_dev_removable}, /* TODO: gnome-dev-removable-ipod */ {HAL_ICON_DRIVE_ZIP, gnome_dev_removable}, /* TODO: gnome-dev-removable-zip */ {HAL_ICON_DRIVE_JAZ, gnome_dev_removable}, /* TODO: gnome-dev-removable-jaz */ {HAL_ICON_DRIVE_FLASH_KEY, gnome_dev_removable}, /* TODO: gnome-dev-removable-pendrive */ {HAL_ICON_VOLUME_REMOVABLE_DISK, gnome_dev_harddisk}, {HAL_ICON_VOLUME_REMOVABLE_DISK_IDE, gnome_dev_harddisk}, {HAL_ICON_VOLUME_REMOVABLE_DISK_SCSI, gnome_dev_harddisk}, /* TODO: gnome-dev-harddisk-scsi */ {HAL_ICON_VOLUME_REMOVABLE_DISK_USB, gnome_dev_harddisk_usb}, {HAL_ICON_VOLUME_REMOVABLE_DISK_IEEE1394, gnome_dev_harddisk_1394}, {HAL_ICON_VOLUME_REMOVABLE_DISK_CCW, gnome_dev_harddisk}, {HAL_ICON_VOLUME_DISK, gnome_dev_harddisk}, {HAL_ICON_VOLUME_DISK_IDE, gnome_dev_harddisk}, {HAL_ICON_VOLUME_DISK_SCSI, gnome_dev_harddisk}, {HAL_ICON_VOLUME_DISK_USB, gnome_dev_harddisk_usb}, {HAL_ICON_VOLUME_DISK_IEEE1394, gnome_dev_harddisk_1394}, {HAL_ICON_VOLUME_DISK_CCW, gnome_dev_harddisk}, {HAL_ICON_VOLUME_FLOPPY, "gnome-dev-floppy"}, {HAL_ICON_VOLUME_TAPE, gnome_dev_harddisk}, {HAL_ICON_VOLUME_COMPACT_FLASH, "gnome-dev-media-cf"}, {HAL_ICON_VOLUME_MEMORY_STICK, "gnome-dev-media-ms"}, {HAL_ICON_VOLUME_SMART_MEDIA, "gnome-dev-media-sm"}, {HAL_ICON_VOLUME_SD_MMC, "gnome-dev-media-sdmmc"}, {HAL_ICON_VOLUME_CAMERA, "camera"}, {HAL_ICON_VOLUME_PORTABLE_AUDIO_PLAYER, "gnome-dev-ipod"}, {HAL_ICON_VOLUME_ZIP, "gnome-dev-zipdisk"}, {HAL_ICON_VOLUME_JAZ, "gnome-dev-jazdisk"}, {HAL_ICON_VOLUME_FLASH_KEY, gnome_dev_harddisk}, /* TODO: gnome-dev-pendrive */ {HAL_ICON_DISC_CDROM, "gnome-dev-cdrom"}, {HAL_ICON_DISC_CDR, "gnome-dev-disc-cdr"}, {HAL_ICON_DISC_CDRW, "gnome-dev-disc-cdrw"}, {HAL_ICON_DISC_DVDROM, "gnome-dev-disc-dvdrom"}, {HAL_ICON_DISC_DVDRAM, "gnome-dev-disc-dvdram"}, {HAL_ICON_DISC_DVDR, "gnome-dev-disc-dvdr"}, {HAL_ICON_DISC_DVDRW, "gnome-dev-disc-dvdrw"}, {HAL_ICON_DISC_DVDPLUSR, "gnome-dev-disc-dvdr-plus"}, {HAL_ICON_DISC_DVDPLUSRW, "gnome-dev-disc-dvdrw"}, /* TODO: gnome-dev-disc-dvdrw-plus */ {HAL_ICON_DISC_DVDPLUSR_DL, "gnome-dev-disc-dvdr-plus"}, /* TODO: gnome-dev-disc-dvdr-plus-dl */ {0x00, NULL} }; const char ERR_BUSY[] = "org.freedesktop.Hal.Device.Volume.Busy"; const char ERR_PERM_DENIED[] = "org.freedesktop.Hal.Device.Volume.PermissionDenied"; const char ERR_UNKNOWN_FAILURE[] = "org.freedesktop.Hal.Device.Volume.UnknownFailure"; const char ERR_INVALID_MOUNT_OPT[] = "org.freedesktop.Hal.Device.Volume.InvalidMountOption"; const char ERR_UNKNOWN_FS[] = "org.freedesktop.Hal.Device.Volume.UnknownFilesystemType"; const char ERR_NOT_MOUNTED[] = "org.freedesktop.Hal.Device.Volume.NotMounted"; const char ERR_NOT_MOUNTED_BY_HAL[] = "org.freedesktop.Hal.Device.Volume.NotMountedByHal"; const char ERR_ALREADY_MOUNTED[] = "org.freedesktop.Hal.Device.Volume.AlreadyMounted"; const char ERR_INVALID_MOUNT_POINT[] = "org.freedesktop.Hal.Device.Volume.InvalidMountpoint"; const char ERR_MOUNT_POINT_NOT_AVAILABLE[] = "org.freedesktop.Hal.Device.Volume.MountPointNotAvailable"; struct _VFSVolume { char* udi; char* disp_name; const char* icon; char* mount_point; char* device_file; gboolean is_mounted : 1; /* gboolean is_hotpluggable : 1; */ gboolean is_removable : 1; gboolean is_mountable : 1; gboolean requires_eject : 1; gboolean is_user_visible : 1; }; typedef struct _VFSVolumeCallbackData { VFSVolumeCallback cb; gpointer user_data; }VFSVolumeCallbackData; /*------------------------------------------------------------------------*/ /* BEGIN: Added by Hong Jen Yee on 2008-02-02 */ static LibHalContext* hal_context = NULL; static DBusConnection * dbus_connection = NULL; static GList* volumes = NULL; static GArray* callbacks = NULL; static VFSVolume *vfs_volume_get_volume_by_udi (const gchar *udi); static void vfs_volume_update_volume_by_udi ( const gchar *udi); static void vfs_volume_device_added (LibHalContext *context, const gchar *udi); static void vfs_volume_device_removed (LibHalContext *context, const gchar *udi); static void vfs_volume_device_new_capability (LibHalContext *context, const gchar *udi, const gchar *capability); static void vfs_volume_device_lost_capability (LibHalContext *context, const gchar *udi, const gchar *capability); static void vfs_volume_device_property_modified (LibHalContext *context, const gchar *udi, const gchar *key, dbus_bool_t is_removed, dbus_bool_t is_added); static void vfs_volume_device_condition (LibHalContext *context, const gchar *udi, const gchar *name, const gchar *details); static gboolean vfs_volume_mount_by_udi_as_root( const char* udi ); static gboolean vfs_volume_umount_by_udi_as_root( const char* udi ); static gboolean vfs_volume_eject_by_udi_as_root( const char* udi ); static void call_callbacks( VFSVolume* vol, VFSVolumeState state ) { int i; VFSVolumeCallbackData* e; if ( !callbacks ) return ; e = ( VFSVolumeCallbackData* ) callbacks->data; for ( i = 0; i < callbacks->len; ++i ) { ( *e[ i ].cb ) ( vol, state, e[ i ].user_data ); } if ( evt_device->s || evt_device->ob2_data ) main_window_event( NULL, NULL, "evt_device", 0, 0, vol->device_file, 0, 0, state, FALSE ); } /* END: Added by Hong Jen Yee on 2008-02-02 */ static const char * _hal_lookup_icon (HalIcon icon) { int i; const char *result; result = NULL; /* TODO: could make lookup better than O(n) */ for (i = 0; hal_icon_mapping[i].icon_path != NULL; i++) { if (hal_icon_mapping[i].icon == icon) { result = hal_icon_mapping[i].icon_path; break; } } return result; } /* hal_volume may be NULL */ static char * _hal_drive_policy_get_icon (LibHalDrive *hal_drive, LibHalVolume *hal_volume) { const char *name; LibHalDriveBus bus; LibHalDriveType drive_type; name = libhal_drive_get_dedicated_icon_drive (hal_drive); if (name != NULL) goto out; bus = libhal_drive_get_bus (hal_drive); drive_type = libhal_drive_get_type (hal_drive); /* by design, the enums are laid out so we can do easy computations */ switch (drive_type) { case LIBHAL_DRIVE_TYPE_REMOVABLE_DISK: case LIBHAL_DRIVE_TYPE_DISK: name = _hal_lookup_icon (0x10000 + drive_type*0x100 + bus); break; case LIBHAL_DRIVE_TYPE_CDROM: { LibHalDriveCdromCaps cdrom_caps; gboolean cdrom_can_burn; /* can burn if other flags than cdrom and dvdrom */ cdrom_caps = libhal_drive_get_cdrom_caps (hal_drive); cdrom_can_burn = ((cdrom_caps & (LIBHAL_DRIVE_CDROM_CAPS_CDROM| LIBHAL_DRIVE_CDROM_CAPS_DVDROM)) == cdrom_caps); name = _hal_lookup_icon (0x10000 + drive_type*0x100 + (cdrom_can_burn ? 0xff : 0x00)); break; } default: name = _hal_lookup_icon (0x10000 + drive_type*0x100); } out: if (name != NULL) return g_strdup (name); else { g_warning ("_hal_drive_policy_get_icon : error looking up icon; defaulting to gnome-dev-removable"); return g_strdup (gnome_dev_removable); } } static char * _hal_volume_policy_get_icon (LibHalDrive *hal_drive, LibHalVolume *hal_volume) { const char *name; LibHalDriveBus bus; LibHalDriveType drive_type; LibHalVolumeDiscType disc_type; name = libhal_drive_get_dedicated_icon_volume (hal_drive); if (name != NULL) goto out; /* by design, the enums are laid out so we can do easy computations */ if (libhal_volume_is_disc (hal_volume)) { disc_type = libhal_volume_get_disc_type (hal_volume); name = _hal_lookup_icon (0x30000 + disc_type); goto out; } if (hal_drive == NULL) { name = _hal_lookup_icon (HAL_ICON_VOLUME_REMOVABLE_DISK); goto out; } bus = libhal_drive_get_bus (hal_drive); drive_type = libhal_drive_get_type (hal_drive); switch (drive_type) { case LIBHAL_DRIVE_TYPE_REMOVABLE_DISK: case LIBHAL_DRIVE_TYPE_DISK: name = _hal_lookup_icon (0x20000 + drive_type*0x100 + bus); break; default: name = _hal_lookup_icon (0x20000 + drive_type*0x100); } out: if (name != NULL) return g_strdup (name); else { g_warning ("_hal_volume_policy_get_icon : error looking up icon; defaulting to gnome-dev-harddisk"); return g_strdup (gnome_dev_harddisk); } } /*------------------------------------------------------------------------*/ /* hal_volume may be NULL */ static char * _hal_drive_policy_get_display_name (LibHalDrive *hal_drive, LibHalVolume *hal_volume) { const char *model; const char *vendor; LibHalDriveType drive_type; char *name; char *vm_name; gboolean may_prepend_external; name = NULL; may_prepend_external = FALSE; drive_type = libhal_drive_get_type (hal_drive); /* Handle disks without removable media */ if ((drive_type == LIBHAL_DRIVE_TYPE_DISK) && !libhal_drive_uses_removable_media (hal_drive) && hal_volume != NULL) { const char *label; char size_str[64]; /* use label if available */ label = libhal_volume_get_label (hal_volume); if (label != NULL && strlen (label) > 0) { name = g_strdup (label); goto out; } /* Otherwise, just use volume size */ vfs_file_size_to_string (size_str, libhal_volume_get_size (hal_volume)); name = g_strdup_printf (_("%s Volume"), size_str); goto out; } /* removable media and special drives */ /* drives we know the type of */ if (drive_type == LIBHAL_DRIVE_TYPE_CDROM) { const char *first; const char *second; LibHalDriveCdromCaps drive_cdrom_caps; drive_cdrom_caps = libhal_drive_get_cdrom_caps (hal_drive); first = _("CD-ROM"); if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_CDR) first = _("CD-R"); if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_CDRW) first = _("CD-RW"); second = NULL; if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDROM) second = _("DVD-ROM"); if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSR) second = _("DVD+R"); if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRW) second = _("DVD+RW"); if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDR) second = _("DVD-R"); if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDRW) second = _("DVD-RW"); if (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDRAM) second = _("DVD-RAM"); if ((drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDR) && (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSR)) second = ("DVD±R"); if ((drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDRW) && (drive_cdrom_caps & LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRW)) second = ("DVD±RW"); if (second != NULL) { name = g_strdup_printf (_("%s/%s Drive"), first, second); } else { name = g_strdup_printf (_("%s Drive"), first); } may_prepend_external = TRUE; } else if (drive_type == LIBHAL_DRIVE_TYPE_FLOPPY) { name = g_strdup (_("Floppy Drive")); may_prepend_external = TRUE; } else if (drive_type == LIBHAL_DRIVE_TYPE_COMPACT_FLASH) { name = g_strdup (_("Compact Flash Drive")); } else if (drive_type == LIBHAL_DRIVE_TYPE_MEMORY_STICK) { name = g_strdup (_("Memory Stick Drive")); } else if (drive_type == LIBHAL_DRIVE_TYPE_SMART_MEDIA) { name = g_strdup (_("Smart Media Drive")); } else if (drive_type == LIBHAL_DRIVE_TYPE_SD_MMC) { name = g_strdup (_("SD/MMC Drive")); } else if (drive_type == LIBHAL_DRIVE_TYPE_ZIP) { name = g_strdup (_("Zip Drive")); may_prepend_external = TRUE; } else if (drive_type == LIBHAL_DRIVE_TYPE_JAZ) { name = g_strdup (_("Jaz Drive")); may_prepend_external = TRUE; } else if (drive_type == LIBHAL_DRIVE_TYPE_FLASHKEY) { name = g_strdup (_("Pen Drive")); } else if (drive_type == LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER) { const char *vendor; const char *model; vendor = libhal_drive_get_vendor (hal_drive); model = libhal_drive_get_model (hal_drive); name = g_strdup_printf (_("%s %s Music Player"), vendor != NULL ? vendor : "", model != NULL ? model : ""); } else if (drive_type == LIBHAL_DRIVE_TYPE_CAMERA) { const char *vendor; const char *model; vendor = libhal_drive_get_vendor (hal_drive); model = libhal_drive_get_model (hal_drive); name = g_strdup_printf (_("%s %s Digital Camera"), vendor != NULL ? vendor : "", model != NULL ? model : ""); } if (name != NULL) goto out; /* model and vendor at last resort */ model = libhal_drive_get_model (hal_drive); vendor = libhal_drive_get_vendor (hal_drive); vm_name = NULL; if (vendor == NULL || strlen (vendor) == 0) { if (model != NULL && strlen (model) > 0) vm_name = g_strdup (model); } else { if (model == NULL || strlen (model) == 0) vm_name = g_strdup (vendor); else { vm_name = g_strdup_printf ("%s %s", vendor, model); } } if (vm_name != NULL) { name = vm_name; } out: /* lame fallback */ if (name == NULL) name = g_strdup (_("Drive")); if (may_prepend_external) { if (libhal_drive_is_hotpluggable (hal_drive)) { char *tmp = name; name = g_strdup_printf (_("External %s"), name); g_free (tmp); } } return name; } static char * _hal_volume_policy_get_display_name (LibHalDrive *hal_drive, LibHalVolume *hal_volume) { LibHalDriveType drive_type; const char *volume_label; char *name; char size_str[64]; name = NULL; drive_type = libhal_drive_get_type (hal_drive); volume_label = libhal_volume_get_label (hal_volume); /* Use volume label if available */ if (volume_label != NULL) { name = g_strdup (volume_label); goto out; } /* Handle media in optical drives */ if (drive_type == LIBHAL_DRIVE_TYPE_CDROM) { switch (libhal_volume_get_disc_type (hal_volume)) { default: /* explict fallthrough */ case LIBHAL_VOLUME_DISC_TYPE_CDROM: name = g_strdup (_("CD-ROM Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_CDR: if (libhal_volume_disc_is_blank (hal_volume)) name = g_strdup (_("Blank CD-R Disc")); else name = g_strdup (_("CD-R Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_CDRW: if (libhal_volume_disc_is_blank (hal_volume)) name = g_strdup (_("Blank CD-RW Disc")); else name = g_strdup (_("CD-RW Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_DVDROM: name = g_strdup (_("DVD-ROM Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_DVDRAM: if (libhal_volume_disc_is_blank (hal_volume)) name = g_strdup (_("Blank DVD-RAM Disc")); else name = g_strdup (_("DVD-RAM Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_DVDR: if (libhal_volume_disc_is_blank (hal_volume)) name = g_strdup (_("Blank DVD-R Disc")); else name = g_strdup (_("DVD-R Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_DVDRW: if (libhal_volume_disc_is_blank (hal_volume)) name = g_strdup (_("Blank DVD-RW Disc")); else name = g_strdup (_("DVD-RW Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR: if (libhal_volume_disc_is_blank (hal_volume)) name = g_strdup (_("Blank DVD+R Disc")); else name = g_strdup (_("DVD+R Disc")); break; case LIBHAL_VOLUME_DISC_TYPE_DVDPLUSRW: if (libhal_volume_disc_is_blank (hal_volume)) name = g_strdup (_("Blank DVD+RW Disc")); else name = g_strdup (_("DVD+RW Disc")); break; } /* Special case for pure audio disc */ if (libhal_volume_disc_has_audio (hal_volume) && !libhal_volume_disc_has_data (hal_volume)) { free (name); name = g_strdup (_("Audio Disc")); } goto out; } /* Fallback: size of media */ vfs_file_size_to_string (size_str, libhal_volume_get_size (hal_volume)); if (libhal_drive_uses_removable_media (hal_drive)) { name = g_strdup_printf (_("%s Removable Volume"), size_str); } else { name = g_strdup_printf (_("%s Volume"), size_str); } out: /* lame fallback */ if (name == NULL) name = g_strdup (_("Volume")); return name; } /*------------------------------------------------------------------------*/ #if 0 static gboolean _hal_volume_temp_udi (LibHalDrive *hal_drive, LibHalVolume *hal_volume) { const char *volume_udi; gboolean ret; ret = FALSE; volume_udi = libhal_volume_get_udi (hal_volume); if (strncmp (volume_udi, "/org/freedesktop/Hal/devices/temp", strlen ("/org/freedesktop/Hal/devices/temp")) == 0) ret = TRUE; return ret; } static gboolean _hal_volume_policy_show_on_desktop (LibHalDrive *hal_drive, LibHalVolume *hal_volume) { gboolean ret; ret = TRUE; /* Right now we show everything on the desktop as there is no setting * for this.. potentially we could hide fixed drives.. */ return ret; } #endif /*------------------------------------------------------------------------*/ static VFSVolume* vfs_volume_new( const char* udi ) { VFSVolume * volume; volume = g_slice_new0( VFSVolume ); volume->udi = g_strdup( udi ); return volume; } void vfs_volume_free( VFSVolume* volume ) { g_free( volume->udi ); g_free( volume->disp_name ); g_free( volume->mount_point ); g_free( volume->device_file ); g_slice_free( VFSVolume, volume ); } static void vfs_volume_update (VFSVolume *volume, LibHalContext *context, LibHalVolume *hv, LibHalDrive *hd) { gchar *desired_mount_point; gchar *mount_root; gchar *basename; gchar *filename; /* reset the volume status */ // volume->status = 0; /* determine the new device file */ g_free (volume->device_file); volume->device_file = g_strdup ((hv != NULL) ? libhal_volume_get_device_file (hv) : libhal_drive_get_device_file (hd)); /* release the previous mount point (if any) */ if (G_LIKELY (volume->mount_point != NULL)) { g_free(volume->mount_point); volume->mount_point = NULL; } if (libhal_drive_uses_removable_media (hd) || libhal_drive_is_hotpluggable (hd)) { volume->is_removable = TRUE; } else volume->is_removable = FALSE; #if 0 /* determine the type of the volume */ switch (libhal_drive_get_type (hd)) { case LIBHAL_DRIVE_TYPE_CDROM: /* check if we have a pure audio CD without any data track */ if (libhal_volume_disc_has_audio (hv) && !libhal_volume_disc_has_data (hv)) { /* special treatment for pure audio CDs */ volume->kind = VFS_VOLUME_KIND_AUDIO_CD; } else { /* check which kind of CD-ROM/DVD we have */ switch (libhal_volume_get_disc_type (hv)) { case LIBHAL_VOLUME_DISC_TYPE_CDROM: volume->kind = VFS_VOLUME_KIND_CDROM; break; case LIBHAL_VOLUME_DISC_TYPE_CDR: volume->kind = VFS_VOLUME_KIND_CDR; break; case LIBHAL_VOLUME_DISC_TYPE_CDRW: volume->kind = VFS_VOLUME_KIND_CDRW; break; case LIBHAL_VOLUME_DISC_TYPE_DVDROM: volume->kind = VFS_VOLUME_KIND_DVDROM; break; case LIBHAL_VOLUME_DISC_TYPE_DVDRAM: volume->kind = VFS_VOLUME_KIND_DVDRAM; break; case LIBHAL_VOLUME_DISC_TYPE_DVDR: volume->kind = VFS_VOLUME_KIND_DVDR; break; case LIBHAL_VOLUME_DISC_TYPE_DVDRW: volume->kind = VFS_VOLUME_KIND_DVDRW; break; case LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR: volume->kind = VFS_VOLUME_KIND_DVDPLUSR; break; case LIBHAL_VOLUME_DISC_TYPE_DVDPLUSRW: volume->kind = VFS_VOLUME_KIND_DVDPLUSRW; break; default: /* unsupported disc type */ volume->kind = VFS_VOLUME_KIND_UNKNOWN; break; } } break; case LIBHAL_DRIVE_TYPE_FLOPPY: volume->kind = VFS_VOLUME_KIND_FLOPPY; break; case LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER: volume->kind = VFS_VOLUME_KIND_AUDIO_PLAYER; break; case LIBHAL_DRIVE_TYPE_SMART_MEDIA: case LIBHAL_DRIVE_TYPE_SD_MMC: volume->kind = VFS_VOLUME_KIND_MEMORY_CARD; break; default: /* check if the drive is connected to the USB bus */ if (libhal_drive_get_bus (hd) == LIBHAL_DRIVE_BUS_USB) { /* we consider the drive to be an USB stick */ volume->kind = VFS_VOLUME_KIND_USBSTICK; } else if (libhal_drive_uses_removable_media (hd) || libhal_drive_is_hotpluggable (hd)) { /* fallback to generic removable disk */ volume->kind = VFS_VOLUME_KIND_REMOVABLE_DISK; } else { /* fallback to harddisk drive */ volume->kind = VFS_VOLUME_KIND_HARDDISK; } break; } #endif /* either we have a volume, which means we have media, or * a drive, which means non-pollable then, so it's present */ // volume->status |= VFS_VOLUME_STATUS_PRESENT; /* figure out if the volume is mountable */ if(hv != NULL && libhal_volume_get_fsusage (hv) == LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM) volume->is_mountable = TRUE; /* check if the drive requires eject */ volume->requires_eject = libhal_drive_requires_eject (hd); /* check if the volume is currently mounted */ if (hv != NULL && libhal_volume_is_mounted (hv)) { /* try to determine the new mount point */ volume->mount_point = g_strdup(libhal_volume_get_mount_point (hv)); /* we only mark the volume as mounted if we have a valid mount point */ if (G_LIKELY (volume->mount_point != NULL)) volume->is_mounted = TRUE; } else { /* we don't trust HAL, so let's see what the kernel says about the volume */ volume->mount_point = NULL; // volume->mount_point = vfs_volume_find_active_mount_point (volume); volume->is_mounted = FALSE; /* we must have been mounted successfully if we have a mount point */ //if (G_LIKELY (volume->mount_point != NULL)) // volume->status |= VFS_VOLUME_STATUS_MOUNTED | VFS_VOLUME_STATUS_PRESENT; } /* check if we have to figure out the mount point ourself */ if (G_UNLIKELY (volume->mount_point == NULL)) { /* ask HAL for the default mount root (falling back to /media otherwise) */ mount_root = libhal_device_get_property_string (context, "/org/freedesktop/Hal/devices/computer", "storage.policy.default.mount_root", NULL); if (G_UNLIKELY (mount_root == NULL || !g_path_is_absolute (mount_root))) { /* fallback to /media (seems to be sane) */ g_free (mount_root); mount_root = g_strdup ("/media"); } /* lets see, maybe /etc/fstab knows where to mount */ //FIXME: volume->mount_point = vfs_volume_find_fstab_mount_point (volume); volume->mount_point = NULL; /* if we still don't have a mount point, ask HAL */ if (G_UNLIKELY (volume->mount_point == NULL)) { /* determine the desired mount point and prepend the mount root */ desired_mount_point = libhal_device_get_property_string (context, volume->udi, "volume.policy.desired_mount_point", NULL); if (G_LIKELY (desired_mount_point != NULL && *desired_mount_point != '\0')) { filename = g_build_filename (mount_root, desired_mount_point, NULL); volume->mount_point = filename; } libhal_free_string (desired_mount_point); } /* ok, last fallback, just use / */ if (G_UNLIKELY (volume->mount_point == NULL)) { /* / looks like a good idea */ basename = g_path_get_basename (volume->device_file); filename = g_build_filename (mount_root, basename, NULL); volume->mount_point = filename; g_free (basename); } /* release the mount root */ g_free (mount_root); } /* if we get here, we must have a valid mount point */ g_assert (volume->mount_point != NULL); /* compute a usable display name for the volume/drive */ g_free( volume->disp_name ); volume->disp_name = (volume->is_mounted && hv ) ? _hal_volume_policy_get_display_name(hd, hv) : _hal_drive_policy_get_display_name(hd, hv); if (G_UNLIKELY (volume->disp_name == NULL)) { /* use the basename of the device file as label */ volume->disp_name = g_path_get_basename (volume->device_file); } /* compute a usable list of icon names for the volume/drive */ volume->icon = (volume->is_mounted && hv ) ? _hal_volume_policy_get_icon( hd, hv) : _hal_drive_policy_get_icon( hd, hv ); /* emit the "changed" signal */ //vfs_volume_is_changed (THUNAR_VFS_VOLUME (volume)); call_callbacks( volume, VFS_VOLUME_CHANGED ); } gboolean vfs_volume_init () { LibHalDrive *hd; DBusError error; gchar **drive_udis; gchar **udis; gint n_drive_udis; gint n_udis; gint n, m; /* initialize the D-BUS error */ dbus_error_init (&error); /* allocate a HAL context */ hal_context = libhal_ctx_new (); if (G_UNLIKELY (hal_context == NULL)) return FALSE; /* try to connect to the system bus */ dbus_connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error); if (G_UNLIKELY (dbus_connection == NULL)) goto failed; /* setup the D-BUS connection for the HAL context */ libhal_ctx_set_dbus_connection (hal_context, dbus_connection); /* connect our manager object to the HAL context */ // libhal_ctx_set_user_data (hal_context, manager_hal); /* setup callbacks */ libhal_ctx_set_device_added (hal_context, vfs_volume_device_added); libhal_ctx_set_device_removed (hal_context, vfs_volume_device_removed); libhal_ctx_set_device_new_capability (hal_context, vfs_volume_device_new_capability); libhal_ctx_set_device_lost_capability (hal_context, vfs_volume_device_lost_capability); libhal_ctx_set_device_property_modified (hal_context, vfs_volume_device_property_modified); libhal_ctx_set_device_condition (hal_context, vfs_volume_device_condition); /* try to initialize the HAL context */ if (!libhal_ctx_init (hal_context, &error)) goto failed; /* setup the D-BUS connection with the GLib main loop */ dbus_connection_setup_with_g_main (dbus_connection, NULL); /* lookup all drives currently known to HAL */ drive_udis = libhal_find_device_by_capability (hal_context, "storage", &n_drive_udis, &error); if (G_LIKELY (drive_udis != NULL)) { /* process all drives UDIs */ for (m = 0; m < n_drive_udis; ++m) { /* determine the LibHalDrive for the drive UDI */ hd = libhal_drive_from_udi (hal_context, drive_udis[m]); if (G_UNLIKELY (hd == NULL)) continue; /* check if we have a floppy disk here */ if (libhal_drive_get_type (hd) == LIBHAL_DRIVE_TYPE_FLOPPY) { /* add the drive based on the UDI */ vfs_volume_device_added (hal_context, drive_udis[m]); } else { /* determine all volumes for the given drive */ udis = libhal_drive_find_all_volumes (hal_context, hd, &n_udis); if (G_LIKELY (udis != NULL)) { /* add volumes for all given UDIs */ for (n = 0; n < n_udis; ++n) { /* add the volume based on the UDI */ vfs_volume_device_added (hal_context, udis[n]); /* release the UDI (HAL bug #5279) */ free (udis[n]); } /* release the UDIs array (HAL bug #5279) */ free (udis); } } /* release the hal drive */ libhal_drive_free (hd); } /* release the drive UDIs */ libhal_free_string_array (drive_udis); } /* watch all devices for changes */ if (!libhal_device_property_watch_all (hal_context, &error)) goto failed; return TRUE; failed: /* release the HAL context */ if (G_LIKELY (hal_context != NULL)) { libhal_ctx_free (hal_context); hal_context = NULL; } /* print a warning message */ if (dbus_error_is_set (&error)) { g_warning (_("Failed to connect to the HAL daemon: %s"), error.message); dbus_error_free (&error); } return FALSE; } static VFSVolume* vfs_volume_get_volume_by_udi ( const gchar *udi) { GList *l; for (l = volumes; l != NULL; l = l->next) if ( ! strcmp( ((VFSVolume*)l->data)->udi, udi) ) return (VFSVolume*)l->data; return NULL; } static void vfs_volume_update_volume_by_udi ( const gchar *udi) { VFSVolume *volume; LibHalVolume *hv = NULL; LibHalDrive *hd = NULL; const gchar *drive_udi; /* check if we have a volume for the UDI */ volume = vfs_volume_get_volume_by_udi (udi); if (G_UNLIKELY (volume == NULL)) return; /* check if we have a volume here */ hv = libhal_volume_from_udi (hal_context, udi); if (G_UNLIKELY (hv == NULL)) { /* check if we have a drive here */ hd = libhal_drive_from_udi (hal_context, udi); if (G_UNLIKELY (hd == NULL)) { /* the device is no longer a drive or volume, so drop it */ vfs_volume_device_removed (hal_context, udi); return; } /* update the drive with the new HAL drive/volume */ vfs_volume_update (volume, hal_context, NULL, hd); /* release the drive */ libhal_drive_free (hd); } else { /* determine the UDI of the drive to which this volume belongs */ drive_udi = libhal_volume_get_storage_device_udi (hv); if (G_LIKELY (drive_udi != NULL)) { /* determine the drive for the volume */ hd = libhal_drive_from_udi (hal_context, drive_udi); } /* check if we have the drive for the volume */ if (G_LIKELY (hd != NULL)) { /* update the volume with the new HAL drive/volume */ vfs_volume_update (volume, hal_context, hv, hd); /* release the drive */ libhal_drive_free (hd); } else { /* unable to determine the drive, volume gone? */ vfs_volume_device_removed (hal_context, udi); } /* release the volume */ libhal_volume_free (hv); } } static void vfs_volume_add( VFSVolume* volume ) { volumes = g_list_append( volumes, volume ); call_callbacks( volume, VFS_VOLUME_ADDED ); } static void vfs_volume_remove( VFSVolume* volume ) { volumes = g_list_remove( volumes, volume ); call_callbacks( volume, VFS_VOLUME_REMOVED ); vfs_volume_free( volume ); } static void vfs_volume_device_added (LibHalContext *context, const gchar *udi) { VFSVolume *volume; LibHalVolume *hv; LibHalDrive *hd; const gchar *drive_udi; /* check if we have a volume here */ hv = libhal_volume_from_udi (context, udi); /* HAL might want us to ignore this volume for some reason */ if (G_UNLIKELY (hv != NULL && libhal_volume_should_ignore (hv))) { libhal_volume_free (hv); return; } /* emit the "device-added" signal (to support thunar-volman) */ // g_signal_emit_by_name (G_OBJECT (manager_hal), "device-added", udi); if (G_LIKELY (hv != NULL)) { /* check if we have a mountable file system here */ if (libhal_volume_get_fsusage (hv) == LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM) { /* determine the UDI of the drive to which this volume belongs */ drive_udi = libhal_volume_get_storage_device_udi (hv); if (G_LIKELY (drive_udi != NULL)) { /* determine the drive for the volume */ hd = libhal_drive_from_udi (context, drive_udi); if (G_LIKELY (hd != NULL)) { /* check if we already have a volume object for the UDI */ volume = vfs_volume_get_volume_by_udi (udi); if (G_LIKELY (volume == NULL)) { /* otherwise, we allocate a new volume object */ volume = vfs_volume_new( udi ); } /* update the volume object with the new data from the HAL volume/drive */ vfs_volume_update (volume, context, hv, hd); /* add the volume object to our list if we allocated a new one */ if (g_list_find (volumes, volume) == NULL) { /* add the volume to the volume manager */ vfs_volume_add (volume); } /* release the HAL drive */ libhal_drive_free (hd); } } } /* release the HAL volume */ libhal_volume_free (hv); } else { /* but maybe we have a floppy disk drive here */ hd = libhal_drive_from_udi (context, udi); if (G_UNLIKELY (hd == NULL)) return; /* check if we have a floppy disk drive */ if (G_LIKELY (libhal_drive_get_type (hd) == LIBHAL_DRIVE_TYPE_FLOPPY)) { /* check if we already have a volume object for the UDI */ volume = vfs_volume_get_volume_by_udi (udi); if (G_LIKELY (volume == NULL)) { /* otherwise, we allocate a new volume object */ volume = vfs_volume_new( udi ); } /* update the volume object with the new data from the HAL volume/drive */ vfs_volume_update (volume, context, NULL, hd); /* add the volume object to our list if we allocated a new one */ if (g_list_find (volumes, volume) == NULL) { /* add the volume to the volume manager */ vfs_volume_add (volume); } } /* release the HAL drive */ libhal_drive_free (hd); } } static void vfs_volume_device_removed (LibHalContext *context, const gchar *udi) { VFSVolume *volume; /* emit the "device-removed" signal (to support thunar-volman) */ //g_signal_emit_by_name (G_OBJECT (manager_hal), "device-removed", udi); /* check if we already have a volume object for the UDI */ volume = vfs_volume_get_volume_by_udi (udi); if (G_LIKELY (volume != NULL)) { /* remove the volume from the volume manager */ vfs_volume_remove (volume); } } static void vfs_volume_device_new_capability (LibHalContext *context, const gchar *udi, const gchar *capability) { /* update the volume for the device (if any) */ vfs_volume_update_volume_by_udi (udi); } static void vfs_volume_device_lost_capability (LibHalContext *context, const gchar *udi, const gchar *capability) { /* update the volume for the device (if any) */ vfs_volume_update_volume_by_udi (udi); } static void vfs_volume_device_property_modified (LibHalContext *context, const gchar *udi, const gchar *key, dbus_bool_t is_removed, dbus_bool_t is_added) { /* update the volume for the device (if any) */ vfs_volume_update_volume_by_udi (udi); } static void vfs_volume_device_condition (LibHalContext *context, const gchar *udi, const gchar *name, const gchar *details) { #if 0 VFSVolume *volume; DBusError derror; GList *eject_volumes = NULL; GList *lp; gchar **volume_udis; gint n_volume_udis; gint n; #endif // FIXME: What's this? #if 0 /* check if the device should be ejected */ if (G_LIKELY (strcmp (name, "EjectPressed") == 0)) { /* check if we have a volume for the device */ volume = vfs_volume_get_volume_by_udi (udi); if (G_LIKELY (volume == NULL)) { /* initialize D-Bus error */ dbus_error_init (&derror); /* the UDI most probably identifies the drive of the volume */ volume_udis = libhal_manager_find_device_string_match (context, "info.parent", udi, &n_volume_udis, &derror); if (G_LIKELY (volume_udis != NULL)) { /* determine the volumes for the UDIs */ for (n = 0; n < n_volume_udis; ++n) { /* check if we have a mounted volume for this UDI */ volume = vfs_volume_get_volume_by_udi (volume_udis[n]); if (vfs_volume_is_mounted (volume)) eject_volumes = g_list_prepend (volumes, volume)); } libhal_free_string_array (volume_udis); } /* free D-Bus error */ dbus_error_free (&derror); } else if (vfs_volume_is_mounted (volume)) { eject_volumes = g_list_prepend (volumes, volume)); } /* check there are any mounted volumes on the device */ if (G_LIKELY (volumes != NULL)) { /* tell everybody, that we're about to unmount those volumes */ for (lp = volumes; lp != NULL; lp = lp->next) { vfs_volume_is_pre_unmount (lp->data); } g_list_free (volumes); /* emit the "device-eject" signal and let Thunar eject the device */ // g_signal_emit_by_name (G_OBJECT (manager_hal), "device-eject", udi); call_callbacks( vol, VFS_VOLUME_EJECT ); } } #endif } gboolean vfs_volume_finalize() { if ( callbacks ) g_array_free( callbacks, TRUE ); if ( G_LIKELY( volumes ) ) { g_list_foreach( volumes, (GFunc)vfs_volume_free, NULL ); g_list_free( volumes ); volumes = NULL; } /* shutdown the HAL context */ if (G_LIKELY (hal_context != NULL)) { libhal_ctx_shutdown (hal_context, NULL); libhal_ctx_free (hal_context); } /* shutdown the D-BUS connection */ if (G_LIKELY (dbus_connection != NULL)) dbus_connection_unref (dbus_connection); return TRUE; } const GList* vfs_volume_get_all_volumes() { return volumes; } void vfs_volume_add_callback( VFSVolumeCallback cb, gpointer user_data ) { VFSVolumeCallbackData e; if ( !cb ) return; if ( !callbacks ) callbacks = g_array_sized_new( FALSE, FALSE, sizeof( VFSVolumeCallbackData ), 8 ); e.cb = cb; e.user_data = user_data; callbacks = g_array_append_val( callbacks, e ); } void vfs_volume_remove_callback( VFSVolumeCallback cb, gpointer user_data ) { int i; VFSVolumeCallbackData* e; if ( !callbacks ) return ; e = ( VFSVolumeCallbackData* ) callbacks->data; for ( i = 0; i < callbacks->len; ++i ) { if ( e[ i ].cb == cb && e[ i ].user_data == user_data ) { callbacks = g_array_remove_index_fast( callbacks, i ); if ( callbacks->len > 8 ) g_array_set_size( callbacks, 8 ); break; } } } const char* vfs_volume_get_disp_name( VFSVolume *vol ) { if( G_UNLIKELY( NULL == vol) ) return NULL; return vol->disp_name; } const char* vfs_volume_get_mount_point( VFSVolume *vol ) { if( G_UNLIKELY( NULL == vol) ) return NULL; return vol->mount_point; } const char* vfs_volume_get_device( VFSVolume *vol ) { if( G_UNLIKELY( NULL == vol) ) return NULL; return vol->device_file; } const char* vfs_volume_get_fstype( VFSVolume *vol ) { return NULL; } const char* vfs_volume_get_icon( VFSVolume *vol ) { if( G_UNLIKELY( NULL == vol) ) return NULL; return vol->icon; } gboolean vfs_volume_is_removable( VFSVolume *vol ) { if( G_UNLIKELY( NULL == vol) ) return FALSE; return vol->is_removable; } gboolean vfs_volume_is_mounted( VFSVolume *vol ) { if( G_UNLIKELY( NULL == vol) ) return FALSE; return vol->is_mounted; } gboolean vfs_volume_requires_eject( VFSVolume *vol ) { if( G_UNLIKELY( NULL == vol) ) return FALSE; return vol->requires_eject; } /* Following fstab code is taken from gnome-mount and modified */ static gboolean fstab_open (gpointer *handle) { char* fstab_path; #ifdef __FreeBSD__ return setfsent () == 1; #else fstab_path = g_build_filename( SYSCONFDIR, "fstab", NULL ); *handle = fopen (fstab_path, "r"); g_free( fstab_path ); return *handle != NULL; #endif } static char * fstab_next (gpointer handle, char **mount_point) { #ifdef __FreeBSD__ struct fstab *fstab; fstab = getfsent (); /* TODO: fill out mount_point */ if (mount_point != NULL && fstab != NULL) { *mount_point = fstab->fs_file; } return fstab ? fstab->fs_spec : NULL; #else struct mntent *mnt; mnt = getmntent (handle); if (mount_point != NULL && mnt != NULL) { *mount_point = mnt->mnt_dir; } return mnt ? mnt->mnt_fsname : NULL; #endif } static void fstab_close (gpointer handle) { #ifdef __FreeBSD__ endfsent (); #else fclose (handle); #endif } /* borrowed from gtk/gtkfilesystemunix.c in GTK+ on 02/23/2006 */ static void canonicalize_filename (gchar *filename) { gchar *p, *q; gboolean last_was_slash = FALSE; p = filename; q = filename; while (*p) { if (*p == G_DIR_SEPARATOR) { if (!last_was_slash) *q++ = G_DIR_SEPARATOR; last_was_slash = TRUE; } else { if (last_was_slash && *p == '.') { if (*(p + 1) == G_DIR_SEPARATOR || *(p + 1) == '\0') { if (*(p + 1) == '\0') break; p += 1; } else if (*(p + 1) == '.' && (*(p + 2) == G_DIR_SEPARATOR || *(p + 2) == '\0')) { if (q > filename + 1) { q--; while (q > filename + 1 && *(q - 1) != G_DIR_SEPARATOR) q--; } if (*(p + 2) == '\0') break; p += 2; } else { *q++ = *p; last_was_slash = FALSE; } } else { *q++ = *p; last_was_slash = FALSE; } } p++; } if (q > filename + 1 && *(q - 1) == G_DIR_SEPARATOR) q--; *q = '\0'; } static char * resolve_symlink (const char *file) { GError *error; char *dir; char *link; char *f; char *f1; f = g_strdup (file); while (g_file_test (f, G_FILE_TEST_IS_SYMLINK)) { link = g_file_read_link (f, &error); if (link == NULL) { g_warning ("Cannot resolve symlink %s: %s", f, error->message); g_error_free (error); g_free (f); f = NULL; goto out; } dir = g_path_get_dirname (f); f1 = g_strdup_printf ("%s/%s", dir, link); g_free (dir); g_free (link); g_free (f); f = f1; } out: if (f != NULL) canonicalize_filename (f); return f; } static LibHalVolume * volume_findby (LibHalContext *hal_ctx, const char *property, const char *value) { int i; char **hal_udis; int num_hal_udis; LibHalVolume *result = NULL; char *found_udi = NULL; DBusError error; dbus_error_init (&error); if ((hal_udis = libhal_manager_find_device_string_match (hal_ctx, property, value, &num_hal_udis, &error)) == NULL) goto out; for (i = 0; i < num_hal_udis; i++) { char *udi; udi = hal_udis[i]; if (libhal_device_query_capability (hal_ctx, udi, "volume", &error)) { found_udi = strdup (udi); break; } } libhal_free_string_array (hal_udis); if (found_udi != NULL) result = libhal_volume_from_udi (hal_ctx, found_udi); free (found_udi); out: return result; } static gboolean is_in_fstab (const char *device_file, const char *label, const char *uuid, char **mount_point) { gboolean ret; gpointer handle; char *entry; char *_mount_point; ret = FALSE; /* check if /etc/fstab mentions this device... (with symlinks etc) */ if (!fstab_open (&handle)) { handle = NULL; goto out; } while ((entry = fstab_next (handle, &_mount_point)) != NULL) { char *resolved; if (label != NULL && g_str_has_prefix (entry, "LABEL=")) { if (strcmp (entry + 6, label) == 0) { gboolean skip_fstab_entry; skip_fstab_entry = FALSE; /* OK, so what's if someone attaches an external disk with the label '/' and * /etc/fstab has * * LABEL=/ / ext3 defaults 1 1 * * in /etc/fstab as most Red Hat systems do? Bugger, this is a very common use * case; suppose that you take the disk from your Fedora server and attaches it * to your laptop. Bingo, you now have two disks with the label '/'. One must * seriously wonder if using things like LABEL=/ for / is a good idea; just * what happens if you boot in this configuration? (answer: the initrd gets * it wrong most of the time.. sigh) * * To work around this, check if the listed entry in /etc/fstab is already mounted, * if it is, then check if it's the same device_file as the given one... */ /* see if a volume is mounted at this mount point */ if (_mount_point != NULL) { LibHalVolume *mounted_vol; mounted_vol = volume_findby (hal_context, "volume.mount_point", _mount_point); if (mounted_vol != NULL) { const char *mounted_vol_device_file; mounted_vol_device_file = libhal_volume_get_device_file (mounted_vol); /* no need to resolve symlinks, hal uses the canonical device file */ /* g_debug ("device_file = '%s'", device_file); */ /* g_debug ("mounted_vol_device_file = '%s'", mounted_vol_device_file); */ if (mounted_vol_device_file != NULL && strcmp (mounted_vol_device_file, device_file) !=0) { /* g_debug ("Wanting to mount %s that has label %s, but /etc/fstab says LABEL=%s is to be mounted at mount point '%s'. However %s (that also has label %s), is already mounted at said mount point. So, skipping said /etc/fstab entry.\n", device_file, label, label, _mount_point, mounted_vol_device_file, _mount_point); */ skip_fstab_entry = TRUE; } libhal_volume_free (mounted_vol); } } if (!skip_fstab_entry) { ret = TRUE; if (mount_point != NULL) *mount_point = g_strdup (_mount_point); goto out; } } } if (uuid != NULL && g_str_has_prefix (entry, "UUID=")) { if (strcmp (entry + 5, uuid) == 0) { ret = TRUE; if (mount_point != NULL) *mount_point = g_strdup (_mount_point); goto out; } } resolved = resolve_symlink (entry); if (strcmp (device_file, resolved) == 0) { ret = TRUE; g_free (resolved); if (mount_point != NULL) *mount_point = g_strdup (_mount_point); goto out; } g_free (resolved); } out: if (handle != NULL) fstab_close (handle); return ret; } #ifdef __FreeBSD__ #define MOUNT "/sbin/mount" #define UMOUNT "/sbin/umount" #else #define MOUNT "/bin/mount" #define UMOUNT "/bin/umount" #endif /* Following mount/umount/eject-related source code is modified from exo-mount.c * included in libexo originally written by Benedikt Meurer . */ struct _ExoMountHalDevice { gchar *udi; LibHalDrive *drive; LibHalVolume *volume; /* device internals */ gchar *file; gchar *name; /* file system options */ gchar **fsoptions; const gchar *fstype; LibHalVolumeUsage fsusage; }; typedef struct _ExoMountHalDevice ExoMountHalDevice; typedef enum{ VA_MOUNT, VA_UMOUNT, VA_EJECT }VolumnAction; static gboolean translate_hal_error( GError** error, ExoMountHalDevice *device, const char* hal_err, VolumnAction action ); void vfs_volume_hal_free (ExoMountHalDevice *device) { /* check if we have a device */ if (G_LIKELY (device != NULL)) { libhal_free_string_array (device->fsoptions); libhal_volume_free (device->volume); libhal_drive_free (device->drive); g_free (device->file); g_free (device->name); g_free (device->udi); g_slice_free ( ExoMountHalDevice, device ); } } static void exo_mount_hal_propagate_error (GError **error, DBusError *derror) { g_return_if_fail (error == NULL || *error == NULL); /* check if we need to propragate an error */ if (G_LIKELY (derror != NULL && dbus_error_is_set (derror))) { /* propagate the error */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, "%s", derror->message); /* reset the D-Bus error */ dbus_error_free (derror); } } ExoMountHalDevice* vfs_volume_hal_from_udi (const gchar *udi, GError **error) { ExoMountHalDevice *device = NULL; DBusError derror; gchar **interfaces; gchar **volume_udis; gchar *volume_udi = NULL; gint n_volume_udis; gint n; g_return_val_if_fail (udi != NULL, NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); /* initialize D-Bus error */ dbus_error_init (&derror); again: /* determine the info.interfaces property of the device */ interfaces = libhal_device_get_property_strlist (hal_context, udi, "info.interfaces", &derror); if (G_UNLIKELY (interfaces == NULL)) { /* reset D-Bus error */ dbus_error_free (&derror); /* release any previous volume UDI */ g_free (volume_udi); volume_udi = NULL; /* ok, but maybe we have a volume whose parent is identified by the udi */ volume_udis = libhal_manager_find_device_string_match (hal_context, "info.parent", udi, &n_volume_udis, &derror); if (G_UNLIKELY (volume_udis == NULL)) { err0: exo_mount_hal_propagate_error (error, &derror); goto out; } else if (G_UNLIKELY (n_volume_udis < 1)) { /* no match, we cannot handle that device */ libhal_free_string_array (volume_udis); goto err1; } /* use the first volume UDI... */ volume_udi = g_strdup (volume_udis[0]); libhal_free_string_array (volume_udis); /* ..and try again using that UDI */ udi = (const gchar *) volume_udi; goto again; } /* verify that we have a mountable device here */ for (n = 0; interfaces[n] != NULL; ++n) if (strcmp (interfaces[n], "org.freedesktop.Hal.Device.Volume") == 0) break; if (G_UNLIKELY (interfaces[n] == NULL)) { /* definitely not a device that we're able to mount, eject or unmount */ err1: g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("Given device \"%s\" is not a volume or drive"), udi); goto out; } /* setup the device struct */ device = g_slice_new0 (ExoMountHalDevice); device->udi = g_strdup (udi); /* check if we have a volume here */ device->volume = libhal_volume_from_udi (hal_context, udi); if (G_LIKELY (device->volume != NULL)) { /* determine the storage drive for the volume */ device->drive = libhal_drive_from_udi (hal_context, libhal_volume_get_storage_device_udi (device->volume)); if (G_LIKELY (device->drive != NULL)) { /* setup the device internals */ device->file = g_strdup (libhal_volume_get_device_file (device->volume)); device->name = _hal_volume_policy_get_display_name( device->drive, device->volume ); /* setup the file system internals */ device->fstype = libhal_volume_get_fstype (device->volume); device->fsusage = libhal_volume_get_fsusage (device->volume); } } else { /* check if we have a drive here (i.e. floppy) */ device->drive = libhal_drive_from_udi (hal_context, udi); if (G_LIKELY (device->drive != NULL)) { /* setup the device internals */ device->file = g_strdup (libhal_drive_get_device_file (device->drive)); device->name = _hal_drive_policy_get_display_name( device->drive, NULL ); /* setup the file system internals */ device->fstype = ""; device->fsusage = LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM; } } /* determine the valid mount options from the UDI */ device->fsoptions = libhal_device_get_property_strlist (hal_context, udi, "volume.mount.valid_options", &derror); /* sanity checking */ if (G_UNLIKELY (device->file == NULL || device->name == NULL)) { vfs_volume_hal_free (device); device = NULL; goto err0; } /* check if we failed */ if (G_LIKELY (device->drive == NULL)) { /* definitely not a device that we're able to mount, eject or unmount */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("Given device \"%s\" is not a volume or drive"), udi); vfs_volume_hal_free (device); device = NULL; } out: /* cleanup */ libhal_free_string_array (interfaces); g_free (volume_udi); return device; } ExoMountHalDevice* vfs_volume_hal_from_file (const gchar *file, GError **error) { ExoMountHalDevice *device = NULL; DBusError derror; gchar **interfaces; gchar **udis; gint n_udis; gint n, m; g_return_val_if_fail (g_path_is_absolute (file), NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); /* initialize D-Bus error */ dbus_error_init (&derror); /* query matching UDIs from HAL */ udis = libhal_manager_find_device_string_match (hal_context, "block.device", file, &n_udis, &derror); if (G_UNLIKELY (udis == NULL)) { /* propagate the error */ exo_mount_hal_propagate_error (error, &derror); return NULL; } /* look for an UDI that specifies the Volume interface */ for (n = 0; n < n_udis; ++n) { /* check if we should ignore this device */ if (libhal_device_get_property_bool (hal_context, udis[n], "info.ignore", NULL)) continue; /* determine the info.interfaces property of the device */ interfaces = libhal_device_get_property_strlist (hal_context, udis[n], "info.interfaces", NULL); if (G_UNLIKELY (interfaces == NULL)) continue; /* check if we have a mountable device here */ for (m = 0; interfaces[m] != NULL; ++m) if (strcmp (interfaces[m], "org.freedesktop.Hal.Device.Volume") == 0) break; /* check if it's a usable device */ if (interfaces[m] != NULL) { libhal_free_string_array (interfaces); break; } /* next one, please */ libhal_free_string_array (interfaces); } /* check if we have an UDI */ if (G_LIKELY (n < n_udis)) { /* try to query the device from the HAL daemon */ device = vfs_volume_hal_from_udi (udis[n], error); } else { /* tell the caller that no matching device was found */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL, _("Device \"%s\" not found in file system device table"), file); } /* cleanup */ libhal_free_string_array (udis); return device; } gboolean vfs_volume_hal_is_readonly (VFSVolume* volume) { LibHalDrive* drive; g_return_val_if_fail (volume != NULL, FALSE); /* the "volume.is_mounted_read_only" property might be a good start */ if (libhal_device_get_property_bool (hal_context, volume->udi, "volume.is_mounted_read_only", NULL)) return TRUE; drive = libhal_drive_from_udi( hal_context, volume->udi ); if( drive ) { /* otherwise guess based on the drive type */ switch (libhal_drive_get_type (drive)) { /* CD-ROMs and floppies are read-only... */ case LIBHAL_DRIVE_TYPE_CDROM: case LIBHAL_DRIVE_TYPE_FLOPPY: return TRUE; /* ...everything else is writable */ default: return FALSE; } libhal_drive_free( drive ); } return FALSE; } gboolean vfs_volume_hal_eject (VFSVolume* volume, GError **error) { const gchar **options = { NULL }; const guint n_options = 0; DBusMessage *message; DBusMessage *result; DBusError derror; const gchar *uuid = NULL, *label = NULL; ExoMountHalDevice* device; g_return_val_if_fail (volume != NULL, FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); device = vfs_volume_hal_from_file ( volume->device_file, error ); if( ! device ) return FALSE; /* check if it's in /etc/fstab */ if( device->volume != NULL) { label = libhal_volume_get_label (device->volume); uuid = libhal_volume_get_uuid (device->volume); } if( device->file != NULL) { char *mount_point = NULL; if (is_in_fstab (device->file, label, uuid, &mount_point)) { gboolean ret = FALSE; GError *err = NULL; char *sout = NULL; char *serr = NULL; int exit_status; char *args[3] = {"eject", NULL, NULL}; char **envp = {NULL}; //g_print (_("Device %s is in /etc/fstab with mount point \"%s\"\n"), // device_file, mount_point); args[1] = mount_point; if (!g_spawn_sync ("/", args, envp, G_SPAWN_SEARCH_PATH, NULL, NULL, &sout, &serr, &exit_status, &err)) { /* g_warning ("Cannot execute %s\n", "eject"); */ g_free (mount_point); goto out; } if (exit_status != 0) { /* g_warning ("%s said error %d, stdout='%s', stderr='%s'\n", "eject", exit_status, sout, serr); */ if (strstr (serr, "is busy") != NULL) { translate_hal_error( error, device, ERR_BUSY, VA_EJECT); } else if (strstr (serr, "only root") != NULL|| strstr (serr, "unable to open") != NULL ) { /* Let's try to do it as root */ if( vfs_volume_eject_by_udi_as_root( volume->udi ) ) ret = TRUE; else translate_hal_error( error, device, ERR_PERM_DENIED, VA_EJECT); } else { translate_hal_error( error, device, ERR_UNKNOWN_FAILURE, VA_EJECT); } goto out; } /* g_print (_("Ejected %s (using /etc/fstab).\n"), device->file); */ ret = TRUE; out: g_free (mount_point); vfs_volume_hal_free( device ); return ret; } g_free (mount_point); } /* allocate the D-Bus message for the "Eject" method */ message = dbus_message_new_method_call ("org.freedesktop.Hal", volume->udi, "org.freedesktop.Hal.Device.Volume", "Eject"); if (G_UNLIKELY (message == NULL)) { /* out of memory */ oom: g_set_error_literal (error, G_FILE_ERROR, G_FILE_ERROR_NOMEM, g_strerror (ENOMEM)); vfs_volume_hal_free( device ); return FALSE; } /* append the (empty) eject options array */ if (!dbus_message_append_args (message, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &options, n_options, DBUS_TYPE_INVALID)) { dbus_message_unref (message); goto oom; } /* initialize D-Bus error */ dbus_error_init (&derror); /* send the message to the HAL daemon and block for the reply */ result = dbus_connection_send_with_reply_and_block (dbus_connection, message, -1, &derror); if (G_LIKELY (result != NULL)) { /* check if an error was returned */ if (dbus_message_get_type (result) == DBUS_MESSAGE_TYPE_ERROR) dbus_set_error_from_message (&derror, result); /* release the result */ dbus_message_unref (result); } /* release the message */ dbus_message_unref (message); /* check if we failed */ if (G_UNLIKELY (dbus_error_is_set (&derror))) { if( 0 == strcmp( derror.name, ERR_PERM_DENIED ) ) /* permission denied */ { if( vfs_volume_eject_by_udi_as_root( volume->udi ) ) /* try to eject as root */ { dbus_error_free (&derror); vfs_volume_hal_free( device ); return TRUE; } } /* try to translate the error appropriately */ if( ! translate_hal_error( error, device, derror.name, VA_EJECT ) ) { /* no precise error message, use the HAL one */ exo_mount_hal_propagate_error (error, &derror); } /* release the DBus error */ dbus_error_free (&derror); vfs_volume_hal_free( device ); return FALSE; } vfs_volume_hal_free( device ); return TRUE; } static const char* not_privileged[]={ N_("You are not privileged to mount the volume \"%s\""), N_("You are not privileged to unmount the volume \"%s\""), N_("You are not privileged to eject the volume \"%s\"") }; gboolean translate_hal_error( GError** error, ExoMountHalDevice *device, const char* hal_err, VolumnAction action ) { /* try to translate the error appropriately */ if (strcmp (hal_err, ERR_PERM_DENIED) == 0) { /* TRANSLATORS: User tried to mount a volume, but is not privileged to do so. */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _(not_privileged[action]), device->name); } else if (strcmp (hal_err, ERR_INVALID_MOUNT_OPT) == 0) { /* TODO: slim down mount options to what is allowed, cf. volume.mount.valid_options */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("Invalid mount option when attempting to mount the volume \"%s\""), device->name); } else if (strcmp (hal_err, ERR_UNKNOWN_FS) == 0) { g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("The volume \"%s\" uses the %s file system which is not supported by your system"), device->name, device->fstype); } else if( strcmp(hal_err, ERR_BUSY) == 0 ) { g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("An application is preventing the volume \"%s\" from being unmounted"), device->name); } else if( strcmp( hal_err, ERR_NOT_MOUNTED ) == 0 ) { g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("The volume \"%s\" is not mounted"), device->name); } else if( strcmp (hal_err, ERR_UNKNOWN_FAILURE ) == 0 ) { g_set_error( error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("Error %s"), hal_err ); } else if(strcmp ( hal_err, ERR_NOT_MOUNTED_BY_HAL ) == 0 ) { /* TRANSLATORS: HAL can only unmount volumes that were mounted via HAL. */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("The volume \"%s\" was probably mounted manually on the command line"), device->name); } else { /* try to come up with a useful error message */ if( action == VA_MOUNT ) { if (device->volume != NULL && libhal_volume_is_disc (device->volume) && libhal_volume_disc_is_blank (device->volume)) { /* TRANSLATORS: User tried to mount blank disc, which is not going to work. */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("Blank discs cannot be mounted, use a CD " "recording application to " "record audio or data on the disc")); } else if (device->volume != NULL && libhal_volume_is_disc (device->volume) && !libhal_volume_disc_has_data (device->volume) && libhal_volume_disc_has_audio (device->volume)) { /* TRANSLATORS: User tried to mount an Audio CD that doesn't contain a data track. */ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, _("Audio CDs cannot be mounted, use " "music players to play the audio tracks")); } else return FALSE; } else return FALSE; } return TRUE; } gboolean vfs_volume_hal_mount (ExoMountHalDevice *device, GError **error) { DBusMessage *message; DBusMessage *result; DBusError derror; gchar *mount_point = NULL; gchar **options = NULL; gchar *fstype = NULL; gchar *s; const gchar *uuid = NULL, *label = NULL; gint m, n = 0; VFSVolumeOptions opts; g_return_val_if_fail (device != NULL, FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); if( device->volume != NULL) { label = libhal_volume_get_label (device->volume); uuid = libhal_volume_get_uuid (device->volume); // device_file = libhal_volume_get_device_file (volume); } else if ( device->drive != NULL) { // device_file = libhal_drive_get_device_file (drive); } if (is_in_fstab( device->file, label, uuid, &mount_point) ) { GError *err = NULL; char *sout = NULL; char *serr = NULL; int exit_status; char *args[3] = {MOUNT, NULL, NULL}; char **envp = {NULL}; /* g_print (_("Device %s is in /etc/fstab with mount point \"%s\"\n"), device->file, mount_point); */ args[1] = mount_point; if (!g_spawn_sync ("/", args, envp, 0, NULL, NULL, &sout, &serr, &exit_status, &err)) { g_warning ("Cannot execute %s\n", MOUNT); g_free (mount_point); mount_point = NULL; return FALSE; } if (exit_status != 0) { // char errstr[] = "mount: unknown filesystem type"; /* g_warning ("%s said error %d, stdout='%s', stderr='%s'\n", MOUNT, exit_status, sout, serr); */ if (strstr (serr, "unknown filesystem type") != NULL) { translate_hal_error( error, device, ERR_UNKNOWN_FS, VA_MOUNT ); } else if (strstr (serr, "already mounted") != NULL) { g_free( mount_point ); return TRUE; } else if (strstr (serr, "only root") != NULL) { /* Let's try to do it as root */ if( vfs_volume_mount_by_udi_as_root( device->udi ) ) { g_free( mount_point ); return TRUE; } else translate_hal_error( error, device, ERR_PERM_DENIED, VA_MOUNT ); } else if (strstr (serr, "bad option") != NULL) { translate_hal_error( error, device, ERR_INVALID_MOUNT_OPT, VA_MOUNT); } else { translate_hal_error( error, device, ERR_UNKNOWN_FAILURE, VA_MOUNT); } g_free (mount_point); return FALSE; } return TRUE; } /* determine the required mount options */ /* get mount options set by pcmanfm first */ if( vfs_volume_hal_get_options( device->fstype, &opts ) ) { char** popts = opts.mount_options; n = g_strv_length( popts ); if( n > 0) { int i; /* We have to allocate a new larger array bacause we might need to * append new options to the array later */ options = g_new0 (gchar *, n + 4); for( i = 0; i < n; ++i ) { options[i] = popts[i]; popts[i] = NULL; /* steal the string */ } /* the strings in the array are already stolen, so strfreev is not needed. */ } g_free( opts.mount_options ); fstype = opts.fstype_override; } if( G_UNLIKELY( ! options ) ) { options = g_new0 (gchar *, 20); /* check if we know any valid mount options */ if (G_LIKELY (device->fsoptions != NULL)) { /* process all valid mount options */ for (m = 0; device->fsoptions[m] != NULL; ++m) { /* this is currently mostly Linux specific noise */ if ( #ifndef __FreeBSD__ strcmp (device->fsoptions[m], "uid=") == 0 #else strcmp (ret->mount_options[i], "-u=") == 0 #endif && (strcmp (device->fstype, "vfat") == 0 || strcmp (device->fstype, "iso9660") == 0 || strcmp (device->fstype, "udf") == 0 || device->volume == NULL)) { #ifndef __FreeBSD__ options[n++] = g_strdup_printf ("uid=%u", (guint) getuid ()); #else options[n++] = g_strdup_printf ("-u=%u", (guint) getuid ()); #endif } else if (strcmp (device->fsoptions[m], "shortname=") == 0 && strcmp (device->fstype, "vfat") == 0) { options[n++] = g_strdup_printf ("shortname=winnt"); } else if (strcmp (device->fsoptions[m], "sync") == 0 && device->volume == NULL) { /* non-pollable drive... */ options[n++] = g_strdup ("sync"); } else if (strcmp (device->fsoptions[m], "longnames") == 0 && strcmp (device->fstype, "vfat") == 0) { /* however this one is FreeBSD specific */ options[n++] = g_strdup ("longnames"); } else if (strcmp (device->fsoptions[m], "locale=") == 0 && strcmp (device->fstype, "ntfs-3g") == 0) { options[n++] = g_strdup_printf ("locale=%s", setlocale (LC_ALL, "")); } } } } /* try to determine a usable mount point */ if (G_LIKELY (device->volume != NULL)) { /* maybe we can use the volume's label... */ mount_point = g_strdup( libhal_volume_get_label (device->volume) ); } else { /* maybe we can use the the textual type... */ mount_point = g_strdup( libhal_drive_get_type_textual (device->drive) ); } /* However, the label may contain G_DIR_SEPARATOR so just replace these * with underscores. Pretty typical use-case, suppose you hotplug a disk * from a server, then you get e.g. two ext3 fs'es with labels '/' and * '/home' - typically seen on Red Hat systems... */ /* make sure that the mount point is usable (i.e. does not contain G_DIR_SEPARATOR's) */ /* mount_point = (mount_point != NULL && *mount_point != '\0') ? exo_str_replace (mount_point, G_DIR_SEPARATOR_S, "_") : g_strdup (""); */ if( mount_point ) { char* pmp = mount_point; for ( ;*pmp; ++pmp) { if (*pmp == G_DIR_SEPARATOR) { *pmp = '_'; } } } else mount_point = g_strdup (""); if( ! fstype ) { /* let HAL guess the fstype */ fstype = g_strdup (""); } /* setup the D-Bus error */ dbus_error_init (&derror); /* now several times... */ for (;;) { /* prepare the D-Bus message for the "Mount" method */ message = dbus_message_new_method_call ("org.freedesktop.Hal", device->udi, "org.freedesktop.Hal.Device.Volume", "Mount"); if (G_UNLIKELY (message == NULL)) { oom: g_set_error_literal (error, G_FILE_ERROR, G_FILE_ERROR_NOMEM, g_strerror (ENOMEM)); g_strfreev (options); g_free (mount_point); g_free (fstype); return FALSE; } /* append the message parameters */ if (!dbus_message_append_args (message, DBUS_TYPE_STRING, &mount_point, DBUS_TYPE_STRING, &fstype, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &options, n, DBUS_TYPE_INVALID)) { dbus_message_unref (message); goto oom; } /* send the message to the HAL daemon */ result = dbus_connection_send_with_reply_and_block (dbus_connection, message, -1, &derror); if (G_LIKELY (result != NULL)) { /* check if an error was returned */ if (dbus_message_get_type (result) == DBUS_MESSAGE_TYPE_ERROR) dbus_set_error_from_message (&derror, result); /* release the result */ dbus_message_unref (result); } /* release the messages */ dbus_message_unref (message); /* check if we succeed */ if (!dbus_error_is_set (&derror)) break; /* check if the device was already mounted */ if (strcmp (derror.name, ERR_ALREADY_MOUNTED) == 0) { dbus_error_free (&derror); break; } /* check if the specified mount point was invalid */ if (strcmp (derror.name, ERR_INVALID_MOUNT_POINT) == 0 && *mount_point != '\0') { /* try again without a mount point */ g_free (mount_point); mount_point = g_strdup (""); /* reset the error */ dbus_error_free (&derror); continue; } /* check if the specified mount point is not available */ if (strcmp (derror.name, ERR_MOUNT_POINT_NOT_AVAILABLE) == 0 && *mount_point != '\0') { /* try again with a new mount point */ s = g_strconcat (mount_point, "_", NULL); g_free (mount_point); mount_point = s; /* reset the error */ dbus_error_free (&derror); continue; } #if defined(__FreeBSD__) /* check if an unknown error occurred while trying to mount a floppy */ if (strcmp (derror.name, "org.freedesktop.Hal.Device.UnknownError") == 0 && libhal_drive_get_type (device->drive) == LIBHAL_DRIVE_TYPE_FLOPPY) { /* check if no file system type was specified */ if (G_LIKELY (*fstype == '\0')) { /* try again with msdosfs */ g_free (fstype); fstype = g_strdup ("msdosfs"); /* reset the error */ dbus_error_free (&derror); continue; } } #endif /* it's also possible that we need to include "ro" in the options */ for (n = 0; options[n] != NULL; ++n) if (strcmp (options[n], "ro") == 0) break; if (G_UNLIKELY (options[n] != NULL)) { /* we already included "ro" in the options, no way * to mount that device then... we simply give up. */ break; } /* add "ro" to the options and try again */ options[n++] = g_strdup ("ro"); /* reset the error */ dbus_error_free (&derror); } /* cleanup */ g_strfreev (options); g_free (mount_point); g_free (fstype); /* check if we failed */ if (dbus_error_is_set (&derror)) { if (strcmp (derror.name, ERR_ALREADY_MOUNTED) == 0) { /* Ups, already mounted, we succeed! */ dbus_error_free (&derror); return TRUE; } if( 0 == strcmp( derror.name, ERR_PERM_DENIED ) ) /* permission denied */ { if( vfs_volume_mount_by_udi_as_root( device->udi ) ) /* try to eject as root */ { dbus_error_free (&derror); return TRUE; } } if( ! translate_hal_error( error, device, derror.name, VA_MOUNT ) ) { /* unknown error, use HAL's message */ exo_mount_hal_propagate_error (error, &derror); } /* release D-Bus error */ dbus_error_free (&derror); return FALSE; } return TRUE; } gboolean vfs_volume_hal_unmount (VFSVolume* volume, GError **error) { const gchar **options = { NULL }; const guint n_options = 0; DBusMessage *message; DBusMessage *result; DBusError derror; const char *label = NULL, *uuid=NULL; ExoMountHalDevice* device = NULL; g_return_val_if_fail (volume != NULL, FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); /* FIXME: volume->udi might be a udi to hal_drive, not hal_volume. */ /* check if it's in /etc/fstab */ device = vfs_volume_hal_from_file ( volume->device_file, NULL ); if( ! device ) return FALSE; /* check if it's in /etc/fstab */ if( device->volume != NULL) { label = libhal_volume_get_label (device->volume); uuid = libhal_volume_get_uuid (device->volume); } if (device->file != NULL) { char *mount_point = NULL; if (is_in_fstab (device->file, label, uuid, &mount_point)) { gboolean ret = FALSE; GError *err = NULL; char *sout = NULL; char *serr = NULL; int exit_status; char *args[3] = {UMOUNT, NULL, NULL}; char **envp = {NULL}; /* g_print (_("Device %s is in /etc/fstab with mount point \"%s\"\n"), device->file, mount_point); */ args[1] = mount_point; if (!g_spawn_sync ("/", args, envp, 0, NULL, NULL, &sout, &serr, &exit_status, &err)) { /* g_warning ("Cannot execute %s\n", UMOUNT); */ g_free (mount_point); goto out; } if (exit_status != 0) { /* g_warning ("%s said error %d, stdout='%s', stderr='%s'\n", UMOUNT, exit_status, sout, serr); */ if (strstr (serr, "is busy") != NULL) { translate_hal_error( error, device, ERR_BUSY, VA_UMOUNT); } else if (strstr (serr, "not mounted") != NULL) { translate_hal_error( error, device, ERR_NOT_MOUNTED, VA_UMOUNT); } else if (strstr (serr, "only root") != NULL) { /* Let's try to do it as root */ if( vfs_volume_umount_by_udi_as_root( volume->udi ) ) ret = TRUE; else translate_hal_error( error, device, ERR_PERM_DENIED, VA_UMOUNT); } else { translate_hal_error( error, device, ERR_UNKNOWN_FAILURE, VA_UMOUNT); } goto out; } /* g_print (_("Unmounted %s (using /etc/fstab)\n"), device_file); */ ret = TRUE; out: g_free (mount_point); vfs_volume_hal_free( device ); return ret; } g_free (mount_point); } /* allocate the D-Bus message for the "Unmount" method */ message = dbus_message_new_method_call ("org.freedesktop.Hal", volume->udi, "org.freedesktop.Hal.Device.Volume", "Unmount"); if (G_UNLIKELY (message == NULL)) { /* out of memory */ oom: g_set_error_literal (error, G_FILE_ERROR, G_FILE_ERROR_NOMEM, g_strerror (ENOMEM)); vfs_volume_hal_free( device ); return FALSE; } /* append the (empty) eject options array */ if (!dbus_message_append_args (message, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &options, n_options, DBUS_TYPE_INVALID)) { dbus_message_unref (message); goto oom; } /* initialize D-Bus error */ dbus_error_init (&derror); /* send the message to the HAL daemon and block for the reply */ result = dbus_connection_send_with_reply_and_block (dbus_connection, message, -1, &derror); if (G_LIKELY (result != NULL)) { /* check if an error was returned */ if (dbus_message_get_type (result) == DBUS_MESSAGE_TYPE_ERROR) dbus_set_error_from_message (&derror, result); /* release the result */ dbus_message_unref (result); } /* release the message */ dbus_message_unref (message); /* check if we failed */ if (G_UNLIKELY (dbus_error_is_set (&derror))) { /* try to translate the error appropriately */ if (strcmp (derror.name, ERR_NOT_MOUNTED) == 0) { /* Ups, volume not mounted, we succeed! */ dbus_error_free (&derror); vfs_volume_hal_free( device ); return TRUE; } if( 0 == strcmp( derror.name, ERR_PERM_DENIED ) ) /* permission denied */ { if( vfs_volume_umount_by_udi_as_root( device->udi ) ) /* try to eject as root */ { dbus_error_free (&derror); vfs_volume_hal_free( device ); return TRUE; } } if( ! translate_hal_error( error, device, derror.name, VA_UMOUNT ) ) { /* unknown error, use the HAL one */ exo_mount_hal_propagate_error (error, &derror); } /* release the DBus error */ dbus_error_free (&derror); vfs_volume_hal_free( device ); return FALSE; } vfs_volume_hal_free( device ); return TRUE; } gboolean vfs_volume_mount( VFSVolume* vol, GError** err ) { ExoMountHalDevice* device; gboolean ret = FALSE; device = vfs_volume_hal_from_udi( vol->udi, err ); if( device ) { ret = vfs_volume_hal_mount( device, err ); vfs_volume_hal_free( device ); } return ret; } gboolean vfs_volume_umount( VFSVolume *vol, GError** err ) { return vfs_volume_hal_unmount( vol, err ); } gboolean vfs_volume_eject( VFSVolume *vol, GError** err ) { return vfs_volume_hal_eject( vol, err ); } gboolean vfs_volume_mount_by_udi( const char* udi, GError** err ) { ExoMountHalDevice* device; gboolean ret = FALSE; device = vfs_volume_hal_from_udi( udi, err ); if( device ) { ret = vfs_volume_hal_mount( device, err ); vfs_volume_hal_free( device ); } return ret; } gboolean vfs_volume_umount_by_udi( const char* udi, GError** err ) { VFSVolume* volume = vfs_volume_get_volume_by_udi( udi ); return volume ? vfs_volume_hal_unmount( volume, err ) : FALSE; } gboolean vfs_volume_eject_by_udi( const char* udi, GError** err ) { VFSVolume* volume = vfs_volume_get_volume_by_udi( udi ); return volume ? vfs_volume_hal_eject( volume, err ) : FALSE; } /* helper functions to mount/umount/eject devices as root */ gboolean vfs_volume_mount_by_udi_as_root( const char* udi ) { int ret; char* argv[4]; //MOD if ( G_UNLIKELY( geteuid() == 0 ) ) /* we are already root */ return FALSE; //MOD separate arguments for ktsuss compatibility //cmd = g_strdup_printf( "%s --mount '%s'", g_get_prgname(), udi ); argv[0] = g_strdup( g_get_prgname() ); argv[1] = g_strdup_printf ( "--mount" ); argv[2] = g_strdup( udi ); argv[3] = NULL; if ( !argv[0] ) return FALSE; vfs_sudo_cmd_sync( NULL, argv, &ret, NULL,NULL, NULL ); //MOD return (ret == 0); } gboolean vfs_volume_umount_by_udi_as_root( const char* udi ) { int ret; char* argv[4]; //MOD if ( G_UNLIKELY( geteuid() == 0 ) ) /* we are already root */ return FALSE; //MOD separate arguments for ktsuss compatibility //cmd = g_strdup_printf( "%s --umount '%s'", g_get_prgname(), udi ); argv[0] = g_strdup( g_get_prgname() ); argv[1] = g_strdup_printf ( "--umount" ); argv[2] = g_strdup( udi ); argv[3] = NULL; if ( !argv[0] ) return FALSE; vfs_sudo_cmd_sync( NULL, argv, &ret, NULL,NULL, NULL ); return (ret == 0); } gboolean vfs_volume_eject_by_udi_as_root( const char* udi ) { int ret; char* argv[4]; //MOD if ( G_UNLIKELY( geteuid() == 0 ) ) /* we are already root */ return FALSE; //MOD separate arguments for ktsuss compatibility //cmd = g_strdup_printf( "%s --eject '%s'", g_get_prgname(), udi ); argv[0] = g_strdup( g_get_prgname() ); argv[1] = g_strdup_printf ( "--eject" ); argv[2] = g_strdup( udi ); argv[3] = NULL; if ( !argv[0] ) return FALSE; vfs_sudo_cmd_sync( NULL, argv, &ret, NULL,NULL, NULL ); return (ret == 0); } #endif /* HAVE_HAL */ spacefm-1.0.5/src/vfs/vfs-volume-nohal.c000066400000000000000000005032271264770501700201100ustar00rootroot00000000000000/* * SpaceFM vfs-volume-nohal.c * * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * * udev & mount monitor code by IgnorantGuru * device info code uses code excerpts from freedesktop's udisks v1.0.4 */ #ifdef HAVE_CONFIG_H #include #endif #include "vfs-volume.h" #include #include #include "glib-mem.h" #include #include #include #include // udev #include #include #include // waitpid #include #include #include #include // kill #include // MAJOR MINOR #ifdef HAVE_STATVFS #include #endif #include #include "ptk-file-task.h" #include "main-window.h" #include "ptk-handler.h" #include "ptk-location-view.h" #define MOUNTINFO "/proc/self/mountinfo" #define MTAB "/proc/mounts" #define HIDDEN_NON_BLOCK_FS "devpts proc fusectl pstore sysfs tmpfs devtmpfs ramfs aufs overlayfs cgroup binfmt_misc rpc_pipefs fuse.gvfsd-fuse" void vfs_volume_monitor_start(); VFSVolume* vfs_volume_read_by_device( struct udev_device *udevice ); VFSVolume* vfs_volume_read_by_mount( dev_t devnum, const char* mount_points ); static void vfs_volume_device_added ( VFSVolume* volume, gboolean automount ); static void vfs_volume_device_removed ( struct udev_device* udevice ); static gboolean vfs_volume_nonblock_removed( dev_t devnum ); static void call_callbacks( VFSVolume* vol, VFSVolumeState state ); void unmount_if_mounted( VFSVolume* vol ); typedef struct _VFSVolumeCallbackData { VFSVolumeCallback cb; gpointer user_data; }VFSVolumeCallbackData; static GList* volumes = NULL; static GArray* callbacks = NULL; GPid monpid = 0; gboolean global_inhibit_auto = FALSE; typedef struct devmount_t { guint major; guint minor; char* mount_points; char* fstype; GList* mounts; } devmount_t; GList* devmounts = NULL; struct udev *udev = NULL; struct udev_monitor *umonitor = NULL; GIOChannel* uchannel = NULL; GIOChannel* mchannel = NULL; /* ************************************************************************* * device info ************************************************************************** */ typedef struct device_t { struct udev_device *udevice; dev_t devnum; char *devnode; char *native_path; char *mount_points; gboolean device_is_system_internal; gboolean device_is_partition; gboolean device_is_partition_table; gboolean device_is_removable; gboolean device_is_media_available; gboolean device_is_read_only; gboolean device_is_drive; gboolean device_is_optical_disc; gboolean device_is_mounted; char *device_presentation_hide; char *device_presentation_nopolicy; char *device_presentation_name; char *device_presentation_icon_name; char *device_automount_hint; char *device_by_id; guint64 device_size; guint64 device_block_size; char *id_usage; char *id_type; char *id_version; char *id_uuid; char *id_label; char *drive_vendor; char *drive_model; char *drive_revision; char *drive_serial; char *drive_wwn; char *drive_connection_interface; guint64 drive_connection_speed; char *drive_media_compatibility; char *drive_media; gboolean drive_is_media_ejectable; gboolean drive_can_detach; char *partition_scheme; char *partition_number; char *partition_type; char *partition_label; char *partition_uuid; char *partition_flags; char *partition_offset; char *partition_size; char *partition_alignment_offset; char *partition_table_scheme; char *partition_table_count; gboolean optical_disc_is_blank; gboolean optical_disc_is_appendable; gboolean optical_disc_is_closed; char *optical_disc_num_tracks; char *optical_disc_num_audio_tracks; char *optical_disc_num_sessions; } device_t; static char * _dupv8 (const char *s) { const char *end_valid; if (!g_utf8_validate (s, -1, &end_valid)) { g_print ("**** NOTE: The string '%s' is not valid UTF-8. Invalid characters begins at '%s'\n", s, end_valid); return g_strndup (s, end_valid - s); } else { return g_strdup (s); } } /* unescapes things like \x20 to " " and ensures the returned string is valid UTF-8. * * see volume_id_encode_string() in extras/volume_id/lib/volume_id.c in the * udev tree for the encoder */ static gchar * decode_udev_encoded_string (const gchar *str) { GString *s; gchar *ret; const gchar *end_valid; guint n; s = g_string_new (NULL); for (n = 0; str[n] != '\0'; n++) { if (str[n] == '\\') { gint val; if (str[n + 1] != 'x' || str[n + 2] == '\0' || str[n + 3] == '\0') { g_print ("**** NOTE: malformed encoded string '%s'\n", str); break; } val = (g_ascii_xdigit_value (str[n + 2]) << 4) | g_ascii_xdigit_value (str[n + 3]); g_string_append_c (s, val); n += 3; } else { g_string_append_c (s, str[n]); } } if (!g_utf8_validate (s->str, -1, &end_valid)) { g_print ("**** NOTE: The string '%s' is not valid UTF-8. Invalid characters begins at '%s'\n", s->str, end_valid); ret = g_strndup (s->str, end_valid - s->str); g_string_free (s, TRUE); } else { ret = g_string_free (s, FALSE); } return ret; } static gint ptr_str_array_compare (const gchar **a, const gchar **b) { return g_strcmp0 (*a, *b); } static double sysfs_get_double (const char *dir, const char *attribute) { double result; char *contents; char *filename; result = 0.0; filename = g_build_filename (dir, attribute, NULL); if (g_file_get_contents (filename, &contents, NULL, NULL)) { result = atof (contents); g_free (contents); } g_free (filename); return result; } static char * sysfs_get_string (const char *dir, const char *attribute) { char *result; char *filename; result = NULL; filename = g_build_filename (dir, attribute, NULL); if (!g_file_get_contents (filename, &result, NULL, NULL)) { result = g_strdup (""); } g_free (filename); return result; } static int sysfs_get_int (const char *dir, const char *attribute) { int result; char *contents; char *filename; result = 0; filename = g_build_filename (dir, attribute, NULL); if (g_file_get_contents (filename, &contents, NULL, NULL)) { result = strtol (contents, NULL, 0); g_free (contents); } g_free (filename); return result; } static guint64 sysfs_get_uint64 (const char *dir, const char *attribute) { guint64 result; char *contents; char *filename; result = 0; filename = g_build_filename (dir, attribute, NULL); if (g_file_get_contents (filename, &contents, NULL, NULL)) { result = strtoll (contents, NULL, 0); g_free (contents); } g_free (filename); return result; } static gboolean sysfs_file_exists (const char *dir, const char *attribute) { gboolean result; char *filename; result = FALSE; filename = g_build_filename (dir, attribute, NULL); if (g_file_test (filename, G_FILE_TEST_EXISTS)) { result = TRUE; } g_free (filename); return result; } static char * sysfs_resolve_link (const char *sysfs_path, const char *name) { char *full_path; char link_path[PATH_MAX]; char resolved_path[PATH_MAX]; ssize_t num; gboolean found_it; found_it = FALSE; full_path = g_build_filename (sysfs_path, name, NULL); //g_debug ("name='%s'", name); //g_debug ("full_path='%s'", full_path); num = readlink (full_path, link_path, sizeof(link_path) - 1); if (num != -1) { char *absolute_path; link_path[num] = '\0'; //g_debug ("link_path='%s'", link_path); absolute_path = g_build_filename (sysfs_path, link_path, NULL); //g_debug ("absolute_path='%s'", absolute_path); if (realpath (absolute_path, resolved_path) != NULL) { //g_debug ("resolved_path='%s'", resolved_path); found_it = TRUE; } g_free (absolute_path); } g_free (full_path); if (found_it) return g_strdup (resolved_path); else return NULL; } gboolean info_is_system_internal( device_t *device ) { const char *value; if ( value = udev_device_get_property_value( device->udevice, "UDISKS_SYSTEM_INTERNAL" ) ) return atoi( value ) != 0; /* A Linux MD device is system internal if, and only if * * - a single component is system internal * - there are no components * SKIP THIS TEST */ /* a partition is system internal only if the drive it belongs to is system internal */ //TODO /* a LUKS cleartext device is system internal only if the underlying crypto-text * device is system internal * SKIP THIS TEST */ // devices with removable media are never system internal if ( device->device_is_removable ) return FALSE; /* devices on certain buses are never system internal */ if ( device->drive_connection_interface != NULL ) { if (strcmp (device->drive_connection_interface, "ata_serial_esata") == 0 || strcmp (device->drive_connection_interface, "sdio") == 0 || strcmp (device->drive_connection_interface, "usb") == 0 || strcmp (device->drive_connection_interface, "firewire") == 0) return FALSE; } return TRUE; } void info_drive_connection( device_t *device ) { char *s; char *p; char *q; char *model; char *vendor; char *subsystem; char *serial; char *revision; const char *connection_interface; guint64 connection_speed; connection_interface = NULL; connection_speed = 0; /* walk up the device tree to figure out the subsystem */ s = g_strdup (device->native_path); do { p = sysfs_resolve_link (s, "subsystem"); if ( !device->device_is_removable && sysfs_get_int( s, "removable") != 0 ) device->device_is_removable = TRUE; if (p != NULL) { subsystem = g_path_get_basename (p); g_free (p); if (strcmp (subsystem, "scsi") == 0) { connection_interface = "scsi"; connection_speed = 0; /* continue walking up the chain; we just use scsi as a fallback */ /* grab the names from SCSI since the names from udev currently * - replaces whitespace with _ * - is missing for e.g. Firewire */ vendor = sysfs_get_string (s, "vendor"); if (vendor != NULL) { g_strstrip (vendor); /* Don't overwrite what we set earlier from ID_VENDOR */ if (device->drive_vendor == NULL) { device->drive_vendor = _dupv8 (vendor); } g_free (vendor); } model = sysfs_get_string (s, "model"); if (model != NULL) { g_strstrip (model); /* Don't overwrite what we set earlier from ID_MODEL */ if (device->drive_model == NULL) { device->drive_model = _dupv8 (model); } g_free (model); } /* TODO: need to improve this code; we probably need the kernel to export more * information before we can properly get the type and speed. */ if (device->drive_vendor != NULL && strcmp (device->drive_vendor, "ATA") == 0) { connection_interface = "ata"; break; } } else if (strcmp (subsystem, "usb") == 0) { double usb_speed; /* both the interface and the device will be 'usb'. However only * the device will have the 'speed' property. */ usb_speed = sysfs_get_double (s, "speed"); if (usb_speed > 0) { connection_interface = "usb"; connection_speed = usb_speed * (1000 * 1000); break; } } else if (strcmp (subsystem, "firewire") == 0 || strcmp (subsystem, "ieee1394") == 0) { /* TODO: krh has promised a speed file in sysfs; theoretically, the speed can * be anything from 100, 200, 400, 800 and 3200. Till then we just hardcode * a resonable default of 400 Mbit/s. */ connection_interface = "firewire"; connection_speed = 400 * (1000 * 1000); break; } else if (strcmp (subsystem, "mmc") == 0) { /* TODO: what about non-SD, e.g. MMC? Is that another bus? */ connection_interface = "sdio"; /* Set vendor name. According to this MMC document * * http://www.mmca.org/membership/IAA_Agreement_10_12_06.pdf * * - manfid: the manufacturer id * - oemid: the customer of the manufacturer * * Apparently these numbers are kept secret. It would be nice * to map these into names for setting the manufacturer of the drive, * e.g. Panasonic, Sandisk etc. */ model = sysfs_get_string (s, "name"); if (model != NULL) { g_strstrip (model); /* Don't overwrite what we set earlier from ID_MODEL */ if (device->drive_model == NULL) { device->drive_model = _dupv8 (model); } g_free (model); } serial = sysfs_get_string (s, "serial"); if (serial != NULL) { g_strstrip (serial); /* Don't overwrite what we set earlier from ID_SERIAL */ if (device->drive_serial == NULL) { /* this is formatted as a hexnumber; drop the leading 0x */ device->drive_serial = _dupv8 (serial + 2); } g_free (serial); } /* TODO: use hwrev and fwrev files? */ revision = sysfs_get_string (s, "date"); if (revision != NULL) { g_strstrip (revision); /* Don't overwrite what we set earlier from ID_REVISION */ if (device->drive_revision == NULL) { device->drive_revision = _dupv8 (revision); } g_free (revision); } /* TODO: interface speed; the kernel driver knows; would be nice * if it could export it */ } else if (strcmp (subsystem, "platform") == 0) { const gchar *sysfs_name; sysfs_name = g_strrstr (s, "/"); if (g_str_has_prefix (sysfs_name + 1, "floppy.") && device->drive_vendor == NULL ) { device->drive_vendor = g_strdup( "Floppy Drive" ); connection_interface = "platform"; } } g_free (subsystem); } /* advance up the chain */ p = g_strrstr (s, "/"); if (p == NULL) break; *p = '\0'; /* but stop at the root */ if (strcmp (s, "/sys/devices") == 0) break; } while (TRUE); if (connection_interface != NULL) { device->drive_connection_interface = g_strdup( connection_interface ); device->drive_connection_speed = connection_speed; } g_free (s); } static const struct { const char *udev_property; const char *media_name; } drive_media_mapping[] = { { "ID_DRIVE_FLASH", "flash" }, { "ID_DRIVE_FLASH_CF", "flash_cf" }, { "ID_DRIVE_FLASH_MS", "flash_ms" }, { "ID_DRIVE_FLASH_SM", "flash_sm" }, { "ID_DRIVE_FLASH_SD", "flash_sd" }, { "ID_DRIVE_FLASH_SDHC", "flash_sdhc" }, { "ID_DRIVE_FLASH_MMC", "flash_mmc" }, { "ID_DRIVE_FLOPPY", "floppy" }, { "ID_DRIVE_FLOPPY_ZIP", "floppy_zip" }, { "ID_DRIVE_FLOPPY_JAZ", "floppy_jaz" }, { "ID_CDROM", "optical_cd" }, { "ID_CDROM_CD_R", "optical_cd_r" }, { "ID_CDROM_CD_RW", "optical_cd_rw" }, { "ID_CDROM_DVD", "optical_dvd" }, { "ID_CDROM_DVD_R", "optical_dvd_r" }, { "ID_CDROM_DVD_RW", "optical_dvd_rw" }, { "ID_CDROM_DVD_RAM", "optical_dvd_ram" }, { "ID_CDROM_DVD_PLUS_R", "optical_dvd_plus_r" }, { "ID_CDROM_DVD_PLUS_RW", "optical_dvd_plus_rw" }, { "ID_CDROM_DVD_PLUS_R_DL", "optical_dvd_plus_r_dl" }, { "ID_CDROM_DVD_PLUS_RW_DL", "optical_dvd_plus_rw_dl" }, { "ID_CDROM_BD", "optical_bd" }, { "ID_CDROM_BD_R", "optical_bd_r" }, { "ID_CDROM_BD_RE", "optical_bd_re" }, { "ID_CDROM_HDDVD", "optical_hddvd" }, { "ID_CDROM_HDDVD_R", "optical_hddvd_r" }, { "ID_CDROM_HDDVD_RW", "optical_hddvd_rw" }, { "ID_CDROM_MO", "optical_mo" }, { "ID_CDROM_MRW", "optical_mrw" }, { "ID_CDROM_MRW_W", "optical_mrw_w" }, { NULL, NULL }, }; static const struct { const char *udev_property; const char *media_name; } media_mapping[] = { { "ID_DRIVE_MEDIA_FLASH", "flash" }, { "ID_DRIVE_MEDIA_FLASH_CF", "flash_cf" }, { "ID_DRIVE_MEDIA_FLASH_MS", "flash_ms" }, { "ID_DRIVE_MEDIA_FLASH_SM", "flash_sm" }, { "ID_DRIVE_MEDIA_FLASH_SD", "flash_sd" }, { "ID_DRIVE_MEDIA_FLASH_SDHC", "flash_sdhc" }, { "ID_DRIVE_MEDIA_FLASH_MMC", "flash_mmc" }, { "ID_DRIVE_MEDIA_FLOPPY", "floppy" }, { "ID_DRIVE_MEDIA_FLOPPY_ZIP", "floppy_zip" }, { "ID_DRIVE_MEDIA_FLOPPY_JAZ", "floppy_jaz" }, { "ID_CDROM_MEDIA_CD", "optical_cd" }, { "ID_CDROM_MEDIA_CD_R", "optical_cd_r" }, { "ID_CDROM_MEDIA_CD_RW", "optical_cd_rw" }, { "ID_CDROM_MEDIA_DVD", "optical_dvd" }, { "ID_CDROM_MEDIA_DVD_R", "optical_dvd_r" }, { "ID_CDROM_MEDIA_DVD_RW", "optical_dvd_rw" }, { "ID_CDROM_MEDIA_DVD_RAM", "optical_dvd_ram" }, { "ID_CDROM_MEDIA_DVD_PLUS_R", "optical_dvd_plus_r" }, { "ID_CDROM_MEDIA_DVD_PLUS_RW", "optical_dvd_plus_rw" }, { "ID_CDROM_MEDIA_DVD_PLUS_R_DL", "optical_dvd_plus_r_dl" }, { "ID_CDROM_MEDIA_DVD_PLUS_RW_DL", "optical_dvd_plus_rw_dl" }, { "ID_CDROM_MEDIA_BD", "optical_bd" }, { "ID_CDROM_MEDIA_BD_R", "optical_bd_r" }, { "ID_CDROM_MEDIA_BD_RE", "optical_bd_re" }, { "ID_CDROM_MEDIA_HDDVD", "optical_hddvd" }, { "ID_CDROM_MEDIA_HDDVD_R", "optical_hddvd_r" }, { "ID_CDROM_MEDIA_HDDVD_RW", "optical_hddvd_rw" }, { "ID_CDROM_MEDIA_MO", "optical_mo" }, { "ID_CDROM_MEDIA_MRW", "optical_mrw" }, { "ID_CDROM_MEDIA_MRW_W", "optical_mrw_w" }, { NULL, NULL }, }; void info_drive_properties ( device_t *device ) { GPtrArray *media_compat_array; const char *media_in_drive; gboolean drive_is_ejectable; gboolean drive_can_detach; char *decoded_string; guint n; const char *value; // drive identification device->device_is_drive = sysfs_file_exists( device->native_path, "range" ); // vendor if ( value = udev_device_get_property_value( device->udevice, "ID_VENDOR_ENC" ) ) { decoded_string = decode_udev_encoded_string ( value ); g_strstrip (decoded_string); device->drive_vendor = decoded_string; } else if ( value = udev_device_get_property_value( device->udevice, "ID_VENDOR" ) ) { device->drive_vendor = g_strdup( value ); } // model if ( value = udev_device_get_property_value( device->udevice, "ID_MODEL_ENC" ) ) { decoded_string = decode_udev_encoded_string ( value ); g_strstrip (decoded_string); device->drive_model = decoded_string; } else if ( value = udev_device_get_property_value( device->udevice, "ID_MODEL" ) ) { device->drive_model = g_strdup( value ); } // revision device->drive_revision = g_strdup( udev_device_get_property_value( device->udevice, "ID_REVISION" ) ); // serial if ( value = udev_device_get_property_value( device->udevice, "ID_SCSI_SERIAL" ) ) { /* scsi_id sometimes use the WWN as the serial - annoying - see * http://git.kernel.org/?p=linux/hotplug/udev.git;a=commit;h=4e9fdfccbdd16f0cfdb5c8fa8484a8ba0f2e69d3 * for details */ device->drive_serial = g_strdup( value ); } else if ( value = udev_device_get_property_value( device->udevice, "ID_SERIAL_SHORT" ) ) { device->drive_serial = g_strdup( value ); } // wwn if ( value = udev_device_get_property_value( device->udevice, "ID_WWN_WITH_EXTENSION" ) ) { device->drive_wwn = g_strdup( value + 2 ); } else if ( value = udev_device_get_property_value( device->udevice, "ID_WWN" ) ) { device->drive_wwn = g_strdup( value + 2 ); } /* pick up some things (vendor, model, connection_interface, connection_speed) * not (yet) exported by udev helpers */ //update_drive_properties_from_sysfs (device); info_drive_connection( device ); // is_ejectable if ( value = udev_device_get_property_value( device->udevice, "ID_DRIVE_EJECTABLE" ) ) { drive_is_ejectable = atoi( value ) != 0; } else { drive_is_ejectable = FALSE; drive_is_ejectable |= ( udev_device_get_property_value( device->udevice, "ID_CDROM" ) != NULL ); drive_is_ejectable |= ( udev_device_get_property_value( device->udevice, "ID_DRIVE_FLOPPY_ZIP" ) != NULL ); drive_is_ejectable |= ( udev_device_get_property_value( device->udevice, "ID_DRIVE_FLOPPY_JAZ" ) != NULL ); } device->drive_is_media_ejectable = drive_is_ejectable; // drive_media_compatibility media_compat_array = g_ptr_array_new (); for (n = 0; drive_media_mapping[n].udev_property != NULL; n++) { if ( udev_device_get_property_value( device->udevice, drive_media_mapping[n].udev_property ) == NULL ) continue; g_ptr_array_add (media_compat_array, (gpointer) drive_media_mapping[n].media_name); } /* special handling for SDIO since we don't yet have a sdio_id helper in udev to set properties */ if (g_strcmp0 (device->drive_connection_interface, "sdio") == 0) { gchar *type; type = sysfs_get_string (device->native_path, "../../type"); g_strstrip (type); if (g_strcmp0 (type, "MMC") == 0) { g_ptr_array_add (media_compat_array, "flash_mmc"); } else if (g_strcmp0 (type, "SD") == 0) { g_ptr_array_add (media_compat_array, "flash_sd"); } else if (g_strcmp0 (type, "SDHC") == 0) { g_ptr_array_add (media_compat_array, "flash_sdhc"); } g_free (type); } g_ptr_array_sort (media_compat_array, (GCompareFunc) ptr_str_array_compare); g_ptr_array_add (media_compat_array, NULL); device->drive_media_compatibility = g_strjoinv( " ", (gchar**)media_compat_array->pdata ); // drive_media media_in_drive = NULL; if (device->device_is_media_available) { for (n = 0; media_mapping[n].udev_property != NULL; n++) { if ( udev_device_get_property_value( device->udevice, media_mapping[n].udev_property ) == NULL ) continue; // should this be media_mapping[n] ? doesn't matter, same? media_in_drive = drive_media_mapping[n].media_name; break; } /* If the media isn't set (from e.g. udev rules), just pick the first one in media_compat - note * that this may be NULL (if we don't know what media is compatible with the drive) which is OK. */ if (media_in_drive == NULL) media_in_drive = ((const gchar **) media_compat_array->pdata)[0]; } device->drive_media = g_strdup( media_in_drive ); g_ptr_array_free (media_compat_array, TRUE); // drive_can_detach // right now, we only offer to detach USB devices drive_can_detach = FALSE; if (g_strcmp0 (device->drive_connection_interface, "usb") == 0) { drive_can_detach = TRUE; } if ( value = udev_device_get_property_value( device->udevice, "ID_DRIVE_DETACHABLE" ) ) { drive_can_detach = atoi( value ) != 0; } device->drive_can_detach = drive_can_detach; } void info_device_properties( device_t *device ) { const char* value; device->native_path = g_strdup( udev_device_get_syspath( device->udevice ) ); device->devnode = g_strdup( udev_device_get_devnode( device->udevice ) ); device->devnum = udev_device_get_devnum( device->udevice ); //device->major = g_strdup( udev_device_get_property_value( device->udevice, "MAJOR") ); //device->minor = g_strdup( udev_device_get_property_value( device->udevice, "MINOR") ); if ( !device->native_path || !device->devnode || device->devnum == 0 ) { if ( device->native_path ) g_free( device->native_path ); device->native_path = NULL; device->devnum = 0; return; } //by id - would need to read symlinks in /dev/disk/by-id // is_removable may also be set in info_drive_connection walking up sys tree device->device_is_removable = sysfs_get_int( device->native_path, "removable"); device->device_presentation_hide = g_strdup( udev_device_get_property_value( device->udevice, "UDISKS_PRESENTATION_HIDE") ); device->device_presentation_nopolicy = g_strdup( udev_device_get_property_value( device->udevice, "UDISKS_PRESENTATION_NOPOLICY") ); device->device_presentation_name = g_strdup( udev_device_get_property_value( device->udevice, "UDISKS_PRESENTATION_NAME") ); device->device_presentation_icon_name = g_strdup( udev_device_get_property_value( device->udevice, "UDISKS_PRESENTATION_ICON_NAME") ); device->device_automount_hint = g_strdup( udev_device_get_property_value( device->udevice, "UDISKS_AUTOMOUNT_HINT") ); // filesystem properties gchar *decoded_string; const gchar *partition_scheme; gint partition_type = 0; partition_scheme = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_SCHEME"); if ( value = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_TYPE") ) partition_type = atoi( value ); if (g_strcmp0 (partition_scheme, "mbr") == 0 && (partition_type == 0x05 || partition_type == 0x0f || partition_type == 0x85)) { } else { device->id_usage = g_strdup( udev_device_get_property_value( device->udevice, "ID_FS_USAGE" ) ); device->id_type = g_strdup( udev_device_get_property_value( device->udevice, "ID_FS_TYPE" ) ); device->id_version = g_strdup( udev_device_get_property_value( device->udevice, "ID_FS_VERSION" ) ); device->id_uuid = g_strdup( udev_device_get_property_value( device->udevice, "ID_FS_UUID" ) ); if ( value = udev_device_get_property_value( device->udevice, "ID_FS_LABEL_ENC" ) ) { decoded_string = decode_udev_encoded_string ( value ); g_strstrip (decoded_string); device->id_label = decoded_string; } else if ( value = udev_device_get_property_value( device->udevice, "ID_FS_LABEL" ) ) { device->id_label = g_strdup( value ); } } // device_is_media_available gboolean media_available = FALSE; if ( ( device->id_usage && device->id_usage[0] != '\0' ) || ( device->id_type && device->id_type[0] != '\0' ) || ( device->id_uuid && device->id_uuid[0] != '\0' ) || ( device->id_label && device->id_label[0] != '\0' ) ) { media_available = TRUE; } else if ( g_str_has_prefix( device->devnode, "/dev/loop" ) ) media_available = FALSE; else if ( device->device_is_removable ) { gboolean is_cd, is_floppy; if ( value = udev_device_get_property_value( device->udevice, "ID_CDROM" ) ) is_cd = atoi( value ) != 0; else is_cd = FALSE; if ( value = udev_device_get_property_value( device->udevice, "ID_DRIVE_FLOPPY" ) ) is_floppy = atoi( value ) != 0; else is_floppy = FALSE; if ( !is_cd && !is_floppy ) { // this test is limited for non-root - user may not have read // access to device file even if media is present int fd; fd = open( device->devnode, O_RDONLY ); if ( fd >= 0 ) { media_available = TRUE; close( fd ); } } else if ( value = udev_device_get_property_value( device->udevice, "ID_CDROM_MEDIA" ) ) media_available = ( atoi( value ) == 1 ); } else if ( value = udev_device_get_property_value( device->udevice, "ID_CDROM_MEDIA" ) ) media_available = ( atoi( value ) == 1 ); else media_available = TRUE; device->device_is_media_available = media_available; /* device_size, device_block_size and device_is_read_only properties */ if (device->device_is_media_available) { guint64 block_size; device->device_size = sysfs_get_uint64( device->native_path, "size") * ((guint64) 512); device->device_is_read_only = (sysfs_get_int (device->native_path, "ro") != 0); /* This is not available on all devices so fall back to 512 if unavailable. * * Another way to get this information is the BLKSSZGET ioctl but we don't want * to open the device. Ideally vol_id would export it. */ block_size = sysfs_get_uint64 (device->native_path, "queue/hw_sector_size"); if (block_size == 0) block_size = 512; device->device_block_size = block_size; } else { device->device_size = device->device_block_size = 0; device->device_is_read_only = FALSE; } // links struct udev_list_entry *entry = udev_device_get_devlinks_list_entry( device->udevice ); while ( entry ) { const char *entry_name = udev_list_entry_get_name( entry ); if ( entry_name && ( g_str_has_prefix( entry_name, "/dev/disk/by-id/" ) || g_str_has_prefix( entry_name, "/dev/disk/by-uuid/" ) ) ) { device->device_by_id = g_strdup( entry_name ); break; } entry = udev_list_entry_get_next( entry ); } } gchar* info_mount_points( device_t *device ) { gchar *contents; gchar **lines; GError *error; guint n; GList* mounts = NULL; guint dmajor = MAJOR( device->devnum ); guint dminor = MINOR( device->devnum ); // if we have the mount point list, use this instead of reading mountinfo if ( devmounts ) { GList* l; for ( l = devmounts; l; l = l->next ) { if ( ((devmount_t*)l->data)->major == dmajor && ((devmount_t*)l->data)->minor == dminor ) { return g_strdup( ((devmount_t*)l->data)->mount_points ); } } return NULL; } contents = NULL; lines = NULL; error = NULL; if (!g_file_get_contents (MOUNTINFO, &contents, NULL, &error)) { g_warning ("Error reading %s: %s", MOUNTINFO, error->message); g_error_free (error); return NULL; } /* See Documentation/filesystems/proc.txt for the format of /proc/self/mountinfo * * Note that things like space are encoded as \020. */ lines = g_strsplit (contents, "\n", 0); for (n = 0; lines[n] != NULL; n++) { guint mount_id; guint parent_id; guint major, minor; gchar encoded_root[PATH_MAX]; gchar encoded_mount_point[PATH_MAX]; gchar *mount_point; //dev_t dev; if (strlen (lines[n]) == 0) continue; if (sscanf (lines[n], "%d %d %d:%d %s %s", &mount_id, &parent_id, &major, &minor, encoded_root, encoded_mount_point) != 6) { g_warning ("Error reading /proc/self/mountinfo: Error parsing line '%s'", lines[n]); continue; } /* ignore mounts where only a subtree of a filesystem is mounted * this function is only used for block devices. */ if (g_strcmp0 (encoded_root, "/") != 0) continue; /* Temporary work-around for btrfs, see * * https://github.com/IgnorantGuru/spacefm/issues/165 * http://article.gmane.org/gmane.comp.file-systems.btrfs/2851 * https://bugzilla.redhat.com/show_bug.cgi?id=495152#c31 */ if ( major == 0 ) { const gchar *sep; sep = strstr( lines[n], " - " ); if ( sep != NULL ) { gchar typebuf[PATH_MAX]; gchar mount_source[PATH_MAX]; struct stat statbuf; if ( sscanf( sep + 3, "%s %s", typebuf, mount_source ) == 2 && !g_strcmp0( typebuf, "btrfs" ) && g_str_has_prefix( mount_source, "/dev/" ) && stat( mount_source, &statbuf ) == 0 && S_ISBLK( statbuf.st_mode ) ) { major = major( statbuf.st_rdev ); minor = minor( statbuf.st_rdev ); } } } if ( major != dmajor || minor != dminor ) continue; mount_point = g_strcompress (encoded_mount_point); if ( mount_point && mount_point[0] != '\0' ) { if ( !g_list_find( mounts, mount_point ) ) { mounts = g_list_prepend( mounts, mount_point ); } else g_free (mount_point); } } g_free (contents); g_strfreev (lines); if ( mounts ) { gchar *points, *old_points; GList* l; // Sort the list to ensure that shortest mount paths appear first mounts = g_list_sort( mounts, (GCompareFunc) g_strcmp0 ); points = g_strdup( (gchar*)mounts->data ); l = mounts; while ( l = l->next ) { old_points = points; points = g_strdup_printf( "%s, %s", old_points, (gchar*)l->data ); g_free( old_points ); } g_list_foreach( mounts, (GFunc)g_free, NULL ); g_list_free( mounts ); return points; } else return NULL; } void info_partition_table( device_t *device ) { gboolean is_partition_table = FALSE; const char* value; /* Check if udisks-part-id identified the device as a partition table.. this includes * identifying partition tables set up by kpartx for multipath etc. */ if ( ( value = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_TABLE" ) ) && atoi( value ) == 1 ) { device->partition_table_scheme = g_strdup( udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_TABLE_SCHEME" ) ); device->partition_table_count = g_strdup( udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_TABLE_COUNT" ) ); is_partition_table = TRUE; } /* Note that udisks-part-id might not detect all partition table * formats.. so in the negative case, also double check with * information in sysfs. * * The kernel guarantees that all childs are created before the * uevent for the parent is created. So if we have childs, we must * be a partition table. * * To detect a child we check for the existance of a subdir that has * the parents name as a prefix (e.g. for parent sda then sda1, * sda2, sda3 ditto md0, md0p1 etc. etc. will work). */ if (!is_partition_table) { gchar *s; GDir *dir; s = g_path_get_basename (device->native_path); if ((dir = g_dir_open (device->native_path, 0, NULL)) != NULL) { guint partition_count; const gchar *name; partition_count = 0; while ((name = g_dir_read_name (dir)) != NULL) { if (g_str_has_prefix (name, s)) { partition_count++; } } g_dir_close (dir); if (partition_count > 0) { device->partition_table_scheme = g_strdup( "" ); device->partition_table_count = g_strdup_printf( "%d", partition_count ); is_partition_table = TRUE; } } g_free (s); } device->device_is_partition_table = is_partition_table; if (!is_partition_table) { if ( device->partition_table_scheme ) g_free( device->partition_table_scheme ); device->partition_table_scheme = NULL; if ( device->partition_table_count ) g_free( device->partition_table_count ); device->partition_table_count = NULL; } } void info_partition( device_t *device ) { gboolean is_partition = FALSE; /* Check if udisks-part-id identified the device as a partition.. this includes * identifying partitions set up by kpartx for multipath */ if ( udev_device_get_property_value( device->udevice,"UDISKS_PARTITION" ) ) { const gchar *size; const gchar *scheme; const gchar *type; const gchar *label; const gchar *uuid; const gchar *flags; const gchar *offset; const gchar *alignment_offset; const gchar *slave_sysfs_path; const gchar *number; scheme = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_SCHEME"); size = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_SIZE"); type = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_TYPE"); label = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_LABEL"); uuid = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_UUID"); flags = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_FLAGS"); offset = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_OFFSET"); alignment_offset = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_ALIGNMENT_OFFSET"); number = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_NUMBER"); slave_sysfs_path = udev_device_get_property_value( device->udevice, "UDISKS_PARTITION_SLAVE"); if (slave_sysfs_path != NULL && scheme != NULL && number != NULL && atoi( number ) > 0) { device->partition_scheme = g_strdup( scheme ); device->partition_size = g_strdup( size ); device->partition_type = g_strdup( type ); device->partition_label = g_strdup( label ); device->partition_uuid = g_strdup( uuid ); device->partition_flags = g_strdup( flags ); device->partition_offset = g_strdup( offset ); device->partition_alignment_offset = g_strdup( alignment_offset ); device->partition_number = g_strdup( number ); is_partition = TRUE; } } /* Also handle the case where we are partitioned by the kernel and don't have * any UDISKS_PARTITION_* properties. * * This works without any udev UDISKS_PARTITION_* properties and is * there for maximum compatibility since udisks-part-id only knows a * limited set of partition table formats. */ if (!is_partition && sysfs_file_exists (device->native_path, "start")) { guint64 size; guint64 offset; guint64 alignment_offset; gchar *s; guint n; size = sysfs_get_uint64 (device->native_path, "size"); alignment_offset = sysfs_get_uint64 (device->native_path, "alignment_offset"); device->partition_size = g_strdup_printf( "%lu", size * 512 ); device->partition_alignment_offset = g_strdup_printf( "%lu", alignment_offset ); offset = sysfs_get_uint64 (device->native_path, "start") * device->device_block_size; device->partition_offset = g_strdup_printf( "%lu", offset ); s = device->native_path; for (n = strlen (s) - 1; n >= 0 && g_ascii_isdigit (s[n]); n--) ; device->partition_number = g_strdup_printf( "%ld", strtol (s + n + 1, NULL, 0) ); /* s = g_strdup (device->priv->native_path); for (n = strlen (s) - 1; n >= 0 && s[n] != '/'; n--) s[n] = '\0'; s[n] = '\0'; device_set_partition_slave (device, compute_object_path (s)); g_free (s); */ is_partition = TRUE; } device->device_is_partition = is_partition; if (!is_partition) { device->partition_scheme = NULL; device->partition_size = NULL; device->partition_type = NULL; device->partition_label = NULL; device->partition_uuid = NULL; device->partition_flags = NULL; device->partition_offset = NULL; device->partition_alignment_offset = NULL; device->partition_number = NULL; } else { device->device_is_drive = FALSE; } } void info_optical_disc( device_t *device ) { const char *cdrom_disc_state; const char* optical_state = udev_device_get_property_value( device->udevice, "ID_CDROM"); if ( optical_state && atoi( optical_state ) != 0 ) { device->device_is_optical_disc = TRUE; device->optical_disc_num_tracks = g_strdup( udev_device_get_property_value( device->udevice, "ID_CDROM_MEDIA_TRACK_COUNT") ); device->optical_disc_num_audio_tracks = g_strdup( udev_device_get_property_value( device->udevice, "ID_CDROM_MEDIA_TRACK_COUNT_AUDIO") ); device->optical_disc_num_sessions = g_strdup( udev_device_get_property_value( device->udevice, "ID_CDROM_MEDIA_SESSION_COUNT") ); cdrom_disc_state = udev_device_get_property_value( device->udevice, "ID_CDROM_MEDIA_STATE"); device->optical_disc_is_blank = ( g_strcmp0( cdrom_disc_state, "blank" ) == 0); device->optical_disc_is_appendable = ( g_strcmp0( cdrom_disc_state, "appendable" ) == 0); device->optical_disc_is_closed = ( g_strcmp0( cdrom_disc_state, "complete" ) == 0); } else device->device_is_optical_disc = FALSE; } static void device_free( device_t *device ) { if ( !device ) return; g_free( device->native_path ); g_free( device->mount_points ); g_free( device->devnode ); g_free( device->device_presentation_hide ); g_free( device->device_presentation_nopolicy ); g_free( device->device_presentation_name ); g_free( device->device_presentation_icon_name ); g_free( device->device_automount_hint ); g_free( device->device_by_id ); g_free( device->id_usage ); g_free( device->id_type ); g_free( device->id_version ); g_free( device->id_uuid ); g_free( device->id_label ); g_free( device->drive_vendor ); g_free( device->drive_model ); g_free( device->drive_revision ); g_free( device->drive_serial ); g_free( device->drive_wwn ); g_free( device->drive_connection_interface ); g_free( device->drive_media_compatibility ); g_free( device->drive_media ); g_free( device->partition_scheme ); g_free( device->partition_number ); g_free( device->partition_type ); g_free( device->partition_label ); g_free( device->partition_uuid ); g_free( device->partition_flags ); g_free( device->partition_offset ); g_free( device->partition_size ); g_free( device->partition_alignment_offset ); g_free( device->partition_table_scheme ); g_free( device->partition_table_count ); g_free( device->optical_disc_num_tracks ); g_free( device->optical_disc_num_audio_tracks ); g_free( device->optical_disc_num_sessions ); g_slice_free( device_t, device ); } device_t *device_alloc( struct udev_device *udevice ) { device_t *device = g_slice_new0( device_t ); device->udevice = udevice; device->native_path = NULL; device->mount_points = NULL; device->devnode = NULL; device->device_is_system_internal = TRUE; device->device_is_partition = FALSE; device->device_is_partition_table = FALSE; device->device_is_removable = FALSE; device->device_is_media_available = FALSE; device->device_is_read_only = FALSE; device->device_is_drive = FALSE; device->device_is_optical_disc = FALSE; device->device_is_mounted = FALSE; device->device_presentation_hide = NULL; device->device_presentation_nopolicy = NULL; device->device_presentation_name = NULL; device->device_presentation_icon_name = NULL; device->device_automount_hint = NULL; device->device_by_id = NULL; device->device_size = 0; device->device_block_size = 0; device->id_usage = NULL; device->id_type = NULL; device->id_version = NULL; device->id_uuid = NULL; device->id_label = NULL; device->drive_vendor = NULL; device->drive_model = NULL; device->drive_revision = NULL; device->drive_serial = NULL; device->drive_wwn = NULL; device->drive_connection_interface = NULL; device->drive_connection_speed = 0; device->drive_media_compatibility = NULL; device->drive_media = NULL; device->drive_is_media_ejectable = FALSE; device->drive_can_detach = FALSE; device->partition_scheme = NULL; device->partition_number = NULL; device->partition_type = NULL; device->partition_label = NULL; device->partition_uuid = NULL; device->partition_flags = NULL; device->partition_offset = NULL; device->partition_size = NULL; device->partition_alignment_offset = NULL; device->partition_table_scheme = NULL; device->partition_table_count = NULL; device->optical_disc_is_blank = FALSE; device->optical_disc_is_appendable = FALSE; device->optical_disc_is_closed = FALSE; device->optical_disc_num_tracks = NULL; device->optical_disc_num_audio_tracks = NULL; device->optical_disc_num_sessions = NULL; return device; } gboolean device_get_info( device_t *device ) { info_device_properties( device ); if ( !device->native_path || device->devnum == 0 ) return FALSE; info_drive_properties( device ); device->device_is_system_internal = info_is_system_internal( device ); device->mount_points = info_mount_points( device ); device->device_is_mounted = ( device->mount_points != NULL ); info_partition_table( device ); info_partition( device ); info_optical_disc( device ); return TRUE; } char* device_show_info( device_t *device ) { gchar* line[140]; int i = 0; line[i++] = g_strdup_printf("Showing information for %s\n", device->devnode ); line[i++] = g_strdup_printf(" native-path: %s\n", device->native_path ); line[i++] = g_strdup_printf(" device: %u:%u\n", (unsigned int)MAJOR( device->devnum ), (unsigned int)MINOR( device->devnum ) ); line[i++] = g_strdup_printf(" device-file: %s\n", device->devnode ); line[i++] = g_strdup_printf(" presentation: %s\n", device->devnode ); if ( device->device_by_id ) line[i++] = g_strdup_printf(" by-id: %s\n", device->device_by_id ); line[i++] = g_strdup_printf(" system internal: %d\n", device->device_is_system_internal ); line[i++] = g_strdup_printf(" removable: %d\n", device->device_is_removable); line[i++] = g_strdup_printf(" has media: %d\n", device->device_is_media_available); line[i++] = g_strdup_printf(" is read only: %d\n", device->device_is_read_only ); line[i++] = g_strdup_printf(" is mounted: %d\n", device->device_is_mounted ); line[i++] = g_strdup_printf(" mount paths: %s\n", device->mount_points ? device->mount_points : "" ); line[i++] = g_strdup_printf(" presentation hide: %s\n", device->device_presentation_hide ? device->device_presentation_hide : "0" ); line[i++] = g_strdup_printf(" presentation nopolicy: %s\n", device->device_presentation_nopolicy ? device->device_presentation_nopolicy : "0" ); line[i++] = g_strdup_printf(" presentation name: %s\n", device->device_presentation_name ? device->device_presentation_name : "" ); line[i++] = g_strdup_printf(" presentation icon: %s\n", device->device_presentation_icon_name ? device->device_presentation_icon_name : "" ); line[i++] = g_strdup_printf(" automount hint: %s\n", device->device_automount_hint ? device->device_automount_hint : "" ); line[i++] = g_strdup_printf(" size: %" G_GUINT64_FORMAT "\n", device->device_size); line[i++] = g_strdup_printf(" block size: %" G_GUINT64_FORMAT "\n", device->device_block_size); line[i++] = g_strdup_printf(" usage: %s\n", device->id_usage ? device->id_usage : "" ); line[i++] = g_strdup_printf(" type: %s\n", device->id_type ? device->id_type : "" ); line[i++] = g_strdup_printf(" version: %s\n", device->id_version ? device->id_version : "" ); line[i++] = g_strdup_printf(" uuid: %s\n", device->id_uuid ? device->id_uuid : "" ); line[i++] = g_strdup_printf(" label: %s\n", device->id_label ? device->id_label : "" ); if (device->device_is_partition_table) { line[i++] = g_strdup_printf(" partition table:\n"); line[i++] = g_strdup_printf(" scheme: %s\n", device->partition_table_scheme ? device->partition_table_scheme : "" ); line[i++] = g_strdup_printf(" count: %s\n", device->partition_table_count ? device->partition_table_count : "0" ); } if (device->device_is_partition) { line[i++] = g_strdup_printf(" partition:\n"); line[i++] = g_strdup_printf(" scheme: %s\n", device->partition_scheme ? device->partition_scheme : "" ); line[i++] = g_strdup_printf(" number: %s\n", device->partition_number ? device->partition_number : "" ); line[i++] = g_strdup_printf(" type: %s\n", device->partition_type ? device->partition_type : "" ); line[i++] = g_strdup_printf(" flags: %s\n", device->partition_flags ? device->partition_flags : "" ); line[i++] = g_strdup_printf(" offset: %s\n", device->partition_offset ? device->partition_offset : "" ); line[i++] = g_strdup_printf(" alignment offset: %s\n", device->partition_alignment_offset ? device->partition_alignment_offset : "" ); line[i++] = g_strdup_printf(" size: %s\n", device->partition_size ? device->partition_size : "" ); line[i++] = g_strdup_printf(" label: %s\n", device->partition_label ? device->partition_label : "" ); line[i++] = g_strdup_printf(" uuid: %s\n", device->partition_uuid ? device->partition_uuid : "" ); } if (device->device_is_optical_disc) { line[i++] = g_strdup_printf(" optical disc:\n"); line[i++] = g_strdup_printf(" blank: %d\n", device->optical_disc_is_blank); line[i++] = g_strdup_printf(" appendable: %d\n", device->optical_disc_is_appendable); line[i++] = g_strdup_printf(" closed: %d\n", device->optical_disc_is_closed); line[i++] = g_strdup_printf(" num tracks: %s\n", device->optical_disc_num_tracks ? device->optical_disc_num_tracks : "0" ); line[i++] = g_strdup_printf(" num audio tracks: %s\n", device->optical_disc_num_audio_tracks ? device->optical_disc_num_audio_tracks : "0" ); line[i++] = g_strdup_printf(" num sessions: %s\n", device->optical_disc_num_sessions ? device->optical_disc_num_sessions : "0" ); } if (device->device_is_drive) { line[i++] = g_strdup_printf(" drive:\n"); line[i++] = g_strdup_printf(" vendor: %s\n", device->drive_vendor ? device->drive_vendor : "" ); line[i++] = g_strdup_printf(" model: %s\n", device->drive_model ? device->drive_model : "" ); line[i++] = g_strdup_printf(" revision: %s\n", device->drive_revision ? device->drive_revision : "" ); line[i++] = g_strdup_printf(" serial: %s\n", device->drive_serial ? device->drive_serial : "" ); line[i++] = g_strdup_printf(" WWN: %s\n", device->drive_wwn ? device->drive_wwn : "" ); line[i++] = g_strdup_printf(" detachable: %d\n", device->drive_can_detach); line[i++] = g_strdup_printf(" ejectable: %d\n", device->drive_is_media_ejectable); line[i++] = g_strdup_printf(" media: %s\n", device->drive_media ? device->drive_media : "" ); line[i++] = g_strdup_printf(" compat: %s\n", device->drive_media_compatibility ? device->drive_media_compatibility : "" ); if ( device->drive_connection_interface == NULL || strlen (device->drive_connection_interface) == 0 ) line[i++] = g_strdup_printf(" interface: (unknown)\n"); else line[i++] = g_strdup_printf(" interface: %s\n", device->drive_connection_interface); if (device->drive_connection_speed == 0) line[i++] = g_strdup_printf(" if speed: (unknown)\n"); else line[i++] = g_strdup_printf(" if speed: %" G_GINT64_FORMAT " bits/s\n", device->drive_connection_speed); } line[i] = NULL; gchar* output = g_strjoinv( NULL, line ); i = 0; while ( line[i] ) g_free( line[i++] ); return output; } /* ************************************************************************ * udev & mount monitors * ************************************************************************ */ gint cmp_devmounts( devmount_t *a, devmount_t *b ) { if ( !a && !b ) return 0; if ( !a || !b ) return 1; if ( a->major == b->major && a->minor == b->minor ) return 0; return 1; } void parse_mounts( gboolean report ) { gchar *contents; gchar **lines; GError *error; guint n; //printf("\n@@@@@@@@@@@@@ parse_mounts %s\n\n", report ? "TRUE" : "FALSE" ); contents = NULL; lines = NULL; struct udev_device *udevice; dev_t devnum; char* str; error = NULL; if (!g_file_get_contents (MOUNTINFO, &contents, NULL, &error)) { g_warning ("Error reading %s: %s", MOUNTINFO, error->message); g_error_free (error); return; } // get all mount points for all devices GList* newmounts = NULL; GList* l; GList* changed = NULL; devmount_t *devmount; gboolean subdir_mount; /* See Documentation/filesystems/proc.txt for the format of /proc/self/mountinfo * * Note that things like space are encoded as \020. * * This file contains lines of the form: * 36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue * (1)(2)(3) (4) (5) (6) (7) (8) (9) (10) (11) * (1) mount ID: unique identifier of the mount (may be reused after umount) * (2) parent ID: ID of parent (or of self for the top of the mount tree) * (3) major:minor: value of st_dev for files on filesystem * (4) root: root of the mount within the filesystem * (5) mount point: mount point relative to the process's root * (6) mount options: per mount options * (7) optional fields: zero or more fields of the form "tag[:value]" * (8) separator: marks the end of the optional fields * (9) filesystem type: name of filesystem of the form "type[.subtype]" * (10) mount source: filesystem specific information or "none" * (11) super options: per super block options * Parsers should ignore all unrecognised optional fields. */ lines = g_strsplit (contents, "\n", 0); for ( n = 0; lines[n] != NULL; n++ ) { guint mount_id; guint parent_id; guint major, minor; gchar encoded_root[PATH_MAX]; gchar encoded_mount_point[PATH_MAX]; gchar* mount_point; gchar* fstype; if ( strlen( lines[n] ) == 0 ) continue; if ( sscanf( lines[n], "%d %d %d:%d %s %s", &mount_id, &parent_id, &major, &minor, encoded_root, encoded_mount_point ) != 6 ) { g_warning ("Error reading /proc/self/mountinfo: Error parsing line '%s'", lines[n]); continue; } /* mount where only a subtree of a filesystem is mounted? */ subdir_mount = ( g_strcmp0( encoded_root, "/" ) != 0 ); /* Temporary work-around for btrfs, see * * https://github.com/IgnorantGuru/spacefm/issues/165 * http://article.gmane.org/gmane.comp.file-systems.btrfs/2851 * https://bugzilla.redhat.com/show_bug.cgi?id=495152#c31 */ if ( major == 0 && !subdir_mount ) { const gchar *sep; sep = strstr( lines[n], " - " ); if ( sep != NULL ) { gchar typebuf[PATH_MAX]; gchar mount_source[PATH_MAX]; struct stat statbuf; if ( sscanf( sep + 3, "%s %s", typebuf, mount_source ) == 2 && !g_strcmp0( typebuf, "btrfs" ) && g_str_has_prefix( mount_source, "/dev/" ) && stat( mount_source, &statbuf ) == 0 && S_ISBLK( statbuf.st_mode ) ) { major = major( statbuf.st_rdev ); minor = minor( statbuf.st_rdev ); } } } if ( subdir_mount ) { // get mount source //printf("subdir_mount %u:%u %s root=%s\n", major, minor, encoded_mount_point, encoded_root ); gchar typebuf[PATH_MAX]; gchar mount_source[PATH_MAX]; const gchar *sep; sep = strstr( lines[n], " - " ); if ( sep && sscanf( sep + 3, "%s %s", typebuf, mount_source ) == 2 ) { //printf( " source=%s\n", mount_source ); if ( g_str_has_prefix( mount_source, "/dev/" ) ) { /* is a subdir mount on a local device, eg a bind mount * so don't include this mount point */ //printf( " local\n" ); continue; } } else continue; } mount_point = g_strcompress( encoded_mount_point ); if ( !mount_point || ( mount_point && mount_point[0] == '\0' ) ) { g_free( mount_point ); continue; } // fstype fstype = strstr( lines[n], " - " ); if ( fstype ) { fstype += 3; // modifies lines[n] if ( str = strchr( fstype, ' ' ) ) str[0] = '\0'; } //printf("mount_point(%d:%d)=%s\n", major, minor, mount_point ); devmount = NULL; for ( l = newmounts; l; l = l->next ) { if ( ((devmount_t*)l->data)->major == major && ((devmount_t*)l->data)->minor == minor ) { devmount = (devmount_t*)l->data; break; } } if ( !devmount ) { //printf(" new devmount %s\n", mount_point); if ( report ) { if ( subdir_mount ) { // is a subdir mount - ignore if block device devnum = makedev( major, minor ); udevice = udev_device_new_from_devnum( udev, 'b', devnum ); if ( udevice ) { // is block device with subdir mount - ignore udev_device_unref( udevice ); g_free( mount_point ); continue; } } devmount = g_slice_new0( devmount_t ); devmount->major = major; devmount->minor = minor; devmount->mount_points = NULL; devmount->fstype = g_strdup( fstype ); devmount->mounts = NULL; newmounts = g_list_prepend( newmounts, devmount ); } else { // initial load !report don't add non-block devices devnum = makedev( major, minor ); udevice = udev_device_new_from_devnum( udev, 'b', devnum ); if ( udevice ) { // is block device udev_device_unref( udevice ); if ( subdir_mount ) { // is block device with subdir mount - ignore g_free( mount_point ); continue; } // add devmount = g_slice_new0( devmount_t ); devmount->major = major; devmount->minor = minor; devmount->mount_points = NULL; devmount->fstype = g_strdup( fstype ); devmount->mounts = NULL; newmounts = g_list_prepend( newmounts, devmount ); } } } if ( devmount && !g_list_find( devmount->mounts, mount_point ) ) { //printf(" prepended\n"); devmount->mounts = g_list_prepend( devmount->mounts, mount_point ); } else g_free( mount_point ); } g_free( contents ); g_strfreev( lines ); //printf("\nLINES DONE\n\n"); // translate each mount points list to string gchar *points, *old_points; GList* m; for ( l = newmounts; l; l = l->next ) { devmount = (devmount_t*)l->data; // Sort the list to ensure that shortest mount paths appear first devmount->mounts = g_list_sort( devmount->mounts, (GCompareFunc) g_strcmp0 ); m = devmount->mounts; points = g_strdup( (gchar*)m->data ); while ( m = m->next ) { old_points = points; points = g_strdup_printf( "%s, %s", old_points, (gchar*)m->data ); g_free( old_points ); } g_list_foreach( devmount->mounts, (GFunc)g_free, NULL ); g_list_free( devmount->mounts ); devmount->mounts = NULL; devmount->mount_points = points; //printf( "translate %d:%d %s\n", devmount->major, devmount->minor, points ); } // compare old and new lists GList* found; if ( report ) { for ( l = newmounts; l; l = l->next ) { devmount = (devmount_t*)l->data; //printf("finding %d:%d\n", devmount->major, devmount->minor ); found = g_list_find_custom( devmounts, (gconstpointer)devmount, (GCompareFunc)cmp_devmounts ); if ( found ) { //printf(" found\n"); if ( !g_strcmp0( ((devmount_t*)found->data)->mount_points, devmount->mount_points ) ) { //printf(" freed\n"); // no change to mount points, so remove from old list devmount = (devmount_t*)found->data; g_free( devmount->mount_points ); g_free( devmount->fstype ); devmounts = g_list_remove( devmounts, devmount ); g_slice_free( devmount_t, devmount ); } } else { // new mount //printf(" new mount %d:%d %s\n", devmount->major, devmount->minor, devmount->mount_points ); devmount_t* devcopy = g_slice_new0( devmount_t ); devcopy->major = devmount->major; devcopy->minor = devmount->minor; devcopy->mount_points = g_strdup( devmount->mount_points ); devcopy->fstype = g_strdup( devmount->fstype ); devcopy->mounts = NULL; changed = g_list_prepend( changed, devcopy ); } } } //printf( "\nREMAINING\n\n"); // any remaining devices in old list have changed mount status for ( l = devmounts; l; l = l->next ) { devmount = (devmount_t*)l->data; //printf("remain %d:%d\n", devmount->major, devmount->minor ); if ( report ) { changed = g_list_prepend( changed, devmount ); } else { g_free( devmount->mount_points ); g_free( devmount->fstype ); g_slice_free( devmount_t, devmount ); } } g_list_free( devmounts ); devmounts = newmounts; // report if ( report && changed ) { VFSVolume* volume; char* devnode; for ( l = changed; l; l = l->next ) { devnode = NULL; devmount = (devmount_t*)l->data; devnum = makedev( devmount->major, devmount->minor ); udevice = udev_device_new_from_devnum( udev, 'b', devnum ); if ( udevice ) devnode = g_strdup( udev_device_get_devnode( udevice ) ); if ( devnode ) { // block device printf( "mount changed: %s\n", devnode ); if ( volume = vfs_volume_read_by_device( udevice ) ) vfs_volume_device_added( volume, TRUE ); //frees volume if needed g_free( devnode ); } else { // not a block device if ( volume = vfs_volume_read_by_mount( devnum, devmount->mount_points ) ) { printf( "special mount changed: %s (%u:%u) on %s\n", volume->device_file, (unsigned int)MAJOR( volume->devnum ), (unsigned int)MINOR( volume->devnum ), devmount->mount_points ); vfs_volume_device_added( volume, FALSE ); //frees volume if needed } else vfs_volume_nonblock_removed( devnum ); } udev_device_unref( udevice ); g_free( devmount->mount_points ); g_free( devmount->fstype ); g_slice_free( devmount_t, devmount ); } g_list_free( changed ); } //printf ( "END PARSE\n"); } static void free_devmounts() { GList* l; devmount_t *devmount; if ( !devmounts ) return; for ( l = devmounts; l; l = l->next ) { devmount = (devmount_t*)l->data; g_free( devmount->mount_points ); g_free( devmount->fstype ); g_slice_free( devmount_t, devmount ); } g_list_free( devmounts ); devmounts = NULL; } const char* get_devmount_fstype( int major, int minor ) { GList* l; for ( l = devmounts; l; l = l->next ) { if ( ((devmount_t*)l->data)->major == major && ((devmount_t*)l->data)->minor == minor ) return ((devmount_t*)l->data)->fstype; } return NULL; } static gboolean cb_mount_monitor_watch( GIOChannel *channel, GIOCondition cond, gpointer user_data ) { if ( cond & ~G_IO_ERR ) return TRUE; //printf ("@@@ /proc/self/mountinfo changed\n"); parse_mounts( TRUE ); return TRUE; } static gboolean cb_udev_monitor_watch( GIOChannel *channel, GIOCondition cond, gpointer user_data ) { /* printf("cb_monitor_watch %d\n", channel); if ( cond & G_IO_IN ) printf(" G_IO_IN\n"); if ( cond & G_IO_OUT ) printf(" G_IO_OUT\n"); if ( cond & G_IO_PRI ) printf(" G_IO_PRI\n"); if ( cond & G_IO_ERR ) printf(" G_IO_ERR\n"); if ( cond & G_IO_HUP ) printf(" G_IO_HUP\n"); if ( cond & G_IO_NVAL ) printf(" G_IO_NVAL\n"); if ( !( cond & G_IO_NVAL ) ) { gint fd = g_io_channel_unix_get_fd( channel ); printf(" fd=%d\n", fd); if ( fcntl(fd, F_GETFL) != -1 || errno != EBADF ) { int flags = g_io_channel_get_flags( channel ); if ( flags & G_IO_FLAG_IS_READABLE ) printf( " G_IO_FLAG_IS_READABLE\n"); } else printf(" Invalid FD\n"); } */ if ( ( cond & G_IO_NVAL ) ) { g_warning( "udev g_io_channel_unref G_IO_NVAL" ); g_io_channel_unref( channel ); return FALSE; } else if ( !( cond & G_IO_IN ) ) { if ( ( cond & G_IO_HUP ) ) { g_warning( "udev g_io_channel_unref !G_IO_IN && G_IO_HUP" ); g_io_channel_unref( channel ); return FALSE; } else return TRUE; } else if ( !( fcntl( g_io_channel_unix_get_fd( channel ), F_GETFL ) != -1 || errno != EBADF ) ) { // bad file descriptor g_warning( "udev g_io_channel_unref BAD_FD" ); g_io_channel_unref( channel ); return FALSE; } struct udev_device *udevice; const char *action; const char *acted = NULL; char* devnode; VFSVolume* volume; if ( udevice = udev_monitor_receive_device( umonitor ) ) { action = udev_device_get_action( udevice ); devnode = g_strdup( udev_device_get_devnode( udevice ) ); if ( action ) { // print action if ( !strcmp( action, "add" ) ) acted = "added: "; else if ( !strcmp( action, "remove" ) ) acted = "removed: "; else if ( !strcmp( action, "change" ) ) acted = "changed: "; else if ( !strcmp( action, "move" ) ) acted = "moved: "; if ( acted ) printf( "udev %s%s\n", acted, devnode ); // add/remove volume if ( !strcmp( action, "add" ) || !strcmp( action, "change" ) ) { if ( volume = vfs_volume_read_by_device( udevice ) ) vfs_volume_device_added( volume, TRUE ); //frees volume if needed } else if ( !strcmp( action, "remove" ) ) vfs_volume_device_removed( udevice ); // what to do for move action? } g_free( devnode ); udev_device_unref( udevice ); } return TRUE; } /* ************************************************************************ */ #if 0 static void cb_child_watch( GPid pid, gint status, char *data ) { g_spawn_close_pid( pid ); if ( monpid == pid ) monpid = NULL; } static gboolean cb_out_watch( GIOChannel *channel, GIOCondition cond, char *data ) { gchar *line; gsize size; char* parameter; char* value; char* valuec; char* linec; size_t colonx; VFSVolume* volume = NULL; if ( ( cond & G_IO_HUP ) || ( cond & G_IO_NVAL ) ) { g_io_channel_unref( channel ); return FALSE; } else if ( !( cond & G_IO_IN ) ) return TRUE; if ( g_io_channel_read_line( channel, &line, &size, NULL, NULL ) != G_IO_STATUS_NORMAL ) { //printf(" !G_IO_STATUS_NORMAL\n"); return TRUE; } //printf("umon: %s\n", line ); // parse line to get parameter and value //added: /org/freedesktop/UDisks/devices/sdd1 //changed: /org/freedesktop/UDisks/devices/sdd1 //removed: /org/freedesktop/UDisks/devices/sdd1 colonx = strcspn( line, ":" ); if ( colonx < strlen( line ) ) { parameter = g_strndup(line, colonx ); valuec = g_strdup( line + colonx + 1 ); value = valuec; while ( value[0] == ' ' ) value++; while ( value[ strlen( value ) - 1 ] == '\n' ) value[ strlen( value ) - 1 ] = '\0'; if ( parameter && value ) { if ( !strncmp( value, "/org/freedesktop/UDisks/devices/", 32) ) { value += 27; value[0] = '/'; value[1] = 'd'; value[2] = 'e'; value[3] = 'v'; value[4] = '/'; if ( !strcmp( parameter, "added" ) || !strcmp( parameter, "changed" ) ) { //printf( "umon add/change %s\n", value ); volume = vfs_volume_read_by_device( value ); vfs_volume_device_added( volume, TRUE ); //frees volume if needed } else if ( !strcmp( parameter, "removed" ) ) { //printf( "umon remove %s\n", value ); vfs_volume_device_removed( value ); } } g_free( parameter ); g_free( valuec ); } } g_free( line ); return TRUE; } void vfs_volume_monitor_start() { GPid pid; gchar *argv[] = { "/usr/bin/udisks", "--monitor", NULL }; gint out, err; GIOChannel *out_ch, *err_ch; gboolean ret; //printf("vfs_volume_monitor_start\n"); if ( monpid ) { //printf("monpid non-null - skipping start\n"); return; } // start polling on /dev/sr0 - this also starts the udisks daemon char* stdout = NULL; char* stderr = NULL; g_spawn_command_line_sync( "/usr/bin/udisks --poll-for-media /dev/sr0", &stdout, &stderr, NULL, NULL ); if ( stdout ) g_free( stdout ); if ( stderr ) g_free( stderr ); // start udisks monitor ret = g_spawn_async_with_pipes( NULL, argv, NULL, G_SPAWN_DO_NOT_REAP_CHILD // | G_SPAWN_SEARCH_PATH | G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, &pid, NULL, &out, NULL, NULL ); if( ! ret ) { //g_warning( "udisks monitor not available - is /usr/bin/udisks installed?" ); return; } monpid = pid; // catch termination g_child_watch_add( pid, (GChildWatchFunc)cb_child_watch, NULL ); // create channels for output out_ch = g_io_channel_unix_new( out ); g_io_channel_set_close_on_unref( out_ch, TRUE ); // if enable err channel, need to add &err to g_spawn_async_with_pipes // and remove G_SPAWN_STDERR_TO_DEV_NULL flag //err_ch = g_io_channel_unix_new( err ); //g_io_channel_set_close_on_unref( err_ch, TRUE ); // Add watches to channels g_io_add_watch( out_ch, G_IO_IN | G_IO_HUP | G_IO_NVAL, (GIOFunc)cb_out_watch, NULL ); //g_io_add_watch( err_ch, G_IO_IN | G_IO_HUP | G_IO_NVAL, (GIOFunc)cb_out_watch, NULL ); //printf("started pid %d\n", pid); } #endif void vfs_free_volume_members( VFSVolume* volume ) { g_free ( volume->device_file ); g_free ( volume->udi ); g_free ( volume->label ); g_free ( volume->mount_point ); g_free ( volume->disp_name ); g_free ( volume->icon ); } char* free_slash_total( const char* dir ) { guint64 total_size; char size_str[ 64 ]; #ifdef HAVE_STATVFS struct statvfs fs_stat = {0}; #endif #ifdef HAVE_STATVFS if( statvfs( dir, &fs_stat ) == 0 ) { char total_size_str[ 64 ]; vfs_file_size_to_string_format( size_str, fs_stat.f_bsize * fs_stat.f_bavail, "%.0f%s" ); vfs_file_size_to_string_format( total_size_str, fs_stat.f_frsize * fs_stat.f_blocks, "%.0f%s" ); return g_strdup_printf( "%s/%s", size_str, total_size_str ); } #endif return g_strdup( "" ); } void vfs_volume_set_info( VFSVolume* volume ) { char* parameter; char* value; char* valuec; char* lastcomma; char* disp_device; char* disp_label; char* disp_size; char* disp_mount; char* disp_fstype; char* disp_devnum; char* disp_id = NULL; char size_str[ 64 ]; if ( !volume ) return; // set device icon if ( volume->device_type == DEVICE_TYPE_BLOCK ) { if ( volume->is_audiocd ) volume->icon = g_strdup_printf( "dev_icon_audiocd" ); else if ( volume->is_optical ) { if ( volume->is_mounted ) volume->icon = g_strdup_printf( "dev_icon_optical_mounted" ); else if ( volume->is_mountable ) volume->icon = g_strdup_printf( "dev_icon_optical_media" ); else volume->icon = g_strdup_printf( "dev_icon_optical_nomedia" ); } else if ( volume->is_floppy ) { if ( volume->is_mounted ) volume->icon = g_strdup_printf( "dev_icon_floppy_mounted" ); else volume->icon = g_strdup_printf( "dev_icon_floppy_unmounted" ); volume->is_mountable = TRUE; } else if ( volume->is_removable ) { if ( volume->is_mounted ) volume->icon = g_strdup_printf( "dev_icon_remove_mounted" ); else volume->icon = g_strdup_printf( "dev_icon_remove_unmounted" ); } else { if ( volume->is_mounted ) { if ( g_str_has_prefix( volume->device_file, "/dev/loop" ) ) volume->icon = g_strdup_printf( "dev_icon_file" ); else volume->icon = g_strdup_printf( "dev_icon_internal_mounted" ); } else volume->icon = g_strdup_printf( "dev_icon_internal_unmounted" ); } } else if ( volume->device_type == DEVICE_TYPE_NETWORK ) volume->icon = g_strdup_printf( "dev_icon_network" ); else if ( volume->device_type == DEVICE_TYPE_OTHER ) volume->icon = g_strdup_printf( "dev_icon_file" ); // set disp_id using by-id if ( volume->device_type == DEVICE_TYPE_BLOCK ) { if ( volume->is_floppy && !volume->udi ) disp_id = g_strdup_printf( _(":floppy") ); else if ( volume->udi ) { if ( lastcomma = strrchr( volume->udi, '/' ) ) { lastcomma++; if ( !strncmp( lastcomma, "usb-", 4 ) ) lastcomma += 4; else if ( !strncmp( lastcomma, "ata-", 4 ) ) lastcomma += 4; else if ( !strncmp( lastcomma, "scsi-", 5 ) ) lastcomma += 5; } else lastcomma = volume->udi; if ( lastcomma[0] != '\0' ) { disp_id = g_strdup_printf( ":%.16s", lastcomma ); } } else if ( volume->is_optical ) disp_id = g_strdup_printf( _(":optical") ); if ( !disp_id ) disp_id = g_strdup( "" ); // table type if ( volume->is_table ) { if ( volume->fs_type && volume->fs_type[0] == '\0' ) { g_free( volume->fs_type ); volume->fs_type = NULL; } if ( !volume->fs_type ) volume->fs_type = g_strdup( "table" ); } } else disp_id = g_strdup( volume->udi ); // set display name if ( volume->is_mounted ) { if ( volume->label && volume->label[0] != '\0' ) disp_label = g_strdup_printf( "%s", volume->label ); else disp_label = g_strdup( "" ); /* if ( volume->mount_point && volume->mount_point[0] != '\0' ) { // causes GUI hang during mount due to fs access disp_size = free_slash_total( volume->mount_point ); } else */ if ( volume->size > 0 ) { vfs_file_size_to_string_format( size_str, volume->size, "%.0f%s" ); disp_size = g_strdup_printf( "%s", size_str ); } else disp_size = g_strdup( "" ); if ( volume->mount_point && volume->mount_point[0] != '\0' ) disp_mount = g_strdup_printf( "%s", volume->mount_point ); else disp_mount = g_strdup_printf( "???" ); } else if ( volume->is_mountable ) //has_media { if ( volume->is_blank ) disp_label = g_strdup_printf( _("[blank]") ); else if ( volume->label && volume->label[0] != '\0' ) disp_label = g_strdup_printf( "%s", volume->label ); else if ( volume->is_audiocd ) disp_label = g_strdup_printf( _("[audio]") ); else disp_label = g_strdup( "" ); if ( volume->size > 0 ) { vfs_file_size_to_string_format( size_str, volume->size, "%.0f%s" ); disp_size = g_strdup_printf( "%s", size_str ); } else disp_size = g_strdup( "" ); disp_mount = g_strdup_printf( "---" ); } else { disp_label = g_strdup_printf( _("[no media]") ); disp_size = g_strdup( "" ); disp_mount = g_strdup( "" ); } if ( !strncmp( volume->device_file, "/dev/", 5 ) ) disp_device = g_strdup( volume->device_file + 5 ); else if ( g_str_has_prefix( volume->device_file, "curlftpfs#" ) ) disp_device = g_strdup( volume->device_file + 10 ); else disp_device = g_strdup( volume->device_file ); if ( volume->fs_type && volume->fs_type[0] != '\0' ) disp_fstype = g_strdup( volume->fs_type );// g_strdup_printf( "-%s", volume->fs_type ); else disp_fstype = g_strdup( "" ); disp_devnum = g_strdup_printf( "%u:%u", (unsigned int)MAJOR( volume->devnum ), (unsigned int)MINOR( volume->devnum ) ); char* fmt = xset_get_s( "dev_dispname" ); if ( !fmt ) parameter = g_strdup_printf( "%s %s %s %s %s %s", disp_device, disp_size, disp_fstype, disp_label, disp_mount, disp_id ); else { value = replace_string( fmt, "%v", disp_device, FALSE ); valuec = replace_string( value, "%s", disp_size, FALSE ); g_free( value ); value = replace_string( valuec, "%t", disp_fstype, FALSE ); g_free( valuec ); valuec = replace_string( value, "%l", disp_label, FALSE ); g_free( value ); value = replace_string( valuec, "%m", disp_mount, FALSE ); g_free( valuec ); valuec = replace_string( value, "%n", disp_devnum, FALSE ); g_free( value ); parameter = replace_string( valuec, "%i", disp_id, FALSE ); g_free( valuec ); } //volume->disp_name = g_filename_to_utf8( parameter, -1, NULL, NULL, NULL ); while ( strstr( parameter, " " ) ) { value = parameter; parameter = replace_string( value, " ", " ", FALSE ); g_free( value ); } while ( parameter[0] == ' ' ) { value = parameter; parameter = g_strdup( parameter + 1 ); g_free( value ); } volume->disp_name = g_filename_display_name( parameter ); g_free( parameter ); g_free( disp_label ); g_free( disp_size ); g_free( disp_mount ); g_free( disp_device ); g_free( disp_fstype ); g_free( disp_id ); g_free( disp_devnum ); if ( !volume->udi ) volume->udi = g_strdup( volume->device_file ); } VFSVolume* vfs_volume_read_by_device( struct udev_device *udevice ) { // uses udev to read device parameters into returned volume VFSVolume* volume = NULL; if ( !udevice ) return NULL; device_t* device = device_alloc( udevice ); if ( !device_get_info( device ) || !device->devnode || device->devnum == 0 || !g_str_has_prefix( device->devnode, "/dev/" ) ) { device_free( device ); return NULL; } // translate device info to VFSVolume volume = g_slice_new0( VFSVolume ); volume->devnum = device->devnum; volume->device_type = DEVICE_TYPE_BLOCK; volume->device_file = g_strdup( device->devnode ); volume->udi = g_strdup( device->device_by_id ); volume->should_autounmount = FALSE; volume->is_optical = device->device_is_optical_disc; volume->is_table = device->device_is_partition_table; volume->is_floppy = ( device->drive_media_compatibility && !strcmp( device->drive_media_compatibility, "floppy" ) ); volume->is_removable = !device->device_is_system_internal; volume->requires_eject = device->drive_is_media_ejectable; volume->is_mountable = device->device_is_media_available; volume->is_audiocd = ( device->device_is_optical_disc && device->optical_disc_num_audio_tracks && atoi( device->optical_disc_num_audio_tracks ) > 0 ); volume->is_dvd = ( device->drive_media && strstr( device->drive_media, "optical_dvd" ) ); volume->is_blank = ( device->device_is_optical_disc && device->optical_disc_is_blank ); volume->is_mounted = device->device_is_mounted; volume->is_user_visible = device->device_presentation_hide ? !atoi( device->device_presentation_hide ) : TRUE; volume->ever_mounted = FALSE; volume->open_main_window = NULL; volume->nopolicy = device->device_presentation_nopolicy ? atoi( device->device_presentation_nopolicy ) : FALSE; volume->mount_point = NULL; if ( device->mount_points && device->mount_points[0] != '\0' ) { char* comma; if ( comma = strchr( device->mount_points, ',' ) ) { comma[0] = '\0'; volume->mount_point = g_strdup( device->mount_points ); comma[0] = ','; } else volume->mount_point = g_strdup( device->mount_points ); } volume->size = device->device_size; volume->label = g_strdup( device->id_label ); volume->fs_type = g_strdup( device->id_type ); volume->disp_name = NULL; volume->icon = NULL; volume->automount_time = 0; volume->inhibit_auto = FALSE; device_free( device ); // adjustments volume->ever_mounted = volume->is_mounted; //if ( volume->is_blank ) // volume->is_mountable = FALSE; //has_media is now used for showing if ( volume->is_dvd ) volume->is_audiocd = FALSE; vfs_volume_set_info( volume ); /* printf( "====devnum=%u:%u\n", MAJOR( volume->devnum ), MINOR( volume->devnum ) ); printf( " device_file=%s\n", volume->device_file ); printf( " udi=%s\n", volume->udi ); printf( " label=%s\n", volume->label ); printf( " icon=%s\n", volume->icon ); printf( " is_mounted=%d\n", volume->is_mounted ); printf( " is_mountable=%d\n", volume->is_mountable ); printf( " is_optical=%d\n", volume->is_optical ); printf( " is_audiocd=%d\n", volume->is_audiocd ); printf( " is_blank=%d\n", volume->is_blank ); printf( " is_floppy=%d\n", volume->is_floppy ); printf( " is_table=%d\n", volume->is_table ); printf( " is_removable=%d\n", volume->is_removable ); printf( " requires_eject=%d\n", volume->requires_eject ); printf( " is_user_visible=%d\n", volume->is_user_visible ); printf( " mount_point=%s\n", volume->mount_point ); printf( " size=%u\n", volume->size ); printf( " disp_name=%s\n", volume->disp_name ); */ return volume; } gboolean path_is_mounted_mtab( const char* mtab_file, const char* path, char** device_file, char** fs_type ) { gchar *contents; gchar **lines; GError *error; guint n; gboolean ret = FALSE; char* str; char* file; char* point; gchar encoded_file[PATH_MAX]; gchar encoded_point[PATH_MAX]; gchar encoded_fstype[PATH_MAX]; if ( !path ) return FALSE; contents = NULL; lines = NULL; error = NULL; char* mtab_path = g_build_filename( SYSCONFDIR, "mtab", NULL ); if ( mtab_file ) { // read from a custom mtab file, eg ~/.mtab.fuseiso if ( !g_file_get_contents( mtab_file, &contents, NULL, NULL ) ) { g_free( mtab_path ); return FALSE; } } else if ( !g_file_get_contents( MTAB, &contents, NULL, NULL ) ) { if ( !g_file_get_contents( mtab_path, &contents, NULL, &error ) ) { g_warning ("Error reading %s: %s", mtab_path, error->message); g_error_free (error); g_free( mtab_path ); return FALSE; } } g_free( mtab_path ); lines = g_strsplit( contents, "\n", 0 ); for ( n = 0; lines[n] != NULL; n++ ) { if ( lines[n][0] == '\0' ) continue; if ( sscanf( lines[n], "%s %s %s ", encoded_file, encoded_point, encoded_fstype ) != 3 ) { g_warning ("Error parsing mtab line '%s'", lines[n]); continue; } point = g_strcompress( encoded_point ); if ( !g_strcmp0( point, path ) ) { if ( device_file ) *device_file = g_strcompress( encoded_file ); if ( fs_type ) *fs_type = g_strcompress( encoded_fstype ); ret = TRUE; break; } g_free( point ); } g_free( contents ); g_strfreev( lines ); return ret; } gboolean mtab_fstype_is_handled_by_protocol( const char* mtab_fstype ) { int i; XSet* set; gboolean found = FALSE; const char* handlers_list; if ( mtab_fstype && mtab_fstype[0] && ( handlers_list = xset_get_s( "dev_net_cnf" ) ) ) { // is the mtab_fstype handled by a protocol handler? GSList* values = NULL; values = g_slist_prepend( values, g_strdup( mtab_fstype ) ); values = g_slist_prepend( values, g_strconcat( "mtab_fs=", mtab_fstype, NULL ) ); gchar** handlers = g_strsplit( handlers_list, " ", 0 ); if ( handlers ) { // test handlers for ( i = 0; handlers[i]; i++ ) { if ( !handlers[i][0] || !( set = xset_is( handlers[i] ) ) || set->b != XSET_B_TRUE /* disabled */ ) continue; // test whitelist if ( g_strcmp0( set->s, "*" ) && ptk_handler_values_in_list( set->s, values, NULL ) ) { found = TRUE; break; } } g_strfreev( handlers ); } g_slist_foreach( values, (GFunc)g_free, NULL ); g_slist_free( values ); } return found; } int split_network_url( const char* url, netmount_t** netmount ) { // returns 0=not a network url 1=valid network url 2=invalid network url if ( !url || !netmount ) return 0; int ret; char* str; char* str2; char* orig_url = strdup( url ); char* xurl = orig_url; netmount_t* nm = g_slice_new0( netmount_t ); nm->fstype = NULL; // protocol nm->host = NULL; nm->ip = NULL; nm->port = NULL; nm->user = NULL; nm->pass = NULL; nm->path = NULL; nm->url = g_strdup( url ); // get protocol gboolean is_colon; if ( g_str_has_prefix( xurl, "//" ) ) { // //host... if ( xurl[2] == '\0' ) goto _net_free; nm->fstype = g_strdup( "smb" ); is_colon = FALSE; } else if ( str = strstr( xurl, "://" ) ) { // protocol://host... if ( xurl[0] == ':' || xurl[0] == '/' ) goto _net_free; str[0] = '\0'; nm->fstype = g_strstrip( g_strdup( xurl ) ); if ( nm->fstype[0] == '\0' ) goto _net_free; str[0] = ':'; is_colon = TRUE; // remove ...# from start of protocol // eg curlftpfs mtab url looks like: curlftpfs#ftp://hostname/ if ( nm->fstype && ( str = strchr( nm->fstype, '#' ) ) ) { str2 = nm->fstype; nm->fstype = g_strdup( str + 1 ); g_free( str2 ); } } else if ( str = strstr( xurl, ":/" ) ) { // host:/path // note: sshfs also uses this URL format in mtab, but mtab_fstype == fuse.sshfs if ( xurl[0] == ':' || xurl[0] == '/' ) goto _net_free; nm->fstype = g_strdup( "nfs" ); str[0] = '\0'; nm->host = g_strdup( xurl ); str[0] = ':'; is_colon = TRUE; } else goto _net_free; ret = 1; // parse if ( is_colon && ( str = strchr( xurl, ':' ) ) ) { xurl = str + 1; } while ( xurl[0] == '/' ) xurl++; char* trim_url = g_strdup( xurl ); // user:pass if ( str = strchr( xurl, '@' ) ) { if ( str2 = strchr( str + 1, '@' ) ) { // there is a second @ - assume username contains email address str = str2; } str[0] = '\0'; if ( str2 = strchr( xurl, ':' ) ) { str2[0] = '\0'; if ( str2[1] != '\0' ) nm->pass = g_strdup( str2 + 1 ); } if ( xurl[0] != '\0' ) nm->user = g_strdup( xurl ); xurl = str + 1; } // path if ( str = strchr( xurl, '/' ) ) { nm->path = g_strdup( str ); str[0] = '\0'; } // host:port if ( !nm->host ) { if ( xurl[0] == '[' ) { // ipv6 literal if ( str = strchr( xurl, ']' ) ) { str[0] = '\0'; if ( xurl[1] != '\0' ) nm->host = g_strdup( xurl + 1 ); if ( str[1] == ':' && str[2] != '\0' ) nm->port = g_strdup( str + 1 ); } } else if ( xurl[0] != '\0' ) { if ( str = strchr( xurl, ':' ) ) { str[0] = '\0'; if ( str[1] != '\0' ) nm->port = g_strdup( str + 1 ); } nm->host = g_strdup( xurl ); } } g_free( trim_url ); g_free( orig_url ); // check host if ( !nm->host ) nm->host = g_strdup( "" ); /* // check user pass port if ( ( nm->user && strchr( nm->user, ' ' ) ) || ( nm->pass && strchr( nm->pass, ' ' ) ) || ( nm->port && strchr( nm->port, ' ' ) ) ) ret = 2; */ *netmount = nm; return ret; _net_free: g_free( nm->url ); g_free( nm->fstype ); g_free( nm->host ); g_free( nm->ip ); g_free( nm->port ); g_free( nm->user ); g_free( nm->pass ); g_free( nm->path ); g_slice_free( netmount_t, nm ); g_free( orig_url ); return 0; } VFSVolume* vfs_volume_read_by_mount( dev_t devnum, const char* mount_points ) { // read a non-block device VFSVolume* volume; char* str; int i; struct stat64 statbuf; netmount_t *netmount = NULL; XSet* set; if ( devnum == 0 || !mount_points ) return NULL; // get single mount point char* point = g_strdup( mount_points ); if ( str = strchr( point, ',' ) ) str[0] = '\0'; g_strstrip( point ); if ( !( point && point[0] == '/' ) ) return NULL; // get device name char* name = NULL; char* mtab_fstype = NULL; if ( !( path_is_mounted_mtab( NULL, point, &name, &mtab_fstype ) && name && name[0] != '\0' ) ) return NULL; i = split_network_url( name, &netmount ); if ( i == 1 ) { // network URL volume = g_slice_new0( VFSVolume ); volume->devnum = devnum; volume->device_type = DEVICE_TYPE_NETWORK; volume->should_autounmount = FALSE; volume->udi = netmount->url; volume->label = netmount->host; volume->fs_type = mtab_fstype ? mtab_fstype : g_strdup( "" ); volume->size = 0; volume->device_file = name; volume->is_mounted = TRUE; volume->ever_mounted = TRUE; volume->open_main_window = NULL; volume->mount_point = point; volume->disp_name = NULL; volume->icon = NULL; volume->automount_time = 0; volume->inhibit_auto = FALSE; // free unused netmount g_free( netmount->ip ); g_free( netmount->port ); g_free( netmount->user ); g_free( netmount->pass ); g_free( netmount->path ); g_free( netmount->fstype ); g_slice_free( netmount_t, netmount ); } else if ( !g_strcmp0( mtab_fstype, "fuse.fuseiso" ) ) { // an ISO file mounted with fuseiso /* get device_file from ~/.mtab.fuseiso * hack - sleep for 0.2 seconds here because sometimes the * .mtab.fuseiso file is not updated until after new device is detected. */ g_usleep( 200000 ); char* mtab_file = g_build_filename( g_get_home_dir(), ".mtab.fuseiso", NULL ); char* new_name = NULL; if ( path_is_mounted_mtab( mtab_file, point, &new_name, NULL ) && new_name && new_name[0] ) { g_free( name ); name = new_name; new_name = NULL; } g_free( new_name ); g_free( mtab_file ); // create a volume volume = g_slice_new0( VFSVolume ); volume->devnum = devnum; volume->device_type = DEVICE_TYPE_OTHER; volume->device_file = name; volume->udi = g_strdup( name ); volume->should_autounmount = FALSE; volume->label = NULL; volume->fs_type = mtab_fstype; volume->size = 0; volume->is_mounted = TRUE; volume->ever_mounted = TRUE; volume->open_main_window = NULL; volume->mount_point = point; volume->disp_name = NULL; volume->icon = NULL; volume->automount_time = 0; volume->inhibit_auto = FALSE; } else { // a non-block device is mounted - do we want to include it? // is a protocol handler present? gboolean keep = mtab_fstype_is_handled_by_protocol( mtab_fstype ); if ( !keep && !strstr( HIDDEN_NON_BLOCK_FS, mtab_fstype ) ) { // no protocol handler and not blacklisted - show anyway? keep = g_str_has_prefix( point, g_get_user_cache_dir() ) || g_str_has_prefix( point, "/media/" ) || g_str_has_prefix( point, "/run/media/" ) || g_str_has_prefix( mtab_fstype, "fuse." ); if ( !keep ) { // in Auto-Mount|Mount Dirs ? char* mount_parent = ptk_location_view_get_mount_point_dir( NULL ); keep = g_str_has_prefix( point, mount_parent ); g_free( mount_parent ); } } // mount point must be readable keep = keep && ( geteuid() == 0 || g_access( point, R_OK ) == 0 ); if ( keep ) { // create a volume volume = g_slice_new0( VFSVolume ); volume->devnum = devnum; volume->device_type = DEVICE_TYPE_OTHER; volume->device_file = name; volume->udi = g_strdup( name ); volume->should_autounmount = FALSE; volume->label = NULL; volume->fs_type = mtab_fstype; volume->size = 0; volume->is_mounted = TRUE; volume->ever_mounted = TRUE; volume->open_main_window = NULL; volume->mount_point = point; volume->disp_name = NULL; volume->icon = NULL; volume->automount_time = 0; volume->inhibit_auto = FALSE; } else { g_free( name ); g_free( mtab_fstype ); g_free( point ); return NULL; } } vfs_volume_set_info( volume ); return volume; } #if 0 VFSVolume* vfs_volume_read_by_device( char* device_file ) { // uses udisks v1 output to read device parameters into returned volume FILE *fp; char line[1024]; char* value; char* valuec; char* linec; char* lastcomma; char* parameter; VFSVolume* volume = NULL; size_t colonx; char* device_file_delayed; //printf( ">>> udisks --show-info %s\n", device_file ); fp = popen(g_strdup_printf( "/usr/bin/udisks --show-info %s", device_file ), "r"); if (fp) { volume = g_slice_new0( VFSVolume ); volume->device_file = NULL; volume->should_autounmount = FALSE; volume->udi = NULL; volume->is_optical = FALSE; volume->is_table = FALSE; volume->is_floppy = FALSE; volume->is_removable = FALSE; volume->requires_eject = FALSE; volume->is_mountable = FALSE; volume->is_audiocd = FALSE; volume->is_dvd = FALSE; volume->is_blank = FALSE; volume->is_mounted = FALSE; volume->is_user_visible = TRUE; volume->ever_mounted = FALSE; volume->open_main_window = NULL; volume->nopolicy = FALSE; volume->mount_point = NULL; volume->size = 0; volume->label = NULL; volume->fs_type = NULL; volume->disp_name = NULL; volume->icon = NULL; volume->automount_time = 0; volume->inhibit_auto = FALSE; while (fgets(line, sizeof(line)-1, fp) != NULL) { // parse line to get parameter and value colonx = strcspn( line, ":" ); if ( colonx < strlen( line ) ) { parameter = g_strndup(line, colonx ); valuec = g_strdup( line + colonx + 1 ); value = valuec; while ( value[0] == ' ' ) value++; while ( value[ strlen( value ) - 1 ] == '\n' ) value[ strlen( value ) - 1 ] = '\0'; if ( parameter && value ) { // set volume from parameters //printf( " (%s)=%s\n", parameter, value ); if ( !strcmp( parameter, " device-file" ) ) volume->device_file = g_strdup( value ); else if ( !strcmp( parameter, " system internal" ) ) volume->is_removable = !atoi( value ); else if ( !strcmp( parameter, " ejectable" ) ) volume->requires_eject = atoi( value ); else if ( !strcmp( parameter, " is mounted" ) ) volume->is_mounted = atoi( value ); else if ( !strcmp( parameter, " has media" ) ) volume->is_mountable = atoi( value ); else if ( !strcmp( parameter, " blank" ) && atoi( value ) ) volume->is_blank = TRUE; else if ( !strcmp( parameter, " num audio tracks" ) ) volume->is_audiocd = atoi( value ) > 0; else if ( !strcmp( parameter, " media" ) && strstr( value, "optical_dvd" ) ) volume->is_dvd = TRUE; else if ( !strcmp( parameter, " presentation hide" ) ) volume->is_user_visible = !atoi( value ); else if ( !strcmp( parameter, " presentation nopolicy" ) ) volume->nopolicy = atoi( value ); // use last mount path as mount point else if ( !strcmp( parameter, " mount paths" ) ) { lastcomma = strrchr( value, ',' ); if ( lastcomma ) { lastcomma++; while ( lastcomma[0] == ' ' ) lastcomma++; volume->mount_point = g_strdup( lastcomma ); } else volume->mount_point = g_strdup( value ); } else if ( !strcmp( parameter, " by-id" ) && !volume->udi ) volume->udi = g_strdup( value ); else if ( !strcmp( parameter, " size" ) ) volume->size = atoll( value ); else if ( !strcmp( parameter, " label" ) ) volume->label = g_strdup( value ); else if ( !strcmp( parameter, " compat" ) ) { if ( strstr( value, "optical" ) != NULL ) volume->is_optical = TRUE; if ( !strcmp( value, "floppy" ) ) volume->is_floppy = TRUE; } else if ( !strcmp( parameter, " type" ) ) volume->fs_type = g_strdup( value ); else if ( !strcmp( parameter, " partition table" ) ) volume->is_table = TRUE; else if ( !strcmp( parameter, " type" ) && !strcmp( value, "0x05" ) ) volume->is_table = TRUE; //extended partition g_free( parameter ); g_free( valuec ); } } } pclose(fp); volume->ever_mounted = volume->is_mounted; //if ( volume->is_blank ) // volume->is_mountable = FALSE; //has_media is now used for showing if ( volume->is_dvd ) volume->is_audiocd = FALSE; if ( volume->device_file && !strcmp( volume->device_file, device_file ) ) { vfs_volume_set_info( volume ); /* printf( "====device_file=%s\n", volume->device_file ); printf( " udi=%s\n", volume->udi ); printf( " label=%s\n", volume->label ); printf( " icon=%s\n", volume->icon ); printf( " is_mounted=%d\n", volume->is_mounted ); printf( " is_mountable=%d\n", volume->is_mountable ); printf( " is_optical=%d\n", volume->is_optical ); printf( " is_audiocd=%d\n", volume->is_audiocd ); printf( " is_blank=%d\n", volume->is_blank ); printf( " is_floppy=%d\n", volume->is_floppy ); printf( " is_table=%d\n", volume->is_table ); printf( " is_removable=%d\n", volume->is_removable ); printf( " requires_eject=%d\n", volume->requires_eject ); printf( " is_user_visible=%d\n", volume->is_user_visible ); printf( " mount_point=%s\n", volume->mount_point ); printf( " size=%u\n", volume->size ); printf( " disp_name=%s\n", volume->disp_name ); */ } else { vfs_free_volume_members( volume ); g_slice_free( VFSVolume, volume ); volume = NULL; } } //printf( ">>> udisks --show-info %s DONE\n", device_file ); return volume; } #endif char* vfs_volume_handler_cmd( int mode, int action, VFSVolume* vol, const char* options, netmount_t* netmount, gboolean* run_in_terminal, char** mount_point ) { char* str; const char* handlers_list; int i; XSet* set; GSList* values = NULL; if ( mount_point ) *mount_point = NULL; if ( mode == HANDLER_MODE_FS ) { if ( !vol ) return NULL; // fs values // change spaces in label to underscores for testing if ( vol->label && vol->label[0] ) values = g_slist_prepend( values, g_strdelimit( g_strconcat( "label=", vol->label, NULL ), " ", '_' ) ); if ( vol->udi && vol->udi[0] ) values = g_slist_prepend( values, g_strconcat( "id=", vol->udi, NULL ) ); values = g_slist_prepend( values, g_strconcat( "audiocd=", vol->is_audiocd ? "1" : "0", NULL ) ); values = g_slist_prepend( values, g_strconcat( "optical=", vol->is_optical ? "1" : "0", NULL ) ); values = g_slist_prepend( values, g_strconcat( "removable=", vol->is_removable ? "1" : "0", NULL ) ); values = g_slist_prepend( values, g_strconcat( "mountable=", vol->is_mountable && !vol->is_blank ? "1" : "0", NULL ) ); // change spaces in device to underscores for testing - for ISO files values = g_slist_prepend( values, g_strdelimit( g_strconcat( "dev=", vol->device_file, NULL ), " ", '_' ) ); if ( vol->fs_type ) values = g_slist_prepend( values, g_strdup( vol->fs_type ) ); } else if ( mode == HANDLER_MODE_NET && netmount ) { // for DEVICE_TYPE_NETWORK // net values if ( netmount->host && netmount->host[0] ) values = g_slist_prepend( values, g_strconcat( "host=", netmount->host, NULL ) ); if ( netmount->user && netmount->user[0] ) values = g_slist_prepend( values, g_strconcat( "user=", netmount->user, NULL ) ); if ( action != HANDLER_MOUNT && vol && vol->is_mounted ) { // user-entered url (or mtab url if not available) values = g_slist_prepend( values, g_strconcat( "url=", vol->udi, NULL ) ); // mtab fs type (fuse.ssh) values = g_slist_prepend( values, g_strconcat( "mtab_fs=", vol->fs_type, NULL ) ); // mtab_url == url if mounted values = g_slist_prepend( values, g_strconcat( "mtab_url=", vol->device_file, NULL ) ); } else if ( netmount->url && netmount->url[0] ) // user-entered url values = g_slist_prepend( values, g_strconcat( "url=", netmount->url, NULL ) ); // url-derived protocol if ( netmount->fstype && netmount->fstype[0] ) values = g_slist_prepend( values, g_strdup( netmount->fstype ) ); } else if ( mode == HANDLER_MODE_NET ) { // for DEVICE_TYPE_OTHER unmount or prop that has protocol handler in mtab_fs if ( action != HANDLER_MOUNT && vol && vol->is_mounted ) { // user-entered url (or mtab url if not available) values = g_slist_prepend( values, g_strconcat( "url=", vol->udi, NULL ) ); // mtab fs type (fuse.ssh) values = g_slist_prepend( values, g_strconcat( "mtab_fs=", vol->fs_type, NULL ) ); // mtab_url == url if mounted values = g_slist_prepend( values, g_strconcat( "mtab_url=", vol->device_file, NULL ) ); } } else { g_warning( "vfs_volume_handler_cmd invalid mode %d\n", mode ); return NULL; } // universal values if ( vol && vol->is_mounted && vol->mount_point && vol->mount_point[0] ) values = g_slist_prepend( values, g_strconcat( "point=", vol->mount_point, NULL ) ); // get handlers if ( !( handlers_list = xset_get_s( mode == HANDLER_MODE_FS ? "dev_fs_cnf" : "dev_net_cnf" ) ) ) return NULL; gchar** handlers = g_strsplit( handlers_list, " ", 0 ); if ( !handlers ) return NULL; // test handlers gboolean found = FALSE; char* msg = NULL; for ( i = 0; handlers[i]; i++ ) { if ( !handlers[i][0] || !( set = xset_is( handlers[i] ) ) || set->b != XSET_B_TRUE /* disabled */ ) continue; if ( mode == HANDLER_MODE_FS ) { // test blacklist if ( ptk_handler_values_in_list( set->x, values, NULL ) ) break; // test whitelist if ( ptk_handler_values_in_list( set->s, values, &msg ) ) { found = TRUE; break; } } else //if ( mode == HANDLER_MODE_NET ) { // test blacklist if ( ptk_handler_values_in_list( set->x, values, NULL ) ) break; // test whitelist if ( ptk_handler_values_in_list( set->s, values, &msg ) ) { found = TRUE; break; } } } g_slist_foreach( values, (GFunc)g_free, NULL ); g_slist_free( values ); g_strfreev( handlers ); if ( !found ) return NULL; // get command for action char* command = NULL; const char* action_s; gboolean terminal; char* err_msg = ptk_handler_load_script( mode, action, set, NULL, &command ); if ( err_msg ) { g_warning( "%s", err_msg ); g_free( err_msg ); return NULL; } if ( action == HANDLER_MOUNT ) { terminal = set->in_terminal == XSET_B_TRUE; action_s = "MOUNT"; } else if ( action == HANDLER_UNMOUNT ) { terminal = set->keep_terminal == XSET_B_TRUE; action_s = "UNMOUNT"; } else if ( action == HANDLER_PROP ) { terminal = set->scroll_lock == XSET_B_TRUE; action_s = "PROPERTIES"; } else return NULL; // show selected handler printf( "\n%s '%s': %s%s %s\n", mode == HANDLER_MODE_FS ? _("Selected Device Handler") : _("Selected Protocol Handler"), set->menu_label, action_s, command ? "" : " (no command)", msg ); if ( ptk_handler_command_is_empty( command ) ) { // empty command g_free( command ); return NULL; } // replace sub vars if ( mode == HANDLER_MODE_FS ) { /* * %v device * %o volume-specific mount options (use in mount command only) * %t filesystem type being mounted (eg vfat) * %a mount point, or create auto mount point */ char* fileq = bash_quote( vol->device_file ); // for iso files str = command; command = replace_string( command, "%v", fileq, FALSE ); g_free( fileq ); g_free( str ); if ( action == HANDLER_MOUNT ) { str = command; command = replace_string( command, "%o", options ? options : "", FALSE ); g_free( str ); str = command; command = replace_string( command, "%t", vol->fs_type ? vol->fs_type : "", FALSE ); g_free( str ); } if ( strstr( command, "%a" ) ) { if ( action == HANDLER_MOUNT ) { // create mount point char* point_dir = ptk_location_view_create_mount_point( HANDLER_MODE_FS, vol, NULL, NULL ); str = command; command = replace_string( command, "%a", point_dir, FALSE ); g_free( str ); if ( mount_point ) *mount_point = point_dir; else g_free( point_dir ); } else { str = command; command = replace_string( command, "%a", vol->is_mounted && vol->mount_point && vol->mount_point[0] ? vol->mount_point : "", FALSE ); g_free( str ); } } // standard sub vars str = command; command = replace_line_subs( command ); g_free( str ); } else //if ( mode == HANDLER_MODE_NET ) { // also used for DEVICE_TYPE_OTHER unmount and prop /* * %url% $fm_url * %proto% $fm_url_proto * %host% $fm_url_host * %port% $fm_url_port * %user% $fm_url_user * %pass% $fm_url_pass * %path% $fm_url_path * %a mount point, or create auto mount point */ if ( netmount ) { // replace sub vars if ( strstr( command, "%url%" ) ) { str = command; if ( action != HANDLER_MOUNT && vol && vol->is_mounted ) // user-entered url (or mtab url if not available) command = replace_string( command, "%url%", vol->udi, FALSE ); else // user-entered url command = replace_string( command, "%url%", netmount->url, FALSE ); g_free( str ); } if ( strstr( command, "%proto%" ) ) { str = command; command = replace_string( command, "%proto%", netmount->fstype, FALSE ); g_free( str ); } if ( strstr( command, "%host%" ) ) { str = command; command = replace_string( command, "%host%", netmount->host, FALSE ); g_free( str ); } if ( strstr( command, "%port%" ) ) { str = command; command = replace_string( command, "%port%", netmount->port, FALSE ); g_free( str ); } if ( strstr( command, "%user%" ) ) { str = command; command = replace_string( command, "%user%", netmount->user, FALSE ); g_free( str ); } if ( strstr( command, "%pass%" ) ) { str = command; command = replace_string( command, "%pass%", netmount->pass, FALSE ); g_free( str ); } if ( strstr( command, "%path%" ) ) { str = command; command = replace_string( command, "%path%", netmount->path, FALSE ); g_free( str ); } } if ( strstr( command, "%a" ) ) { if ( action == HANDLER_MOUNT && netmount ) { // create mount point char* point_dir = ptk_location_view_create_mount_point( HANDLER_MODE_NET, NULL, netmount, NULL ); str = command; command = replace_string( command, "%a", point_dir, FALSE ); g_free( str ); if ( mount_point ) *mount_point = point_dir; else g_free( point_dir ); } else { str = command; command = replace_string( command, "%a", vol && vol->is_mounted && vol->mount_point && vol->mount_point[0] ? vol->mount_point : "", FALSE ); g_free( str ); } } if ( netmount ) { // add bash variables // urlq is user-entered url or (if mounted) mtab url char* urlq = bash_quote( action != HANDLER_MOUNT && vol && vol->is_mounted ? vol->udi : netmount->url ); char* protoq = bash_quote( netmount->fstype ); // url-derived protocol (ssh) char* hostq = bash_quote( netmount->host ); char* portq = bash_quote( netmount->port ); char* userq = bash_quote( netmount->user ); char* passq = bash_quote( netmount->pass ); char* pathq = bash_quote( netmount->path ); // mtab fs type (fuse.ssh) char* mtabfsq = bash_quote( action != HANDLER_MOUNT && vol && vol->is_mounted ? vol->fs_type : NULL ); // urlq and mtaburlq will both be the same mtab url if mounted char* mtaburlq = bash_quote( action != HANDLER_MOUNT && vol && vol->is_mounted ? vol->device_file : NULL ); str = command; command = g_strdup_printf( "fm_url_proto=%s; fm_url=%s; fm_url_host=%s; fm_url_port=%s; fm_url_user=%s; fm_url_pass=%s; fm_url_path=%s; fm_mtab_fs=%s; fm_mtab_url=%s\n%s", protoq, urlq, hostq, portq, userq, passq, pathq, mtabfsq, mtaburlq, command ); g_free( str ); g_free( urlq ); g_free( protoq ); g_free( hostq ); g_free( portq ); g_free( userq ); g_free( passq ); g_free( pathq ); g_free( mtabfsq ); g_free( mtaburlq ); } } *run_in_terminal = terminal; return command; } gboolean vfs_volume_is_automount( VFSVolume* vol ) { // determine if volume should be automounted or auto-unmounted int i, j; char* test; char* value; if ( vol->should_autounmount ) // volume is a network or ISO file that was manually mounted - // for autounmounting only return TRUE; if ( !vol->is_mountable || vol->is_blank || vol->device_type != DEVICE_TYPE_BLOCK ) return FALSE; char* showhidelist = g_strdup_printf( " %s ", xset_get_s( "dev_automount_volumes" ) ); for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 2; j++ ) { if ( i == 0 ) value = vol->device_file; else if ( i == 1 ) value = vol->label; else { value = vol->udi; value = strrchr( value, '/' ); if ( value ) value++; } if ( j == 0 ) test = g_strdup_printf( " +%s ", value ); else test = g_strdup_printf( " -%s ", value ); if ( strstr( showhidelist, test ) ) { g_free( test ); g_free( showhidelist ); return ( j == 0 ); } g_free( test ); } } g_free( showhidelist ); // udisks no? if ( vol->nopolicy && !xset_get_b( "dev_ignore_udisks_nopolicy" ) ) return FALSE; // table? if ( vol->is_table ) return FALSE; // optical if ( vol->is_optical ) return xset_get_b( "dev_automount_optical" ); // internal? if ( vol->is_removable && xset_get_b( "dev_automount_removable" ) ) return TRUE; return FALSE; } char* vfs_volume_device_info( VFSVolume* vol ) { struct udev_device* udevice = udev_device_new_from_devnum( udev, 'b', vol->devnum ); if ( udevice == NULL ) { g_warning( "No udev device for device %s (%u:%u)", vol->device_file, (unsigned int)MAJOR( vol->devnum ), (unsigned int)MINOR( vol->devnum ) ); return g_strdup_printf( _("( no udev device )") ); } device_t *device = device_alloc( udevice ); if ( !device_get_info( device ) ) return g_strdup( "" ); char* info = device_show_info( device ); device_free( device ); udev_device_unref( udevice ); return info; } char* vfs_volume_device_mount_cmd( VFSVolume* vol, const char* options, gboolean* run_in_terminal ) { char* command = NULL; char* s1; *run_in_terminal = FALSE; command = vfs_volume_handler_cmd( HANDLER_MODE_FS, HANDLER_MOUNT, vol, options, NULL, run_in_terminal, NULL ); if ( !command ) { // discovery if ( s1 = g_find_program_in_path( "udevil" ) ) { // udevil if ( options && options[0] != '\0' ) command = g_strdup_printf( "%s mount %s -o '%s'", s1, vol->device_file, options ); else command = g_strdup_printf( "%s mount %s", s1, vol->device_file ); } else if ( s1 = g_find_program_in_path( "pmount" ) ) { // pmount command = g_strdup_printf( "%s %s", s1, vol->device_file ); } else if ( s1 = g_find_program_in_path( "udisksctl" ) ) { // udisks2 if ( options && options[0] != '\0' ) command = g_strdup_printf( "%s mount -b %s -o '%s'", s1, vol->device_file, options ); else command = g_strdup_printf( "%s mount -b %s", s1, vol->device_file ); } else if ( s1 = g_find_program_in_path( "udisks" ) ) { // udisks1 - generate a valid exit status if ( options && options[0] != '\0' ) command = g_strdup_printf( "fm_udisks=`%s --mount %s --mount-options '%s' 2>&1`\necho \"$fm_udisks\"\n[[ \"$fm_udisks\" = \"${fm_udisks/ount failed:/}\" ]]\n", s1, vol->device_file, options ); else command = g_strdup_printf( "fm_udisks=`%s --mount %s 2>&1`\necho \"$fm_udisks\"\n[[ \"$fm_udisks\" = \"${fm_udisks/ount failed:/}\" ]]\n", s1, vol->device_file ); } g_free( s1 ); } return command; } char* vfs_volume_device_unmount_cmd( VFSVolume* vol, gboolean* run_in_terminal ) { char* command = NULL; char* s1; char* pointq; *run_in_terminal = FALSE; // unmounting a network ? if ( vol->device_type == DEVICE_TYPE_NETWORK ) { // is a network - try to get unmount command netmount_t *netmount = NULL; if ( split_network_url( vol->udi, &netmount ) == 1 ) { command = vfs_volume_handler_cmd( HANDLER_MODE_NET, HANDLER_UNMOUNT, vol, NULL, netmount, run_in_terminal, NULL ); g_free( netmount->url ); g_free( netmount->fstype ); g_free( netmount->host ); g_free( netmount->ip ); g_free( netmount->port ); g_free( netmount->user ); g_free( netmount->pass ); g_free( netmount->path ); g_slice_free( netmount_t, netmount ); //igtodo is this redundant? // replace mount point sub var if ( command && strstr( command, "%a" ) ) { pointq = bash_quote( vol->is_mounted ? vol->mount_point : NULL ); s1 = command; command = replace_string( command, "%a", pointq, FALSE ); g_free( s1 ); g_free( pointq ); } } } else if ( vol->device_type == DEVICE_TYPE_OTHER && mtab_fstype_is_handled_by_protocol( vol->fs_type ) ) { command = vfs_volume_handler_cmd( HANDLER_MODE_NET, HANDLER_UNMOUNT, vol, NULL, NULL, run_in_terminal, NULL ); //igtodo is this redundant? // replace mount point sub var if ( command && strstr( command, "%a" ) ) { pointq = bash_quote( vol->is_mounted ? vol->mount_point : NULL ); s1 = command; command = replace_string( command, "%a", pointq, FALSE ); g_free( s1 ); g_free( pointq ); } } else command = vfs_volume_handler_cmd( HANDLER_MODE_FS, HANDLER_UNMOUNT, vol, NULL, NULL, run_in_terminal, NULL ); if ( !command ) { // discovery pointq = bash_quote( vol->device_type == DEVICE_TYPE_BLOCK || !vol->is_mounted ? vol->device_file : vol->mount_point ); if ( s1 = g_find_program_in_path( "udevil" ) ) { // udevil command = g_strdup_printf( "%s umount %s", s1, pointq ); } else if ( s1 = g_find_program_in_path( "pumount" ) ) { // pmount command = g_strdup_printf( "%s %s", s1, pointq ); } else if ( s1 = g_find_program_in_path( "udisksctl" ) ) { // udisks2 command = g_strdup_printf( "%s unmount -b %s", s1, pointq ); } else if ( s1 = g_find_program_in_path( "udisks" ) ) { // udisks1 - generate a valid exit status command = g_strdup_printf( "fm_udisks=`%s --unmount %s 2>&1`\necho \"$fm_udisks\"\n[[ \"$fm_udisks\" = \"${fm_udisks/ount failed:/}\" ]]\n", s1, pointq ); } g_free( pointq ); g_free( s1 ); *run_in_terminal = FALSE; } return command; } char* vfs_volume_get_mount_options( VFSVolume* vol, char* options ) { if ( !options ) return NULL; // change spaces to commas gboolean leading = TRUE; gboolean trailing = FALSE; int j = -1; int i; char news[ strlen( options ) + 1 ]; for ( i = 0; i < strlen ( options ); i++ ) { if ( leading && ( options[ i ] == ' ' || options[ i ] == ',' ) ) continue; if ( options[ i ] != ' ' && options[ i ] != ',' ) { j++; news[ j ] = options[ i ]; trailing = TRUE; leading = FALSE; } else if ( trailing ) { j++; news[ j ] = ','; trailing = FALSE; } } if ( news[ j ] == ',' ) news[ j ] = '\0'; else { j++; news[ j ] = '\0'; } // no options if ( news[0] == '\0' ) return NULL; // parse options with fs type // nosuid,sync+vfat,utf+vfat,nosuid-ext4 char* opts = g_strdup_printf( ",%s,", news ); const char* fstype = vfs_volume_get_fstype( vol ); char newo[ strlen( opts ) + 1 ]; newo[0] = ','; newo[1] = '\0'; char* newoptr = newo + 1; char* ptr = opts + 1; char* comma; char* single; char* singlefs; char* plus; char* test; while ( ptr[0] != '\0' ) { comma = strchr( ptr, ',' ); single = g_strndup( ptr, comma - ptr ); if ( !strchr( single, '+' ) && !strchr( single, '-' ) ) { // pure option, check for -fs option test = g_strdup_printf( ",%s-%s,", single, fstype ); if ( !strstr( opts, test ) ) { // add option strcpy( newoptr, single ); newoptr = newo + strlen( newo ); newoptr[0] = ','; newoptr[1] = '\0'; newoptr++; } g_free( test ); } else if ( plus = strchr( single, '+' ) ) { //opt+fs plus[0] = '\0'; //set single to just option singlefs = g_strdup_printf( "%s+%s", single, fstype ); plus[0] = '+'; //restore single to option+fs if ( !strcmp( singlefs, single ) ) { // correct fstype, check if already in options plus[0] = '\0'; //set single to just option test = g_strdup_printf( ",%s,", single ); if ( !strstr( newo, test ) ) { // add +fs option strcpy( newoptr, single ); newoptr = newo + strlen( newo ); newoptr[0] = ','; newoptr[1] = '\0'; newoptr++; } g_free( test ); } g_free( singlefs ); } g_free( single ); ptr = comma + 1; } newoptr--; newoptr[0] = '\0'; g_free( opts ); if ( newo[1] == '\0' ) return NULL; else return g_strdup( newo + 1 ); } char* vfs_volume_get_mount_command( VFSVolume* vol, char* default_options, gboolean* run_in_terminal ) { char* options = vfs_volume_get_mount_options( vol, default_options ); char* command = vfs_volume_device_mount_cmd( vol, options, run_in_terminal ); g_free( options ); return command; } void exec_task( const char* command, gboolean run_in_terminal ) { // run command as async task with optional terminal if ( !( command && command[0] ) ) return; GList* files = g_list_prepend( NULL, g_strdup( "exec_task" ) ); PtkFileTask* task = ptk_file_task_new( VFS_FILE_TASK_EXEC, files, "/", NULL, NULL ); task->task->exec_action = g_strdup( "exec_task" ); task->task->exec_command = g_strdup( command ); task->task->exec_sync = FALSE; task->task->exec_export = FALSE; task->task->exec_terminal = run_in_terminal; ptk_file_task_run( task ); } void vfs_volume_exec( VFSVolume* vol, const char* command ) { //printf( "vfs_volume_exec %s %s\n", vol->device_file, command ); if ( !( command && command[0] ) || vol->device_type != DEVICE_TYPE_BLOCK ) return; char *s1 = replace_string( command, "%m", vol->mount_point, TRUE ); char *s2 = replace_string( s1, "%l", vol->label, TRUE ); g_free( s1 ); s1 = replace_string( s2, "%v", vol->device_file, FALSE ); g_free( s2 ); printf( _("\nAutoexec: %s\n"), s1 ); exec_task( s1, FALSE ); g_free( s1 ); } void vfs_volume_autoexec( VFSVolume* vol ) { char* command = NULL; char* path; // Note: audiocd is is_mountable if ( !vol->is_mountable || global_inhibit_auto || vol->device_type != DEVICE_TYPE_BLOCK || !vfs_volume_is_automount( vol ) ) return; if ( vol->is_audiocd ) { command = xset_get_s( "dev_exec_audio" ); } else if ( vol->is_mounted && vol->mount_point && vol->mount_point[0] !='\0' ) { if ( vol->inhibit_auto ) { // user manually mounted this vol, so no autoexec this time vol->inhibit_auto = FALSE; return; } else { path = g_build_filename( vol->mount_point, "VIDEO_TS", NULL ); if ( vol->is_dvd && g_file_test( path, G_FILE_TEST_IS_DIR ) ) command = xset_get_s( "dev_exec_video" ); else { if ( xset_get_b( "dev_auto_open" ) ) { FMMainWindow* main_window = fm_main_window_get_last_active(); if ( main_window ) { printf( _("\nAuto Open Tab for %s in %s\n"), vol->device_file, vol->mount_point ); //PtkFileBrowser* file_browser = // (PtkFileBrowser*)fm_main_window_get_current_file_browser( // main_window ); //if ( file_browser ) // ptk_file_browser_emit_open( file_browser, vol->mount_point, // PTK_OPEN_DIR ); //PTK_OPEN_NEW_TAB //fm_main_window_add_new_tab causes hang without GDK_THREADS_ENTER GDK_THREADS_ENTER(); fm_main_window_add_new_tab( main_window, vol->mount_point ); GDK_THREADS_LEAVE(); //printf("DONE Auto Open Tab for %s in %s\n", vol->device_file, // vol->mount_point ); } else { char* prog = g_find_program_in_path( g_get_prgname() ); if ( !prog ) prog = g_strdup( g_get_prgname() ); if ( !prog ) prog = g_strdup( "spacefm" ); char* quote_path = bash_quote( vol->mount_point ); char* line = g_strdup_printf( "%s -t %s", prog, quote_path ); g_spawn_command_line_async( line, NULL ); g_free( prog ); g_free( quote_path ); g_free( line ); } } command = xset_get_s( "dev_exec_fs" ); } g_free( path ); } } vfs_volume_exec( vol, command ); } void vfs_volume_autounmount( VFSVolume* vol ) { if ( !vol->is_mounted || !vfs_volume_is_automount( vol ) ) return; gboolean run_in_terminal; char* line = vfs_volume_device_unmount_cmd( vol, &run_in_terminal ); if ( line ) { printf( _("\nAuto-Unmount: %s\n"), line ); exec_task( line, run_in_terminal ); g_free( line ); } else printf( _("\nAuto-Unmount: error: no unmount command available\n") ); } void vfs_volume_automount( VFSVolume* vol ) { if ( vol->is_mounted || vol->ever_mounted || vol->is_audiocd || vol->should_autounmount || !vfs_volume_is_automount( vol ) ) return; if ( vol->automount_time && time( NULL ) - vol->automount_time < 5 ) return; vol->automount_time = time( NULL ); gboolean run_in_terminal; char* line = vfs_volume_get_mount_command( vol, xset_get_s( "dev_mount_options" ), &run_in_terminal ); if ( line ) { printf( _("\nAutomount: %s\n"), line ); exec_task( line, run_in_terminal ); g_free( line ); } else printf( _("\nAutomount: error: no mount command available\n") ); } static void vfs_volume_device_added( VFSVolume* volume, gboolean automount ) { //frees volume if needed GList* l; gboolean was_mounted, was_audiocd, was_mountable; char* changed_mount_point = NULL; if ( !volume || !volume->udi || !volume->device_file ) return; // check if we already have this volume device file for ( l = volumes; l; l = l->next ) { if ( ((VFSVolume*)l->data)->devnum == volume->devnum ) { // update existing volume was_mounted = ((VFSVolume*)l->data)->is_mounted; was_audiocd = ((VFSVolume*)l->data)->is_audiocd; was_mountable = ((VFSVolume*)l->data)->is_mountable; // detect changed mount point if ( !was_mounted && volume->is_mounted ) changed_mount_point = g_strdup( volume->mount_point ); else if ( was_mounted && !volume->is_mounted ) changed_mount_point = g_strdup( ((VFSVolume*)l->data)->mount_point ); vfs_free_volume_members( (VFSVolume*)l->data ); ((VFSVolume*)l->data)->udi = g_strdup( volume->udi ); ((VFSVolume*)l->data)->device_file = g_strdup( volume->device_file ); ((VFSVolume*)l->data)->label = g_strdup( volume->label ); ((VFSVolume*)l->data)->mount_point = g_strdup( volume->mount_point ); ((VFSVolume*)l->data)->icon = g_strdup( volume->icon ); ((VFSVolume*)l->data)->disp_name = g_strdup( volume->disp_name ); ((VFSVolume*)l->data)->is_mounted = volume->is_mounted; ((VFSVolume*)l->data)->is_mountable = volume->is_mountable; ((VFSVolume*)l->data)->is_optical = volume->is_optical; ((VFSVolume*)l->data)->requires_eject = volume->requires_eject; ((VFSVolume*)l->data)->is_removable = volume->is_removable; ((VFSVolume*)l->data)->is_user_visible = volume->is_user_visible; ((VFSVolume*)l->data)->size = volume->size; ((VFSVolume*)l->data)->is_table = volume->is_table; ((VFSVolume*)l->data)->is_floppy = volume->is_floppy; ((VFSVolume*)l->data)->nopolicy = volume->nopolicy; ((VFSVolume*)l->data)->fs_type = volume->fs_type; ((VFSVolume*)l->data)->is_blank = volume->is_blank; ((VFSVolume*)l->data)->is_audiocd = volume->is_audiocd; ((VFSVolume*)l->data)->is_dvd = volume->is_dvd; // Mount and ejection detect for automount if ( volume->is_mounted ) { ((VFSVolume*)l->data)->ever_mounted = TRUE; ((VFSVolume*)l->data)->automount_time = 0; } else { if ( volume->is_removable && !volume->is_mountable ) // ejected { ((VFSVolume*)l->data)->ever_mounted = FALSE; ((VFSVolume*)l->data)->automount_time = 0; ((VFSVolume*)l->data)->inhibit_auto = FALSE; } } call_callbacks( (VFSVolume*)l->data, VFS_VOLUME_CHANGED ); vfs_free_volume_members( volume ); g_slice_free( VFSVolume, volume ); volume = (VFSVolume*)l->data; if ( automount ) { vfs_volume_automount( volume ); if ( !was_mounted && volume->is_mounted ) vfs_volume_autoexec( volume ); else if ( was_mounted && !volume->is_mounted ) { vfs_volume_exec( volume, xset_get_s( "dev_exec_unmount" ) ); volume->should_autounmount = FALSE; //remove mount points in case other unmounted ptk_location_view_clean_mount_points(); } else if ( !was_audiocd && volume->is_audiocd ) vfs_volume_autoexec( volume ); //media inserted ? if ( !was_mountable && volume->is_mountable ) vfs_volume_exec( volume, xset_get_s( "dev_exec_insert" ) ); // media ejected ? if ( was_mountable && !volume->is_mountable && volume->is_mounted && ( volume->is_optical || volume->is_removable ) ) unmount_if_mounted( volume ); } // refresh tabs containing changed mount point if ( changed_mount_point ) { main_window_refresh_all_tabs_matching( changed_mount_point ); g_free( changed_mount_point ); } return; } } // add as new volume volumes = g_list_append( volumes, volume ); call_callbacks( volume, VFS_VOLUME_ADDED ); if ( automount ) { vfs_volume_automount( volume ); vfs_volume_exec( volume, xset_get_s( "dev_exec_insert" ) ); if ( volume->is_audiocd ) vfs_volume_autoexec( volume ); } // refresh tabs containing changed mount point if ( volume->is_mounted && volume->mount_point ) main_window_refresh_all_tabs_matching( volume->mount_point ); } static gboolean vfs_volume_nonblock_removed( dev_t devnum ) { GList* l; VFSVolume* volume; for ( l = volumes; l; l = l->next ) { if ( ((VFSVolume*)l->data)->device_type != DEVICE_TYPE_BLOCK && ((VFSVolume*)l->data)->devnum == devnum ) { // remove volume volume = (VFSVolume*)l->data; printf( "special mount removed: %s (%u:%u) on %s\n", volume->device_file, (unsigned int)MAJOR( volume->devnum ), (unsigned int)MINOR( volume->devnum ), volume->mount_point ); volumes = g_list_remove( volumes, volume ); call_callbacks( volume, VFS_VOLUME_REMOVED ); vfs_free_volume_members( volume ); g_slice_free( VFSVolume, volume ); ptk_location_view_clean_mount_points(); return TRUE; } } return FALSE; } static void vfs_volume_device_removed( struct udev_device* udevice ) { GList* l; VFSVolume* volume; if ( !udevice ) return; dev_t devnum = udev_device_get_devnum( udevice ); for ( l = volumes; l; l = l->next ) { if ( ((VFSVolume*)l->data)->device_type == DEVICE_TYPE_BLOCK && ((VFSVolume*)l->data)->devnum == devnum ) { // remove volume volume = (VFSVolume*)l->data; //printf("remove volume %s\n", volume->device_file ); vfs_volume_exec( volume, xset_get_s( "dev_exec_remove" ) ); if ( volume->is_mounted && volume->is_removable ) unmount_if_mounted( volume ); volumes = g_list_remove( volumes, volume ); call_callbacks( volume, VFS_VOLUME_REMOVED ); if ( volume->is_mounted && volume->mount_point ) main_window_refresh_all_tabs_matching( volume->mount_point ); vfs_free_volume_members( volume ); g_slice_free( VFSVolume, volume ); break; } } ptk_location_view_clean_mount_points(); } void unmount_if_mounted( VFSVolume* vol ) { if ( !vol->device_file ) return; gboolean run_in_terminal; char* str = vfs_volume_device_unmount_cmd( vol, &run_in_terminal ); if ( !str ) return; char* mtab_path = g_build_filename( SYSCONFDIR, "mtab", NULL ); char* mtab = MTAB; if ( !g_file_test( mtab, G_FILE_TEST_EXISTS ) ) mtab = mtab_path; char* line = g_strdup_printf( "grep -qs '^%s ' %s 2>/dev/null || exit\n%s\n", vol->device_file, mtab, str ); g_free( str ); g_free( mtab_path ); printf( _("Unmount-If-Mounted: %s\n"), line ); exec_task( line, run_in_terminal ); g_free( line ); } gboolean on_cancel_inhibit_timer( gpointer user_data ) { global_inhibit_auto = FALSE; return FALSE; } gboolean vfs_volume_init() { struct udev_device *udevice; struct udev_enumerate *enumerate; struct udev_list_entry *devices, *dev_list_entry; VFSVolume* volume; // remove unused mount points ptk_location_view_clean_mount_points(); // create udev udev = udev_new(); if ( !udev ) { printf( "spacefm: unable to initialize udev\n" ); return TRUE; } // read all block mount points parse_mounts( FALSE ); // enumerate devices enumerate = udev_enumerate_new( udev ); if ( enumerate ) { udev_enumerate_add_match_subsystem( enumerate, "block" ); udev_enumerate_scan_devices( enumerate ); devices = udev_enumerate_get_list_entry( enumerate ); udev_list_entry_foreach( dev_list_entry, devices ) { const char *syspath = udev_list_entry_get_name( dev_list_entry ); udevice = udev_device_new_from_syspath( udev, syspath ); if ( udevice ) { if ( volume = vfs_volume_read_by_device( udevice ) ) vfs_volume_device_added( volume, FALSE ); // frees volume if needed udev_device_unref( udevice ); } } udev_enumerate_unref(enumerate); } // enumerate non-block parse_mounts( TRUE ); // start udev monitor umonitor = udev_monitor_new_from_netlink( udev, "udev" ); if ( !umonitor ) { printf( "spacefm: cannot create udev monitor\n" ); goto finish_; } if ( udev_monitor_enable_receiving( umonitor ) ) { printf( "spacefm: cannot enable udev monitor receiving\n"); goto finish_; } if ( udev_monitor_filter_add_match_subsystem_devtype( umonitor, "block", NULL ) ) { printf( "spacefm: cannot set udev filter\n"); goto finish_; } gint ufd = udev_monitor_get_fd( umonitor ); if ( ufd == 0 ) { printf( "spacefm: cannot get udev monitor socket file descriptor\n"); goto finish_; } global_inhibit_auto = TRUE; // don't autoexec during startup uchannel = g_io_channel_unix_new( ufd ); g_io_channel_set_flags( uchannel, G_IO_FLAG_NONBLOCK, NULL ); g_io_channel_set_close_on_unref( uchannel, TRUE ); g_io_add_watch( uchannel, G_IO_IN | G_IO_HUP, // | G_IO_NVAL | G_IO_ERR, (GIOFunc)cb_udev_monitor_watch, NULL ); // start mount monitor GError *error = NULL; mchannel = g_io_channel_new_file ( MOUNTINFO, "r", &error ); if ( mchannel != NULL ) { g_io_channel_set_close_on_unref( mchannel, TRUE ); g_io_add_watch ( mchannel, G_IO_ERR, (GIOFunc)cb_mount_monitor_watch, NULL ); } else { free_devmounts(); printf( "spacefm: error monitoring %s: %s\n", MOUNTINFO, error->message ); g_error_free (error); } // do startup automounts GList* l; for ( l = volumes; l; l = l->next ) vfs_volume_automount( (VFSVolume*)l->data ); // start resume autoexec timer g_timeout_add_seconds( 3, ( GSourceFunc ) on_cancel_inhibit_timer, NULL ); return TRUE; finish_: if ( umonitor ) { udev_monitor_unref( umonitor ); umonitor = NULL; } if ( udev ) { udev_unref( udev ); udev = NULL; } return TRUE; } gboolean vfs_volume_finalize() { // stop mount monitor if ( mchannel ) { g_io_channel_unref( mchannel ); mchannel = NULL; } free_devmounts(); // stop udev monitor if ( uchannel ) { g_io_channel_unref( uchannel ); uchannel = NULL; } if ( umonitor ) { udev_monitor_unref( umonitor ); umonitor = NULL; } if ( udev ) { udev_unref( udev ); udev = NULL; } // free callbacks if ( callbacks ) g_array_free( callbacks, TRUE ); // free volumes / unmount all ? GList* l; gboolean unmount_all = xset_get_b( "dev_unmount_quit" ); if ( G_LIKELY( volumes ) ) { for ( l = volumes; l; l = l->next ) { if ( unmount_all ) vfs_volume_autounmount( (VFSVolume*)l->data ); vfs_free_volume_members( (VFSVolume*)l->data ); g_slice_free( VFSVolume, l->data ); } } volumes = NULL; // remove unused mount points ptk_location_view_clean_mount_points(); return TRUE; } const GList* vfs_volume_get_all_volumes() { return volumes; } VFSVolume* vfs_volume_get_by_device_or_point( const char* device_file, const char* point ) { VFSVolume* vol; GList* l; if ( !point && !device_file ) return NULL; // canonicalize point char buf[ PATH_MAX + 1 ]; char* canon = NULL; if ( point ) { canon = realpath( point, buf ); if ( canon && !strcmp( canon, point ) ) canon = NULL; } if ( G_LIKELY( volumes ) ) { for ( l = volumes; l; l = l->next ) { vol = (VFSVolume*)l->data; if ( device_file && !strcmp( device_file, vol->device_file ) ) return vol; if ( point && vol->is_mounted && vol->mount_point ) { if ( !strcmp( point, vol->mount_point ) || ( canon && !strcmp( canon, vol->mount_point ) ) ) return vol; } } } return NULL; } static void call_callbacks( VFSVolume* vol, VFSVolumeState state ) { int i; VFSVolumeCallbackData* e; if ( callbacks ) { e = ( VFSVolumeCallbackData* ) callbacks->data; for ( i = 0; i < callbacks->len; ++i ) ( *e[ i ].cb ) ( vol, state, e[ i ].user_data ); } if ( evt_device->s || evt_device->ob2_data ) { main_window_event( NULL, NULL, "evt_device", 0, 0, vol->device_file, 0, 0, state, FALSE ); } } void vfs_volume_add_callback( VFSVolumeCallback cb, gpointer user_data ) { VFSVolumeCallbackData e; if ( !cb ) return; if ( !callbacks ) callbacks = g_array_sized_new( FALSE, FALSE, sizeof( VFSVolumeCallbackData ), 8 ); e.cb = cb; e.user_data = user_data; callbacks = g_array_append_val( callbacks, e ); } void vfs_volume_remove_callback( VFSVolumeCallback cb, gpointer user_data ) { int i; VFSVolumeCallbackData* e; if ( !callbacks ) return ; e = ( VFSVolumeCallbackData* ) callbacks->data; for ( i = 0; i < callbacks->len; ++i ) { if ( e[ i ].cb == cb && e[ i ].user_data == user_data ) { callbacks = g_array_remove_index_fast( callbacks, i ); if ( callbacks->len > 8 ) g_array_set_size( callbacks, 8 ); break; } } } gboolean vfs_volume_mount( VFSVolume* vol, GError** err ) { return TRUE; } gboolean vfs_volume_umount( VFSVolume *vol, GError** err ) { return TRUE; } gboolean vfs_volume_eject( VFSVolume *vol, GError** err ) { return TRUE; } const char* vfs_volume_get_disp_name( VFSVolume *vol ) { return vol->disp_name; } const char* vfs_volume_get_mount_point( VFSVolume *vol ) { return vol->mount_point; } const char* vfs_volume_get_device( VFSVolume *vol ) { return vol->device_file; } const char* vfs_volume_get_fstype( VFSVolume *vol ) { return vol->fs_type; } const char* vfs_volume_get_icon( VFSVolume *vol ) { if ( !vol->icon ) return NULL; XSet* set = xset_get( vol->icon ); return set->icon; } gboolean vfs_volume_is_removable( VFSVolume *vol ) { return vol->is_removable; } gboolean vfs_volume_is_mounted( VFSVolume *vol ) { return vol->is_mounted; } gboolean vfs_volume_requires_eject( VFSVolume *vol ) { return vol->requires_eject; } gboolean vfs_volume_dir_avoid_changes( const char* dir ) { // determines if file change detection should be disabled for this // dir (eg nfs stat calls block when a write is in progress so file // change detection is unwanted) // return FALSE to detect changes in this dir, TRUE to avoid change detection const char* devnode; gboolean ret; //printf("vfs_volume_dir_avoid_changes( %s )\n", dir ); if ( !udev || !dir ) return FALSE; // canonicalize path char buf[ PATH_MAX + 1 ]; char* canon = realpath( dir, buf ); if ( !canon ) return FALSE; // get devnum struct stat stat_buf; // skip stat64 if ( stat( canon, &stat_buf ) == -1 ) return FALSE; //printf(" stat_buf.st_dev = %d:%d\n", major(stat_buf.st_dev), minor( stat_buf.st_dev) ); struct udev_device* udevice = udev_device_new_from_devnum( udev, 'b', stat_buf.st_dev ); if ( udevice ) devnode = udev_device_get_devnode( udevice ); else devnode = NULL; if ( devnode == NULL ) { // not a block device const char* fstype = get_devmount_fstype( major( stat_buf.st_dev ), minor( stat_buf.st_dev ) ); //printf(" !udevice || !devnode fstype=%s\n", fstype ); ret = FALSE; if ( fstype && fstype[0] ) { // fstype listed in change detection blacklist? int len = strlen( fstype ); char* ptr; if ( ptr = xset_get_s( "dev_change" ) ) { while ( ptr[0] ) { while ( ptr[0] == ' ' || ptr[0] == ',' ) ptr++; if ( g_str_has_prefix( ptr, fstype ) && ( ptr[len] == ' ' || ptr[len] == ',' || ptr[len] == '\0' ) ) { printf("Change Detection Blacklist: fstype '%s' on %s\n", fstype, dir ); ret = TRUE; break; } while ( ptr[0] != ' ' && ptr[0] != ',' && ptr[0] ) ptr++; } } } /* blacklist these types for no change detection (if not block device) ret = ( g_str_has_prefix( fstype, "nfs" ) // nfs nfs4 etc || ( g_str_has_prefix( fstype, "fuse" ) && strcmp( fstype, "fuseblk" ) ) // fuse fuse.sshfs curlftpfs(fuse) etc || strstr( fstype, "cifs" ) || !strcmp( fstype, "smbfs" ) || !strcmp( fstype, "ftpfs" ) ); // whitelist !g_strcmp0( fstype, "tmpfs" ) || !g_strcmp0( fstype, "ramfs" ) || !g_strcmp0( fstype, "aufs" ) || !g_strcmp0( fstype, "devtmpfs" ) || !g_strcmp0( fstype, "overlayfs" ) ); */ } else // block device ret = FALSE; if ( udevice ) udev_device_unref( udevice ); //printf( " avoid_changes = %s\n", ret ? "TRUE" : "FALSE" ); return ret; } dev_t get_device_parent( dev_t dev ) { if ( !udev ) return 0; struct udev_device* udevice = udev_device_new_from_devnum( udev, 'b', dev ); if ( !udevice ) return 0; char* native_path = g_strdup( udev_device_get_syspath( udevice ) ); udev_device_unref( udevice ); if ( !native_path || ( native_path && !sysfs_file_exists( native_path, "start" ) ) ) { // not a partition if no "start" g_free( native_path ); return 0; } char* parent = g_path_get_dirname( native_path ); g_free( native_path ); udevice = udev_device_new_from_syspath( udev, parent ); g_free( parent ); if ( !udevice ) return 0; dev_t retdev = udev_device_get_devnum( udevice ); udev_device_unref( udevice ); return retdev; } spacefm-1.0.5/src/vfs/vfs-volume.h000066400000000000000000000106471264770501700170150ustar00rootroot00000000000000/* * SpaceFM vfs-volume.h * * Copyright (C) 2014 IgnorantGuru * Copyright (C) 2006 Hong Jen Yee (PCMan) * * License: See COPYING file * */ #ifndef _VFS_VOLUME_H_ #define _VFS_VOLUME_H_ #include #include "settings.h" G_BEGIN_DECLS typedef struct _VFSVolume VFSVolume; typedef enum{ VFS_VOLUME_ADDED, VFS_VOLUME_REMOVED, VFS_VOLUME_MOUNTED, /* Not implemented */ VFS_VOLUME_UNMOUNTED, /* Not implemented */ VFS_VOLUME_EJECT, VFS_VOLUME_CHANGED }VFSVolumeState; typedef void ( *VFSVolumeCallback ) ( VFSVolume* vol, VFSVolumeState state, gpointer user_data ); gboolean vfs_volume_init(); gboolean vfs_volume_finalize(); const GList* vfs_volume_get_all_volumes(); void vfs_volume_add_callback( VFSVolumeCallback cb, gpointer user_data ); void vfs_volume_remove_callback( VFSVolumeCallback cb, gpointer user_data ); gboolean vfs_volume_mount( VFSVolume* vol, GError** err ); gboolean vfs_volume_umount( VFSVolume *vol, GError** err ); gboolean vfs_volume_eject( VFSVolume *vol, GError** err ); const char* vfs_volume_get_disp_name( VFSVolume *vol ); const char* vfs_volume_get_mount_point( VFSVolume *vol ); const char* vfs_volume_get_device( VFSVolume *vol ); const char* vfs_volume_get_fstype( VFSVolume *vol ); const char* vfs_volume_get_icon( VFSVolume *vol ); gboolean vfs_volume_is_removable( VFSVolume *vol ); gboolean vfs_volume_is_mounted( VFSVolume *vol ); gboolean vfs_volume_requires_eject( VFSVolume *vol ); /* HAL build also needs this for file handler * ptk_location_view_create_mount_point() */ typedef struct netmount_t { char* url; char* fstype; char* host; char* ip; char* port; char* user; char* pass; char* path; } netmount_t; #ifdef HAVE_HAL gboolean vfs_volume_mount_by_udi( const char* udi, GError** err ); gboolean vfs_volume_umount_by_udi( const char* udi, GError** err ); gboolean vfs_volume_eject_by_udi( const char* udi, GError** err ); #else enum{ DEVICE_TYPE_BLOCK, DEVICE_TYPE_NETWORK, DEVICE_TYPE_OTHER // eg fuseiso mounted file }; struct _VFSVolume { dev_t devnum; int device_type; char* device_file; char* udi; char* disp_name; char* icon; char* mount_point; guint64 size; char* label; char* fs_type; gboolean should_autounmount : 1; // a network or ISO file was mounted gboolean is_mounted : 1; gboolean is_removable : 1; gboolean is_mountable : 1; gboolean is_audiocd : 1; gboolean is_dvd : 1; gboolean is_blank : 1; gboolean requires_eject : 1; gboolean is_user_visible : 1; gboolean nopolicy : 1; gboolean is_optical : 1; gboolean is_floppy : 1; gboolean is_table : 1; gboolean ever_mounted : 1; gboolean inhibit_auto : 1; time_t automount_time; gpointer open_main_window; }; gboolean vfs_volume_command( char* command, char** output ); char* vfs_volume_get_mount_command( VFSVolume* vol, char* default_options, gboolean* run_in_terminal ); char* vfs_volume_get_mount_options( VFSVolume* vol, char* options ); void vfs_volume_automount( VFSVolume* vol ); void vfs_volume_set_info( VFSVolume* volume ); char* vfs_volume_device_mount_cmd( VFSVolume* vol, const char* options, gboolean* run_in_terminal ); char* vfs_volume_device_unmount_cmd( VFSVolume* vol, gboolean* run_in_terminal ); char* vfs_volume_device_info( VFSVolume* vol ); char* vfs_volume_handler_cmd( int mode, int action, VFSVolume* vol, const char* options, netmount_t* netmount, gboolean* run_in_terminal, char** mount_point ); void vfs_volume_clean_mount_points(); int split_network_url( const char* url, netmount_t** netmount ); void vfs_volume_special_mounted( const char* device_file ); gboolean vfs_volume_dir_avoid_changes( const char* dir ); dev_t get_device_parent( dev_t dev ); gboolean path_is_mounted_mtab( const char* mtab_file, const char* path, char** device_file, char** fs_type ); gboolean mtab_fstype_is_handled_by_protocol( const char* mtab_fstype ); VFSVolume* vfs_volume_get_by_device_or_point( const char* device_file, const char* point ); #endif G_END_DECLS #endif spacefm-1.0.5/src/xml-purge.c000066400000000000000000000036441264770501700160260ustar00rootroot00000000000000#include #include #include #include #include #include #include #define IS_BLANK(ch) strchr(" \t\n\r", ch) static void purge_file( const char* file ) { struct stat statbuf; int fd; char* buf, *pbuf; int in_tag = 0, in_quote = 0; FILE* fo; fd = open( file, O_RDONLY ); if( fd == -1 ) return; if( fstat( fd, &statbuf) == -1 ) return; if( buf = (char*)malloc( statbuf.st_size + 1 ) ) { if( read( fd, buf, statbuf.st_size) == -1 ) { free( buf ); return; } buf[ statbuf.st_size ] = '\0'; } close( fd ); fo = fopen( file, "w" ); if( ! fo ) goto error; for( pbuf = buf; *pbuf; ++pbuf ) { if( in_tag > 0 ) { if( in_quote ) { if( *pbuf == '\"' ) in_quote = 0; } else { if( *pbuf == '\"' ) ++in_quote; if( ! in_quote && IS_BLANK(*pbuf) ) /* skip unnecessary blanks */ { do{ ++pbuf; }while( IS_BLANK( *pbuf ) ); if( *pbuf != '>' ) fputc( ' ', fo ); --pbuf; continue; } } if( *pbuf == '>' ) --in_tag; fputc( *pbuf, fo ); } else { if( *pbuf == '<' ) { if( 0 == strncmp( pbuf, "" ); if( ! pbuf ) goto error; pbuf += 2; continue; } ++in_tag; fputc( '<', fo ); } else { char* tmp = pbuf; while( *tmp && IS_BLANK( *tmp ) && *tmp != '<' ) ++tmp; if( *tmp == '<' ) /* all cdata are blank characters */ pbuf = tmp - 1; else /* not blank, keep the cdata */ { if( tmp == pbuf ) fputc( *pbuf, fo ); else { fwrite( pbuf, 1, tmp - pbuf, fo ); pbuf = tmp - 1; } } } } } fclose( fo ); error: free( buf ); } int main( int argc, char** argv ) { int i; if( argc < 2 ) return 1; for( i = 1; i < argc; ++i ) purge_file( argv[ i] ); return 0; }